/* ssx-legacy.css — site-wide polish for legacy (non-v2) pages.
   Loaded on every front-end view. Keep scoped/defensive so it never
   fights the ssx.css v2 front page or landing templates. */

/* 1) Kill horizontal scroll from WPBakery .vc_row-fluid -15px gutters,
      the GTranslate flag widget, and wide gallery embeds. */
html, body { overflow-x: hidden; max-width: 100%; }

/* 2) Keep WPBakery rows inside the viewport; the fluid gutter is cosmetic. */
.vc_row.vc_row-fluid { margin-left: 0; margin-right: 0; }
.vc_row.vc_row-fluid > .wpb_column > .vc_column-inner { padding-left: 15px; padding-right: 15px; }

/* 3) Responsive media inside legacy content. */
.entry-content img, .wpb_wrapper img, .wpb_single_image img { max-width: 100%; height: auto; }
.wpb_video_widget iframe, .wpb_gmaps_widget iframe { max-width: 100%; }

/* 4) GTranslate switcher shouldn't overhang the right edge. */
.gt_switcher { max-width: 100%; }

/* ===== SSX-LEGACY-TYPO: v2 brand typography on legacy pages =====
   Scoped to #content, which exists ONLY on legacy pages — the v2 front page
   and landing templates render #ssx and have no #content, so they are untouched.
   Fixes the missing "Myriad Set Pro Thin" Apple font + 24px base + blue links. */
:root{--ss-ink:#18181b;--ss-body:#27272a;--ss-gold:#f5a300;--ss-gold-dk:#9a6300;}
#content{font-family:"Figtree",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;color:var(--ss-body);}
#content h1,#content h2,#content h3,#content h4,#content h5{font-family:"Archivo","Figtree",Arial,sans-serif;font-weight:800;color:var(--ss-ink);line-height:1.2;}
#content h1{font-size:32px;margin:.2em 0 .55em;}
#content h2{font-size:25px;margin:1.15em 0 .5em;}
#content h3{font-size:20px;margin:1em 0 .4em;}
#content h4{font-size:17px;margin:1em 0 .35em;}
#content p,#content li{font-size:16px;line-height:1.7;}
#content p{margin:0 0 1em;}
#content ul,#content ol{margin:0 0 1em 1.4em;}
#content a:not(.button):not(.btn):not(.vc_btn3):not(.wp-block-button__link):not(.ss-buy-btn){color:var(--ss-gold-dk);}
#content a:not(.button):not(.btn):not(.vc_btn3):not(.wp-block-button__link):not(.ss-buy-btn):hover{color:var(--ss-gold);}

/* Consistent form controls on legacy content (contact/quote/etc.). */
#content input[type=text],#content input[type=email],#content input[type=tel],#content input[type=url],
#content input[type=number],#content input[type=password],#content input[type=search],#content textarea,#content select{
  max-width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid #d4d4d8;border-radius:8px;
  font-family:inherit;font-size:15px;line-height:1.4;background:#fff;color:var(--ss-ink);
}
#content input:focus,#content textarea:focus,#content select:focus{outline:none;border-color:var(--ss-gold);box-shadow:0 0 0 3px rgba(245,163,0,.18);}

/* ===== SSX-LEGACY-MEASURE: readable line length on wide screens =====
   On a 1880px display the legacy content column grows to ~1300px, giving 1270-1330px
   paragraph lines. Cap the text blocks together (copy AND headings, so they stay
   aligned with one another) and centre them. Only binds above ~1000px, so narrower
   screens and already-narrow designed columns are untouched. Media/tables keep their
   full width, which reads as an intentional editorial layout. */
#content p,#content ul,#content ol,#content blockquote,
#content h2,#content h3,#content h4{
  max-width:980px;margin-left:auto;margin-right:auto;
}

