/* Secret Message Shop Design
   Purely visual reskin of the WooCommerce shop/category archive and
   single product page. Works with the default WooCommerce templates
   and with Elementor's WooCommerce widgets (which reuse the same
   underlying markup/classes for compatibility). */

:root{
  --sms-ink:#1a1a1a;
  --sms-paper:#f7f0e6;
  --sms-tan:#dbcbb6;
  --sms-burgundy:#63011f;
  --sms-burgundy-deep:#4a010f;
  --sms-plum:#3e1420;
  --sms-gold-1:#c0802f;
  --sms-gold-2:#fde796;
  --sms-line:rgba(62,20,32,0.14);
}

/* ---------------- Shared typography ---------------- */
.woocommerce,
.woocommerce-page{
  font-family:'Work Sans', Arial, sans-serif;
  color: var(--sms-ink);
}
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3,
.page-title, .woocommerce-products-header__title{
  font-family:'Fraunces', Georgia, serif !important;
  font-weight:700 !important;
  color: var(--sms-ink) !important;
  letter-spacing:-0.01em;
}
.woocommerce-breadcrumb{
  font-family:'Space Mono', monospace !important;
  font-size:11.5px !important;
  letter-spacing:.03em;
  color: var(--sms-burgundy) !important;
}
.woocommerce-breadcrumb a{ color: var(--sms-burgundy) !important; }

/* ---------------- Shop / category archive grid ---------------- */
.woocommerce ul.products,
.elementor-widget-woocommerce-archive-products ul.products{
  gap:22px 20px;
}
.woocommerce ul.products li.product,
.elementor-widget-woocommerce-archive-products ul.products li.product{
  background: var(--sms-paper);
  border-radius:18px;
  padding:16px 16px 20px;
  box-shadow:0 14px 30px -20px rgba(26,26,26,0.35);
  transition: transform .18s ease, box-shadow .18s ease;
  border:1px solid var(--sms-line);
}
.woocommerce ul.products li.product:hover{
  transform: translateY(-4px);
  box-shadow:0 20px 40px -18px rgba(26,26,26,0.4);
}
.woocommerce ul.products li.product img{
  border-radius:12px !important;
  margin-bottom:14px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  font-family:'Fraunces', Georgia, serif !important;
  font-size:16.5px !important;
  font-weight:600 !important;
  color: var(--sms-ink) !important;
  margin:0 0 6px !important;
}
.woocommerce ul.products li.product .price{
  font-family:'Space Mono', monospace !important;
  color: var(--sms-burgundy) !important;
  font-weight:700 !important;
  font-size:14px !important;
}
.woocommerce ul.products li.product .price del{
  color:#9a8a84 !important;
  opacity:.8;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
}

/* Any Add to Cart / Personalise button in the grid — including the
   button injected by the Personaliser plugin, and Elementor's own. */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.elementor-widget-woocommerce-archive-products a.button{
  font-family:'Work Sans', sans-serif !important;
  background: linear-gradient(135deg, var(--sms-gold-1), var(--sms-gold-2)) !important;
  color: var(--sms-burgundy-deep) !important;
  border:none !important;
  border-radius:999px !important;
  font-weight:700 !important;
  font-size:13px !important;
  padding:11px 18px !important;
  width:100%;
  text-align:center;
  box-shadow:none !important;
  transition: filter .15s ease;
}
.woocommerce ul.products li.product a.button:hover{
  filter: brightness(1.05);
}

/* Result count / ordering bar */
.woocommerce-result-count,
.woocommerce-ordering select{
  font-family:'Work Sans', sans-serif !important;
  color:#5c4a45 !important;
}
.woocommerce-ordering select{
  border:1px solid var(--sms-line) !important;
  border-radius:8px !important;
  background: var(--sms-paper) !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  font-family:'Space Mono', monospace !important;
  border-color: var(--sms-line) !important;
  color: var(--sms-burgundy) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background: var(--sms-burgundy) !important;
  color:#fff !important;
}

/* ---------------- Trust badges (place with [smsd_trust_badges]) ---------------- */
.smsd-badges{
  box-sizing:border-box;
  clear:both;
  position:relative;
  display:flex;
  gap:22px;
  margin:22px 0 4px;
  flex-wrap:wrap;
}
.smsd-badges *{ box-sizing:border-box; }
.smsd-badge{
  display:flex;
  align-items:flex-start;
  gap:9px;
  flex:1 1 140px;
  min-width:130px;
}
.smsd-badge-icon{
  width:26px; height:26px;
  flex-shrink:0;
  color: var(--sms-burgundy);
  margin-top:1px;
}
.smsd-badge-icon svg{ width:100%; height:100%; }
.smsd-badge-text{
  font-family:'Work Sans', sans-serif;
  font-size:12px;
  line-height:1.45;
  color:#5c4a45;
  display:block;
}
.smsd-badge-text strong{
  display:block;
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  font-size:13.5px;
  color: var(--sms-ink);
  margin-bottom:2px;
}

