/* Gold Coast Online Directory — revamp foundation
 * Local Inter (no Google CDN) + design tokens.
 * Loaded site-wide so Elementor's global Inter renders from a local file.
 * Component styles for the coded single-listing template live in gcod-listing.css. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-variable.woff2') format('woff2-variations');
}

:root {
  --gcod-brand: #FF9023;
  --gcod-brand-deep: #E97C10;
  --gcod-brand-tint: #FFF3E7;
  --gcod-brand-tint-2: #FFE7CF;
  --gcod-ink: #171B23;
  --gcod-ink-2: #3D4655;
  --gcod-ink-3: #6B7688;
  --gcod-line: #EAEDF2;
  --gcod-line-2: #F1F3F7;
  --gcod-bg: #FFFFFF;
  --gcod-bg-soft: #FBFCFD;
  --gcod-radius: 14px;
  --gcod-radius-lg: 20px;
}

/* Client: Inter only, no other fonts anywhere. Force it on text + form controls
 * site-wide (some inputs were falling back to Arial). Icon fonts — Font Awesome
 * <i>, dashicons, Elementor icons — are deliberately excluded so glyphs render. */
body,button,input,select,optgroup,textarea,
h1,h2,h3,h4,h5,h6,p,blockquote,figure,figcaption,li,th,td,label,legend,
a:not([class*="fa-"]):not(.fa):not(.dashicons),
span:not([class*="fa-"]):not(.fa):not(.dashicons):not([class*="dashicon"]):not([class*="elementor-icon"]){
  font-family:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,sans-serif !important;
}

