/* ==========================================================================
   VORNE — GeneratePress / GenerateBlocks / WooCommerce bridge
   Maps the parent theme and Woo markup onto the Vorne tokens declared in
   vorne.css. Nothing here restates a token: every value is a var().
   Contrast rule from the brand system: orange type on light grounds is
   --orange-ink (#AE6500), silver-role type on light is --grey-ink (#757575).
   Brand orange is unchanged for bars, rules, buttons and panels.
   ========================================================================== */

:root{
  /* WCAG-safe inks for light grounds. Brand system 29 Aug 2026:
     orange #F28C00 on white is 2.46:1 and silver #A3A2A3 is 2.54:1.
     Both fail at any size, so type on light uses these instead. */
  --orange-ink:#AE6500;   /* 4.53:1 on white */
  --grey-ink:#757575;     /* 4.60:1 on white */
}

/* ---------- GeneratePress shell ---------- */
body.wp-site-blocks,
body{background:var(--black);color:var(--steel)}
.site-content,.site.grid-container,.separate-containers .site-main{background:transparent}
.grid-container{max-width:var(--container)}
.inside-article,.sidebar .widget,.comments-area{background:var(--panel);border:1px solid var(--line)}

/* GP header row: match the prototype's 84px row with the logo left */
.site-header{background:rgba(8,8,8,.96)!important;border-bottom:1px solid var(--line)}
.inside-header{display:flex;align-items:center;gap:28px;min-height:84px;padding-top:0;padding-bottom:0}
.site-logo img,.site-branding img{height:46px;width:auto}
.site-header .header-widget{flex:1 1 auto;max-width:560px}

/* GP primary navigation = the prototype .mainnav */
.main-navigation{background:var(--graphite);border-bottom:3px solid var(--orange)}
.main-navigation .inside-navigation{max-width:var(--container)}
.main-navigation .main-nav ul li a{
  font-family:var(--font-head);font-weight:600;text-transform:uppercase;
  letter-spacing:.04em;color:var(--steel);padding:15px 18px;line-height:1}
.main-navigation .main-nav ul li:hover>a,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li.current-menu-item>a{color:var(--orange);background:transparent}
.main-navigation .main-nav ul ul{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.main-navigation .main-nav ul ul li a{color:var(--steel);text-transform:none;font-family:var(--font-body);font-weight:400}
.main-navigation .menu-bar-items .menu-bar-item>a{color:var(--steel)}
.menu-toggle,.mobile-menu-control-wrapper .menu-toggle{color:var(--steel);font-family:var(--font-head);text-transform:uppercase}

/* ---------- Typography, inherited from vorne.css ---------- */
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,
.wp-block-post-title,.page-header h1{font-family:var(--font-head);text-transform:uppercase;color:var(--white)}
.entry-content a{color:var(--orange)}
.entry-content a:hover{color:var(--orange-300)}
.entry-meta,.entry-meta a{color:var(--muted)}

/* Light-ground sections: switch to the WCAG-safe inks */
.vorne-light,.vorne-light .entry-content{background:var(--white);color:#1a1a1a}
.vorne-light h1,.vorne-light h2,.vorne-light h3,.vorne-light h4{color:#101010}
.vorne-light a{color:var(--orange-ink)}
.vorne-light .muted,.vorne-light .entry-meta{color:var(--grey-ink)}
.vorne-light .eyebrow{color:var(--orange-ink)}

/* ---------- Buttons: core, GP and Woo all land on .btn--primary ---------- */
.wp-block-button__link,
.wp-element-button,
button.button,
a.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-head);font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;font-size:1rem;line-height:1;
  padding:14px 26px;border-radius:var(--radius);
  background:var(--orange);color:#1a1100;border:2px solid var(--orange);
  transition:.18s ease}
.wp-block-button__link:hover,
.wp-element-button:hover,
button.button:hover,
a.button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background:var(--orange-600);border-color:var(--orange-600);color:#1a1100;
  box-shadow:var(--shadow-orange);transform:translateY(-1px)}
.wp-block-button.is-style-outline .wp-block-button__link,
.woocommerce a.button.alt.vorne-ghost{
  background:transparent;color:var(--white);border-color:var(--line-2)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:var(--orange);color:var(--orange);background:transparent}

/* ---------- Forms ---------- */
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],
input[type="number"],input[type="search"],input[type="password"],select,textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);
  color:var(--white);font-family:var(--font-body);padding:13px 16px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,140,0,.2)}
::placeholder{color:var(--muted)}
label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:var(--steel)}

/* ---------- WooCommerce ---------- */
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.85rem}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--orange)}
.woocommerce ul.products li.product{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:0 0 18px;transition:.18s ease}
.woocommerce ul.products li.product:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow)}
.woocommerce ul.products li.product a img{margin:0 0 14px;border-radius:var(--radius) var(--radius) 0 0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-head);text-transform:uppercase;font-size:1.05rem;color:var(--white);padding:0 16px}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--orange);font-family:var(--font-head);font-weight:700;font-size:1.5rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel);border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--graphite);border-bottom-color:var(--orange)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--steel);font-family:var(--font-head);text-transform:uppercase}
.woocommerce table.shop_table,.woocommerce table.shop_attributes{border-color:var(--line);color:var(--steel)}
.woocommerce table.shop_table th,.woocommerce table.shop_attributes th{
  font-family:var(--font-head);text-transform:uppercase;color:var(--white);background:var(--graphite)}
.woocommerce table.shop_attributes td{background:var(--panel)}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--orange)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--panel);border-top-color:var(--orange);color:var(--steel)}
.woocommerce .quantity .qty{background:var(--panel);border:1px solid var(--line-2);color:var(--white)}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{
  background:var(--orange);color:#1a1100;font-family:var(--font-head);font-weight:700;text-transform:uppercase}
.woocommerce .woocommerce-ordering select,.woocommerce-pagination a,.woocommerce-pagination span{background:var(--panel);color:var(--steel);border-color:var(--line)}
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--orange);color:#1a1100}

/* Ex-GST line under the price, written by the trade layer */
.vorne-exgst{display:block;font-family:var(--font-body);font-size:.85rem;font-weight:400;color:var(--muted);letter-spacing:0;text-transform:none}

/* ---------- Footer ---------- */
.site-footer,.site-info,.footer-widgets{background:var(--ink);border-top:1px solid var(--line);color:var(--muted)}
.footer-widgets .widget-title{font-family:var(--font-head);text-transform:uppercase;color:var(--white);font-size:.95rem;letter-spacing:.08em}
.site-footer a{color:var(--muted)}
.site-footer a:hover{color:var(--orange)}

/* ---------- Accessibility ---------- */
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.skip-link:focus{background:var(--orange);color:#1a1100}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .wp-block-button__link:hover,.woocommerce ul.products li.product:hover{transform:none}
}

/* ---------- Payback calculator ---------- */
.vorne-payback .field{margin:0 0 14px}
.vorne-payback label{display:block;margin:0 0 6px}
.vorne-payback input{width:100%;max-width:280px}
.vorne-payback__out{font-family:var(--font-head);font-weight:700;text-transform:uppercase;
  font-size:1.25rem;color:var(--orange);border-top:3px solid var(--orange);padding-top:14px;margin-top:22px}
