/*
File Name: style.css
Theme Name:  RT-Theme 19 - Simple Child Theme
Author: Tolga Can
Version: 1.0
Author URI: http://themeforest.net/user/stmcan
Theme URI: http://themeforest.net/user/stmcan
Description:   Theme designed by Tolga Can - <a href="http://themeforest.net/user/stmcan">stmcan</a>
License: GNU General Public License
License URI: /Licensing/gpl.txt
Template: rttheme19
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap');

.entry-thumbnail {
	display: none;
}

h1, h2, h3 {
	font-family: 'Fraunces', serif!important;
}

#post-1571 > section > div {
	display: none;
}

.slm-rn-full{display:inline}
.slm-rn-short{display:none}
.slm-mvp-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #c8d9ee;}
.slm-mvp-home,.slm-mvp-away{font-size:.82em;color:#374151;}
.slm-mvp-away{text-align:right;}

@media(max-width:480px){.slm-rn-full{display:none}.slm-rn-short{display:inline}
.slm-sc{font-size:1.05em!important;padding:5px 9px!important;min-width:32px!important}
.slm-sd{padding:5px 5px!important;font-size:.8em!important}
.slm-mvp-away{text-align:left;}}

/* ============================================================
   SITEWIDE HEADER OVERRIDE -- v1.3.0
   Replaces RT-19 blue header with new white nav style
============================================================ */

/* Main header bar */
.top-header,
.top-header.stuck,
.top-header.sticky {
	background: rgba(255,255,255,0.97) !important;
	background-color: rgba(255,255,255,0.97) !important;
	background-image: none !important;
	border-bottom: 1px solid #e2ddd8 !important;
	height: 56px !important;
	box-shadow: none !important;
}

/* Header inner wrapper */
.header-elements {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	height: 56px !important;
	min-height: 56px !important;
	padding: 0 48px !important;
}

/* Logo */
#logo.site-logo {
	float: none !important;
	/* position: static !important; */
	margin: 0 !important;
	padding: 0 !important;
	height: 56px !important;
	display: flex !important;
	align-items: center !important;
}

#logo.site-logo a {
	display: flex !important;
	align-items: center !important;
	height: 56px !important;
}

#logo .main_logo {
	max-height: 36px !important;
	width: auto !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
}

#logo .sticky_logo {
	display: none !important;
}

/* Nav wrapper */
.header-right {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	height: 56px !important;
}

.header-right > nav {
	float: none !important;
	position: static !important;
}

/* Top level menu */
ul#navigation.menu {
	display: flex !important;
	align-items: center !important;
	gap: 28px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 56px !important;
}

ul#navigation.menu > li {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	height: 56px !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
}

ul#navigation.menu > li > a {
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: #4a4540 !important;
	text-decoration: none !important;
	padding: 0 !important;
	line-height: 56px !important;
	background: none !important;
	border: none !important;
}

ul#navigation.menu > li > a > span {
	color: #4a4540 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	padding: 0 !important;
}

ul#navigation.menu > li > a:hover,
ul#navigation.menu > li.current-menu-item > a,
ul#navigation.menu > li.current-menu-ancestor > a {
	color: #1662b9 !important;
	background: none !important;
}

ul#navigation.menu > li > a:hover > span,
ul#navigation.menu > li.current-menu-item > a > span,
ul#navigation.menu > li.current-menu-ancestor > a > span {
	color: #1662b9 !important;
}

/* Dropdown arrow indicators -- REMOVED 30 Aug 2026.
   This added a second caret (a literal U+25BE) on top of the parent theme's
   own fontello caret, which already renders correctly inside the bar
   (#navigation>li.menu-item-has-children>a>span:after, content "\f107").
   The <span> inside the link is full-width block-level, so this inline
   ::after wrapped onto a new line BELOW it and overflowed the 56px header --
   the stray arrows Fletch reported floating under the menu on every page.
   Do not reinstate: the theme already provides the indicator. */

/* Dropdown panels */
ul#navigation.menu > li > ul.sub-menu {
	display: none;
	position: absolute !important;
	top: 56px !important;
	left: 0 !important;
	background: #ffffff !important;
	border: 0.5px solid rgba(0,0,0,0.12) !important;
	border-top: 2px solid #2a6db5 !important;
	border-radius: 0 0 6px 6px !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
	min-width: 200px !important;
	padding: 0 !important;
	list-style: none !important;
	margin: 0 !important;
	z-index: 300 !important;
}

ul#navigation.menu > li:hover > ul.sub-menu { display: block !important; }

ul#navigation.menu > li > ul.sub-menu > li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 0.5px solid rgba(0,0,0,0.08) !important;
}