/* Button system (design .gcod-btn) — folded in from chrome so it loads everywhere. */
.gcod-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:15px;line-height:1.2;border-radius:10px;padding:12px 22px;cursor:pointer;border:none;text-decoration:none;transition:all .16s;white-space:nowrap}
.gcod-btn-brand{background:var(--gcod-brand);color:#fff}
.gcod-btn-brand:hover{background:var(--gcod-brand-deep);transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,144,35,.28);color:#fff}
.gcod-btn-outline{background:#fff;color:var(--gcod-ink);border:1.5px solid var(--gcod-line)}
.gcod-btn-outline:hover{border-color:var(--gcod-ink-3);color:var(--gcod-ink)}
/* Elementor's kit paints every <button> orange on hover/focus, which can hide
 * the label on the theme's own buttons. Pin their colours with a selector that
 * outranks the kit rule so text stays readable in every state. */
.gcod-btn.gcod-btn-outline:hover,.gcod-btn.gcod-btn-outline:focus{background:#fff;color:var(--gcod-ink)}
.gcod-btn.gcod-btn-brand:hover,.gcod-btn.gcod-btn-brand:focus{background:var(--gcod-brand-deep);color:#fff}
.gcod-btn-lg{padding:15px 28px;font-size:16px;border-radius:12px}

/* Auth-aware account link */
.gcod-account-link{font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;transition:color .15s}
.gcod-acc-ghost{color:var(--gcod-ink-2);padding:12px 14px}
.gcod-acc-ghost:hover{color:var(--gcod-brand-deep)}
.gcod-acc-outline{display:inline-flex;align-items:center;color:var(--gcod-ink);border:1.5px solid var(--gcod-line);border-radius:10px;padding:11px 18px}
.gcod-acc-outline:hover{border-color:var(--gcod-ink-3)}
.gcod-acc-brand{display:inline-flex;align-items:center;background:var(--gcod-brand);color:#fff;border-radius:10px;padding:12px 22px}
.gcod-acc-brand:hover{background:var(--gcod-brand-deep);color:#fff}

/* Shared 1200px content container (design .wrap) for dynamic shortcode output. */
.gcod-wrap{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px;box-sizing:border-box}
.gcod-dyngrid{padding:8px 0 52px}
@media(max-width:900px){.gcod-wrap{padding-left:24px;padding-right:24px}}
@media(max-width:640px){.gcod-wrap{padding-left:18px;padding-right:18px}.gcod-dyngrid{padding:4px 0 40px}}

/* -------- Homepage tweaks -------------------------------------------- */
/* Stat band: keep the four numbers grouped, not spread across the full width. */
.elementor-17855 .elementor-element-87ba5b5{max-width:960px;margin-left:auto;margin-right:auto}
/* Trust strip: a touch more breathing room. */
.elementor-17855 .elementor-element-de45885{padding-top:24px !important;padding-bottom:24px !important}

/* How it works — hover tint on each step (grid 4d34c8c holds the 3 step cards). */
.elementor-17855 .elementor-element-4d34c8c > .elementor-element{transition:background .18s ease}
.elementor-17855 .elementor-element-4d34c8c > .elementor-element:hover{background:var(--gcod-brand-tint)}

/* Pricing — hover lift on each plan card (grid 3b9beb9 holds the 3 plan cards). */
.elementor-17855 .elementor-element-3b9beb9 > .elementor-element{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.elementor-17855 .elementor-element-3b9beb9 > .elementor-element:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,27,35,.10)}

/* Global CTA band (design .gcod-cta-band) — folded in from chrome, no top border. */
.gcod-cta-band{background:linear-gradient(150deg,#FFF6EC 0%,#FFE9D2 100%)}
.gcod-cta-in{padding-top:80px;padding-bottom:80px;text-align:center}
.gcod-cta-in h2{font-size:clamp(30px,4.4vw,46px);font-weight:800;max-width:720px;margin:0 auto;letter-spacing:-.03em;color:var(--gcod-ink)}
.gcod-cta-in p{font-size:18px;color:var(--gcod-ink-2);max-width:540px;margin:18px auto 30px}
.gcod-cta-in .gcod-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.gcod-cta-in{padding-top:52px;padding-bottom:52px}.gcod-cta-in p{font-size:16.5px;margin:14px auto 26px}.gcod-cta-in .gcod-btns{flex-direction:column;gap:10px;width:100%;max-width:320px;margin:0 auto}.gcod-cta-in .gcod-btns .gcod-btn{width:100%;padding:14px}}
/* Break the CTA band out to full-bleed on mobile (Elementor adds side padding there). */
@media(max-width:767px){.gcod-cta-band{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}}

/* Hero search bar — matches the design .searchbar / .sfield (elevated white pill) */
.gcod-search.searchbar{display:flex;gap:8px;background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:16px;padding:9px;box-shadow:0 24px 60px rgba(6,24,40,.30);width:min(940px,74vw);max-width:940px;margin:0 auto;flex-wrap:nowrap}
.searchbar .sfield{display:flex;align-items:center;gap:11px;padding:11px 16px;flex:1;min-width:0;border-radius:11px;background:#fff;transition:background .15s}
.searchbar .sfield:hover{background:var(--gcod-bg-soft)}
.searchbar .sfield + .sfield{border-left:1px solid var(--gcod-line)}
.searchbar .sfield > svg{color:var(--gcod-brand);flex:none}
.searchbar .sfield-in{flex:1;min-width:0}
.searchbar .sfield label{display:block;font-family:'Inter';font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gcod-ink-3);cursor:pointer}
.searchbar .sfield input,.searchbar .sfield select{border:none;background:transparent;font-family:'Inter';font-size:15.5px;font-weight:500;color:var(--gcod-ink);width:100%;outline:none;cursor:pointer;padding:0;margin-top:1px;appearance:none;-webkit-appearance:none}
.searchbar .sfield input::placeholder{color:var(--gcod-ink-3);font-weight:500}
.searchbar .sfield select{padding-right:20px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7688' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right center/11px no-repeat}
.searchbar .gcod-btn,.searchbar button{flex:none;background:var(--gcod-brand);color:#fff;border:none;border-radius:11px;padding:0 26px;font-family:'Inter';font-weight:600;font-size:16px;cursor:pointer;transition:background .16s}
.searchbar button:hover{background:var(--gcod-brand-deep)}
@media(max-width:760px){.gcod-search.searchbar{flex-direction:column;width:100%}.searchbar .sfield + .sfield{border-left:none;border-top:1px solid var(--gcod-line)}.searchbar .gcod-btn,.searchbar button{width:100%;padding:14px}}

/* Header: keep the Theme Builder nav on one row */
[data-elementor-type="header"] .elementor-nav-menu{flex-wrap:nowrap}
[data-elementor-type="header"] .elementor-nav-menu .elementor-item{white-space:nowrap}

/* Two-line brand logo lockup (header + footer) — matches design .logo */
.gcod-logolock{display:inline-flex;align-items:center;gap:9px;text-decoration:none;line-height:1}
.gcod-logolock__mark{width:27px;height:36px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='3' y1='1' x2='25' y2='38' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FFB347'/%3E%3Cstop offset='1' stop-color='%23F0610D'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M15 0C6.7 0 0 6.7 0 15c0 10.6 15 25 15 25s15-14.4 15-25C30 6.7 23.3 0 15 0z' fill='url(%23g)'/%3E%3Ccircle cx='15' cy='14' r='5.6' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat}
.gcod-logolock__txt{display:flex;flex-direction:column;justify-content:center}
.gcod-logolock__txt b{font-family:'Inter','Inter Fallback',sans-serif;font-weight:800;font-size:19px;line-height:1.05;color:var(--gcod-ink);letter-spacing:-.03em}
.gcod-logolock__txt small{font-family:'Inter','Inter Fallback',sans-serif;font-weight:500;font-size:11.5px;line-height:1.25;color:var(--gcod-ink-3);letter-spacing:.01em}

/* -------- Logo vertical alignment in the header bar -------- */
.elementor-location-header .gcod-logolock{position:relative;top:4px}

/* CTA menu items live in the mobile dropdown only — hidden in the desktop nav row. */
.gcod-menu-cta{display:none!important}

/* -------- Footer spacing -------------------------------------------------
 * The Elementor footer renders inside a <footer> element that the legacy
 * parent-theme `footer{}` rule pads (64/34) — the SAME padding the footer's
 * own container already applies, so it doubles. Zero the wrapper so the
 * footer keeps a single, clean set of padding. */
footer.elementor-location-footer{padding-top:0 !important;padding-bottom:0 !important}

/* -------- WooCommerce My Account (customer dashboard) — revamp styling --- */
.woocommerce-account .gcod-main{padding-top:0}
.woocommerce-account .woocommerce{max-width:1200px;margin:0 auto;padding:48px 32px 72px;display:grid;grid-template-columns:248px 1fr;gap:40px;align-items:start;font-family:'Inter','Inter Fallback',sans-serif}
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after{display:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--gcod-line);border-radius:16px;overflow:hidden;background:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;color:var(--gcod-ink-2);text-decoration:none;font-weight:600;font-size:14.5px;border-bottom:1px solid var(--gcod-line);transition:background .14s,color .14s}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{border-bottom:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--gcod-bg-soft);color:var(--gcod-brand-deep)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--gcod-brand-tint);color:var(--gcod-brand-deep)}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0;font-size:15px;color:var(--gcod-ink-2);line-height:1.6}
.woocommerce-account .woocommerce-MyAccount-content h1,.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{color:var(--gcod-ink);font-weight:800;letter-spacing:-.02em}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.gcw-btn):not(.gcw-portal-tabs a){color:var(--gcod-brand-deep)}
.woocommerce-account .woocommerce .button,.woocommerce-account .woocommerce button[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:var(--gcod-brand);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:15px;cursor:pointer;transition:background .15s}
.woocommerce-account .woocommerce .button:hover,.woocommerce-account .woocommerce button[type=submit]:hover{background:var(--gcod-brand-deep)}
.woocommerce-account .woocommerce form .form-row input.input-text,.woocommerce-account .woocommerce input[type=text],.woocommerce-account .woocommerce input[type=email],.woocommerce-account .woocommerce input[type=password],.woocommerce-account .woocommerce input[type=tel],.woocommerce-account .woocommerce select{border:1px solid var(--gcod-line);border-radius:10px;padding:12px 14px;font:inherit;color:var(--gcod-ink);background:#fff;width:100%;box-sizing:border-box}
.woocommerce-account .woocommerce input:focus,.woocommerce-account .woocommerce select:focus{outline:none;border-color:var(--gcod-brand)}
.woocommerce-account .woocommerce label{font-weight:600;font-size:13.5px;color:var(--gcod-ink-2)}
.woocommerce-account .woocommerce table.shop_table{border:1px solid var(--gcod-line);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce-account .woocommerce table.shop_table th{background:var(--gcod-bg-soft);color:var(--gcod-ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:12px 14px;border:none}
.woocommerce-account .woocommerce table.shop_table td{padding:12px 14px;border-top:1px solid var(--gcod-line)}
.woocommerce-account .woocommerce-message,.woocommerce-account .woocommerce-info,.woocommerce-account .woocommerce-error{border-radius:10px}
/* Logged-out: single centered login card (registration is via the submit flow) */
.woocommerce-account:not(.logged-in) .woocommerce{display:block;grid-template-columns:none;max-width:460px;margin:0 auto;padding:56px 20px 80px}
.gcod-login-card{border:1px solid var(--gcod-line);border-radius:18px;padding:34px 32px;background:#fff;box-shadow:0 20px 50px -30px rgba(23,27,35,.4)}
.gcod-login-title{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--gcod-ink)}
.gcod-login-sub{margin:0 0 22px;color:var(--gcod-ink-3);font-size:14.5px}
.gcod-login-card .form-row{margin:0 0 16px}
.gcod-login-card label{display:block;font-weight:600;font-size:13.5px;color:var(--gcod-ink-2);margin-bottom:6px}
.gcod-login-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 20px;flex-wrap:wrap}
.gcod-login-actions .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:13.5px;color:var(--gcod-ink-2);font-weight:500}
.gcod-login-actions .woocommerce-form__input-checkbox{width:auto;margin:0}
.gcod-login-lost{font-size:13.5px;font-weight:600;color:var(--gcod-brand-deep)}
.gcod-login-card .woocommerce-form-login__submit{width:100%}
.gcod-login-foot{margin-top:22px;padding-top:20px;border-top:1px solid var(--gcod-line);text-align:center;font-size:14px;color:var(--gcod-ink-3)}
.gcod-login-foot a{color:var(--gcod-brand-deep);font-weight:700;margin-left:6px;text-decoration:none}
.gcod-login-foot a:hover{text-decoration:underline}
@media(max-width:900px){.woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr;gap:20px;padding:32px 20px 56px}}

/* -------- Mobile / responsive ----------------------------------------- */
@media (max-width:1024px){
  /* Mobile chrome = logo + hamburger; the inline CTA group would overflow the row. */
  .elementor-location-header .elementor-element-9e55b3d{display:none!important}

  /* Full-width dropdown panel instead of the narrow default list.
   * Elementor anchors the dropdown to the (narrow) nav widget, so we pin it to
   * the viewport below the 75px sticky header instead. max-height stays under
   * Elementor's control so the open/close animation still works. */
  .elementor-location-header .elementor-nav-menu--dropdown,
  .elementor-location-header nav.elementor-nav-menu--dropdown{
    position:fixed!important;top:75px!important;left:0!important;right:auto!important;
    width:100vw!important;margin-top:0!important;overflow-y:auto;
    background:#fff!important;border-top:1px solid var(--gcod-line);
    box-shadow:0 22px 44px rgba(6,24,40,.14);
  }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item{
    padding:16px 26px!important;font-size:16px!important;font-weight:600;
    color:var(--gcod-ink)!important;border-bottom:1px solid var(--gcod-line)!important;
  }
  /* Show the CTA items in the dropdown, styled as the design's stacked buttons. */
  .elementor-location-header .gcod-menu-cta{display:block!important;padding:10px 22px!important;border:none!important}
  .elementor-location-header .gcod-menu-cta a.elementor-item{
    border-bottom:none!important;border-radius:10px;justify-content:center!important;
    text-align:center;padding:14px 20px!important;
  }
  .elementor-location-header .gcod-menu-login a.elementor-item{
    border:1.5px solid var(--gcod-line)!important;color:var(--gcod-ink)!important;
  }
  .elementor-location-header .gcod-menu-list a.elementor-item{
    background:var(--gcod-brand);color:#fff!important;
  }
  .elementor-location-header .gcod-menu-list a.elementor-item:hover{background:var(--gcod-brand-deep)}
}

@media (max-width:767px){
  .gcod-logolock__txt b{font-size:17px}
  /* Keep the hero eyebrow/popular row inside the hero and readable on phones. */
  .searchbar{width:100%!important}
}

/* =========================================================================
 * Global chrome: mobile app-nav, search drawer, searchable comboboxes
 * ===================================================================== */
body.gcod-noscroll{overflow:hidden}

/* ---- Searchable combobox (progressive enhancement of a <select>) ---- */
.gcod-cbx{position:relative}
.gcod-cbx-input{width:100%;cursor:text}
.gcod-cbx-caret{position:absolute;top:0;right:0;height:100%;width:38px;display:flex;align-items:center;justify-content:center;color:var(--gcod-ink-3);cursor:pointer;pointer-events:auto}
.gcod-cbx-caret svg{width:18px;height:18px;transition:transform .18s ease}
.gcod-cbx.open .gcod-cbx-caret svg{transform:rotate(180deg)}
.gcod-cbx-list{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;max-height:264px;overflow-y:auto;background:#fff;border:1px solid var(--gcod-line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(23,27,35,.4);padding:6px}
.gcod-cbx-opt{padding:9px 12px;border-radius:8px;font-size:14.5px;color:var(--gcod-ink);cursor:pointer;line-height:1.3}
.gcod-cbx-opt:hover,.gcod-cbx-opt.active{background:var(--gcod-bg-soft)}
.gcod-cbx-opt[aria-selected="true"]{color:var(--gcod-brand-deep);font-weight:600}
.gcod-cbx-empty{padding:9px 12px;font-size:13.5px;color:var(--gcod-ink-3)}

/* ---- Mobile bottom app-nav ---- */
.gcod-appnav{display:none}
.gcod-drawer,.gcod-drawer-backdrop{display:none}
@media (max-width:768px){
  .gcod-appnav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1200;
    background:#fff;border-top:1px solid var(--gcod-line);
    box-shadow:0 -6px 20px -8px rgba(23,27,35,.18);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));
  }
  .gcod-appnav-i{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    background:none;border:0;cursor:pointer;text-decoration:none;
    color:var(--gcod-ink-3);font:600 10.5px/1 'Inter','Inter Fallback',sans-serif;letter-spacing:.01em;padding:6px 2px;
  }
  .gcod-appnav-i svg{width:23px;height:23px}
  .gcod-appnav-i span{font-size:10.5px}
  .gcod-appnav-i.is-active{color:var(--gcod-brand-deep)}
  .gcod-appnav-i:active{transform:translateY(1px)}
  body{padding-bottom:60px!important}
  /* Lift the listings filter FAB above the app-nav. */
  .gcod-filter-fab{bottom:74px!important}
}

/* ---- Search drawer (slides in from the right; opened by the Search tab) ---- */
@media (max-width:768px){
  .gcod-drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1250;background:rgba(15,23,32,.5)}
  .gcod-drawer{
    display:flex;flex-direction:column;position:fixed;top:0;bottom:0;right:0;z-index:1300;
    width:min(92vw,380px);background:#fff;box-shadow:-14px 0 40px -12px rgba(23,27,35,.5);
    transform:translateX(100%);transition:transform .26s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;
  }
  .gcod-drawer.open{transform:translateX(0)}
  .gcod-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--gcod-line);font-weight:700;font-size:16px}
  .gcod-drawer-close{background:none;border:0;font-size:26px;line-height:1;color:var(--gcod-ink-3);cursor:pointer}
  .gcod-drawer-body{padding:18px 20px 26px}
  /* Stack the reused hero search form vertically inside the drawer. */
  .gcod-drawer-body .searchbar{display:flex;flex-direction:column;gap:12px;box-shadow:none;padding:0;background:none;border:0}
  .gcod-drawer-body .searchbar .sfield{width:100%;border:1px solid var(--gcod-line);border-radius:12px;padding:10px 12px}
  .gcod-drawer-body .searchbar .gcod-btn{width:100%}
}

