/* Cold Clarity :: site-wide.
   Header, footer, policy pages, shop, product, cart and checkout.
   Loaded after flatsome-main so it can take the cascade where needed. */

:root{
  --ggu-bg:#F2F5F6; --ggu-surface:#FFFFFF; --ggu-ink:#0F181D; --ggu-accent:#C2470B;
  --ggu-accent-dark:#A63C09;
  --ggu-marine:#0D4A57; --ggu-marine-deep:#072F38; --ggu-muted:#5A6C75;
  --ggu-line:#D9E1E4; --ggu-success:#1B7A4B;
  --ggu-r-sm:6px; --ggu-r-md:12px; --ggu-r-pill:999px;
  --ggu-wrap:1180px;
}

/* ---------------------------------------------------------------- base */
body{
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ggu-ink); background:var(--ggu-surface);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.heading-font,.button,button,.nav>li>a{
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
h1,h2,h3,h4{color:var(--ggu-ink); font-weight:800; letter-spacing:-0.018em; line-height:1.1}
a{color:var(--ggu-marine)}
a:hover{color:var(--ggu-accent)}

/* Flatsome's primary button colour, retuned to the accent */
.button.primary:not(.is-outline),
button.primary:not(.is-outline),
input[type="submit"].button,
input[type="submit"]{
  background-color:var(--ggu-accent); border-color:var(--ggu-accent);
  border-radius:var(--ggu-r-pill); font-family:"Archivo",sans-serif; font-weight:800;
  letter-spacing:-0.01em; text-transform:none; box-shadow:none;
}
.button.primary:not(.is-outline):hover,
button.primary:not(.is-outline):hover,
input[type="submit"]:hover{background-color:var(--ggu-accent-dark); border-color:var(--ggu-accent-dark)}
.button{border-radius:var(--ggu-r-pill); text-transform:none; font-weight:700}
.button.is-outline{border-color:var(--ggu-marine); color:var(--ggu-marine)}

input[type="text"],input[type="email"],input[type="tel"],input[type="password"],
input[type="search"],input[type="number"],select,textarea,.select2-container .select2-selection{
  border-radius:var(--ggu-r-sm); border:1px solid var(--ggu-line); box-shadow:none;
  background:var(--ggu-surface); color:var(--ggu-ink);
}
input:focus,select:focus,textarea:focus{border-color:var(--ggu-marine); box-shadow:0 0 0 3px rgba(13,74,87,.14)}

/* ------------------------------------------------------ announcement bar */
.ggu-announce{background:var(--ggu-marine-deep); color:#CFE3E8}
.ggu-announce-inner{
  max-width:var(--ggu-wrap); margin:0 auto; padding:9px 20px;
  display:flex; gap:36px; justify-content:center; flex-wrap:wrap;
  font-size:.79rem; letter-spacing:.02em;
}
.ggu-announce span{display:flex; align-items:center; gap:7px; white-space:nowrap}
.ggu-announce svg{width:14px; height:14px; flex:none; stroke:#7FC4D2; fill:none;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}

/* ------------------------------------------------------------- header */
#header .header-main{border-bottom:1px solid var(--ggu-line)}
.header-wrapper{background:var(--ggu-surface)}

/* text wordmark: site_logo is intentionally empty, so Flatsome's element-logo
   falls through to bloginfo('name') instead of its bundled demo image */
#logo a{
  font-family:"Archivo",sans-serif; font-weight:800; font-size:1.45rem;
  letter-spacing:-0.035em; color:var(--ggu-marine-deep); text-transform:none;
  display:flex; align-items:center; gap:9px; line-height:1;
}
#logo a:hover{color:var(--ggu-marine)}
#logo a::before{
  content:""; width:26px; height:26px; flex:none;
  background:var(--ggu-marine) center/16px 16px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.7s6 6.4 6 10.4a6 6 0 1 1-12 0c0-4 6-10.4 6-10.4Z'/%3E%3C/svg%3E");
  border-radius:var(--ggu-r-sm);
}
#logo img{display:none}

#header .nav>li>a{
  font-weight:700; font-size:.87rem; letter-spacing:-0.005em; color:var(--ggu-ink);
  text-transform:none;
}
#header .nav>li>a:hover{color:var(--ggu-accent)}
#header .cart-icon strong{border-color:var(--ggu-marine); color:var(--ggu-marine)}
#header .cart-icon strong:after{border-color:var(--ggu-marine)}

/* --------------------------------------------------------- page content */
/* Flatsome renders page content into #content .col-inner, not .entry-content,
   so the readable-document styling hangs off a body class added for the
   policy and contact pages only. Cart and checkout must not inherit it. */
