/*
Theme Name: Blocksy Child
Template: blocksy
Version: 1.1
*/

/* ============================================================
   SUNY TELE TECHNICS — DESIGN SYSTEM
   Tokens override Blocksy's palette so header, footer, buttons
   and WooCommerce all inherit without per-element styling.
   ============================================================ */

:root{
  --theme-palette-color-1:#C93F13;   /* signal  — actions, price, CTA */
  --theme-palette-color-2:#A93310;   /* signal deep — hover */
  --theme-palette-color-3:#12161C;   /* ink — headings */
  --theme-palette-color-4:#59636F;   /* muted — body */
  --theme-palette-color-5:#E2E5EA;   /* line */
  --theme-palette-color-6:#F1F3F6;   /* ground */
  --theme-palette-color-7:#F8F9FB;   /* ground soft */
  --theme-palette-color-8:#FFFFFF;   /* surface */

  --sn-trust:#125A69;
  --sn-trust-soft:#E6F0F2;
  --sn-ok:#0F6B47;
  --sn-ok-soft:#E4F1EA;
  --sn-accent-soft:#FCEFE9;
  --sn-bar:#12161C;
  --sn-bar-2:#1A2029;
  --sn-bar-muted:#AEB6C2;
  --sn-star:#D99413;

  --sn-r:10px;
  --sn-r-lg:16px;
  --sn-r-xl:22px;
  --sn-shadow:0 1px 2px rgba(18,22,28,.04), 0 8px 24px -10px rgba(18,22,28,.14);
  --sn-shadow-hi:0 2px 6px rgba(18,22,28,.06), 0 22px 48px -18px rgba(18,22,28,.26);
  --sn-ease:cubic-bezier(.22,.61,.36,1);

  --sn-display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --sn-body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;

  --theme-content-spacing:1.4em;
}

/* ---------- typography ---------- */
body{font-family:var(--sn-body);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.entry-title,.page-title{font-family:var(--sn-display);letter-spacing:-.022em;line-height:1.12;text-wrap:balance}
h1,.page-title{font-size:clamp(30px,4.4vw,50px);font-weight:800;letter-spacing:-.032em}
h2{font-size:clamp(23px,2.8vw,31px);font-weight:800}
h3{font-size:clamp(18px,1.7vw,21px);font-weight:700}
.lead{font-size:clamp(16.5px,1.5vw,18.5px);color:#2A313B;line-height:1.6;max-width:62ch}
.num,.price,.woocommerce-Price-amount,bdi{font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--sn-display);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--theme-palette-color-1)}

