/* CPS Revamp visual layer. Everything is scoped to html.cps-v2 so it only applies to previewers until CPS_REVAMP_PUBLIC is switched on. */

/* ---- always: SEO H1 is present for crawlers/screen readers, visible only in v2 ---- */
.cps-h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cps-recaptcha-note{margin:0;padding:10px 16px;font-size:12px;line-height:1.5;text-align:center;color:#6b7c8c;background:transparent}
.cps-recaptcha-note a{color:inherit;text-decoration:underline}

html.cps-v2{
  --cps-blue:#0A75AB; --cps-blue-dark:#075a85; --cps-cyan:#1FA8E0; --cps-ink:#10243A; --cps-text:#2C4358;
  --cps-muted:#4B6275; --cps-tint:#F2F7FA; --cps-tint2:#E8F5FC; --cps-line:#E3EBF1; --cps-sale:#C9341D;
  --cps-r:14px; --cps-shadow:0 6px 22px rgba(16,36,58,.08);
}
html.cps-v2 body{color:var(--cps-text);-webkit-font-smoothing:antialiased}
html.cps-v2 a{transition:color .15s}
html.cps-v2 :focus-visible{outline:3px solid var(--cps-cyan);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){html.cps-v2 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---- visible H1 on the home page ---- */
html.cps-v2 .cps-h1{position:static;width:auto;height:auto;margin:0 auto;padding:22px 16px 0;overflow:visible;clip:auto;white-space:normal;max-width:1100px;
  text-align:center;font-size:clamp(24px,5.2vw,40px);line-height:1.12;font-weight:800;letter-spacing:-.02em;color:var(--cps-ink)}

/* ---- announcement bar: one clean line on phones ---- */
html.cps-v2 .topbar-wrapper,html.cps-v2 .top-bar{background:var(--cps-ink);border:0}
html.cps-v2 .top-bar,html.cps-v2 .top-bar *{color:#fff!important}
html.cps-v2 .top-bar .col-full{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px;font-size:13px}
html.cps-v2 .top-bar p{margin:0}
@media (max-width:767px){
  html.cps-v2 .top-bar .col-full{justify-content:center;text-align:center}
  html.cps-v2 .top-bar-center,html.cps-v2 .top-bar-right{display:none}
}

/* ---- header / nav ---- */
html.cps-v2 .site-header{background:#fff;border-bottom:1px solid var(--cps-line);box-shadow:none}
html.cps-v2 .main-navigation,html.cps-v2 .col-full-nav{background:var(--cps-blue)}
html.cps-v2 .main-navigation ul.menu>li>a,html.cps-v2 .main-navigation ul.nav-menu>li>a{font-weight:600;letter-spacing:.01em}
html.cps-v2 .site-search form input[type=search]{border-radius:999px;background:var(--cps-tint);border:1px solid transparent;height:46px;padding-left:44px}
html.cps-v2 .site-search form input[type=search]:focus{border-color:var(--cps-cyan);background:#fff}
html.cps-v2 .menu-toggle,html.cps-v2 .site-header-cart .cart-contents{min-width:44px;min-height:44px}
/* duplicate "free delivery" strip under the header: keep, but calmer */
html.cps-v2 .header-widget-region{background:var(--cps-tint2)}
html.cps-v2 .header-widget-region,html.cps-v2 .header-widget-region *{color:var(--cps-blue-dark)!important;font-size:13px;letter-spacing:.04em}
html.cps-v2 .header-widget-region .col-full{padding-top:8px;padding-bottom:8px}

/* ---- Elementor section headings: fix low-contrast pale blue ---- */
html.cps-v2 .elementor-widget-heading h1.elementor-heading-title,
html.cps-v2 .elementor-widget-heading h2.elementor-heading-title{color:var(--cps-ink)!important;font-weight:800;letter-spacing:-.015em;line-height:1.15}
html.cps-v2 .elementor-widget-heading h3.elementor-heading-title{color:var(--cps-ink)!important}

/* ---- product cards ---- */
html.cps-v2 ul.products li.product{background:#fff;border:1px solid var(--cps-line);border-radius:var(--cps-r);overflow:hidden;box-shadow:none;transition:box-shadow .2s,transform .2s}
html.cps-v2 ul.products li.product:hover{box-shadow:var(--cps-shadow)}
html.cps-v2 ul.products li.product img{border-radius:0}
html.cps-v2 ul.products li.product .woocommerce-loop-product__title{font-size:14px;line-height:1.35;font-weight:600;color:var(--cps-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.cps-v2 ul.products li.product .price{font-weight:700;color:var(--cps-ink)}
html.cps-v2 ul.products li.product .price del{color:var(--cps-muted);font-weight:400}
html.cps-v2 ul.products li.product .price ins{text-decoration:none;color:var(--cps-ink)}
html.cps-v2 .onsale{background:var(--cps-sale)!important;color:#fff!important;border-radius:999px;padding:3px 10px;font-weight:700;font-size:12px;min-height:0;min-width:0;line-height:1.5}

/* ---- buttons ---- */
html.cps-v2 .button.alt,html.cps-v2 button.alt,html.cps-v2 .single_add_to_cart_button,html.cps-v2 .checkout-button,html.cps-v2 #place_order{
  background:var(--cps-blue)!important;border-color:var(--cps-blue)!important;color:#fff!important;border-radius:999px;font-weight:700;min-height:48px;padding-left:28px;padding-right:28px}
html.cps-v2 .button.alt:hover,html.cps-v2 button.alt:hover,html.cps-v2 .single_add_to_cart_button:hover{background:var(--cps-blue-dark)!important}

/* ---- product page ---- */
html.cps-v2.single-product .product_title,html.cps-v2 .single-product .product_title{font-size:clamp(24px,6vw,32px);line-height:1.12;font-weight:800;color:var(--cps-ink);letter-spacing:-.015em}
html.cps-v2 .single-product div.product p.price,html.cps-v2 .single-product div.product span.price{font-size:26px;font-weight:700;color:var(--cps-ink)}
html.cps-v2 .single-product div.product p.price del{font-size:17px;color:var(--cps-muted);font-weight:400}
html.cps-v2 .single-product div.product .summary .price .amount,html.cps-v2 .single-product div.product .summary .price ins .amount{color:var(--cps-ink)!important}
html.cps-v2 .single-product div.product .summary .price del .amount{color:var(--cps-muted)!important}
html.cps-v2 .single-product div.product p.price ins{text-decoration:none}
html.cps-v2 .woocommerce-product-gallery img{border-radius:var(--cps-r)}
html.cps-v2 .single-product .summary input[type=text],html.cps-v2 .single-product .summary textarea,html.cps-v2 .single-product .summary select{
  min-height:52px;border:1.5px solid #9DB6C8;border-radius:12px;padding:0 14px;font-size:16px;color:var(--cps-ink)}
html.cps-v2 .single-product .summary textarea{padding:12px 14px}
html.cps-v2 .single-product .summary label{font-weight:700;color:var(--cps-ink)}
html.cps-v2 .woocommerce-tabs ul.tabs li a{font-weight:700}

/* ---- archive heading text ---- */
html.cps-v2 .term-description,html.cps-v2 .term-description p,html.cps-v2 .woocommerce-products-header p{color:var(--cps-text)!important;font-size:16px}
html.cps-v2 .woocommerce-products-header__title,html.cps-v2 h1.page-title{color:var(--cps-ink);font-weight:800;letter-spacing:-.015em}

/* ---- footer ---- */
html.cps-v2 footer.site-footer{background:var(--cps-ink);color:#C9D8E4}
html.cps-v2 footer.site-footer a{color:#fff}
html.cps-v2 footer.site-footer .widget-title,html.cps-v2 footer.site-footer h4,html.cps-v2 footer.site-footer .widgettitle{color:#fff;letter-spacing:.06em}
html.cps-v2 footer.site-footer ul.menu li a{display:inline-block;padding:6px 0}
html.cps-v2 .cps-wa-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;border-bottom:2px solid var(--cps-cyan)}
html.cps-v2 .cps-recaptcha-note{background:var(--cps-ink);color:#8fa6b8}

/* ---- floating widgets: stop overlapping each other ---- */
html.cps-v2 .grecaptcha-badge{visibility:hidden}   /* disclosure text is printed in the footer, as Google requires */
@media (max-width:767px){
  html.cps-v2 body.single-product{padding-bottom:86px}
  html.cps-v2 body.single-product .ht-ctc{bottom:96px!important}
}

/* ---- sticky add-to-cart (mobile, product page; built by cps-v2.js) ---- */
.cps-sticky-atc{display:none}
@media (max-width:767px){
  html.cps-v2 .cps-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--cps-line);box-shadow:0 -6px 20px rgba(16,36,58,.1);
    transform:translateY(110%);transition:transform .25s}
  html.cps-v2 .cps-sticky-atc.is-on{transform:none}
  html.cps-v2 .cps-sticky-atc__price{display:flex;flex-direction:column;line-height:1.15;font-size:12px;color:var(--cps-muted)}
  html.cps-v2 .cps-sticky-atc__price b{font-size:19px;color:var(--cps-ink)}
  html.cps-v2 .cps-sticky-atc__btn{flex:1;min-height:50px;border:0;border-radius:999px;background:var(--cps-blue);color:#fff;font-weight:700;font-size:16px;cursor:pointer}
}