.ggu-page-head{background:var(--ggu-bg); border-bottom:1px solid var(--ggu-line); padding:30px 0 28px}
.ggu-page-head-inner{max-width:var(--ggu-wrap); margin:0 auto; padding:0 20px}
.ggu-page-head h1{font-size:clamp(1.75rem,3vw,2.4rem); margin:0; line-height:1.08}
.ggu-crumbs{font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ggu-muted); margin:0 0 10px}
.ggu-crumbs a{color:var(--ggu-muted); text-decoration:none}
.ggu-crumbs a:hover{color:var(--ggu-accent)}
.ggu-crumbs span{margin:0 6px; opacity:.6}

.ggu-doc #content .col-inner{max-width:74ch; margin-left:auto; margin-right:auto;
  font-size:1.02rem; line-height:1.7; color:#2A3940}
.ggu-doc #content .col-inner h2{font-size:1.42rem; margin:2.2em 0 .55em;
  padding-top:1.15em; border-top:1px solid var(--ggu-line); color:var(--ggu-ink)}
.ggu-doc #content .col-inner h2:first-child{border-top:0; padding-top:0; margin-top:.2em}
.ggu-doc #content .col-inner h3{font-size:1.08rem; margin:1.8em 0 .45em; color:var(--ggu-ink)}
.ggu-doc #content .col-inner p{margin:0 0 1.15em}
.ggu-doc #content .col-inner ul,.ggu-doc #content .col-inner ol{margin:0 0 1.3em 1.2em}
.ggu-doc #content .col-inner li{margin-bottom:.5em}
.ggu-doc #content .col-inner strong{color:var(--ggu-ink); font-weight:600}
.ggu-doc #content .col-inner em{color:var(--ggu-muted)}
.ggu-doc #content .col-inner a{text-decoration:underline; text-underline-offset:3px}

/* contact form */
.ggu-doc .wpcf7-form p{margin-bottom:14px}
.ggu-doc .wpcf7-form label{font-family:"Archivo",sans-serif; font-weight:700; font-size:.88rem;
  display:block; margin-bottom:5px; color:var(--ggu-ink)}
.ggu-doc .wpcf7-form input[type="submit"]{
  background:var(--ggu-accent); border-color:var(--ggu-accent); color:#fff;
  border-radius:var(--ggu-r-pill); font-family:"Archivo",sans-serif; font-weight:800;
  padding:14px 34px; min-height:0; width:auto;}
.ggu-doc .wpcf7-form input[type="submit"]:hover{background:var(--ggu-accent-dark); border-color:var(--ggu-accent-dark)}
.ggu-doc .wpcf7-form textarea{min-height:150px}

/* ----------------------------------------------------------- shop intro */
.ggu-shop-intro{max-width:var(--ggu-wrap); margin:0 auto 34px; padding:8px 0 0}
.ggu-shop-intro h1{font-size:clamp(1.8rem,3vw,2.5rem); margin:0 0 12px}
.ggu-shop-intro p{max-width:64ch; color:var(--ggu-muted); font-size:1.02rem; margin:0}