/* ---------- buttons: premium weight ---------- */
.wp-block-button__link,.ct-button,.button,button.button,input[type=submit],
.woocommerce a.button,.woocommerce button.button,.woocommerce .button{
  font-family:var(--sn-display)!important;font-weight:700!important;letter-spacing:-.005em;
  border-radius:var(--sn-r)!important;min-height:50px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 24px!important;transition:transform .18s var(--sn-ease),box-shadow .18s var(--sn-ease),background-color .18s
}
.wp-block-button__link:hover,.ct-button:hover,.button:hover,.woocommerce a.button:hover{
  transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(201,63,19,.5)
}
.is-style-outline .wp-block-button__link{border-width:2px!important;background:transparent}
.sn-btn-ghost .wp-block-button__link{background:transparent!important;color:var(--theme-palette-color-3)!important;border:2px solid var(--theme-palette-color-3)!important}
.sn-btn-ghost .wp-block-button__link:hover{background:var(--theme-palette-color-3)!important;color:#fff!important;box-shadow:none}

/* ---------- surfaces ---------- */
.sn-card{background:#fff;border:1px solid var(--theme-palette-color-5);border-radius:var(--sn-r-lg);padding:26px;transition:box-shadow .25s var(--sn-ease),transform .25s var(--sn-ease),border-color .25s}
.sn-card:hover{box-shadow:var(--sn-shadow-hi);transform:translateY(-3px);border-color:transparent}
.sn-soft{background:var(--theme-palette-color-7);border-radius:var(--sn-r-lg);padding:28px}
.sn-dark{background:var(--sn-bar);color:#fff;border-radius:var(--sn-r-xl);padding:34px}
.sn-dark h1,.sn-dark h2,.sn-dark h3{color:#fff}
.sn-dark p{color:var(--sn-bar-muted)}
.sn-tint{background:var(--sn-accent-soft);border-radius:var(--sn-r-lg);padding:24px}
.sn-trust-tint{background:var(--sn-trust-soft);border-radius:var(--sn-r-lg);padding:24px}

/* ---------- SLIDING CARD RAIL — swipe on mobile, snap on all ---------- */
.sn-rail{display:flex!important;gap:16px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 18px;margin-inline:0;scroll-padding-left:0}
.sn-rail::-webkit-scrollbar{display:none}
.sn-rail>*{scroll-snap-align:start;flex:0 0 clamp(250px,78vw,300px);min-width:0;margin:0!important}
@media(min-width:782px){ .sn-rail>*{flex-basis:calc(25% - 12px)} }
/* bleed the rail to the screen edge on phones so cards peek */
@media(max-width:781px){
  .sn-rail{margin-inline:calc(50% - 50vw);padding-inline:20px;scroll-padding-left:20px}
}
.sn-rail-hint{font-size:13px;color:var(--theme-palette-color-4);display:none}
@media(max-width:781px){.sn-rail-hint{display:block}}

/* ---------- section rhythm ---------- */
.sn-sect{padding-block:clamp(38px,5vw,64px)}
.sn-sect-tight{padding-block:clamp(24px,3vw,38px)}
.sn-head{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.sn-head h2{margin:0;flex:1 1 320px}

/* ---------- hero ---------- */
.sn-hero{background:linear-gradient(180deg,var(--theme-palette-color-7) 0%,var(--theme-palette-color-6) 100%);
  border-bottom:1px solid var(--theme-palette-color-5);padding-block:clamp(30px,4.5vw,54px)}
.sn-pill{display:inline-flex;align-items:center;gap:8px;background:var(--sn-accent-soft);color:#A93310;
  border-radius:99px;padding:7px 15px;font-size:13px;font-weight:700;font-family:var(--sn-display)}

/* ---------- trust strip ---------- */
.sn-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;
  background:var(--sn-trust-soft);border-radius:var(--sn-r-lg);padding:20px 24px}
.sn-trust p{margin:0;font-size:14px;color:#0D4653;line-height:1.45}
.sn-trust strong{display:block;font-family:var(--sn-display);font-size:15px;color:var(--theme-palette-color-3)}

/* ---------- badges ---------- */
.sn-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-radius:5px;padding:5px 10px;font-family:var(--sn-display)}
.sn-badge-a{background:var(--theme-palette-color-1);color:#fff}
.sn-badge-t{background:var(--sn-trust-soft);color:#0D4653}
.sn-badge-o{background:var(--sn-ok-soft);color:#0C5738}

/* ---------- WooCommerce product cards ---------- */
.woocommerce ul.products li.product{border:1px solid var(--theme-palette-color-5);border-radius:var(--sn-r-lg);
  overflow:hidden;background:#fff;transition:box-shadow .25s var(--sn-ease),transform .25s var(--sn-ease)}
.woocommerce ul.products li.product:hover{box-shadow:var(--sn-shadow-hi);transform:translateY(-3px)}
.woocommerce ul.products li.product .ct-media-container{background:var(--theme-palette-color-7)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sn-display);font-weight:700;letter-spacing:-.015em}
.woocommerce ul.products li.product .price{font-family:var(--sn-display);font-weight:800;color:var(--theme-palette-color-3)}
.woocommerce ul.products li.product .price del{font-weight:500;opacity:.55}
.woocommerce span.onsale,.ct-product-badge{border-radius:5px!important;font-family:var(--sn-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:11px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--sn-display);font-weight:800}

/* ---------- navigation polish ---------- */
.header-menu-1 .menu>li>a,[data-header*=type-1] .menu>li>a{font-family:var(--sn-display);font-weight:600;letter-spacing:-.005em}
.ct-header [data-id=menu] .menu>li>a:after{transition:transform .2s var(--sn-ease)}
[data-header*=sticky]{box-shadow:0 1px 0 var(--theme-palette-color-5),0 10px 30px -18px rgba(18,22,28,.3)}

/* ---------- sticky mobile action bar ---------- */
.sn-callbar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;gap:10px;
  background:#fff;border-top:1px solid var(--theme-palette-color-5);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -2px 18px rgba(18,22,28,.1)}
.sn-callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:50px;
  border-radius:var(--sn-r);font-family:var(--sn-display);font-weight:700;font-size:15px;text-decoration:none}
.sn-callbar .sn-call{background:var(--theme-palette-color-1);color:#fff}
.sn-callbar .sn-wa{background:var(--sn-bar);color:#fff}
@media(max-width:781px){.sn-callbar{display:flex}body{padding-bottom:80px}}

/* ---------- RepairPlugin: force it to match the site ---------- */
.wp-repair-container,.wp-repair-container *,[class^=wp-repair],[class*=" wp-repair"],.rpv2,.rpv2 *{
  font-family:var(--sn-body)!important}
[class^=wp-repair] h1,[class^=wp-repair] h2,[class^=wp-repair] h3,.rpv2 h1,.rpv2 h2,.rpv2 h3{
  font-family:var(--sn-display)!important;letter-spacing:-.022em!important}
[class^=wp-repair] .show-price,[class*=" wp-repair"] .show-price,.original-repair-price{
  font-family:var(--sn-display)!important;font-weight:800!important;font-variant-numeric:tabular-nums}
[class^=wp-repair] button,[class^=wp-repair] .button,.rpv2 button{
  border-radius:var(--sn-r)!important;font-family:var(--sn-display)!important;font-weight:700!important}
.rp-slot{border:2px dashed var(--theme-palette-color-1);background:var(--sn-accent-soft);
  border-radius:var(--sn-r-lg);padding:20px 22px}
.rp-slot p{margin:0;font-size:14.5px;color:#12161C}
.rp-slot code{background:#fff;border:1px solid #F0D9CC;border-radius:5px;padding:2px 7px;font-size:13px;display:inline-block;margin-top:6px}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- mobile-first refinements ---------- */
@media(max-width:781px){
  .sn-card{padding:20px}
  .sn-dark{padding:24px;border-radius:var(--sn-r-lg)}
  .sn-sect{padding-block:30px}
  .wp-block-button__link,.button,.woocommerce a.button{width:100%;min-height:52px}
  .sn-head{margin-bottom:16px}
}

/* ============ PART 2 — component polish ============ */
.home .entry-header,.home .page-title,.home .hero-section{display:none!important}
.sn-rail .sn-card{display:flex;flex-direction:column;gap:6px}
.sn-rail .sn-card h3{margin:0;font-size:19px}
.sn-rail .sn-card h3 a{color:var(--theme-palette-color-3);text-decoration:none}
.sn-rail .sn-card h3 a:hover{color:var(--theme-palette-color-1)}
.sn-rail .sn-card p{margin:0;font-size:14.5px;color:var(--theme-palette-color-4)}
.sn-rail ul.products{display:flex!important;gap:16px;margin:0!important;padding:0;width:100%;list-style:none}
.sn-rail ul.products li.product{flex:0 0 clamp(250px,78vw,300px);width:auto!important;margin:0!important;scroll-snap-align:start;float:none!important}
@media(min-width:782px){.sn-rail ul.products li.product{flex-basis:calc(25% - 12px)}}
.wp-block-details{background:#fff;border:1px solid var(--theme-palette-color-5);border-radius:var(--sn-r);margin-bottom:10px;transition:box-shadow .2s var(--sn-ease),border-color .2s}
.wp-block-details[open]{box-shadow:var(--sn-shadow);border-color:transparent}
.wp-block-details summary{font-family:var(--sn-display);font-weight:700;font-size:16px;padding:17px 20px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"";width:11px;height:11px;margin-left:auto;flex:none;border-right:2.4px solid var(--theme-palette-color-4);border-bottom:2.4px solid var(--theme-palette-color-4);transform:rotate(45deg);margin-top:-4px;transition:transform .2s var(--sn-ease)}
.wp-block-details[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.wp-block-details p{padding:0 20px 18px;margin:0;color:#2A313B;line-height:1.65}
.sn-soft .wp-block-column h3{font-family:var(--sn-display);font-size:36px;font-weight:800;color:var(--theme-palette-color-1);line-height:1;margin:0 0 8px}
.sn-soft .wp-block-column p{font-size:14.5px;color:var(--theme-palette-color-4);line-height:1.55}
.sn-soft .wp-block-column p strong{color:var(--theme-palette-color-3);font-family:var(--sn-display);font-size:15.5px}
.sn-hero .wp-block-columns{align-items:flex-start;gap:34px}
@media(max-width:781px){.sn-hero .wp-block-columns{gap:22px}}
.sn-hero .wp-block-buttons{gap:10px;margin-top:20px}
.ct-header{border-bottom:1px solid var(--theme-palette-color-5)}
.ct-header [data-id=logo] .site-title{font-family:var(--sn-display);font-weight:800;letter-spacing:-.03em}
.ct-footer{background:var(--sn-bar)}
.ct-footer,.ct-footer p,.ct-footer a{color:var(--sn-bar-muted)}
.ct-footer a:hover{color:#fff}
.ct-footer h3,.ct-footer .widget-title{color:#fff;font-family:var(--sn-display)}


/* ============ PART 3 — Blocksy variable overrides (must win) ============ */
:root{
  --theme-font-family:'Source Sans 3',system-ui,-apple-system,sans-serif;
  --theme-headings-color:#12161C;
  --theme-text-color:#3A424E;
  --theme-link-initial-color:#A93310;
  --theme-link-hover-color:#C93F13;
  --theme-button-background-initial-color:#C93F13;
  --theme-button-background-hover-color:#A93310;
  --theme-button-text-initial-color:#FFFFFF;
  --theme-button-text-hover-color:#FFFFFF;
  --theme-button-border-radius:10px;
  --theme-form-field-border-radius:10px;
}
:root,body{
  --theme-heading-1-font-family:'Archivo',sans-serif;--theme-heading-1-color:#12161C;--theme-heading-1-font-weight:800;
  --theme-heading-2-font-family:'Archivo',sans-serif;--theme-heading-2-color:#12161C;--theme-heading-2-font-weight:800;
  --theme-heading-3-font-family:'Archivo',sans-serif;--theme-heading-3-color:#12161C;--theme-heading-3-font-weight:700;
  --theme-heading-4-font-family:'Archivo',sans-serif;--theme-heading-4-color:#12161C;--theme-heading-4-font-weight:700;
  --theme-heading-5-font-family:'Archivo',sans-serif;--theme-heading-5-color:#12161C;
  --theme-heading-6-font-family:'Archivo',sans-serif;--theme-heading-6-color:#12161C;
}
h1,h2,h3,h4,h5,h6,.entry-title,.page-title,.wp-block-heading{font-family:'Archivo',sans-serif!important;color:#12161C}
.sn-dark h1,.sn-dark h2,.sn-dark h3,.sn-dark h4,.ct-footer h1,.ct-footer h2,.ct-footer h3{color:#fff!important}
.sn-rail .sn-card h3 a{color:#12161C!important}
.sn-rail .sn-card h3 a:hover{color:#C93F13!important}
.sn-soft .wp-block-column h3{color:#C93F13!important}

/* front page: hero replaces the page title */
body.home .hero-section,body.home .entry-header,body.home .page-title{display:none!important}

/* tighten the default content rhythm so sections do not float apart */
.entry-content>*{margin-block:0}
.entry-content>.wp-block-group{margin-block:0}
