/* =====================================================================
   STORE: storefront cards, product page, and WooCommerce cart / checkout /
   account forms restyled to match the site.
   ===================================================================== */
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* WooCommerce's own CSS sets ".woocommerce img{height:auto}": keep our logo and media sizes */
.woocommerce .ch-brand__logo,.woocommerce-page .ch-brand__logo{height:60px;width:auto;max-width:none}
@media (max-width:900px){.woocommerce .ch-brand__logo,.woocommerce-page .ch-brand__logo{height:44px}}
.woocommerce .ch-product__media img,.woocommerce-page .ch-product__media img{width:100%;height:100%}
.woocommerce .ch-shop-card__media img,.woocommerce-page .ch-shop-card__media img{width:100%;height:100%}
.ch-shop-notices:empty{display:none}
.ch-shop-notices{margin:28px 0 0}

/* ---------- filter chips ---------- */
.ch-shop-filter{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(40px,5vw,64px) 0 clamp(22px,2.6vw,30px)}
.ch-shop-chip{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--ch-mist);color:var(--ch-ink);font:600 14px/1 var(--ch-body);transition:background-color .25s,color .25s}
.ch-shop-chip span{font:500 11px/1 var(--ch-mono);color:var(--ch-ink-2)}
.ch-shop-chip:hover{background:#e3eef1}
.ch-shop-chip[aria-pressed="true"]{background:var(--ch-petrol);color:#fff}
.ch-shop-chip[aria-pressed="true"] span{color:rgba(255,255,255,.7)}
.ch-shop-chip:focus-visible{outline:2px solid var(--ch-gold);outline-offset:2px}

/* ---------- product cards ---------- */
.ch-shop-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ch-shop-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--ch-rule);transition:transform .45s var(--ch-ease),box-shadow .45s var(--ch-ease)}
.ch-shop-card[hidden]{display:none}
.ch-shop-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--ch-rule),0 30px 60px -34px rgba(20,32,58,.5)}
.ch-shop-card__media{position:relative;display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#eef6f7,#f7f3e6)}
.ch-shop-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ch-ease)}
.ch-shop-card:hover .ch-shop-card__media img{transform:scale(1.04)}
.ch-shop-card__ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(120deg,#1d4e62,#1a3a54 55%,#1c2037);color:var(--ch-yellow)}
.ch-shop-card__ph svg{width:64px;height:64px;opacity:.9}
.ch-shop-card__flag{position:absolute;left:14px;top:14px;padding:6px 11px;border-radius:999px;background:var(--ch-gold);color:#1b1505;font:600 11px/1 var(--ch-mono);letter-spacing:.12em;text-transform:uppercase}
.ch-shop-card__body{display:flex;flex-direction:column;gap:10px;flex:1;padding:20px 22px 22px}
.ch-shop-card__k{margin:0;font:500 11px/1.3 var(--ch-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ch-teal)}
.ch-shop-card__title{margin:0;font:400 21px/1.25 var(--ch-display)}
.ch-shop-card__title a{color:var(--ch-ink);text-decoration:none}
.ch-shop-card__title a:hover{color:var(--ch-petrol)}
.ch-shop-card__text{margin:0;font-size:14.5px;line-height:1.55;color:var(--ch-ink-2)}
.ch-shop-card__foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ch-shop-card__price{font:400 22px/1 var(--ch-display);color:var(--ch-ink)}
.ch-shop-card__price del{font-size:15px;color:var(--ch-ink-2);margin-right:6px}
.ch-shop-card__price ins{text-decoration:none}
.ch-shop-empty{margin:24px 0 0;color:var(--ch-ink-2)}
.ch-linkbtn{all:unset;cursor:pointer;color:var(--ch-petrol);font-weight:600;text-decoration:underline}
@media (max-width:980px){.ch-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ch-shop-grid{grid-template-columns:minmax(0,1fr)}}
.ch-shop-help__side{display:grid;gap:22px}

/* ---------- single product ---------- */
.ch-product-hero .ch-eyebrow{margin-bottom:10px}
.ch-product-hero__price{margin:18px 0 0;font:400 clamp(24px,2.4vw,32px)/1 var(--ch-display);color:var(--ch-yellow)}
.ch-product-hero__price del{opacity:.6;font-size:.7em;margin-right:8px}
.ch-product-hero__price ins{text-decoration:none}
.ch-product__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:start}
.ch-product__media{border-radius:26px;overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,#eef6f7,#f7f3e6);box-shadow:0 0 0 1px var(--ch-rule)}
.ch-product__media img{width:100%;height:100%;object-fit:contain;padding:clamp(20px,3vw,40px);box-sizing:border-box}
.ch-product__buy{position:sticky;top:120px}
.ch-product__buycard{position:relative;padding:clamp(24px,3vw,36px);border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--ch-rule),0 40px 90px -50px rgba(20,32,58,.5)}
.ch-product__buycard::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--ch-teal),var(--ch-gold) 70%,var(--ch-yellow))}
.ch-product__k{margin:0 0 6px;font:500 11px/1.3 var(--ch-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ch-teal)}
.ch-product__price{margin:0 0 16px;font:400 36px/1 var(--ch-display);color:var(--ch-ink)}
.ch-product__price del{font-size:20px;color:var(--ch-ink-2);margin-right:8px}
.ch-product__price ins{text-decoration:none}
.ch-product__short{font-size:15px;line-height:1.6;color:var(--ch-ink-2);margin-bottom:16px}
.ch-product__help{margin:18px 0 0;font-size:14px;color:var(--ch-ink-2)}
.ch-product__help a{color:var(--ch-petrol);font-weight:600}
.ch-product__desc{margin-top:clamp(56px,7vw,96px);max-width:780px}
@media (max-width:900px){.ch-product__grid{grid-template-columns:minmax(0,1fr)}.ch-product__buy{position:static}}