/* Desktop: drawer/backdrop never shown even if printed. */
@media (min-width:769px){.gcod-drawer,.gcod-drawer-backdrop,.gcod-appnav{display:none!important}}

/* =========================================================================
 * Submit-your-business page: hero header + Gold Coast policy notice
 * ===================================================================== */
/* Light photo submit/claim hero (client wants a bright background image, not
 * dark) — matches the archive heroes: warm-white veil over the beach shot,
 * heaviest on the left for readable dark text, fading to the photo on the right. */
.gcod-submit-hero{position:relative;overflow:hidden;background:linear-gradient(100deg,rgba(255,251,245,.97) 0%,rgba(255,250,242,.93) 36%,rgba(255,249,240,.62) 60%,rgba(255,248,238,.20) 100%),url('../img/hero-banner.webp') center/cover no-repeat;border-bottom:1px solid var(--gcod-line);padding:56px 0 52px}
.gcod-submit-hero::after{display:none}
.gcod-submit-hero .gcod-wrap{position:relative;z-index:1}
.gcod-submit-hero .crumbs{font-size:13px;color:var(--gcod-ink-3);margin-bottom:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gcod-submit-hero .crumbs a{color:var(--gcod-ink-3);text-decoration:none}
.gcod-submit-hero .crumbs a:hover{color:var(--gcod-brand-deep)}
.gcod-submit-hero .crumbs .sep{color:var(--gcod-line)}
.gcod-submit-hero .eyebrow{display:block;color:var(--gcod-brand-deep);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.gcod-submit-hero h1{margin:0 0 10px;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.06;letter-spacing:-.03em;color:var(--gcod-ink);font-weight:800}
.gcod-submit-hero p{margin:0;max-width:640px;color:var(--gcod-ink-2);font-size:16px;line-height:1.55}

.gcod-gcnotice{display:flex;gap:16px;align-items:flex-start;margin:26px auto 0;padding:20px 22px;border:1px solid #F5C99A;border-radius:14px;background:var(--gcod-brand-tint,#fff5ea)}
.gcod-gcnotice-ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid #F3D2AC;color:var(--gcod-brand-deep);display:flex;align-items:center;justify-content:center}
.gcod-gcnotice-ic svg{width:21px;height:21px}
.gcod-gcnotice-b{flex:1;min-width:0}
.gcod-gcnotice h2{margin:0 0 6px;font-size:18px;font-weight:800;color:var(--gcod-ink)}
.gcod-gcnotice p{margin:0;font-size:14px;line-height:1.55;color:var(--gcod-ink-2)}
.gcod-gcnotice p strong{color:var(--gcod-ink)}
.gcod-gcnotice a{color:var(--gcod-brand-deep);font-weight:600}
.gcod-gcnotice-alt{margin-top:8px!important;font-size:13.5px!important;color:var(--gcod-ink-3)!important}

/* Give the submit form room + a soft page ground under the hero. */
.gcod-main .gcw-submit{padding:0 20px 64px}
.gcod-submit-hero + .gcod-wrap{padding-left:20px;padding-right:20px}
.gcod-submit-hero + .gcod-wrap + .gcw-submit,.gcod-gcnotice + .gcw-submit{margin-top:30px}
@media (max-width:560px){
  .gcod-submit-hero{padding:28px 0 24px}
  .gcod-gcnotice{flex-direction:column;gap:12px}
}

/* =========================================================================
 * WooCommerce Cart + Checkout — constrain to content width, on-brand
 * ===================================================================== */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{max-width:1200px;margin:0 auto;padding:44px 32px 80px;font-family:'Inter','Inter Fallback',sans-serif;color:var(--gcod-ink-2);box-sizing:border-box}
.woocommerce-cart .woocommerce::before,.woocommerce-cart .woocommerce::after,
.woocommerce-checkout .woocommerce::before,.woocommerce-checkout .woocommerce::after{content:none;display:none}
.woocommerce-cart .woocommerce h1,.woocommerce-checkout .woocommerce h1,
.woocommerce-cart .woocommerce h2,.woocommerce-checkout .woocommerce h2,
.woocommerce-cart .woocommerce h3,.woocommerce-checkout .woocommerce h3{color:var(--gcod-ink);font-weight:800;letter-spacing:-.02em}

/* Notices — style the message element only (the empty-cart wrapper stays plain
 * so we don't get a card-inside-a-card). */
.woocommerce-cart .woocommerce-info,.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-message,.woocommerce-checkout .woocommerce-message,
.woocommerce-cart .woocommerce-error,.woocommerce-checkout .woocommerce-error,
.woocommerce-cart .cart-empty{background:var(--gcod-bg-soft);border:1px solid var(--gcod-line);border-radius:12px;padding:18px 20px;font-size:15px;color:var(--gcod-ink-2);margin:0}
.woocommerce-cart .wc-empty-cart-message{background:none;border:0;padding:0;margin:0}

/* Buttons (cart + checkout) */
.woocommerce-cart .woocommerce .button,.woocommerce-cart .woocommerce button[type=submit],
.woocommerce-checkout .woocommerce .button,.woocommerce-checkout .woocommerce button[type=submit],
.woocommerce-cart .woocommerce a.button.wc-backward,#place_order{display:inline-flex;align-items:center;justify-content:center;background:var(--gcod-brand);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-family:'Inter','Inter Fallback',sans-serif;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;text-decoration:none;transition:background .15s}
.woocommerce-cart .woocommerce .button:hover,.woocommerce-checkout .woocommerce .button:hover,#place_order:hover{background:var(--gcod-brand-deep);color:#fff}
.woocommerce-cart .return-to-shop{margin-top:22px}
.woocommerce-cart .woocommerce .button[name="update_cart"]{background:#fff;color:var(--gcod-ink);border:1.5px solid var(--gcod-line)}
.woocommerce-cart .woocommerce .button[name="update_cart"]:hover{border-color:var(--gcod-ink-3);background:#fff}

/* Inputs */
.woocommerce-cart .woocommerce input.input-text,.woocommerce-checkout .woocommerce input.input-text,
.woocommerce-checkout .woocommerce textarea,.woocommerce-checkout .woocommerce select,
.woocommerce-checkout .woocommerce .select2-selection{border:1px solid var(--gcod-line)!important;border-radius:10px;padding:11px 13px;font:inherit;color:var(--gcod-ink);background:#fff;box-sizing:border-box;min-height:44px}
.woocommerce-checkout .woocommerce label{font-weight:600;font-size:13.5px;color:var(--gcod-ink-2)}

/* Tables (cart totals / order review / cart items) */
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{border:1px solid var(--gcod-line);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;width:100%}
.woocommerce-cart table.shop_table th,.woocommerce-checkout table.shop_table th{background:var(--gcod-bg-soft);color:var(--gcod-ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:13px 16px;border:none;text-align:left}
.woocommerce-cart table.shop_table td,.woocommerce-checkout table.shop_table td{padding:13px 16px;border-top:1px solid var(--gcod-line);color:var(--gcod-ink-2)}
.woocommerce-cart .cart_totals h2,.woocommerce-checkout #order_review_heading{font-size:18px;margin-bottom:14px}

/* NB: the checkout body is the plugin's custom layout — we only constrain the
 * outer width + style shared primitives, and do NOT impose a column grid. */
.woocommerce-checkout #payment{background:var(--gcod-bg-soft);border:1px solid var(--gcod-line);border-radius:14px}

/* Cart page: totals block sits right, sized sensibly */
.woocommerce-cart .cart-collaterals{width:100%;margin-top:28px;display:flex;justify-content:flex-end}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;max-width:420px}

@media(max-width:900px){
	.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{padding:28px 20px 56px}
	.woocommerce-cart .cart-collaterals{justify-content:stretch}
	.woocommerce-cart .cart-collaterals .cart_totals{max-width:none}
}

/* Claim-your-business: "how it works" steps under the hero */
.gcod-claim-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 2px}
.gcod-claim-step{display:flex;gap:13px;align-items:flex-start;padding:18px 20px;border:1px solid var(--gcod-line);border-radius:14px;background:#fff}
.gcod-claim-step .n{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--gcod-brand-tint);color:var(--gcod-brand-deep);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.gcod-claim-step b{display:block;color:var(--gcod-ink);font-size:15px;margin-bottom:3px}
.gcod-claim-step p{margin:0;font-size:13.5px;color:var(--gcod-ink-3);line-height:1.5}
@media(max-width:760px){.gcod-claim-steps{grid-template-columns:1fr}}
