/*
Theme Name:   SR Fashion World
Theme URI:    https://srfashionworld.com
Description:  Hello Elementor child theme for SR Fashion World. Carries the brand palette and styles all WooCommerce and Elementor output to match the approved design.
Author:       Mahatosoft
Author URI:   https://mahatosoft.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  srfw
*/

/* ==========================================================================
   SR Fashion World — WooCommerce brand styling for Hello Elementor
   Paste into: Elementor → Site Settings → Custom CSS
   (or Appearance → Customize → Additional CSS)
   ========================================================================== */

:root{
  --srf-plum:#4A3238;
  --srf-plum-dark:#3A272C;
  --srf-rose:#C9768F;
  --srf-rose-dark:#B05F79;
  --srf-blush:#FBF3F5;
  --srf-blush-2:#F4E3E8;
  --srf-line:#EEDDE3;
  --srf-ink:#6C585E;
  --srf-sage:#B1BFA5;
  --srf-radius:12px;
}

/* ---------- typography inside WooCommerce output ---------------------- */
.woocommerce, .woocommerce-page{ color:var(--srf-ink); }
.woocommerce h1,.woocommerce h2,.woocommerce h3,
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--srf-plum);
  font-weight:600;
}
.woocommerce .cart_totals > h2,
.woocommerce-checkout h3,
.woocommerce-billing-fields > h3,
#order_review_heading{
  font-size:26px; margin-bottom:18px;
}

/* ---------- ALL buttons ------------------------------------------------ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .woocommerce-message a.button,
.wc-block-components-button{
  background:var(--srf-plum) !important;
  color:#fff !important;
  border:none !important;
  border-radius:30px !important;
  padding:14px 34px !important;
  font-family:"Jost",sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
  letter-spacing:.4px;
  line-height:1.3 !important;
  text-transform:none !important;
  transition:background .18s ease, transform .18s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{
  background:var(--srf-plum-dark) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce button.button[disabled]{
  background:#DCCBD1 !important; color:#fff !important; opacity:1 !important;
  transform:none !important;
}
/* secondary buttons: coupon, update cart, continue shopping */
.woocommerce .actions .button[name="update_cart"],
.woocommerce .coupon .button,
.woocommerce .return-to-shop .button{
  background:#fff !important;
  color:var(--srf-plum) !important;
  border:1px solid var(--srf-line) !important;
}
.woocommerce .actions .button[name="update_cart"]:hover,
.woocommerce .coupon .button:hover,
.woocommerce .return-to-shop .button:hover{
  background:var(--srf-blush) !important;
  border-color:var(--srf-rose) !important;
}

/* ---------- form fields ------------------------------------------------ */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"],
.woocommerce #coupon_code{
  border:1px solid var(--srf-line) !important;
  border-radius:8px !important;
  padding:13px 16px !important;
  background:#fff !important;
  font-family:"Jost",sans-serif !important;
  font-size:15px !important;
  font-weight:300 !important;
  color:var(--srf-plum) !important;
  box-shadow:none !important;
  height:auto !important;
  line-height:1.5 !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  border-color:var(--srf-rose) !important;
  outline:none !important;
}
.woocommerce form .form-row label{
  font-family:"Jost",sans-serif;
  font-size:14px; font-weight:400; color:var(--srf-plum);
  margin-bottom:6px; display:block;
}
.woocommerce form .form-row{ margin-bottom:18px; }
.woocommerce .select2-container--default .select2-selection--single
  .select2-selection__rendered{ line-height:1.5 !important; color:var(--srf-plum); }
.woocommerce .select2-container--default .select2-selection--single
  .select2-selection__arrow{ top:12px; }