/* ---------- WooCommerce controls (product, cart, checkout, account) ---------- */
.woocommerce form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
.woocommerce .quantity .qty{width:76px;height:50px;box-sizing:border-box;padding:0 10px;border-radius:12px;border:1px solid var(--ch-rule);background:var(--ch-mist);font:600 16px var(--ch-body);text-align:center}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce-page .wc-block-components-button,.single_add_to_cart_button{
  display:inline-flex !important;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px !important;border-radius:999px !important;border:0 !important;
  background:var(--ch-gold) !important;color:#1b1505 !important;font:600 15px/1 var(--ch-body) !important;text-decoration:none;box-shadow:0 14px 30px -16px rgba(209,156,40,.8);
  transition:transform .35s var(--ch-ease),background-color .3s,box-shadow .35s var(--ch-ease)}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover,.single_add_to_cart_button:hover{transform:translateY(-2px);background:#dca935 !important}
.woocommerce .button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;transform:none}
.woocommerce a.added_to_cart{margin-left:12px;font-weight:600;color:var(--ch-petrol)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 24px !important;padding:16px 20px 16px 52px !important;border-radius:14px;border:0 !important;background:var(--ch-mist) !important;color:var(--ch-ink) !important;box-shadow:inset 3px 0 0 var(--ch-teal)}
.woocommerce-error{box-shadow:inset 3px 0 0 #c2410c}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ch-teal) !important}
.woocommerce-message .button,.woocommerce-info .button{min-height:40px;padding:0 18px !important;float:right}

/* cart + checkout tables and fields */
.woocommerce table.shop_table{border:0 !important;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px var(--ch-rule);border-collapse:separate !important;background:#fff}
.woocommerce table.shop_table th{font:500 11px/1.3 var(--ch-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink-2);background:var(--ch-mist);padding:14px 16px !important}
.woocommerce table.shop_table td{padding:16px !important;border-top:1px solid var(--ch-rule) !important;vertical-align:middle}
.woocommerce table.shop_table td.product-name a{color:var(--ch-ink);font:400 18px/1.3 var(--ch-display);text-decoration:none}
.woocommerce table.shop_table img{width:64px !important;border-radius:10px;background:var(--ch-mist)}
.woocommerce a.remove{color:#b42318 !important;border-radius:50%}
.woocommerce a.remove:hover{background:#b42318 !important;color:#fff !important}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout .ch-prose h3,#order_review_heading,.woocommerce-account .ch-prose h2{font:400 26px/1.2 var(--ch-display) !important;color:var(--ch-ink);margin:0 0 16px}
.woocommerce form .form-row label{font:600 13.5px/1.3 var(--ch-body);color:var(--ch-ink);margin-bottom:6px}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce-page form .form-row textarea,.select2-container--default .select2-selection--single,.woocommerce #coupon_code{
  box-sizing:border-box;min-height:50px;padding:12px 14px !important;border-radius:12px !important;border:1px solid var(--ch-rule) !important;background:var(--ch-mist) !important;font:500 16px/1.4 var(--ch-body);color:var(--ch-ink)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px;padding:0 !important}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:12px;right:10px}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus,.woocommerce #coupon_code:focus{outline:none;background:#fff !important;border-color:var(--ch-teal) !important;box-shadow:0 0 0 4px rgba(48,140,148,.15)}
.woocommerce #coupon_code{width:200px !important}
.woocommerce-checkout #payment{border-radius:18px !important;background:var(--ch-mist) !important}
.woocommerce-checkout #payment div.payment_box{background:#fff !important;border-radius:12px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff !important}
#place_order{width:100%;min-height:56px;font-size:16px !important}
.woocommerce-cart .ch-prose,.woocommerce-checkout .ch-prose,.woocommerce-account .ch-prose{max-width:none}
.woocommerce-cart .ch-toc,.woocommerce-checkout .ch-toc,.woocommerce-account .ch-toc{display:none !important}
.woocommerce-cart .ch-page-layout,.woocommerce-checkout .ch-page-layout,.woocommerce-account .ch-page-layout{grid-template-columns:minmax(0,1fr) !important}
/* store pages use the wide column, and skip the "min read / updated" chips */
.woocommerce-cart .ch-prose>*,.woocommerce-checkout .ch-prose>*,.woocommerce-account .ch-prose>*{max-width:1100px}
.woocommerce-cart .ch-page-hero__meta,.woocommerce-checkout .ch-page-hero__meta,.woocommerce-account .ch-page-hero__meta{display:none}
/* payment method rows: card logos sit in a line after the name */
.woocommerce-checkout #payment ul.payment_methods li>label{display:inline;font-weight:600;color:var(--ch-ink)}
.woocommerce-checkout #payment ul.payment_methods li img{display:inline-block !important;vertical-align:middle;float:none !important;margin:-2px 0 0 6px !important;max-height:25px;width:auto}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{vertical-align:middle;margin-right:8px;border-color:#9fb3ba}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;border-radius:12px;background:var(--ch-mist);color:var(--ch-ink);text-decoration:none;font-weight:600}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ch-petrol);color:#fff}