/* ------------------------------------------------------- product grid */
.products .product-small.box{
  background:var(--ggu-surface); border:1px solid var(--ggu-line);
  border-radius:var(--ggu-r-md); overflow:hidden; transition:border-color .15s ease;
}
.products .product-small.box:hover{border-color:#A9BFC6}
.products .product-small .box-image{background:var(--ggu-surface); padding:18px}
.products .product-small .box-text{padding:16px 18px 20px; text-align:left}
.products .product-title,.product-small .name a{
  font-family:"Archivo",sans-serif; font-weight:800; font-size:.98rem; line-height:1.24;
  color:var(--ggu-ink); letter-spacing:-0.012em;
}
.products .price,.product-small .price{
  font-family:"Archivo",sans-serif; font-weight:800; color:var(--ggu-ink); font-size:1.08rem;
}
.products .price del,.product-small .price del{color:var(--ggu-muted); font-weight:400; font-size:.88rem}
.products .price ins{text-decoration:none; color:var(--ggu-ink)}
.badge-container .badge-inner{background:var(--ggu-accent); font-family:"Archivo",sans-serif; font-weight:800}
.product-small .add-to-cart-button a{
  border-radius:var(--ggu-r-pill); border-color:var(--ggu-marine); color:var(--ggu-marine);
  font-weight:700;
}
.product-small .add-to-cart-button a:hover{background:var(--ggu-marine); color:#fff}
.woocommerce-result-count{color:var(--ggu-muted)}

/* ------------------------------------------------------ single product */
.product-info .product_title{font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.1; margin-bottom:12px}
.product-info .price,.product-info .price .amount{
  font-family:"Archivo",sans-serif; font-weight:800; color:var(--ggu-ink); font-size:1.7rem;
}
.product-info .price del .amount{color:var(--ggu-muted); font-weight:400; font-size:1.05rem}
.product-info .stock.in-stock{color:var(--ggu-success); font-weight:600}
.product-info .variations{border:0; margin-bottom:14px}
.product-info .variations td,.product-info .variations th{padding:6px 0; border:0}
.product-info .variations label{font-family:"Archivo",sans-serif; font-weight:800; font-size:.92rem}
.product-info .single_add_to_cart_button{
  background:var(--ggu-accent); border-color:var(--ggu-accent); border-radius:var(--ggu-r-pill);
  font-family:"Archivo",sans-serif; font-weight:800; font-size:1.02rem; padding:0 34px;
  min-height:54px; text-transform:none; box-shadow:none;
}
.product-info .single_add_to_cart_button:hover{background:var(--ggu-accent-dark); border-color:var(--ggu-accent-dark)}
.product-info .product_meta{border-top:1px solid var(--ggu-line); padding-top:14px; color:var(--ggu-muted); font-size:.85rem}
.woocommerce-tabs .tab-panels{border-top:1px solid var(--ggu-line); padding-top:26px}
.woocommerce-tabs .nav>li>a{font-weight:800; font-size:.92rem}
.product-info .quantity input[type="number"],
.product-info .quantity .minus,.product-info .quantity .plus{border-radius:var(--ggu-r-sm)}

/* trust list injected under the add-to-cart on the single product page */
.ggu-pdp-trust{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:9px}
.ggu-pdp-trust li{display:flex; gap:9px; align-items:flex-start; font-size:.87rem; color:var(--ggu-muted)}
.ggu-pdp-trust svg{width:15px; height:15px; flex:none; margin-top:3px; stroke:var(--ggu-marine);
  fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}

/* ------------------------------------------------------------- cart */
.cart-container .shop_table{
  border:1px solid var(--ggu-line); border-radius:var(--ggu-r-md); border-collapse:separate; border-spacing:0;
}
.cart-container .shop_table th{
  background:var(--ggu-bg); font-family:"Archivo",sans-serif; font-weight:800;
  font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ggu-muted);
  border-bottom:1px solid var(--ggu-line);
}
.cart-container .shop_table td{border-bottom:1px solid var(--ggu-line); padding:16px 12px; vertical-align:middle}
.cart-container .product-name a{font-family:"Archivo",sans-serif; font-weight:800; color:var(--ggu-ink)}
.cart_totals h3,.cart_totals .widget-title{font-family:"Archivo",sans-serif; font-weight:800}
.cart-sidebar,.cart_totals{background:var(--ggu-bg); border:1px solid var(--ggu-line);
  border-radius:var(--ggu-r-md); padding:22px}
.cart_totals .order-total .amount{font-family:"Archivo",sans-serif; font-weight:800; font-size:1.35rem}
.checkout-button,.wc-proceed-to-checkout .button{
  background:var(--ggu-accent) !important; border-color:var(--ggu-accent) !important; color:#fff !important;
  border-radius:var(--ggu-r-pill); font-family:"Archivo",sans-serif; font-weight:800;
  min-height:54px; font-size:1.02rem; text-transform:none;
}
.checkout-button:hover,.wc-proceed-to-checkout .button:hover{background:var(--ggu-accent-dark) !important; border-color:var(--ggu-accent-dark) !important}

/* --------------------------------------------------------- checkout */
.woocommerce-checkout h3,#order_review_heading{
  font-family:"Archivo",sans-serif; font-weight:800; font-size:1.18rem;
  padding-bottom:12px; border-bottom:1px solid var(--ggu-line); margin-bottom:18px;
}
#order_review,.woocommerce-checkout-review-order{
  background:var(--ggu-bg); border:1px solid var(--ggu-line);
  border-radius:var(--ggu-r-md); padding:22px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{border-bottom:1px solid var(--ggu-line); padding:12px 0}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{border-bottom:0; padding-top:16px}