/* ---------------- How it works steps ---------------- */
.smsd-steps{
  box-sizing:border-box;
  clear:both;
  position:relative;
  background: var(--sms-paper);
  border:1px solid var(--sms-line);
  border-radius:14px;
  margin:22px 0 4px;
  padding:22px 18px;
}
.smsd-steps *{ box-sizing:border-box; }
.smsd-steps-inner{
  max-width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:20px;
  text-align:center;
}
.smsd-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.smsd-step-icon{
  width:44px; height:44px;
  border-radius:50%;
  background:#fff;
  border:1.5px solid var(--sms-line);
  color: var(--sms-burgundy);
  display:flex; align-items:center; justify-content:center;
  padding:10px;
  margin-bottom:12px;
  box-shadow:0 8px 18px -10px rgba(26,26,26,0.25);
}
.smsd-step-icon svg{ width:100%; height:100%; }
.smsd-step-num{
  position:absolute;
  top:-4px; left:calc(50% + 12px);
  width:20px; height:20px;
  border-radius:50%;
  background: linear-gradient(135deg, var(--sms-gold-1), var(--sms-gold-2));
  color: var(--sms-burgundy-deep);
  font-family:'Space Mono', monospace;
  font-size:11px;
  font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.smsd-step strong{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  font-size:15px;
  color: var(--sms-ink);
  margin-bottom:5px;
}
.smsd-step p{
  font-family:'Work Sans', sans-serif;
  font-size:12.5px;
  color:#6b5b56;
  line-height:1.5;
  margin:0;
  max-width:200px;
}

/* ---------------- Single product page ---------------- */
.single-product .product .summary .product_title,
.single-product .product .summary h1{
  font-family:'Fraunces', Georgia, serif !important;
  font-weight:700 !important;
  font-size:clamp(24px,4vw,32px) !important;
  color: var(--sms-ink) !important;
  letter-spacing:-0.01em;
}
.single-product .product .summary .price{
  font-family:'Space Mono', monospace !important;
  color: var(--sms-burgundy) !important;
  font-weight:700 !important;
  font-size:20px !important;
}
.single-product .product .summary .price del{
  color:#9a8a84 !important;
}
.single-product .woocommerce-product-details__short-description{
  font-family:'Work Sans', sans-serif !important;
  color:#4a3b38;
  line-height:1.65;
}
.single-product .product .summary .single_add_to_cart_button,
.single-product .product .summary .smp-personalise-btn{
  font-family:'Work Sans', sans-serif !important;
  background: linear-gradient(135deg, var(--sms-gold-1), var(--sms-gold-2)) !important;
  color: var(--sms-burgundy-deep) !important;
  border:none !important;
  border-radius:999px !important;
  font-weight:700 !important;
  padding:14px 30px !important;
  box-shadow:none !important;
}

/* Gallery */
.single-product .woocommerce-product-gallery{
  border-radius:18px;
  overflow:hidden;
}
.single-product .flex-control-thumbs li img{
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition: border-color .15s ease;
}
.single-product .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover{
  border-color: var(--sms-gold-1) !important;
}

/* Category / meta labels */
.single-product .product_meta,
.single-product span.posted_in a,
.single-product span.sku_wrapper{
  font-family:'Space Mono', monospace !important;
  font-size:11.5px !important;
  color:#7a6a64 !important;
}
.single-product span.posted_in a{
  color: var(--sms-burgundy) !important;
}

/* Tabs (Description / Reviews) */
.woocommerce-tabs ul.tabs li a{
  font-family:'Space Mono', monospace !important;
  font-size:11.5px !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#7a6a64 !important;
}
.woocommerce-tabs ul.tabs li.active a{
  color: var(--sms-burgundy) !important;
  border-bottom:2px solid var(--sms-burgundy) !important;
}
.woocommerce-tabs .panel{
  font-family:'Work Sans', sans-serif !important;
  color:#4a3b38;
  line-height:1.7;
}

/* Related products heading */
.related.products > h2{
  font-family:'Fraunces', Georgia, serif !important;
  font-weight:700 !important;
  color: var(--sms-ink) !important;
}
