/* Shaimaa Safe Store — styles limited to individually enabled modules. No body hiding, no global product-grid restructuring. */
body.sfss-design { --sfss-ink:#28231f; --sfss-gold:#aa8e72; --sfss-border:#e7dfd6; }
body.sfss-design .woocommerce ul.products li.product,body.sfss-design ul.products li.product{min-width:0;box-sizing:border-box}
body.sfss-design ul.products li.product img{max-width:100%;height:auto;transition:transform .4s ease}
@media(hover:hover){body.sfss-design ul.products li.product:hover img{transform:scale(1.025)}}
body.sfss-design ul.products li.product .woocommerce-loop-product__title{font-size:clamp(14px,1.15vw,18px)!important;line-height:1.4!important;overflow-wrap:break-word;margin:9px 0 6px!important}
body.sfss-design ul.products li.product .price{font-size:14px!important;color:var(--sfss-ink)!important}
body.sfss-design ul.products li.product .button{min-height:39px;padding:9px 10px!important;font-size:12px!important;white-space:normal;line-height:1.3}
body.sfss-design.single-product .variations .variable-items-wrapper{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
body.sfss-design.single-product .variations .button-variable-item{min-width:69px!important;max-width:none!important;min-height:44px!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;padding:8px 12px!important;box-sizing:border-box;border-radius:3px!important;background:#fff!important;color:#28231f!important;display:inline-flex!important;align-items:center;justify-content:center}
body.sfss-design.single-product .variations .button-variable-item.selected{outline:2px solid var(--sfss-gold);outline-offset:2px}
body.sfss-design.single-product .variations .color-variable-item{min-width:38px!important;width:38px!important;height:38px!important;border-radius:50%!important;padding:3px!important;background:#fff!important;box-sizing:border-box}
body.sfss-design.single-product .variations .color-variable-item .variable-item-span{border-radius:50%!important}
body.sfss-design.single-product .variations .color-variable-item.selected{outline:2px solid var(--sfss-gold);outline-offset:3px}
body.sfss-design.single-product .single_add_to_cart_button{min-height:46px;max-width:100%}
.sfss-delivery{display:block;clear:both;border:1px solid #e7dfd6;padding:12px 14px;margin:18px 0;color:#665b50;font-size:13px;line-height:1.65}
body.sfss-gallery.single-product .woocommerce-product-gallery{max-width:100%}
body.sfss-gallery.single-product .woocommerce-product-gallery img{max-width:100%;height:auto}
body.sfss-gallery.single-product .flex-control-thumbs{max-height:530px;overflow-y:auto;scrollbar-width:thin}
.sfss-gallery-nav{position:absolute;display:flex;justify-content:space-between;gap:10px;left:8px;right:8px;top:45%;z-index:7;pointer-events:none}
.sfss-gallery-nav button{pointer-events:auto;width:37px;height:37px;min-width:37px;border:1px solid #ddd!important;background:rgba(255,255,255,.92)!important;border-radius:50%!important;color:#332d28!important;padding:0!important;font-size:24px;line-height:1!important;display:flex;justify-content:center;align-items:center;cursor:pointer}
/* Drawer always respects [hidden], including themes with generic aside/display rules. */
#sfss-bag[hidden],#sfss-bag-backdrop[hidden],#sfss-sale[hidden],#sfss-filter-drawer[hidden]{display:none!important}
#sfss-bag-backdrop,#sfss-sale{position:fixed;inset:0;background:rgba(24,21,19,.52);z-index:2147482900}
#sfss-bag{position:fixed!important;z-index:2147482901!important;right:0;top:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;background:white;color:#28231f;box-shadow:-10px 0 50px #0002;transform:none;overflow:hidden}
.sfss-bag-top{padding:19px 20px;border-bottom:1px solid #e7dfd6;display:flex;justify-content:space-between;align-items:center;gap:10px}
.sfss-bag-top h2{font:400 25px/1.2 Georgia,serif!important;margin:0!important;color:#28231f!important}
#sfss-bag .sfss-close-bag,#sfss-sale .sfss-close-sale,#sfss-filter-drawer .sfss-filter-close{all:unset!important;display:flex!important;align-items:center;justify-content:center;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;cursor:pointer!important;font:400 28px/1 Arial,sans-serif!important;color:#28231f!important;background:transparent!important;border:0!important;border-radius:50%!important}
.sfss-bag-body{overflow-y:auto;padding:18px 20px;flex:1;overscroll-behavior:contain}
#sfss-bag .woocommerce-mini-cart{margin:0;padding:0;list-style:none}
#sfss-bag .woocommerce-mini-cart-item{position:relative;min-height:97px;padding:10px 24px 12px 0;border-bottom:1px solid #e7dfd6;list-style:none;overflow:auto}
#sfss-bag .woocommerce-mini-cart-item img{float:left!important;margin:0 13px 7px 0!important;width:68px!important;height:87px!important;object-fit:cover}
#sfss-bag .woocommerce-mini-cart-item a{color:#28231f!important;font-size:14px;line-height:1.4;text-decoration:none}
#sfss-bag .woocommerce-mini-cart-item a.remove{position:absolute;right:0;top:10px;float:none;font-size:23px}
#sfss-bag .quantity{font-size:12px;display:block;margin-top:7px}
#sfss-bag .woocommerce-mini-cart__total{display:flex;justify-content:space-between;gap:12px;margin:20px 0 8px}
#sfss-bag .woocommerce-mini-cart__buttons{display:grid;gap:10px;margin:14px 0}
#sfss-bag .woocommerce-mini-cart__buttons a{display:block;text-align:center;border:1px solid #aa8e72;padding:11px;background:white!important;color:#28231f!important;text-decoration:none}
#sfss-bag .woocommerce-mini-cart__buttons a.checkout{background:#aa8e72!important;color:white!important}
#sfss-sale{display:flex;align-items:center;justify-content:center;padding:18px}
#sfss-sale .sfss-sale-card{background:white;position:relative;text-align:center;width:min(470px,100%);max-height:90dvh;overflow-y:auto;padding:42px 28px 30px;box-shadow:0 18px 60px #0003}
#sfss-sale .sfss-close-sale{position:absolute;right:8px;top:7px}
#sfss-sale .sfss-sale-card img{max-width:100%;max-height:230px;object-fit:cover;margin-bottom:16px}
#sfss-sale small{font-size:10px;letter-spacing:.2em;color:#aa8e72}
#sfss-sale h2{font:400 clamp(26px,4vw,38px)/1.2 Georgia,serif!important;color:#28231f!important;margin:10px 0 14px}
#sfss-sale p{font-size:14px;line-height:1.8;color:#665b50}
#sfss-sale .sfss-btn{display:block!important;padding:14px;background:#aa8e72!important;color:#fff!important;text-decoration:none;text-align:center;letter-spacing:.1em;font-size:12px;margin-top:20px}
.sfss-filters-toolbar{display:none}
#sfss-filter-drawer{position:fixed!important;inset:0!important;z-index:2147482800!important;display:flex!important;flex-direction:column!important;background:#fff!important;color:#28231f!important;overflow:hidden!important}
.sfss-filter-head{padding:14px 19px;border-bottom:1px solid #e7dfd6;display:flex;align-items:center;justify-content:space-between}
.sfss-filter-head strong{font:400 24px Georgia,serif}
.sfss-filter-content{overflow-y:auto;flex:1;padding:18px 20px;overscroll-behavior:contain}
.sfss-filter-content .widget{margin:0 0 20px!important;clear:both}
.sfss-filter-content input,.sfss-filter-content select{max-width:100%}
.sfss-filter-foot{padding:12px 20px;border-top:1px solid #e7dfd6;background:white}
.sfss-filter-foot button{display:block;width:100%;border:0!important;background:#aa8e72!important;color:white!important;padding:13px;font-size:12px;cursor:pointer}
@media(max-width:767px){
 body.sfss-gallery.single-product .flex-control-thumbs{max-height:110px!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;gap:7px!important;scroll-snap-type:x proximity;touch-action:pan-x}
 body.sfss-gallery.single-product .flex-control-thumbs li{float:none!important;flex:0 0 66px!important;width:66px!important;max-width:66px!important}
 body.sfss-gallery.single-product .flex-control-thumbs li img{width:66px!important;height:84px!important;object-fit:cover;display:block}
 body.sfss-design.single-product form.cart .single_add_to_cart_button{width:100%;float:none;min-height:48px}
 body.sfss-design.single-product .variations .button-variable-item{font-size:13px!important}
 body.sfss-filters .sfss-filters-toolbar{display:flex;gap:8px;margin:12px 0 20px;background:white;position:relative;z-index:10}
 .sfss-filters-toolbar button{flex:1;padding:12px 10px;background:#fff!important;border:1px solid #ddd!important;color:#28231f!important;font-size:13px!important;cursor:pointer}
 #sfss-bag{width:100vw}
 #sfss-sale{align-items:flex-end;padding:0}
 #sfss-sale .sfss-sale-card{width:100%;max-height:88dvh;padding:43px 24px 24px;border-radius:16px 16px 0 0}
}
@media(min-width:768px){.sfss-filters-toolbar{display:none!important}#sfss-filter-drawer{display:none!important}}
@media(prefers-reduced-motion:reduce){body.sfss-design ul.products li.product img{transition:none!important}}

/* v1.1 precise overrides for Vouge + Variation Swatches 2.x. Scoped to opt-in body classes. */
body.sfss-design.single-product .summary .variations .variable-items-wrapper,
body.sfss-design.single-product form.variations_form .variable-items-wrapper {
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;
 width:100%!important;padding:4px 0!important;margin:0!important;overflow:visible!important;
}
body.sfss-design.single-product .variations .variable-item,
body.sfss-design.single-product .variations .button-variable-item,
body.sfss-design.single-product .variations .sfss-size-option {
 box-sizing:border-box!important;flex-shrink:0!important;width:auto!important;min-width:78px!important;
 max-width:none!important;min-height:46px!important;height:auto!important;
 margin:0!important;padding:10px 14px!important;white-space:nowrap!important;
 word-break:normal!important;overflow-wrap:normal!important;overflow:visible!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 line-height:1.3!important;font-size:13px!important;font-weight:500!important;
 border:1px solid #d7cec4!important;border-radius:5px!important;background:#fff!important;
 color:#2d2925!important;box-shadow:none!important;vertical-align:middle!important;
}
body.sfss-design.single-product .variations .variable-item::after,
body.sfss-design.single-product .variations .variable-item::before {border-radius:inherit!important}
body.sfss-design.single-product .variations .variable-item .variable-item-span,
body.sfss-design.single-product .variations .button-variable-item .variable-item-span {
 display:inline!important;width:auto!important;max-width:none!important;min-width:0!important;
 white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;
 background:transparent!important;color:#2d2925!important;font-size:13px!important;line-height:1.3!important;
}
body.sfss-design.single-product .variations .variable-item.selected,
body.sfss-design.single-product .variations .sfss-size-option.selected {
 border-color:#a58b71!important;box-shadow:0 0 0 1px #a58b71!important;
 outline:0!important;background:#faf5ef!important;
}
/* Colored circle and legible name, WITHOUT changing the actual WooCommerce variation value. */
body.sfss-design.single-product .variations .sfss-color-option {
 display:inline-flex!important;flex-direction:column!important;justify-content:flex-start!important;
 align-items:center!important;min-width:60px!important;width:auto!important;height:auto!important;
 min-height:61px!important;max-height:none!important;padding:4px 7px!important;
 border:1px solid transparent!important;border-radius:5px!important;background:transparent!important;
 box-shadow:none!important;gap:3px!important;
}
body.sfss-design.single-product .variations .sfss-color-option[style*="--sfss-swatch"]::before {
 content:""!important;position:static!important;display:block!important;
 width:33px!important;height:33px!important;min-width:33px!important;min-height:33px!important;
 border-radius:50%!important;background:var(--sfss-swatch)!important;
 border:1px solid #d1c8bd!important;box-shadow:none!important;opacity:1!important;
 transform:none!important;visibility:visible!important;
}
body.sfss-design.single-product .variations .sfss-color-option .variable-item-span {
 display:block!important;background:transparent!important;border:0!important;
 font-size:11px!important;white-space:nowrap!important;line-height:1.25!important;text-transform:capitalize!important;
}
body.sfss-design.single-product .variations .sfss-color-option.selected {
 outline:0!important;border:1px solid #a58b71!important;background:#faf7f3!important;
}
body.sfss-design.single-product .variations .sfss-color-option .variable-item-span-color {
 display:none!important;
}
/* Avoid swollen, broken buttons on narrow screens. Don't change Paymob/Buy Now handlers. */
body.sfss-design.single-product .single_add_to_cart_button,
body.sfss-design.single-product form.cart button[type="submit"].single_add_to_cart_button {
 min-height:48px!important;max-width:100%!important;white-space:nowrap!important;
 border-radius:4px!important;padding:12px 22px!important;overflow:hidden!important;
}
body.sfss-design.single-product .single_add_to_cart_button:disabled {opacity:.58!important;cursor:not-allowed!important}
body.sfss-design.single-product .summary form.cart {max-width:100%!important}
.sfss-checkout-hint {padding:12px 16px;margin:14px 0;border:1px solid #e7dfd6;color:#665b50}
/* Visually fix clipping of a side-mounted gallery. Never hide photos. */
body.sfss-gallery.single-product .woocommerce-product-gallery .flex-control-thumbs {
 overflow-y:auto!important;overflow-x:hidden!important;max-height:min(74vh,730px)!important;
 scrollbar-width:thin!important;
}
body.sfss-gallery.single-product .woocommerce-product-gallery .flex-control-thumbs img {cursor:pointer}
/* Vuoge decorative button triangles must not cover the side-cart / popup actions. */
#sfss-bag button::before,#sfss-bag button::after,
#sfss-sale button::before,#sfss-sale button::after,
#sfss-filter-drawer button::before,#sfss-filter-drawer button::after {
 content:none!important;display:none!important;
}
#sfss-bag-backdrop[hidden],#sfss-bag[hidden],#sfss-sale[hidden],#sfss-filter-drawer[hidden] {display:none!important;visibility:hidden!important}
#sfss-bag,#sfss-sale,#sfss-filter-drawer {visibility:visible!important}
@media(max-width:767px){
 body.sfss-design.woocommerce-page.post-type-archive-product ul.products,
 body.sfss-design.woocommerce.post-type-archive-product ul.products,
 body.sfss-design.woocommerce-page.tax-product_cat ul.products,
 body.sfss-design.woocommerce.tax-product_cat ul.products {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:19px 12px!important;align-items:start!important;overflow:visible!important;
 }
 body.sfss-design.woocommerce-page.post-type-archive-product ul.products li.product,
 body.sfss-design.woocommerce.post-type-archive-product ul.products li.product,
 body.sfss-design.woocommerce-page.tax-product_cat ul.products li.product,
 body.sfss-design.woocommerce.tax-product_cat ul.products li.product {
  float:none!important;clear:none!important;width:auto!important;min-width:0!important;
  max-width:100%!important;margin:0!important;min-height:0!important;
 }
 body.sfss-design.woocommerce ul.products li.product img,
 body.sfss-design.woocommerce-page ul.products li.product img {
  width:100%!important;max-width:100%!important;aspect-ratio:3/4!important;
  height:auto!important;object-fit:cover!important;
 }
 body.sfss-design ul.products li.product .woocommerce-loop-product__title {font-size:13px!important;margin:8px 0 3px!important;line-height:1.35!important}
 body.sfss-design ul.products li.product .price {font-size:12px!important}
 body.sfss-design ul.products li.product .button {font-size:11px!important;min-height:38px!important}
 body.sfss-gallery.single-product .woocommerce-product-gallery .flex-control-thumbs {
  max-height:104px!important;overflow-y:hidden!important;overflow-x:auto!important;
  display:flex!important;flex-direction:row!important;gap:7px!important;
 }
 body.sfss-design.single-product .summary form.cart {width:100%!important}
 body.sfss-design.single-product .summary form.cart .single_add_to_cart_button {min-width:0!important;width:100%!important}
 body.sfss-design.single-product .variations .variable-item .variable-item-span {font-size:12px!important}
 body.sfss-filters .sfss-filters-toolbar{position:sticky!important;top:80px!important;z-index:30!important;background:#fff!important;padding:8px 0!important}
}