ul#navigation.menu > li > ul.sub-menu > li:last-child {
	border-bottom: none !important;
}

ul#navigation.menu > li > ul.sub-menu > li > a {
	display: block !important;
	padding: 10px 20px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #2c2c2a !important;
	background: none !important;
	border-left: none !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	line-height: normal !important;
}

ul#navigation.menu > li > ul.sub-menu > li > a > span {
	color: #2c2c2a !important;
	padding: 0 !important;
	line-height: normal !important;
}

ul#navigation.menu > li > ul.sub-menu > li > a:hover {
	color: #2a6db5 !important;
	background: #f5f5f4 !important;
	border-left: none !important;
}

ul#navigation.menu > li > ul.sub-menu > li > a:hover > span {
	color: #2a6db5 !important;
}

/* LSA home uses its own nav drawer -- suppress RT-19 mobile button injected via wp_footer() */
body.page-template-page-lsa-home-php .mobile-menu-button { display: none; }

/* -- RT-19 MOBILE NAV OVERRIDES ---------------------------------- */

/* Move hamburger to right side -- RT-19 uses absolute positioning for this
   element, so override left:auto and set right to match header padding */
.header-elements .mobile-menu-button {
  position: absolute !important;
  left: auto !important;
  right: 15px !important;
}

/* Always expand sub-menus -- no hidden accordion */
.mobile-nav .sub-menu { display: block !important; }

/* # links and no-href parents are section labels, not tappable links */
.mobile-nav li.menu-item-has-children > a[href="#"],
.mobile-nav li.menu-item-has-children > a:not([href]) {
  pointer-events: none;
  cursor: default;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #aaa !important;
}

/* Depth-based indentation */
.mobile-nav li[data-depth="1"] > a { padding-left: 16px !important; }
.mobile-nav li[data-depth="2"] > a { padding-left: 28px !important; font-size: 14px !important; color: #888 !important; }

/* -- GET INVOLVED CTA -- */
ul#navigation.menu > li.menu-cta {
	padding: 0 0 0 12px !important;
}

ul#navigation.menu > li.menu-cta > a {
	background: #1662b9 !important;
	color: #fff !important;
	padding: 7px 16px !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	line-height: normal !important;
	height: auto !important;
	display: inline-flex !important;
	align-items: center !important;
}

ul#navigation.menu > li.menu-cta > a > span {
	color: #fff !important;
	font-weight: 600 !important;
	padding: 0 !important;
	line-height: normal !important;
}

ul#navigation.menu > li.menu-cta > a:hover {
	background: #0f4a8a !important;
	color: #fff !important;
}

ul#navigation.menu > li.menu-cta > a:hover > span {
	color: #fff !important;
}
/* ============================================================
   SITEWIDE FOOTER STYLES
   Added to child-style.css
   All classes prefixed lsa- to avoid RT-19 conflicts.
   ============================================================ */

/* -- SIX TEAMS SECTION -- */

.lsa-footer-teams {
  background: #f9f8f6;
  padding: 36px 20px;
  border-top: 1px solid #e2ddd8;
}

.lsa-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.lsa-footer-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #1662b9;
  margin-bottom: 4px;
}

.lsa-footer-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
  color: #1a1814;
}

.lsa-teams-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.lsa-team-card {
  background: #fff;
  border: 1px solid #e2ddd8;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: #1a1814;
  display: block;
}

.lsa-team-photo {
  position: relative;
  height: 140px;
  overflow: hidden;
  background: #2a3a4a;
}

.lsa-team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.lsa-team-tag {
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  border-top: 1px solid #e2ddd8;
}

.lsa-team-card--champion {
  border-color: #d97706;
}

.lsa-champion-ribbon {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  background: #d97706;
  color: #fff;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 8px;
  border-radius: 4px;
}


/* -- NEVER PLAYED SECTION -- */

.lsa-footer-join {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  display: flex;
  align-items: flex-end;
}

.lsa-footer-join-bg {
  position: absolute;
  inset: 0;
  background: #1a2a3a url('https://leedssoftball.co.uk/wp-content/uploads/2025/07/IMG_3439.jpeg') center / cover no-repeat;
}

.lsa-footer-join-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,16,40,0.95) 0%, rgba(8,16,40,0.6) 60%, rgba(8,16,40,0.2) 100%);
}

.lsa-footer-join-inner {
  position: relative;
  z-index: 2;
  padding: 32px 20px;
}

.lsa-footer-join-h2 {
  font-family: 'Fraunces', serif !important;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}

.lsa-footer-join-h2 em {
  font-style: italic;
  color: #7ab8ff;
}

.lsa-footer-join-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.78);
  margin-bottom: 22px;
  line-height: 1.6;
}