/* ===== SSX-HEADER-DROPDOWN: real hover dropdowns on the main nav ===== */
@media only screen and (min-width:1000px){
  #menu-main-nav > li{position:relative;}
  #menu-main-nav .sub-menu{
    position:absolute;top:100%;left:0;min-width:252px;margin:0;padding:8px 0;list-style:none;
    background:#15130f;border:1px solid rgba(255,255,255,.10);border-radius:10px;
    box-shadow:0 18px 42px rgba(0,0,0,.45);
    opacity:0;visibility:hidden;transform:translateY(6px);
    transition:opacity .16s ease,transform .16s ease,visibility .16s;
    z-index:9999;text-align:left;
  }
  #menu-main-nav > li:hover > .sub-menu,
  #menu-main-nav > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
  /* keep the last dropdowns inside the viewport */
  #menu-main-nav > li:nth-last-child(-n+4) .sub-menu{left:auto;right:0;}
  #menu-main-nav .sub-menu li{display:block;float:none;width:auto;margin:0;padding:0;}
  #menu-main-nav .sub-menu a{
    display:block;padding:10px 18px;white-space:nowrap;
    font-family:"Figtree",-apple-system,"Segoe UI",Arial,sans-serif;
    font-size:14px;line-height:1.35;color:#e8e3d9;text-transform:none;letter-spacing:0;
  }
  #menu-main-nav .sub-menu a:hover{background:rgba(245,163,0,.14);color:#f5a300;}
  /* caret to signal a dropdown */
  #menu-main-nav > li.menu-item-has-children > a::after{
    content:"";display:inline-block;margin-left:7px;vertical-align:middle;opacity:.65;
    border:4px solid transparent;border-top-color:currentColor;
  }
}
/* Mobile: submenus render inline and indented instead of floating */
@media only screen and (max-width:999px){
  #menu-main-nav .sub-menu{position:static;display:block;margin:0;padding:0 0 0 18px;list-style:none;background:none;box-shadow:none;border:0;}
  #menu-main-nav .sub-menu a{display:block;padding:8px 0;font-size:14px;opacity:.9;}
}

/* ===== SSX-GTRANSLATE: the language switcher overhung the header and its
   rows overlapped (fixed heights from the plugin). Contain and space it. ===== */
.gt_switcher{max-width:100%;}
.gt_switcher .gt_option{max-height:280px;overflow-y:auto;overflow-x:hidden;border-radius:0 0 8px 8px;box-shadow:0 14px 34px rgba(0,0,0,.35);}
.gt_switcher .gt_option a,.gt_switcher .gt_selected a{
  height:auto!important;line-height:1.5!important;padding:7px 10px!important;
  display:flex!important;align-items:center;gap:8px;white-space:nowrap;
}
.gt_switcher .gt_option a img,.gt_switcher .gt_selected a img{margin:0!important;flex:0 0 auto;}

/* SSX-DROPDOWN-DISPLAY: the parent theme hides submenus with display:none, which
   defeats the opacity/visibility reveal above. Keep them laid out and let
   visibility/opacity do the showing and hiding. */
@media only screen and (min-width:1000px){
  #menu-main-nav .sub-menu{display:block;}
}

/* ===== SSX-CHROME-V2: brand the header bar and unify every button ===== */
/* The header bar was Bootstrap's slate #404852 (#header-main.navbar), not the v2 black. */
#header-main,#header-main.navbar{background:#141310 !important;border:0 !important;border-radius:0 !important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.07);}
nav.ss-menu{background:transparent !important;}
.ss-menu a.logo{display:inline-flex !important;align-items:center;}
/* source is 250x94 (from Drive) — 36px display height keeps it ~2.6x, retina-crisp */
.ss-menu a.logo img{height:36px !important;width:auto !important;max-width:none !important;display:block;}
#viewcart{width:26px !important;height:auto !important;}
#ldsposignin{height:24px !important;width:auto !important;}
@media only screen and (min-width:1000px){
  #main-nav-wrapper{align-items:center;}
  #menu-main-nav > li > a{font-family:"Figtree",sans-serif;font-size:15px;font-weight:600;color:#e8e3d9;}
  #menu-main-nav > li > a:hover{color:#f5a300;}
}

/* ONE button spec everywhere (add-to-cart was rendering at 9.6px / 23px tall). */
#content .button,#content input[type=submit],#content button[type=submit],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit{
  font-family:"Archivo","Figtree",sans-serif !important;font-weight:700 !important;
  font-size:15px !important;line-height:1.2 !important;letter-spacing:0 !important;
  padding:13px 24px !important;border-radius:9px !important;border:0 !important;
  text-transform:none !important;box-shadow:none !important;
  background:#f5a300 !important;color:#1a1710 !important;
  display:inline-flex !important;align-items:center;justify-content:center;min-height:46px;
}
#content .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:#d98e00 !important;color:#1a1710 !important;
}