.woocommerce-checkout-review-order-table .order-total .amount{
  font-family:"Archivo",sans-serif; font-weight:800; font-size:1.35rem; color:var(--ggu-ink);
}
#place_order{
  background:var(--ggu-accent) !important; border-color:var(--ggu-accent) !important; color:#fff !important;
  border-radius:var(--ggu-r-pill); font-family:"Archivo",sans-serif; font-weight:800;
  min-height:56px; font-size:1.05rem; width:100%; text-transform:none; box-shadow:none;
}
#place_order:hover{background:var(--ggu-accent-dark) !important; border-color:var(--ggu-accent-dark) !important}
.woocommerce-form__label-for-checkbox span,.woocommerce-terms-and-conditions-wrapper{font-size:.9rem; color:var(--ggu-muted)}
.woocommerce-privacy-policy-text p{font-size:.85rem; color:var(--ggu-muted)}
.woocommerce-info,.woocommerce-message{
  border-top-color:var(--ggu-marine); background:var(--ggu-bg); border-radius:var(--ggu-r-sm);
}
.woocommerce-error{border-top-color:var(--ggu-accent); background:#FDF1EC; border-radius:var(--ggu-r-sm)}

/* trust strip below cart and checkout */
.ggu-checkout-trust{
  max-width:var(--ggu-wrap); margin:40px auto 0; padding:26px 0 0;
  border-top:1px solid var(--ggu-line);
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px;
}
.ggu-checkout-trust>div{display:flex; gap:11px; align-items:flex-start}
.ggu-checkout-trust svg{width:22px; height:22px; flex:none; margin-top:2px; stroke:var(--ggu-marine);
  fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.ggu-checkout-trust strong{display:block; font-family:"Archivo",sans-serif; font-weight:800;
  font-size:.93rem; margin-bottom:2px; color:var(--ggu-ink)}
.ggu-checkout-trust span{font-size:.85rem; color:var(--ggu-muted); line-height:1.45}

/* ------------------------------------------------------------- footer */
.ggu-footer{background:var(--ggu-marine-deep); color:#B9D6DD; padding:60px 0 46px}
.ggu-footer-inner{
  max-width:var(--ggu-wrap); margin:0 auto; padding:0 20px;
  display:grid; grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)); gap:44px;
}
.ggu-footer-mark{
  font-family:"Archivo",sans-serif; font-weight:800; font-size:1.3rem; color:#fff;
  letter-spacing:-0.035em; margin:0 0 12px; display:flex; align-items:center; gap:9px;
}
.ggu-footer-mark::before{
  content:""; width:24px; height:24px; flex:none; border-radius:var(--ggu-r-sm);
  background:var(--ggu-marine) center/15px 15px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.7s6 6.4 6 10.4a6 6 0 1 1-12 0c0-4 6-10.4 6-10.4Z'/%3E%3C/svg%3E");
}
.ggu-footer-blurb{font-size:.9rem; line-height:1.6; color:#9FC2CC; max-width:44ch; margin:0 0 16px}
.ggu-footer-contact{font-size:.88rem; line-height:1.6; margin:0}
.ggu-footer-contact a{color:#fff; text-decoration:underline; text-underline-offset:3px}
.ggu-footer-contact a:hover{color:#7FC4D2}
.ggu-footer-contact span{color:#9FC2CC}
.ggu-footer-col h3{
  font-family:"Archivo",sans-serif; font-weight:800; font-size:.78rem; letter-spacing:.09em;
  text-transform:uppercase; color:#7FC4D2; margin:0 0 14px;
}
.ggu-footer-col ul{list-style:none; margin:0; padding:0}
.ggu-footer-col li{margin-bottom:9px}
.ggu-footer-col a{color:#D5E7EC; font-size:.9rem; text-decoration:none}
.ggu-footer-col a:hover{color:#fff; text-decoration:underline; text-underline-offset:3px}
.ggu-footer-note{font-size:.76rem; line-height:1.5; color:#7C9EA8; margin:18px 0 0}

.absolute-footer{background:var(--ggu-marine-deep); color:#7C9EA8; font-size:.82rem;
  border-top:1px solid rgba(255,255,255,.1); padding:16px 0}
.absolute-footer a{color:#B9D6DD}
.absolute-footer a:hover{color:#fff}
.absolute-footer .footer-nav a{text-transform:none; font-size:.82rem}
.absolute-footer strong{color:#D5E7EC; font-weight:700}
#footer .back-to-top{background:var(--ggu-marine); border-color:var(--ggu-marine); color:#fff}

/* --------------------------------------------------------- responsive */
@media (max-width:1040px){
  .ggu-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px}
  .ggu-footer-brand{grid-column:span 2}
}
@media (max-width:880px){
  /* scrolls horizontally on narrow phones rather than stacking into three
     rows; the scrollbar itself is hidden so it does not read as a stray line */
  .ggu-announce-inner{gap:18px; font-size:.72rem; flex-wrap:nowrap; overflow-x:auto;
    justify-content:flex-start; scrollbar-width:none; -ms-overflow-style:none}
  .ggu-announce-inner::-webkit-scrollbar{display:none}
  .ggu-checkout-trust{grid-template-columns:minmax(0,1fr); gap:18px}
  .ggu-footer{padding:44px 0 34px}
  #logo a{font-size:1.18rem}
}
@media (max-width:560px){
  .ggu-footer-inner{grid-template-columns:minmax(0,1fr)}
  .ggu-footer-brand{grid-column:span 1}
  .ggu-shop-intro h1{font-size:1.65rem}
}
@media (prefers-reduced-motion:reduce){
  .ggu-announce *,.ggu-footer *,.products .product-small.box{transition:none !important; animation:none !important}
}