.lsa-footer-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}


/* -- MINI FOOTER NUDGE -- */

.lsa-footer-nudge {
  background: #1662b9;
  padding: 20px;
}

.lsa-footer-nudge-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.lsa-footer-nudge-copy {
  font-size: 14px;
  color: rgba(255,255,255,0.9);
  line-height: 1.5;
}

.lsa-footer-nudge-copy strong {
  color: #fff;
}


/* -- SHARED BUTTON STYLES -- */

.lsa-btn-blue {
  background: #1662b9;
  color: #fff;
  padding: 12px 20px;
  border-radius: 7px;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  display: inline-block;
  white-space: nowrap;
}

.lsa-btn-blue:hover {
  background: #0f4a8a;
  color: #fff;
  text-decoration: none;
}

.lsa-footer-nudge .lsa-btn-blue {
  background: #fff;
  color: #1662b9;
}

.lsa-footer-nudge .lsa-btn-blue:hover {
  background: #e8f1fb;
  color: #1662b9;
}

.lsa-btn-ghost {
  background: rgba(255,255,255,0.12);
  color: #fff;
  padding: 12px 20px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,0.35);
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  display: inline-block;
  white-space: nowrap;
}

.lsa-btn-ghost:hover {
  background: rgba(255,255,255,0.2);
  color: #fff;
  text-decoration: none;
}


/* -- COPYRIGHT STRIP -- */

.lsa-footer-strip {
  background: #f9f8f6;
  padding: 20px;
  border-top: 1px solid #e2ddd8;
}

.lsa-footer-strip p {
  font-size: 12px;
  color: #7a7470;
  margin-bottom: 8px;
}

.lsa-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.lsa-footer-links a {
  font-size: 12px;
  color: #7a7470;
  text-decoration: none;
}

.lsa-footer-links a:hover {
  color: #1662b9;
}


/* ========================================
   TABLET -- 640px+
======================================== */
@media (min-width: 640px) {
  .lsa-footer-teams { padding: 40px 32px; }
  .lsa-footer-join-inner { padding: 40px 32px; }
  .lsa-footer-nudge { padding: 20px 32px; }
  .lsa-footer-strip { padding: 20px 32px; }
  .lsa-teams-grid { grid-template-columns: repeat(3, 1fr); }
  .lsa-team-photo { height: 150px; }
  .lsa-footer-join { min-height: 280px; }
  .lsa-footer-join-h2 { font-size: 36px; }
}


/* ========================================
   DESKTOP -- 900px+
======================================== */
@media (min-width: 900px) {
  .lsa-footer-teams { padding: 52px 48px; }
  .lsa-footer-inner { max-width: none; }
  .lsa-footer-h2 { font-size: 28px; }
  .lsa-teams-grid { grid-template-columns: repeat(6, 1fr); }
  .lsa-team-photo { height: 150px; }

  .lsa-footer-join { min-height: 300px; align-items: center; }
  .lsa-footer-join-bg::after {
	background: linear-gradient(90deg, rgba(8,16,40,0.92) 40%, rgba(8,16,40,0.3) 100%);
  }
  .lsa-footer-join-inner { max-width: 520px; padding: 64px 48px; }
  .lsa-footer-join-h2 { font-size: 40px; }

  .lsa-footer-nudge { padding: 24px 48px; }
  .lsa-footer-nudge-copy { font-size: 15px; }

  .lsa-footer-strip {
	padding: 20px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
  }
  .lsa-footer-strip p { margin-bottom: 0; }
  .lsa-footer-links { flex-wrap: nowrap; gap: 20px; }
}

/* ========================================
   PHOTO GRID -- shared gallery layout
   Added 30 Aug 2026 for the FAQs page.

   The in-page galleries were built with an inline
   grid-template-columns:repeat(auto-fill,minmax(150px,1fr)) and images left
   at their natural aspect ratio. That produced ragged rows of wildly
   different heights and, with 8 photos, a single orphan on a second row.

   This gives uniform tiles (fixed 4:3 box + object-fit:cover) and a column
   count that divides evenly, so rows always come out square. Reusable --
   the other in-page galleries can be moved onto this class too.
======================================== */

/* minmax(0, 1fr), not a bare 1fr. Plain 1fr means minmax(auto, 1fr), so one
   item with a large min-content size blows the whole track out. Seen for
   real on Cheekies 30 Aug 2026: an image 404'd, its alt text set the
   min-content width, and the grid computed as "0px 3000px 0px 0px". */
.lsa-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.lsa-photo-grid a { display: block; }

.lsa-photo-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
  display: block;
}

@media (min-width: 640px) {
  .lsa-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 900px) {
  .lsa-photo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