/* ---------- tables: cart, order review, my account -------------------- */
.woocommerce table.shop_table{
  border:1px solid var(--srf-line) !important;
  border-radius:var(--srf-radius) !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden;
}
.woocommerce table.shop_table th{
  background:var(--srf-blush);
  font-family:"Jost",sans-serif;
  font-weight:500; font-size:14px; letter-spacing:.3px;
  color:var(--srf-plum);
  padding:16px 14px !important;
  border:none !important;
}
.woocommerce table.shop_table td{
  padding:18px 14px !important;
  border-top:1px solid #F5EBEF !important;
  border-left:none !important; border-right:none !important;
  font-family:"Jost",sans-serif; font-weight:300; font-size:15px;
  vertical-align:middle;
}
.woocommerce table.shop_table tbody tr:first-child td{ border-top:none !important; }

/* product thumbnail in the cart — the default is tiny */
.woocommerce table.cart img,
.woocommerce-cart table.cart img,
.woocommerce table.shop_table_responsive img{
  width:84px !important; height:auto;
  border-radius:8px;
  border:1px solid var(--srf-line);
}
.woocommerce table.cart td.product-thumbnail{ width:110px; }
.woocommerce table.cart .product-name a{
  color:var(--srf-plum) !important;
  font-weight:400; text-decoration:none;
}
.woocommerce table.cart .product-name a:hover{ color:var(--srf-rose) !important; }

/* remove (x) link */
.woocommerce a.remove{
  color:var(--srf-rose) !important;
  font-size:20px; line-height:1;
  width:26px; height:26px;
}
.woocommerce a.remove:hover{
  background:var(--srf-rose) !important; color:#fff !important;
}

/* quantity box */
.woocommerce .quantity .qty{
  border:1px solid var(--srf-line) !important;
  border-radius:8px !important;
  padding:10px 8px !important;
  width:74px !important;
  font-family:"Jost",sans-serif; font-size:15px;
  color:var(--srf-plum);
  background:#fff;
}

/* coupon row */
.woocommerce table.cart td.actions{ padding:18px 14px !important; }
.woocommerce table.cart td.actions .coupon{ display:flex; gap:10px; }
.woocommerce #coupon_code{ width:190px !important; }

/* ---------- cart totals / order review panels ------------------------- */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review{
  background:#fff;
  border:1px solid var(--srf-line);
  border-radius:var(--srf-radius);
  padding:28px;
}
.woocommerce .cart_totals table.shop_table,
.woocommerce-checkout-review-order-table{
  border:none !important; border-radius:0 !important;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce-checkout-review-order-table th{
  background:transparent !important; padding:13px 0 !important;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce-checkout-review-order-table td{
  padding:13px 0 !important;
  border-top:1px solid #F5EBEF !important;
  text-align:right;
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td,
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{
  font-size:19px !important; font-weight:500 !important;
  color:var(--srf-plum) !important;
}
.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount{
  color:var(--srf-rose) !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order{
  display:block !important; width:100% !important;
  text-align:center; font-size:16px !important; padding:16px !important;
  margin-top:8px;
}

/* ---------- payment methods ------------------------------------------- */
.woocommerce-checkout #payment{
  background:var(--srf-blush) !important;
  border-radius:var(--srf-radius);
  padding:6px 4px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--srf-line) !important;
  padding:16px !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
  font-family:"Jost",sans-serif; font-size:15px; color:var(--srf-plum);
  margin-bottom:8px;
}
.woocommerce-checkout #payment ul.payment_methods li img{
  max-height:34px; width:auto; margin-left:8px;
}
.woocommerce-checkout #payment div.payment_box{
  background:#fff !important; border-radius:8px;
  font-size:14px; font-weight:300; color:var(--srf-ink);
}
.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:#fff !important;
}
.woocommerce-checkout #payment div.form-row{ padding:16px; }