/* Language switcher: was a white box overhanging the dark header. */
.gt_switcher{width:auto !important;}
.gt_switcher .gt_selected a{background:rgba(255,255,255,.08) !important;color:#e8e3d9 !important;border:1px solid rgba(255,255,255,.16) !important;border-radius:8px !important;}
.gt_switcher .gt_option{background:#15130f !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:0 0 8px 8px;}
.gt_switcher .gt_option a{background:transparent !important;color:#e8e3d9 !important;}
.gt_switcher .gt_option a:hover{background:rgba(245,163,0,.14) !important;color:#f5a300 !important;}

/* ===== SSX-GT-V2: GTranslate renders .gtranslate_wrapper > .gt_switcher > .gt_option > a.nturl
   and ships its own high-specificity <style>. Override it into a compact dark control
   that belongs to the header instead of a white box overhanging the edge. ===== */
.gtranslate_wrapper{max-width:100%;}
.gtranslate_wrapper .gt_switcher{width:auto !important;min-width:152px;font-family:"Figtree",sans-serif !important;}
.gtranslate_wrapper .gt_switcher a,
.gtranslate_wrapper .gt_switcher a.nturl,
.gtranslate_wrapper .gt_switcher a.gt_current{
  background:#15130f !important;color:#e8e3d9 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  font-size:13.5px !important;line-height:1.5 !important;height:auto !important;
  display:flex !important;align-items:center;gap:8px;padding:8px 12px !important;
  white-space:nowrap;text-decoration:none !important;
}
.gtranslate_wrapper .gt_switcher a.gt_current{border-radius:8px !important;}
.gtranslate_wrapper .gt_switcher a:hover{background:rgba(245,163,0,.16) !important;color:#f5a300 !important;}
.gtranslate_wrapper .gt_switcher .gt_option{
  max-height:300px;overflow-y:auto;overflow-x:hidden;background:#15130f !important;
  border:1px solid rgba(255,255,255,.14) !important;border-radius:0 0 8px 8px;
  box-shadow:0 16px 36px rgba(0,0,0,.45);
}
.gtranslate_wrapper .gt_switcher .gt_option a{border:0 !important;border-radius:0 !important;}
.gtranslate_wrapper .gt_switcher img{margin:0 !important;flex:0 0 auto;width:18px !important;height:18px !important;}

/* SSX-GT-SELECTED: the white pill is .gt_selected (a light gradient set by the
   plugin's inline style on a randomised .gt_container-XXXX class, so target it
   generically — the plugin's rule carries no !important, so this wins). */
.gt_switcher{background:transparent !important;}
.gt_switcher .gt_selected{
  background:#15130f !important;background-image:none !important;
  border:1px solid rgba(255,255,255,.16) !important;border-radius:8px !important;overflow:hidden;
}
.gt_switcher .gt_selected a{background:transparent !important;border:0 !important;color:#e8e3d9 !important;}
.gt_switcher .gt_selected a::after{filter:invert(1) brightness(1.7);opacity:.75;}

/* ===== SSX-CHROME-BLEND: header + footer as one system =====
   Flat #141310 read as a hard black slab. Use a warm gradient that is lighter at
   the top and resolves to the hero's dark at the bottom, so the bar has depth but
   still blends into the dark hero below it. Footer mirrors it, settling darker. */
#header-main,#header-main.navbar{
  background:linear-gradient(180deg,#332f28 0%,#241f1a 55%,#1a1713 100%) !important;
  border:0 !important;border-bottom:1px solid rgba(245,163,0,.20) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.35);
}

/* ---- Footer: was still Bootstrap slate rgb(64,72,82) AND still on the
   missing "Myriad Set Pro Thin" (the #content typography fix did not reach it). ---- */
footer.page-footer{
  background:linear-gradient(180deg,#242019 0%,#191612 60%,#141210 100%) !important;
  color:#cfc9bd !important;
  font-family:"Figtree",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  border-top:1px solid rgba(245,163,0,.18);
}
footer.page-footer #foot-prime{padding:48px 0 34px !important;}
footer.page-footer .footer-menu-title{
  font-family:"Archivo","Figtree",Arial,sans-serif !important;
  font-size:12.5px !important;font-weight:800 !important;letter-spacing:.14em !important;
  text-transform:uppercase !important;color:#f5a300 !important;margin:0 0 14px !important;
}
footer.page-footer .footer-menu ul{margin:0;padding:0;list-style:none;}
footer.page-footer .footer-menu li{margin:0 0 9px;}
footer.page-footer a{
  font-family:"Figtree",-apple-system,"Segoe UI",Arial,sans-serif !important;
  font-size:14.5px !important;line-height:1.5 !important;color:#cfc9bd !important;
  text-decoration:none;transition:color .15s ease;
}
footer.page-footer a:hover{color:#f5a300 !important;}
footer.page-footer p,footer.page-footer .disclaimer,footer.page-footer small{
  color:#8f887c !important;font-size:13px !important;line-height:1.65 !important;
}
/* copyright strip settles darkest */
footer.page-footer > div:last-child{
  background:#100e0b !important;border-top:1px solid rgba(255,255,255,.07);
  color:#8a8276 !important;font-size:13px !important;padding:16px 0 !important;
}
footer.page-footer > div:last-child a{color:#8a8276 !important;font-size:13px !important;}

/* ===== SSX-FONT-GLOBAL: ~77 elements per page (header, nav, widgets, chrome) still
   inherited "Myriad Set Pro Thin" from body — an Apple-only font that does not exist
   on Windows, so it fell back inconsistently. Set the brand stack at body level.
   The v2 #ssx pages set their own faces explicitly, so they are unaffected. ===== */
body,button,input,select,textarea{font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
h1,h2,h3,h4,h5,h6{font-family:"Archivo","Figtree",Arial,sans-serif;}
/* the header search popup kept the old Bootstrap slate */
#site-search-tip{background:#15130f !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.45);}
#site-search-tip .search-field{background:#0f0d0a;color:#e8e3d9;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:10px 12px;}
#site-search-tip .search-submit{background:#f5a300;color:#1a1710;border:0;border-radius:8px;font-family:"Archivo",sans-serif;font-weight:700;}

/* ===== SSX-FOOTER-FIX2: the theme renders TWO footers — #top-foot (columns +
   disclaimer) and #bottom-foot (copyright + social). The earlier
   "> div:last-child" rule painted the dark strip around the DISCLAIMER and the
   gradient onto both footers, producing a stray inset box and an empty dark band. */
#top-foot.page-footer{
  background:linear-gradient(180deg,#242019 0%,#191612 60%,#141210 100%) !important;
  border-top:1px solid rgba(245,163,0,.18) !important;
}
/* disclaimer sits on the gradient, not in its own dark box */
#top-foot > div:last-child{
  background:transparent !important;border-top:0 !important;
  padding:4px 0 34px !important;text-align:center;
  color:#8f887c !important;font-size:12.5px !important;line-height:1.7 !important;
}
/* the real copyright bar */
#bottom-foot.page-footer{
  background:#100e0b !important;border-top:1px solid rgba(255,255,255,.07) !important;
  padding:18px 0 !important;
}
#bottom-foot > div,#bottom-foot #foot-second{background:transparent !important;padding:0 !important;}
#bottom-foot #copy-info{color:#8a8276 !important;font-size:13px !important;font-family:"Figtree",sans-serif !important;}
#bottom-foot a{color:#8a8276 !important;}
#bottom-foot a:hover{color:#f5a300 !important;}
/* restore the hidden Partners column so all five columns balance */
#foot-col-3{display:block !important;}

/* ===== SSX-BUYBTN: the legacy product-card buy buttons (a.ss-buy-btn) were a blue
   Bootstrap gradient, and the gold LINK colour was leaking onto their label
   (blue background + brown text). Brand them and stop the link rule matching them. ===== */
#content a.ss-buy-btn,a.ss-buy-btn,.ss-buy-btn{
  background:#f5a300 !important;background-image:none !important;
  color:#1a1710 !important;border:0 !important;border-radius:9px !important;
  font-family:"Archivo","Figtree",Arial,sans-serif !important;font-weight:700 !important;
  font-size:15px !important;line-height:1.2 !important;padding:12px 24px !important;
  display:inline-flex !important;align-items:center;justify-content:center;min-height:44px;
  text-shadow:none !important;box-shadow:none !important;text-decoration:none !important;
}
#content a.ss-buy-btn:hover,a.ss-buy-btn:hover{background:#d98e00 !important;color:#1a1710 !important;}
.ss-buy-btn.buy-disabled,#content a.ss-buy-btn.buy-disabled{
  background:#3f3b34 !important;color:#a49b8c !important;cursor:not-allowed;
}

/* SSX-PRIME-DARK: legacy content band still using the Bootstrap slate */
.bkg-prime-dark{background-color:#1a1713 !important;}

/* SSX-FONT-SELECTORS: the parent theme sets "Myriad Set Pro Thin" on these exact
   selectors, which beat a body-level rule. Override each one. */
main,#prod-menu{
  font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
}
#prod-name .prod-price,
#prod-container h1,#prod-container h2,#prod-container h3,#prod-container h4,#prod-container h5{
  font-family:"Archivo","Figtree",Arial,sans-serif !important;
}

/* ===== SSX-VCPROD: the WPBakery product blocks on the legacy commerce pages
   (creative-fonts, clip-art-graphics, logo-design-studio-expansion-packs and
   the ss_product pages).

   Two things were wrong.

   1. THE DEAD "WAS" PRICE. Those blocks carry FastSpring widgets:
        <span style="line-through"><span data-fsc-item-price>$800.00</span></span>
        <span data-fsc-item-unitprice style="color:red">$800.00</span>
      FastSpring's script used to fill both in. The store moved to WooCommerce,
      that script is gone, and each span now just shows its hardcoded fallback -
      so 23 of the 30 widgets on this site render as "was $X, now $X" with the
      SAME number, and the rest advertise a strikethrough that was never a real
      selling price. Hiding the inner `[data-fsc-item-price]` collapses the
      empty strike wrapper, which kills both problems without needing :has().

      NOTE this does not fix a wrong *current* price - see the register entry;
      two blocks still quote a figure the store does not charge, and that needs
      a content edit, not CSS.

   2. WPBAKERY'S STOCK BLUE BUTTON. `vc_btn3-color-primary` is Visual Composer
      blue on an amber-and-ink site. Same treatment the legacy .ss-buy-btn cards
      already got in SSX-BUYBTN above.
   ===================================================================== */

/* -- 1. dead FastSpring "was" price -------------------------------------- */
#content [data-fsc-item-price]{ display:none !important; }
#content span[style*="line-through"]:empty{ display:none !important; }

/* the real price: quiet ink rather than alarm red, and actually sized like a price */
#content [data-fsc-item-unitprice]{
  color:var(--ss-ink) !important;
  font-family:"Archivo","Figtree",Arial,sans-serif !important;
  font-size:23px !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  line-height:1.2 !important;
  display:inline-block !important;
}

/* -- 2. brand the WPBakery buttons --------------------------------------- */
#content .vc_btn3.vc_btn3-color-primary,
#content .vc_btn3.vc_btn3-color-primary:visited{
  background-image:none !important;
  background-color:var(--ss-gold) !important;
  border-color:var(--ss-gold) !important;
  color:#1a1710 !important;
  font-family:"Archivo","Figtree",Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  border-radius:10px !important;
  padding:13px 30px !important;
  box-shadow:0 6px 18px rgba(245,163,0,.22) !important;
  transition:background-color .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
#content .vc_btn3.vc_btn3-color-primary:hover,
#content .vc_btn3.vc_btn3-color-primary:focus{
  background-color:#ffb524 !important;
  color:#1a1710 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 10px 24px rgba(245,163,0,.3) !important;
}
#content .vc_btn3.vc_btn3-color-primary:focus-visible{
  outline:2px solid var(--ss-gold-dk) !important; outline-offset:2px !important;
}

/* -- 3. tighten the card rhythm -----------------------------------------
   These blocks were a stack of separate WPBakery elements, each with its own
   default margin, so a product card ran to ~800px tall with the price marooned
   in the middle of it. Pull the image, title, blurb, price and button together
   into something that reads as one card. */
#content .wpb_single_image{ margin-bottom:14px !important; }
#content .wpb_single_image img{ max-height:300px !important; width:auto !important; height:auto !important; }
#content .wpb_text_column{ margin-bottom:10px !important; }
#content .wpb_text_column p{ margin:0 0 6px !important; }
#content .wpb_text_column p:last-child{ margin-bottom:0 !important; }
#content .vc_btn3-container{ margin:14px 0 10px !important; }

/* product name + blurb inside these cards */
#content .wpb_text_column p strong{ color:var(--ss-ink) !important; }

@media (max-width:782px){
  #content .wpb_single_image img{ max-height:220px !important; }
  #content [data-fsc-item-unitprice]{ font-size:20px !important; }
  #content .vc_btn3.vc_btn3-color-primary{ padding:12px 24px !important; }
}
