/*
Theme Name: Headwaters Merch
Theme URI: https://headwatersmerch.com
Author: All The Things Design
Description: Spirit wear store theme for Headwaters Christian Academy. Ported from the approved v4 static comp (design-concepts/concept-final-team-shop.html).
Version: 0.1.10
Requires PHP: 8.0
Text Domain: headwaters-merch
*/

:root{
  --wave:#0C51A0; --navy:#003366; --ink:#313546; --white:#fff;
  --tint:#EEF2F8; --line:#D9E2EF; --gold:#F2B705; --green:#2E8540;
  --disp:'Anton',sans-serif; --body:'Barlow',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--body);color:var(--ink);background:var(--white);line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.disp,h1,h2,h3.disp{font-family:var(--disp);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:.98}

/* announcement */
.hca-annc{background:var(--gold);color:#3A2E00;font-weight:700;font-size:14px;text-align:center;padding:9px 16px}
.hca-annc strong{text-transform:uppercase;letter-spacing:.04em}

/* header */
.hca-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hca-hd{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.hca-hd .brand img{height:34px;width:auto}
.hca-hd nav ul{display:flex;gap:26px;font-weight:600;font-size:15px;list-style:none}
.hca-hd nav a:hover{color:var(--wave)}
.hca-cart{background:var(--navy);color:#fff;border-radius:6px;padding:9px 18px;font-weight:700;font-size:14px}
.hca-cart:hover{background:var(--wave);color:#fff}

/* hero */
.hca-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hca-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:72px;position:relative;z-index:2}
.hca-hero h1{font-size:clamp(44px,6.5vw,84px);color:#fff}
.hca-hero h1 em{font-style:normal;color:#9CC3F5}
.hca-hero p{margin:18px 0 28px;font-size:18px;max-width:46ch;color:#D7E3F4}
.btnrow{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 28px;border-radius:6px;font-weight:700;font-size:16px;border:none;cursor:pointer;font-family:var(--body)}
.btn-p{background:var(--gold);color:#3A2E00}
.btn-p:hover{background:#FFC933;color:#3A2E00}
.btn-g{border:2px solid #5B84B8;color:#fff;background:transparent}
.btn-g:hover{border-color:#fff;color:#fff}
.currents{position:absolute;inset:0;z-index:1;opacity:.35}
.hero-art{text-align:center}
.hero-art img,.hero-art svg{width:min(330px,85%);margin:0 auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.35))}
.hero-art .tag{margin-top:18px;font-size:13px;color:#9CC3F5;font-weight:600;letter-spacing:.02em}

/* stats strip */
.hca-strip{border-bottom:1px solid var(--line)}
.hca-strip .wrap{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:20px 24px;font-weight:600;font-size:14.5px;color:#4A5468}
.hca-strip b{color:var(--navy);font-weight:800}

/* section heads — centered stack: heading, squiggle, eyebrow */
.hca-section{padding:68px 0}
section[id],div[id]{scroll-margin-top:90px}
.shead{text-align:center;margin-bottom:40px}
.shead h2{font-size:clamp(30px,4vw,44px);color:var(--navy)}
.squig{display:block;width:112px;height:14px;margin:12px auto 0;color:var(--wave)}
.shead .note{display:block;font-size:14px;font-weight:600;color:#5A657E;margin-top:12px}

/* how it works */
.hca-how{background:var(--tint)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.step{text-align:center}
.step .n{font-family:var(--disp);font-size:64px;color:var(--wave);line-height:1;margin-bottom:10px}
.step:nth-child(2) .n{color:#C79200}
.step:nth-child(3) .n{color:var(--green)}
.step h3{font-family:var(--disp);text-transform:uppercase;font-size:20px;margin-bottom:8px;color:var(--navy)}
.step p{font-size:15px;color:#4A5468;max-width:34ch;margin:0 auto}

/* product grid — floating, no card chrome */
.pgrid,.hca-section ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 32px;list-style:none}
.item,.hca-section ul.products li.product{text-align:center}
.item .art,.hca-section ul.products li.product img{transition:transform .18s}
.item:hover .art,.hca-section ul.products li.product:hover img{transform:translateY(-6px)}
.item .art img,.hca-section ul.products li.product img{width:min(210px,70%);margin:0 auto 14px;filter:drop-shadow(0 14px 18px rgba(0,51,102,.16))}
.item h3,.hca-section ul.products li.product .woocommerce-loop-product__title{font-family:var(--body);font-size:17px;font-weight:700;text-transform:none;color:var(--ink)}
.item .meta{font-size:13.5px;color:#5A657E;margin:2px 0 8px}
.price,.hca-section ul.products li.product .price{font-family:var(--disp);font-size:22px;color:var(--navy)}
.price span.sub{font-family:var(--body);font-size:13px;font-weight:600;color:#5A657E}
.flag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:99px;padding:3px 10px;margin-top:10px}
.flag.cust{background:#E4EEFB;color:var(--wave)}
.flag.left{background:#FDEECC;color:#7A5800}

/* customizer band */
.hca-customizer{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hca-customizer .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;position:relative;z-index:2}
.hca-customizer h2{font-size:clamp(30px,4vw,44px);color:#fff;margin-bottom:14px}
.hca-customizer .lead{color:#C7D6EA;font-size:16.5px;margin-bottom:26px;max-width:48ch}
.chart .row{display:flex;justify-content:space-between;gap:14px;padding:13px 2px;font-weight:600;font-size:15.5px;border-bottom:1px solid #1E4B7E}
.chart .row:first-child{border-top:1px solid #1E4B7E}
.chart .row span{font-family:var(--disp);font-size:19px;color:var(--gold);letter-spacing:.02em}
.jersey{text-align:center}
.jersey img,.jersey svg{width:min(280px,80%);margin:0 auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.35))}
.jersey .tag{margin-top:18px;font-size:13px;color:#9CC3F5;font-weight:600}

/* fun designs — rotated floats */
.hca-fun .item:nth-child(3n+1) .art{transform:rotate(-2deg)}
.hca-fun .item:nth-child(3n+2) .art{transform:rotate(1.6deg)}
.hca-fun .item:nth-child(3n) .art{transform:rotate(-1deg)}
.hca-fun .item:hover .art{transform:rotate(0) translateY(-6px)}

/* delivery */
.hca-ship{background:var(--tint)}
.shipgrid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.shipcard{display:flex;gap:24px;align-items:flex-start}
.shipcard .p{font-family:var(--disp);font-size:40px;color:var(--navy);min-width:96px;line-height:1}
.shipcard.free .p{color:var(--green)}
.shipcard h3{font-family:var(--disp);text-transform:uppercase;font-size:19px;color:var(--navy);margin-bottom:6px}
.shipcard p{font-size:15px;color:#4A5468;max-width:40ch}

/* faq */
.faq{max-width:760px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:18px 2px}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{font-weight:700;cursor:pointer;font-size:16px;color:var(--navy)}
.faq details p{margin-top:10px;font-size:15px;color:#4A5468;max-width:65ch}

/* fundraiser band */
.hca-fund{background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden}
.hca-fund .wrap{position:relative;z-index:2}
.hca-fund h2{font-size:clamp(28px,4vw,40px);color:#fff;max-width:22ch;margin:0 auto 12px}
.hca-fund p{max-width:58ch;margin:0 auto;font-size:16.5px;color:#C7D6EA}
.hca-fund .big{font-family:var(--disp);font-size:clamp(56px,9vw,96px);color:var(--gold);line-height:1;margin-bottom:6px}

/* footer */
.hca-footer{background:#00254A;color:#B9CBE2;padding:40px 0;font-size:14px}
.hca-footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.hca-footer a{text-decoration:underline;text-underline-offset:3px}
.hca-footer .atd{font-size:12.5px;opacity:.75}

/* ===================== WooCommerce: single product (PDP) ===================== */
/* Mapped onto Woo's default single-product markup. Woo's layout CSS floats
   .images/.summary at 48% width — neutralize so the grid controls proportions. */
.single-product div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.single-product div.product::before,
.single-product div.product::after{content:none}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product div.images,
.single-product div.product div.summary{float:none !important;width:100% !important;margin:0 !important}
.single-product div.product .woocommerce-product-gallery{position:sticky;top:92px;text-align:center;grid-column:1;grid-row:1}
.hca-gallery-note{grid-column:1;grid-row:2;text-align:center;font-size:12.5px;color:#5A657E;font-weight:600;margin-top:14px}
.single-product div.product div.summary{grid-column:2;grid-row:1 / span 2}
.single-product div.product .woocommerce-product-gallery img{width:min(500px,92%);height:auto;margin:0 auto;filter:drop-shadow(0 22px 26px rgba(0,51,102,.18))}
.single-product div.product .summary .product_title{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:.98;font-size:clamp(34px,4vw,52px);color:var(--navy)}
.single-product div.product .summary p.price,
.single-product div.product .woocommerce-variation-price .price{font-family:var(--disp);font-size:38px;color:var(--navy)}
.single-product div.product .summary p.price del,.single-product div.product .summary p.price .woocommerce-Price-currencySymbol{opacity:1}
.single-product div.product .woocommerce-product-details__short-description{margin:14px 0 6px;font-size:16px;color:#4A5468;max-width:52ch}
.single-product table.variations{width:100%;border:none;margin:18px 0 4px}
.single-product table.variations td,.single-product table.variations th{padding:6px 0;border:none;text-align:left}
.single-product table.variations label{font-family:var(--disp);text-transform:uppercase;font-size:16px;color:var(--navy);letter-spacing:.03em}
.single-product .summary select{padding:11px 12px;border:1.5px solid var(--line);border-radius:6px;font-family:var(--body);font-size:15px;font-weight:600;color:var(--ink);min-width:200px}
.single-product .reset_variations{font-size:12.5px;font-weight:600;color:#5A657E}
.single-product .single_add_to_cart_button{background:var(--gold);color:#3A2E00;border:none;cursor:pointer;padding:16px 36px;border-radius:6px;font-weight:800;font-size:16.5px;font-family:var(--body)}
.single-product .single_add_to_cart_button:hover{background:#FFC933}
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed{background:var(--gold);color:#3A2E00;opacity:.4;cursor:not-allowed}
/* Woo's purple defaults → brand gold everywhere (classic + block buttons) */
.woocommerce .button.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--gold) !important;color:#3A2E00 !important;border:none;border-radius:6px;font-weight:800}
.woocommerce .button.alt:hover,.wc-block-components-button:not(.is-link):hover{background:#FFC933 !important;color:#3A2E00 !important}
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form){display:flex;flex-wrap:wrap;align-items:stretch;gap:14px}
/* the add-on toggles render inside this wrapper — keep them on their own full-width row */
.single-product form.cart .hca-addons{flex:1 1 100%;margin:6px 0 16px}
.single-product .quantity input{padding:14px;border:1.5px solid var(--line);border-radius:6px;width:76px;font-weight:600;box-sizing:border-box;height:100%}
.single-product .product_meta{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;font-weight:600;color:#5A657E}
.single-product .woocommerce-tabs{grid-column:1 / -1;margin-top:30px}
.single-product .related.products{grid-column:1 / -1;margin-top:40px}
.single-product .related.products>h2{font-family:var(--disp);text-transform:uppercase;font-size:28px;color:var(--navy);text-align:center;margin-bottom:26px}
/* Woo floats product-loop <li>s at ~30% — neutralize inside our grid */
.hca-section ul.products{float:none;width:100%;margin:0;display:grid !important}
.hca-section ul.products::before,.hca-section ul.products::after{content:none}
.hca-section ul.products li.product{float:none !important;width:auto !important;margin:0 !important;text-align:center}
.hca-section ul.products li.product img{width:min(210px,70%) !important;height:auto;margin:0 auto 14px !important}
/* related lists often hold fewer items than columns — center whatever is there */
.single-product .related.products ul.products{grid-template-columns:repeat(auto-fit,minmax(220px,300px));justify-content:center}
.hca-section ul.products li.product .button{background:var(--tint);color:var(--navy);border:none;border-radius:6px;font-weight:700;padding:10px 18px;margin-top:10px;display:inline-block}
.hca-section ul.products li.product .button:hover{background:var(--line)}

/* add-on toggles (output by hca-merch plugin) */
.hca-addons{margin:22px 0 4px}
.hca-addons .toggle{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;user-select:none}
.hca-addons .toggle:first-of-type{border-top:1px solid var(--line)}
.hca-addons .toggle input{margin-top:4px;width:17px;height:17px;accent-color:var(--wave);cursor:pointer}
.hca-addons .t{font-weight:700;font-size:15.5px}
.hca-addons .d{font-size:13.5px;color:#5A657E;font-weight:500}
.hca-addons .add{margin-left:auto;font-family:var(--disp);font-size:18px;color:var(--wave);white-space:nowrap}
.hca-custfields{display:none;grid-template-columns:1.4fr .6fr;gap:14px;padding:16px 0 6px}
.hca-custfields.open{display:grid}
.hca-custfields label{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5A657E;margin-bottom:6px}
.hca-custfields input{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:6px;font-family:var(--body);font-size:15px;font-weight:600;color:var(--ink)}
.hca-custfields input:focus{outline:none;border-color:var(--wave)}
.hca-assure{margin-top:26px}
.hca-assure div{display:flex;gap:10px;align-items:baseline;font-size:14.5px;font-weight:600;color:#4A5468;padding:6px 0}
.hca-assure b{color:var(--navy)}

/* woo notices/cart basic alignment with palette */
.woocommerce-message,.woocommerce-info{border-top-color:var(--wave)}
.woocommerce-error{border-top-color:#B3261E}

@media(max-width:860px){
  .hca-hero .wrap,.hca-customizer .wrap,.single-product div.product{grid-template-columns:1fr}
  .single-product div.product .woocommerce-product-gallery{position:static}
  .single-product div.product .woocommerce-product-gallery,.hca-gallery-note,.single-product div.product div.summary{grid-column:auto;grid-row:auto}
  .pgrid,.hca-section ul.products{grid-template-columns:1fr 1fr;gap:36px 20px}
  .steps,.shipgrid{grid-template-columns:1fr;gap:32px}
  .hca-hd nav{display:none}
  .hca-section{padding:50px 0}
  .hca-strip .wrap{gap:14px 28px}
  .hca-custfields{grid-template-columns:1fr}
}
@media(max-width:520px){.pgrid,.hca-section ul.products{grid-template-columns:1fr}}