/* ---------- notices ---------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice{
  border-top:none !important;
  border-left:4px solid var(--srf-rose) !important;
  background:var(--srf-blush) !important;
  border-radius:8px !important;
  font-family:"Jost",sans-serif; font-weight:300; font-size:15px;
  color:var(--srf-plum) !important;
  padding:18px 22px !important;
}
.woocommerce-error{ border-left-color:#C0392B !important; background:#FDF2F1 !important; }
.woocommerce-message::before,
.woocommerce-info::before{ color:var(--srf-rose) !important; }
.woocommerce-message .button{ margin-top:-4px; }

/* ---------- product loop (shop, archives, related, upsells) ----------- */
.woocommerce ul.products li.product{ text-align:center; }
.woocommerce ul.products li.product a img{
  border-radius:10px;
  border:1px solid #F3EAED;
  margin-bottom:14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:"Jost",sans-serif !important;
  font-size:15px !important; font-weight:400 !important;
  color:var(--srf-plum) !important;
  line-height:1.45; padding:0 !important; margin-bottom:6px;
}
.woocommerce ul.products li.product .price{
  color:var(--srf-rose) !important;
  font-family:"Jost",sans-serif; font-size:16px !important; font-weight:500;
}
.woocommerce ul.products li.product .price del{
  color:#B7A4A9 !important; font-weight:300; margin-right:6px;
}
.woocommerce ul.products li.product .button{
  margin-top:12px; padding:11px 26px !important; font-size:14px !important;
}
.woocommerce span.onsale{
  background:var(--srf-rose) !important;
  border-radius:20px; padding:4px 14px;
  font-family:"Jost",sans-serif; font-size:12px; font-weight:500;
  min-height:auto; min-width:auto; line-height:1.6;
  top:12px; left:12px; right:auto;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select{
  font-family:"Jost",sans-serif; font-weight:300; font-size:14px;
  color:var(--srf-ink);
}

/* ---------- single product -------------------------------------------- */
.woocommerce div.product .product_title{
  font-family:"Playfair Display",Georgia,serif; color:var(--srf-plum);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--srf-rose) !important;
  font-family:"Jost",sans-serif; font-weight:500; font-size:28px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0 !important; margin-bottom:26px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
  border-bottom-color:var(--srf-line) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important; border:none !important;
  border-radius:0 !important; margin:0 6px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:"Jost",sans-serif !important; font-weight:400 !important;
  font-size:15px; color:var(--srf-ink) !important; padding:12px 20px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--srf-rose) !important; font-weight:500 !important;
  border-bottom:2px solid var(--srf-rose);
}
.woocommerce div.product .product_meta{
  font-family:"Jost",sans-serif; font-size:13px; font-weight:300;
  color:#A08D93; border-top:1px solid var(--srf-line); padding-top:16px;
}
.woocommerce .star-rating span,
.woocommerce p.stars a{ color:var(--srf-rose) !important; }
.woocommerce div.product form.cart .variations select{ min-width:180px; }

/* ---------- my account -------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none; margin:0; padding:0;
  border:1px solid var(--srf-line); border-radius:var(--srf-radius);
  overflow:hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid #F5EBEF;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:14px 18px;
  font-family:"Jost",sans-serif; font-size:15px; font-weight:300;
  color:var(--srf-ink); text-decoration:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:var(--srf-blush); color:var(--srf-plum); font-weight:400;
}

/* ---------- pagination & breadcrumb ------------------------------------ */
.woocommerce nav.woocommerce-pagination ul{
  border:none !important; display:flex; gap:8px; justify-content:center;
}
.woocommerce nav.woocommerce-pagination ul li{ border:none !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--srf-line); border-radius:50%;
  width:42px; height:42px; line-height:42px; padding:0 !important;
  font-family:"Jost",sans-serif; font-size:14px; color:var(--srf-plum);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--srf-plum) !important; color:#fff !important;
  border-color:var(--srf-plum);
}
.woocommerce .woocommerce-breadcrumb{
  font-family:"Jost",sans-serif; font-size:13px; font-weight:300;
  color:var(--srf-ink);
}
.woocommerce .woocommerce-breadcrumb a{ color:var(--srf-rose); }

