/*
 Theme Name: Liddell (Child)
 Template: generatepress
 Version: 1.0.0
 Description: Child theme for Liddell.
*/

/* -------------------- Tokens -------------------- */
:root{
  --gold:#c5a15a;
  --ink: rgba(255,255,255,.88);
  --ink-dim: rgba(255,255,255,.72);
}

/* -------------------- Base -------------------- */
html, body { height: 100%; margin: 0; }
h1,h2,h3,h4,h5,h6 { font-family: 'Merriweather', serif !important; }

body.liddell{
  background:#0b1024;
  background-image:url("assets/hero.jpg");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  background-attachment:fixed;
}

/* Make GP surfaces transparent so the global BG shows */
.site,
.site-header,
.site-footer,
.inside-header,
.inside-site-info,
.footer-widgets,
.widget,
.inside-article,
.separate-containers .inside-article,
.separate-containers .site-main,
.separate-containers .widget,
.separate-containers .comments-area{
  background-color:transparent !important;
}

.site-header,
.site-footer,
.footer-widgets,
.widget{
  box-shadow:none !important;
  border:0 !important;
}

/* -------------------- Header (logo to the right) -------------------- */
.site-header .inside-header{ display:flex; align-items:center; }
.site-header .site-branding{ margin-left:auto; }

.site-header .site-logo img,
.site-header .custom-logo{
  height:clamp(36px, 6vh, 64px);
  width:auto;
  max-width:100%;
  object-fit:contain;
}
@media (max-width:768px){
  .site-header .site-logo img,
  .site-header .custom-logo{ height:clamp(28px,5vh,48px); }
}

/* -------------------- Footer Title -------------------- */
.footer-title{
  font-family:"Merriweather", Georgia, serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#fff;
  margin:0 0 1rem;
  font-size:clamp(1rem,1.8vw,1.25rem);
  text-align:center;
}

/* -------------------- Footer Menu with centered separators -------------------- */
.footer-menu{
  --sep-gap:2rem;                 /* total space between items */
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:0 !important;               /* neutralize any gap utilities */
  margin:0;
  padding:0;
  list-style:none;
}
.footer-menu > li{
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}
/* separator is the spacing box → bullet is exactly centered */
.footer-menu > li + li::before{
  content:"•";
  display:inline-block;
  width:var(--sep-gap);
  text-align:center;
  color:rgba(255,255,255,.80);
  line-height:1;
  transform:translateY(-0.06em);
  pointer-events:none;
}
.footer-menu a{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-weight:600;
  letter-spacing:.02em;
  text-decoration:none;
  font-size:1.125rem;
  color:var(--ink-dim);
  margin:0; padding:0;
}
.footer-menu a:hover{
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:576px){
  .footer-menu{ --sep-gap:1.2rem; }
  .footer-menu a{ font-size:1rem; }
}

/* Footer text tone */
.site-footer,
.site-footer .container.small,
.site-footer .container.small *{
  color:rgba(255,255,255,0.85) !important;
}

/* -------------------- Footer Background (keep exactly here) -------------------- */
.site-footer{
  background:linear-gradient(to top, #0b1024 0%, #141b3b 100%) !important; /* your gradient */
}

/* Ensure nothing inside footer paints its own background */
.site-footer *{ background:transparent !important; }

/* -------------------- Sticky Footer Layout (GP structure) -------------------- */
/* GP uses #page.site as wrapper and #content.site-content for main content */
#page, .site{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
#content, .site-content{ flex:1 0 auto; }
.site-footer{ margin-top:auto; }

/* Trim stray spacing that can create mid-page bands or tiny scrollbars */
.site, .site-content, .inside-article{ margin:0; }
main, .site-main{ padding-bottom:0; }

/* Account for admin bar height when logged in */
@media (min-width:783px){
  #page, .site{ min-height:calc(100dvh - 32px); }
}
@media (max-width:782px){
  #page, .site{ min-height:calc(100dvh - 46px); }
}

/* -------------------- Front page hero -------------------- */
.liddell-front .hero{
  min-height: min(74vh, 820px);
  padding: clamp(16px, 4vh, 48px) 0;
}
.liddell-front .content{
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  max-width: 1100px;
  margin-inline: auto;
}

/* Buttons */
.btn-gold{
  background: var(--gold);
  border: 1px solid rgba(0,0,0,.15);
  color: #181818;
}
.btn-gold:hover{ filter: brightness(1.05); color:#0b0b0b; }
.btn-outline-light{
  border: 1px solid rgba(255,255,255,.55);
  color: #fff;
  background: transparent;
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: rgba(255,255,255,.75);
}

/* Tighten on small screens */
@media (max-width: 576px){
  .liddell-front .hero{ min-height: 60vh; }
  .liddell-front .content .display-3{ font-size: 2rem; }
  .liddell-front .content .lead{ font-size: 1rem; }
  .liddell-front .badges{ gap:.5rem; }
  .liddell-front .btn{ width: 100%; }
}

/* Guardrails: avoid theme styles interfering */
.entry-content, .inside-article { padding: 0 !important; }

/* -------------------- FORCE-CENTER the front page main -------------------- */
/* Center #main within the middle row on the home page, regardless of theme spacing */
body.home #content{
  display: grid;
  place-items: center;          /* centers #main both V/H */
  min-height: 0;                /* avoid min-content growth */
}
body.home #main{
  width: 100%;
}
body.home #main .container.content{
  max-width: 1100px;
  margin-inline: auto;
}

