/*
Theme Name:   Good Cents Arty Party Child
Theme URI:    https://www.goodcentsartyparty.com.au/
Description:  Child theme of Divi for Good Cents Arty Party — houses the custom homepage template and site-wide overrides.
Author:       Build With Matriarch
Template:     Divi
Version:      1.1.0
Text Domain:  goodcents-divi-child
*/

/* ==========================================================================
   Brand tokens — reference these (var(--gc-teal) etc.) in any custom markup
   instead of hardcoded hex values, so a future palette tweak is a one-line change.
   ========================================================================== */
:root{
  --gc-teal: #73b2b9;      /* true brand blue — used directly, never darkened */
  --gc-gold: #bfa445;
  --gc-gold-deep: #9c8535;
  --gc-peach: #f2e3de;
  --gc-ink: #2b2420;
  --gc-paper: #fdf9f4;
}

/* Custom site-wide overrides go below this line. */

/* ===== HEADER / NAV (global — every page) ===== */
.gc-site-header{ position:sticky; top:0; z-index:50; background:var(--gc-paper); border-bottom:1px solid rgba(43,36,32,0.14); }
.gc-nav{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 24px; max-width:1180px; margin:0 auto; }
.gc-logo{ display:block; }
.gc-logo img{ display:block; height:44px; width:auto; }
.gc-navlinks{ display:flex; font-family:'Barlow',sans-serif; font-size:14px; font-weight:600; }
.gc-navlinks > ul{ display:flex; gap:28px; list-style:none; margin:0; padding:0; }
.gc-navlinks ul{ list-style:none; margin:0; padding:0; }
.gc-navlinks li{ position:relative; }
.gc-navlinks > ul > li > a{ display:block; padding:10px 2px; text-decoration:none; color:var(--gc-ink); }
.gc-navlinks li.menu-item-has-children > a::after{ content:"▾"; font-size:9px; margin-left:5px; opacity:0.6; position:relative; top:-2px; }

/* Dropdown sub-menus: hidden until the parent is hovered/focused */
.gc-navlinks .sub-menu{
  display:none; position:absolute; top:100%; left:0; z-index:60;
  min-width:210px; margin:0; padding:8px 0;
  background:#fff; border:1px solid rgba(43,36,32,0.12); border-radius:4px;
  box-shadow:0 10px 28px rgba(43,36,32,0.14);
}
.gc-navlinks li:hover > .sub-menu,
.gc-navlinks li:focus-within > .sub-menu{ display:block; }
.gc-navlinks .sub-menu a{ display:block; padding:9px 18px; white-space:nowrap; font-weight:500; text-decoration:none; color:var(--gc-ink); }
.gc-navlinks .sub-menu a:hover{ background:var(--gc-peach); }
/* Third-level (rare, but don't let it break) flies out to the right instead of stacking below */
.gc-navlinks .sub-menu .sub-menu{ top:-9px; left:100%; }

.gc-navlinks a{ text-decoration:none; color:var(--gc-ink); }
.gc-navcta{ background:var(--gc-teal); color:var(--gc-ink); padding:9px 18px; border-radius:4px; font-family:'Barlow',sans-serif; font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; margin-left:12px; }
.gc-nav-toggle{ display:none; background:none; border:0; width:32px; height:24px; flex-direction:column; justify-content:space-between; cursor:pointer; padding:0; }
.gc-nav-toggle span{ display:block; height:2px; background:var(--gc-ink); border-radius:2px; }
.gc-mobile-nav{ display:none; }
@media(max-width:760px){
  .gc-navlinks{ display:none; }
  .gc-nav-toggle{ display:flex; }
  .gc-mobile-nav[hidden]{ display:none; }
  .gc-mobile-nav{ display:flex; flex-direction:column; gap:2px; padding:8px 24px 18px; border-top:1px solid rgba(43,36,32,0.14); }
  .gc-mobile-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
  .gc-mobile-nav .sub-menu{ padding-left:16px; }
  .gc-mobile-nav li.menu-item-has-children > a::after{ content:" ▾"; font-size:10px; opacity:0.6; }
  .gc-mobile-nav a{ display:block; padding:10px 0; text-decoration:none; color:var(--gc-ink); font-family:'Barlow',sans-serif; font-weight:600; border-bottom:1px solid rgba(43,36,32,0.08); }
}

/* ===== FOOTER (global — every page) ===== */
.gc-site-footer{ background:var(--gc-ink); color:var(--gc-paper); }
.gc-footer-cta{ text-align:center; padding:56px 24px 44px; border-bottom:1px solid rgba(253,249,244,0.14); }
.gc-footer-cta h2{ color:#fff; font-family:'Fraunces',serif; font-size:clamp(24px,3vw,32px); margin:0 0 20px; }
.gc-footer-cta .gc-btn{ display:inline-block; padding:14px 26px; border-radius:4px; font-weight:700; font-size:14px; text-decoration:none; }
.gc-footer-cta .gc-btn-primary{ background:var(--gc-gold); color:var(--gc-ink); }
.gc-footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:36px; padding:48px 24px 32px; }
@media(max-width:900px){ .gc-footer-grid{ grid-template-columns:1fr 1fr; } }
.gc-footer-grid h4{ font-family:'Barlow',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--gc-teal); margin:0 0 14px; font-weight:700; }
.gc-footer-grid p, .gc-footer-grid a{ display:block; font-size:14px; color:rgba(253,249,244,0.82); text-decoration:none; margin:0 0 8px; }
.gc-footer-bottom{ border-top:1px solid rgba(253,249,244,0.14); padding:18px 24px; text-align:center; font-size:12px; color:rgba(253,249,244,0.55); }