/* ---------- order received / thank you --------------------------------- */
.woocommerce ul.order_details{
  background:var(--srf-blush); border-radius:var(--srf-radius);
  padding:26px 24px; margin-bottom:34px;
  display:flex; flex-wrap:wrap; gap:26px; list-style:none;
}
.woocommerce ul.order_details li{
  border:none !important; margin:0 !important; padding:0 !important;
  font-family:"Jost",sans-serif; font-size:13px; font-weight:300;
  color:#A08D93; text-transform:none; letter-spacing:0;
}
.woocommerce ul.order_details li strong{
  display:block; font-size:17px; font-weight:500;
  color:var(--srf-plum); margin-top:4px;
}

/* ---------- mobile ------------------------------------------------------ */
@media (max-width:767px){
  .woocommerce table.shop_table_responsive tr td{
    text-align:right; padding:14px !important;
  }
  .woocommerce table.cart img,
  .woocommerce-cart table.cart img{ width:64px !important; }
  .woocommerce table.cart td.actions .coupon{ flex-direction:column; }
  .woocommerce #coupon_code{ width:100% !important; }
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-checkout #order_review{ padding:20px; }
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button{ padding:13px 26px !important; font-size:14px !important; }
}

/* ==========================================================================
   PART 2 — Elementor widget corrections
   These close the gap between Elementor's widget defaults and the design.
   ========================================================================== */

/* ---------- Elementor form: labels were nearly invisible ---------------- */
.elementor-field-group > label,
.elementor-field-label{
  color:var(--srf-plum) !important;
  font-family:"Jost",sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  margin-bottom:7px !important;
  opacity:1 !important;
}
.elementor-field-group .elementor-field-textual{
  border:1px solid var(--srf-line) !important;
  border-radius:8px !important;
  background:#fff !important;
  padding:14px 16px !important;
  font-family:"Jost",sans-serif !important;
  font-size:15px !important;
  font-weight:300 !important;
  color:var(--srf-plum) !important;
  min-height:52px;
  box-shadow:none !important;
}
.elementor-field-group textarea.elementor-field-textual{ min-height:130px; }
.elementor-field-group .elementor-field-textual:focus{
  border-color:var(--srf-rose) !important;
  box-shadow:0 0 0 3px rgba(201,118,143,.13) !important;
}
.elementor-field-group .elementor-field-textual::placeholder{
  color:#B7A4A9 !important; opacity:1;
}
.elementor-form .elementor-button{
  background:var(--srf-plum) !important;
  border-radius:30px !important;
  padding:15px 40px !important;
  font-family:"Jost",sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
}
.elementor-form .elementor-button:hover{ background:var(--srf-plum-dark) !important; }

/* ---------- social icons: brand colours were leaking through ----------- */
.elementor-widget-social-icons .elementor-social-icon{
  background-color:var(--srf-rose) !important;
  width:38px; height:38px;
}
.elementor-widget-social-icons .elementor-social-icon i,
.elementor-widget-social-icons .elementor-social-icon svg{
  color:#fff !important; fill:#fff !important; font-size:15px;
}
.elementor-widget-social-icons .elementor-social-icon:hover{
  background-color:var(--srf-plum) !important;
}

/* ---------- icon boxes: keep them stacked and left aligned ------------- */
.srfw-contact-info .elementor-widget-icon-box{ width:100% !important; }
.srfw-contact-info .elementor-icon-box-wrapper{
  display:flex !important;
  align-items:flex-start;
  text-align:left !important;
  gap:16px;
}
.srfw-contact-info .elementor-icon-box-icon{ margin:0 !important; }
.srfw-contact-info .elementor-icon-box-title{ margin-bottom:3px !important; }

/* ---------- icon list ---------------------------------------------------- */
.elementor-widget-icon-list .elementor-icon-list-text{
  font-family:"Jost",sans-serif; font-weight:300;
}