/* Nuke any extra padding/margins on the home content wrappers */
body.home .entry-content,
body.home .inside-article,
body.home .site-content{
  padding: 0 !important;
  margin: 0 !important;
}

/* Guard against collapsing margins affecting centering */
body.home #main h1:first-child{ margin-top: 0; }


.box {
	background: #ffffff15;
    margin-top: 1rem;
    border-radius: 2rem;
    padding: 2rem;
    box-shadow: 1px 1px 20px 7px #000000;
}

/* dark overlay over background image */
body.liddell::before {
  content: "";
  position: fixed;          /* covers the viewport */
  inset: 0;                 /* shorthand for top/right/bottom/left: 0 */
  background: rgba(0, 0, 0, 0.45); /* adjust alpha = darkness (0.3-0.6 typical) */
  z-index: 0;               /* keep it behind all content */
  pointer-events: none;     /* let clicks pass through */
}

/* ensure all site content sits above overlay */
#page, .site {
  position: relative;
  z-index: 1;
}









/* ===== Liddell inner page white container ===== */
.liddell-inner .inner-card{
  max-width: 1100px;                    /* content width */
  background: rgba(255,255,255,0.97);   /* solid white with tiny transparency */
  color: #1c2230;
  border-radius: 18px;
  padding: clamp(20px, 3vw, 40px);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}

/* Typography inside white card */
.liddell-inner .entry-title{
  font-family: "Merriweather", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  color: #0b1024;
}

.liddell-inner .entry-content{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #222;
}

.liddell-inner .entry-content a{
  color: #0b4fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.liddell-inner .entry-content a:hover{
  color: #073dd6;
}

/* Gutenberg blocks & images behave nicely */
.liddell-inner .entry-content img,
.liddell-inner .entry-content video{
  max-width: 100%;
  height: auto;
}
.liddell-inner .entry-content .wp-block-image{ margin: 1rem 0; }
.liddell-inner .entry-content .wp-block-columns{ gap: 1.5rem; }

/* Remove extra theme paddings inside article */
.liddell-inner .inside-article{ padding: 0 !important; background: transparent; }

/* Optional: smaller top gap under the header on inner pages */
.liddell-inner section { padding-top: clamp(12px, 2vh, 24px); }


/* ===== Center #main and inner card on non-home pages ===== */
body.page:not(.home) #content{
  display: grid;              /* middle row uses grid so we can center */
  place-items: center;        /* center #main both V/H */
  min-height: 60vh;           /* give room to center on short pages */
  margin: 0 !important;
  padding: 0 !important;
}

body.page:not(.home) #main{
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  place-self: center;         /* guard against theme alignment */
}

/* inner wrapper & white card */
body.page:not(.home) .liddell-inner .inner-wrap{
  width: 100%;
  min-height: min(72vh, 820px);
  display: flex;
  align-items: center;        /* vertical centering inside */
  justify-content: center;    /* horizontal centering */
  padding: clamp(12px, 2vh, 24px) 0;
}

body.page:not(.home) .liddell-inner .container{
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

body.page:not(.home) .liddell-inner .inner-card{
  margin: 0;                  /* no stray margins */
}

/* kill any theme padding that can push it off-center */
body.page:not(.home) .entry-content,
body.page:not(.home) .inside-article,
body.page:not(.home) .site-content{
  padding: 0 !important;
  margin: 0 !important;
}

/* prevent collapsing margins from the first heading */
body.page:not(.home) #main h1:first-child { margin-top: .2rem; }












/* ===== Inner page two-column with right sidebar ===== */
.liddell-inner .inner-wrap{
  min-height: min(72vh, 820px);
  display: flex;
  align-items: center;        /* vertical centering when short */
  padding: clamp(12px, 2vh, 24px) 0;
}
.liddell-inner .container{ max-width: 1100px; }

/* Main white content card (already defined earlier, keep) */
.liddell-inner .inner-card{
  background: rgba(255,255,255,0.97);
  color: #1c2230;
  border-radius: 18px;
  padding: clamp(20px, 3vw, 40px);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}

/* Sidebar wrapper */
.liddell-inner .inner-aside{
  position: sticky;
  top: clamp(12px, 3vh, 32px);     /* sticks under the header */
}

/* Sidebar card (for widgets / menu) */
.liddell-inner .inner-aside .widget,
.liddell-inner .inner-aside .menu-card{
  background: rgba(255,255,255,0.97);
  border-radius: 16px;
  padding: 18px 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.30);
  margin-bottom: 16px;
}

/* Sidebar widget titles */
.liddell-inner .inner-aside .widget-title{
  font-family: "Merriweather", Georgia, serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #0b1024;
  margin: 0 0 .5rem;
}

/* Sidebar menu styling */
.liddell-inner .inner-aside .menu li{ margin: .2rem 0; }
.liddell-inner .inner-aside .menu a{
  display: block;
  padding: .25rem 0;
  color: #1b2440;
  text-decoration: none;
}
.liddell-inner .inner-aside .menu a:hover{
  color: #0b4fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Mobile: stack columns */
@media (max-width: 991.98px){
  .liddell-inner .inner-aside{ position: static; }
}