/* ---------- product meta ran together: "SRF-004Category 1 Piece" -------- */
.woocommerce div.product .product_meta > span{
  display:block !important;
  margin-bottom:7px;
}
.woocommerce div.product .product_meta > span:last-child{ margin-bottom:0; }
.woocommerce div.product .product_meta .sku_wrapper .sku,
.woocommerce div.product .product_meta a{
  color:var(--srf-plum);
}
.woocommerce div.product .product_meta a:hover{ color:var(--srf-rose); }

/* ---------- stock message ------------------------------------------------ */
.woocommerce div.product .stock{
  color:var(--srf-sage) !important;
  font-family:"Jost",sans-serif; font-size:14px; font-weight:400;
}
.woocommerce div.product .stock.out-of-stock{ color:#C0392B !important; }

/* ---------- product gallery --------------------------------------------- */
.woocommerce div.product div.images.woocommerce-product-gallery{
  margin-bottom:0;
}
.woocommerce div.product div.images img{ border-radius:12px; }
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px !important;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  width:100% !important; margin:0 !important; float:none !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img{
  border-radius:8px;
  border:1px solid var(--srf-line);
  opacity:.72;
  transition:opacity .18s ease, border-color .18s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{
  opacity:1; border-color:var(--srf-rose);
}
.woocommerce div.product .woocommerce-product-gallery__trigger{
  background:#fff !important; border-radius:50%;
  box-shadow:0 3px 10px rgba(74,50,56,.15);
}

/* ---------- add to cart row on the single product ---------------------- */
.woocommerce div.product form.cart{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin-bottom:26px;
}
.woocommerce div.product form.cart .button{ margin:0 !important; }

/* ---------- Elementor headings inside Woo templates -------------------- */
.elementor-widget-woocommerce-product-title .product_title{
  font-family:"Playfair Display",Georgia,serif !important;
  color:var(--srf-plum) !important;
}

/* ---------- section rhythm ---------------------------------------------- */
.woocommerce div.product .woocommerce-tabs{ padding-top:0; }
.woocommerce .related > h2,
.woocommerce .upsells > h2{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--srf-plum); text-align:center; margin-bottom:26px;
}

/* ---------- mobile ------------------------------------------------------- */
@media (max-width:767px){
  .woocommerce div.product div.images .flex-control-thumbs{
    grid-template-columns:repeat(4,1fr); gap:8px;
  }
  .elementor-field-group .elementor-field-textual{ min-height:48px; }
  .woocommerce div.product form.cart{ gap:10px; }
}

/* ==========================================================================
   PART 3 — product gallery as a slider, and Elementor-template fixes
   ========================================================================== */

/* ---------- thumbnails: one scrollable row instead of a wrapping grid ---- */
.woocommerce div.product div.images .flex-control-thumbs,
.woocommerce-product-gallery .flex-control-thumbs{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  margin:12px 0 0 !important;
  padding:2px 0 4px;
  grid-template-columns:none !important;   /* cancels the old grid rule */
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{ display:none; }

.woocommerce-product-gallery .flex-control-thumbs li{
  flex:0 0 calc(25% - 7.5px) !important;
  width:auto !important;
  margin:0 !important;
  float:none !important;
  scroll-snap-align:start;
  list-style:none;
}
.woocommerce-product-gallery .flex-control-thumbs li img{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:8px;
  border:2px solid transparent;
  opacity:.68;
  cursor:pointer;
  transition:opacity .18s ease, border-color .18s ease, transform .18s ease;
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover{
  opacity:1; transform:translateY(-2px);
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active{
  opacity:1; border-color:var(--srf-rose);
}

/* ---------- arrows added by gallery.js ---------------------------------- */
.srfw-thumbs{ position:relative; }
.srfw-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:30px; height:30px; border-radius:50%;
  border:1px solid var(--srf-line); background:#fff; color:var(--srf-plum);
  font-size:18px; line-height:1; cursor:pointer; z-index:3;
  box-shadow:0 2px 8px rgba(74,50,56,.16);
  display:none; align-items:center; justify-content:center; padding:0 0 2px;
  transition:background .15s ease, color .15s ease;
}
.srfw-thumbs.srfw-scrollable .srfw-nav{ display:flex; }
.srfw-nav:hover{ background:var(--srf-plum); color:#fff; border-color:var(--srf-plum); }
.srfw-nav:disabled{ opacity:.32; cursor:default; }
.srfw-nav:disabled:hover{ background:#fff; color:var(--srf-plum); }
.srfw-prev{ left:-12px; }
.srfw-next{ right:-12px; }

/* ---------- main image ---------------------------------------------------- */
.woocommerce-product-gallery .flex-viewport{ border-radius:12px; }
.woocommerce-product-gallery__image img{ border-radius:12px; }
.woocommerce-product-gallery .flex-direction-nav a{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.94);
  box-shadow:0 2px 10px rgba(74,50,56,.18); color:var(--srf-plum);
  opacity:0; transition:opacity .2s ease;
}
.woocommerce-product-gallery:hover .flex-direction-nav a{ opacity:1; }
.woocommerce-product-gallery__trigger{ z-index:4; }

/* ---------- Elementor single-product templates ---------------------------
   These templates do not always sit inside `.woocommerce div.product`, so the
   earlier prefixed selectors miss. Repeat the important ones unprefixed.      */
.product_meta > span,
.elementor-widget-woocommerce-product-meta .product_meta > span{
  display:block !important;
  margin-bottom:7px;
}
.product_meta > span:last-child{ margin-bottom:0; }
.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as{ color:#A08D93; font-size:13px; font-weight:300; }
.product_meta .sku_wrapper .sku,
.product_meta a{ color:var(--srf-plum); }
.product_meta a:hover{ color:var(--srf-rose); }

.stock.in-stock{ color:var(--srf-sage) !important; }
.stock.out-of-stock{ color:#C0392B !important; }

@media (max-width:767px){
  .woocommerce-product-gallery .flex-control-thumbs li{
    flex:0 0 calc(33.333% - 7px) !important;
  }
  .srfw-prev{ left:-6px; }
  .srfw-next{ right:-6px; }
}

/* ==========================================================================
   PART 4 — readability fix: force plain sans-serif on functional text
   The italic serif (Cormorant Garamond) is reserved for the small "eyebrow"
   captions like "Elegance in every style". It must never appear on the
   announcement bar, breadcrumb, or any other text the customer needs to
   read quickly. This section forces Jost everywhere except those eyebrows,
   regardless of what a widget's own typography setting currently is.
   ========================================================================== */

.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor div{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
}

/* icon-box widgets: the "Delivery nationwide / Cash on delivery / Easy
   exchange" promise row, and every other icon-box on the site. Title stays
   Jost medium, description stays Jost light - neither is ever italic. */
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title *{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
  color:var(--srf-plum) !important;
}
.elementor-widget-icon-box .elementor-icon-box-description{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
  color:var(--srf-ink) !important;
}

/* headings: Playfair Display is correct, but never blue - this catches a
   heading whose colour setting reverted to Elementor's default link-blue
   instead of the brand plum.
   IMPORTANT: the small italic "Elegance in every style" captions used
   across the site are heading widgets rendered as a <div> (not h1-h6) - a
   deliberate Elementor setting. This rule only touches h1-h6, so those
   captions keep their intended Cormorant Garamond italic in rose. */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title{
  font-style:normal !important;
  color:var(--srf-plum) !important;
}

/* any remaining plain paragraph inside the main content column - covers
   text that isn't wrapped in a text-editor widget at all. Deliberately
   scoped to `.elementor-widget-container p` so it never touches the header
   or footer, which carry their own light text colour on a dark background. */
main .elementor-widget-container p,
main .elementor-widget-container li,
.site-content .elementor-widget-container p,
.site-content .elementor-widget-container li{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
  color:var(--srf-ink) !important;
}

.woocommerce-breadcrumb,
.woocommerce-breadcrumb *,
.elementor-widget-woocommerce-breadcrumb,
.elementor-widget-woocommerce-breadcrumb *{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
  font-size:13px !important;
  font-weight:300 !important;
  color:var(--srf-ink) !important;
}
.woocommerce-breadcrumb a,
.elementor-widget-woocommerce-breadcrumb a{
  color:var(--srf-rose) !important;
}

/* icon-list widgets (used for phone/email/address rows) - same rule */
.elementor-widget-icon-list .elementor-icon-list-text{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
}

/* form labels and fields, in case a global font setting is leaking in */
.elementor-field-group > label,
.elementor-field-textual,
.elementor-button .elementor-button-text{
  font-family:"Jost",sans-serif !important;
  font-style:normal !important;
}

/* product title stays Playfair (a heading), but never italic */
.product_title,
.woocommerce-loop-product__title{
  font-style:normal !important;
}

/* ==========================================================================
   PART 5 — header action icons: wishlist / account / cart
   Matches the circular icon row: outlined heart, solid account circle,
   and a white pill for the cart with subtotal + item count.
   ========================================================================== */

.srfw-hdr-icon{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
}
.srfw-hdr-icon .elementor-icon{
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}

/* wishlist: outline circle, fills in on hover */
.srfw-wishlist .elementor-icon{
  border:1.5px solid var(--srf-line);
  background:#fff; color:var(--srf-rose);
}
.srfw-wishlist .elementor-icon:hover{
  background:var(--srf-rose); border-color:var(--srf-rose); color:#fff;
}

/* account: solid plum circle */
.srfw-account .elementor-icon{
  background:var(--srf-plum); color:#fff; border:1.5px solid var(--srf-plum);
}
.srfw-account .elementor-icon:hover{ background:var(--srf-plum-dark); }

/* cart: white pill with icon, amount and item count stacked */
.srfw-hdr-cart .elementor-menu-cart__toggle_button{
  display:flex !important; align-items:center; gap:10px;
  background:#fff !important; border:1.5px solid var(--srf-line) !important;
  border-radius:26px !important; padding:7px 18px 7px 14px !important;
  height:44px; box-shadow:none !important;
}
.srfw-hdr-cart .elementor-menu-cart__toggle_button:hover{
  border-color:var(--srf-rose) !important;
}
.srfw-hdr-cart .elementor-button-icon{
  color:var(--srf-plum) !important; font-size:18px !important; margin:0 !important;
}
.srfw-hdr-cart .elementor-button-text-wrapper{
  display:flex; flex-direction:column; align-items:flex-start; line-height:1.25;
}
.srfw-hdr-cart .elementor-subtotal-wrapper .elementor-subtotal{
  font-family:"Jost",sans-serif !important; font-size:14px !important;
  font-weight:500 !important; color:var(--srf-plum) !important;
}
.srfw-hdr-cart .elementor-cart-count{
  font-family:"Jost",sans-serif !important; font-size:11px !important;
  font-weight:300 !important; color:var(--srf-ink) !important;
}
.srfw-hdr-cart .elementor-menu-cart__toggle_button .elementor-badge,
.srfw-hdr-cart .elementor-cart__counter{
  background:var(--srf-rose) !important; color:#fff !important;
  font-family:"Jost",sans-serif !important; font-size:10px !important;
  min-width:17px; height:17px; line-height:17px;
}

@media (max-width:1024px){
  .srfw-hdr-cart .elementor-subtotal-wrapper,
  .srfw-hdr-cart .elementor-cart-count{ display:none; }
  .srfw-hdr-cart .elementor-menu-cart__toggle_button{
    width:44px; padding:0 !important; justify-content:center; border-radius:50% !important;
  }
}
