/* Native product controls and review forms. */
body.fd-site .fd-commerce div.product .woocommerce-product-gallery__trigger.fd-zoom-ready::before,
body.fd-site .fd-commerce div.product .woocommerce-product-gallery__trigger.fd-zoom-ready::after { content:none; }
body.fd-site .fd-commerce div.product .woocommerce-product-gallery__trigger.fd-zoom-ready { border:0; padding:0; background:transparent; text-indent:0; line-height:1; box-shadow:none; }
body.fd-site .fd-commerce div.product .woocommerce-product-gallery__trigger.fd-zoom-ready .fd-zoom-surface { position:static; display:grid; width:38px; height:38px; margin:0; overflow:visible; clip:auto; clip-path:none; place-items:center; border:0; border-radius:50%; padding:0; background:var(--fd-paper); box-shadow:0 2px 7px #00000012; white-space:normal; pointer-events:none; }
.fd-zoom-ready svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.fd-variation-hint { margin:10px 0 0; color:var(--fd-muted); font-size:13px; }
body.fd-site .fd-commerce div.product .woocommerce-tabs ul.tabs:has(> li:only-child) { display:none; }
.fd-product-description-title { font-size:20px; margin:0 0 16px; }
body.fd-site .fd-commerce .woocommerce-product-attributes { width:100%; max-width:800px; border:1px solid var(--fd-line); border-radius:10px; border-spacing:0; overflow:hidden; }
body.fd-site .fd-commerce .woocommerce-product-attributes th,body.fd-site .fd-commerce .woocommerce-product-attributes td { padding:14px 18px; text-align:start; border:0; border-bottom:1px solid var(--fd-line); font-style:normal; }
body.fd-site .fd-commerce .woocommerce-product-attributes th { width:35%; background:var(--fd-subtle); }
body.fd-site .fd-commerce .woocommerce-product-attributes tr:last-child > * { border-bottom:0; }
body.fd-site .fd-commerce #reviews { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:32px; color:var(--fd-ink); }
body.fd-site .fd-commerce #reviews > .clear { display:none; }
body.fd-site .fd-commerce #reviews #comments,body.fd-site .fd-commerce #review_form_wrapper { min-width:0; width:auto; }
body.fd-site .fd-commerce #reviews .woocommerce-Reviews-title { color:var(--fd-ink); font-size:22px; margin:0 0 18px; }
body.fd-site .fd-commerce #reviews .woocommerce-noreviews { padding:24px; border-radius:12px; background:var(--fd-subtle); color:var(--fd-muted); line-height:1.9; }
body.fd-site .fd-commerce #review_form_wrapper { container-type:inline-size; padding:24px; border:1px solid var(--fd-line); border-radius:12px; background:var(--fd-paper); }
body.fd-site .fd-commerce #review_form #respond .comment-reply-title { display:block; font-size:20px; font-weight:600; margin-bottom:16px; }
body.fd-site .fd-commerce #review_form #respond p { margin:0 0 18px; }
body.fd-site .fd-commerce #review_form #respond label { display:block; margin:0 0 6px; font-size:14px; color:var(--fd-ink); }
body.fd-site .fd-commerce #review_form #respond input:not([type="checkbox"]):not([type="submit"]),body.fd-site .fd-commerce #review_form #respond textarea { width:100%; min-height:48px; padding:12px; border:1px solid #85888e; border-radius:8px; font:inherit; background:var(--fd-paper); color:var(--fd-ink); }
body.fd-site .fd-commerce #review_form #respond textarea { min-height:132px; resize:vertical; }
body.fd-site .fd-commerce #review_form #respond :is(input,textarea,a):focus-visible { outline:2px solid var(--fd-ink); outline-offset:3px; }
body.fd-site .fd-commerce #review_form #respond .comment-notes,body.fd-site .fd-commerce #review_form #respond .fd-review-moderation-note { font-size:12px; color:var(--fd-muted); }
body.fd-site .fd-commerce #review_form #respond .comment-form-cookies-consent { display:flex; gap:10px; align-items:start; }
body.fd-site .fd-commerce #review_form #respond .comment-form-cookies-consent label { font-size:12px; line-height:1.8; }
body.fd-site .fd-commerce #review_form #respond .comment-form-cookies-consent input { flex:none; width:20px; height:20px; margin-top:2px; }
body.fd-site .fd-commerce #review_form #respond .form-submit { margin-bottom:0; }
body.fd-site .fd-commerce #review_form #respond input#submit { min-height:48px; padding:12px 24px; border:1px solid var(--fd-primary-edge); border-radius:8px; background:var(--fd-primary); color:var(--fd-on-primary); font:600 14px/1.6 Cairo,sans-serif; }
body.fd-site .fd-commerce #reviews p.stars { margin:4px 0 16px; }
body.fd-site .fd-commerce #reviews p.stars span { display:inline-flex; gap:4px; }
body.fd-site .fd-commerce #reviews p.stars a { width:44px; height:44px; line-height:44px; margin:0; font-size:24px; }
body.fd-site .fd-commerce #reviews p.stars a::before { inset:0; width:44px; height:44px; line-height:44px; text-align:center; }
body.fd-site .fd-commerce #reviews #comments ol.commentlist { padding:0; margin:0; }
body.fd-site .fd-commerce #reviews #comments ol.commentlist li { margin:0 0 18px; }
body.fd-site .fd-commerce #reviews #comments ol.commentlist li img.avatar { display:none; }
body.fd-site .fd-commerce #reviews #comments ol.commentlist li .comment-text { margin:0; padding:20px; border:1px solid var(--fd-line); border-radius:12px; }
body.fd-site .fd-commerce #reviews #comments .meta { color:var(--fd-muted); font-size:12px; }
body.fd-site .fd-commerce #reviews #comments .woocommerce-review__author { color:var(--fd-ink); font-size:14px; }
body.fd-site .fd-commerce #reviews #comments .woocommerce-review__verified { display:inline-block; padding:2px 7px; border-radius:5px; background:var(--fd-brand-soft); color:var(--fd-ink); font-size:11px; }
/* The compact review summary progressively enhances the native inline form. */
body.fd-site .fd-commerce #reviews.fd-reviews-ready { display:block; max-width:1000px; margin-inline:auto; }
.fd-reviews-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-block:8px 20px; border-bottom:1px solid var(--fd-line); }
body.fd-site .fd-commerce #reviews .fd-reviews-header .woocommerce-Reviews-title { margin:0; font-size:20px; }
body.fd-site .fd-commerce #reviews.fd-reviews-ready .woocommerce-noreviews { margin:0; padding:24px 0; background:transparent; }
body.fd-site .fd-commerce #reviews.fd-reviews-ready #comments ol.commentlist { margin-top:24px; }
.fd-review-open { min-height:44px; padding:10px 20px; border:1px solid var(--fd-ink); border-radius:8px; background:var(--fd-paper); color:var(--fd-ink); font:500 14px/1.6 Cairo,sans-serif; cursor:pointer; }
.fd-review-open:hover,.fd-review-close:hover { background:var(--fd-subtle); }
body.fd-site .fd-commerce .fd-review-dialog { width:calc(100% - 32px); max-width:600px; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--fd-line); border-radius:16px; background:var(--fd-paper); color:var(--fd-ink); box-shadow:0 24px 80px #0003; overflow:hidden; }
body.fd-site .fd-commerce .fd-review-dialog[open] { display:flex; flex-direction:column; }
.fd-review-dialog::backdrop { background:#0008; }
body.fd-site .fd-commerce .fd-review-dialog #review_form_wrapper { min-height:0; padding-top:0; border:0; border-radius:0; overflow:auto; overscroll-behavior:contain; }
.fd-review-dialog-header { display:flex; flex:none; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; }
.fd-review-dialog-header .comment-reply-title { font-size:20px; font-weight:600; }
.fd-review-close { display:grid; flex:none; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:var(--fd-paper); color:var(--fd-ink); font:28px/1 sans-serif; cursor:pointer; }
.fd-review-open:focus-visible,.fd-review-close:focus-visible { outline:2px solid var(--fd-ink); outline-offset:3px; }
/* Extend the plugin popup without changing its storage, requests or templates. */
body.fd-site #woosw_wishlist .woosw-popup-content { max-width:640px; width:calc(100% - 32px); max-height:calc(100dvh - 40px); border:1px solid var(--fd-line); border-radius:16px; box-shadow:0 24px 80px #0003; transition:opacity .18s ease,top .18s ease; height:auto !important; /* Plugin sets a fixed inline height after each update. */ }
body.fd-site #woosw_wishlist .woosw-popup-content-top { height:64px; line-height:64px; padding-inline:24px 64px; background:var(--fd-paper); color:var(--fd-ink); border-bottom:1px solid var(--fd-line); font-size:17px; }
body.fd-site #woosw_wishlist .woosw-popup-close { top:8px; inset-inline-end:8px; inset-inline-start:auto; color:var(--fd-ink); border-radius:8px; }
body.fd-site #woosw_wishlist .woosw-popup-content-mid { min-height:0; overscroll-behavior:contain; }
body.fd-site #woosw_wishlist .woosw-items { padding:0 20px; }
body.fd-site #woosw_wishlist .woosw-item { padding:0; }
body.fd-site #woosw_wishlist .woosw-item-inner { display:grid; grid-template-columns:44px 76px minmax(0,1fr) 148px; gap:12px; padding:20px 0; border-top:1px solid var(--fd-line); }
body.fd-site #woosw_wishlist .woosw-item-inner > div { margin:0; min-width:0; width:auto; }
body.fd-site #woosw_wishlist .woosw-item--remove span { display:grid; place-items:center; width:44px; height:44px; border-radius:8px; color:var(--fd-ink); }
body.fd-site #woosw_wishlist .woosw-item--image img { width:76px; height:76px; border-radius:8px; object-fit:contain; background:var(--fd-subtle); }
body.fd-site #woosw_wishlist .woosw-item--name { margin:0 0 6px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
body.fd-site #woosw_wishlist .woosw-item--name a { color:var(--fd-ink); }
body.fd-site #woosw_wishlist .woosw-item--price { font-size:14px; color:var(--fd-ink); }
body.fd-site #woosw_wishlist .woosw-item--time { display:none; }
body.fd-site #woosw_wishlist .woosw-item--atc p { margin:0; }
body.fd-site #woosw_wishlist .woosw-item--atc a { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:10px; border:1px solid var(--fd-primary-edge); border-radius:8px; background:var(--fd-primary); color:var(--fd-on-primary); font-size:12px; font-weight:600; line-height:1.6; text-decoration:none; }
body.fd-site #woosw_wishlist .woosw-item--atc a:hover { box-shadow:inset 0 0 0 2px currentColor; }
body.fd-site #woosw_wishlist .woosw-item--atc a::before { content:none; }
body.fd-site #woosw_wishlist .woosw-item--atc .fd-cart-icon { margin-inline-end:8px; }
body.fd-site #woosw_wishlist .woosw-popup-content-bot { padding:0; background:var(--fd-paper); color:var(--fd-ink); border-top:1px solid var(--fd-line); text-transform:none; }
body.fd-site #woosw_wishlist .woosw-popup-content-bot-inner { padding:16px 20px; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; }
body.fd-site #woosw_wishlist .woosw-popup-content-bot-inner a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; border:1px solid var(--fd-control-line); border-radius:8px; color:var(--fd-ink); font-size:13px; text-decoration:none; }
body.fd-site #woosw_wishlist .woosw-popup-content-bot-inner a:hover { background:var(--fd-subtle); }
body.fd-site #woosw_wishlist .woosw-notice { display:none; position:static; height:auto; transform:none; opacity:1; visibility:visible; transition:none; background:var(--fd-brand-soft); color:var(--fd-ink); padding:12px 20px; text-transform:none; font-size:13px; font-weight:500; line-height:1.8; }
body.fd-site #woosw_wishlist .woosw-notice.woosw-notice-show { display:block; }
body.fd-site #woosw_wishlist .woosw-popup-content-mid-message { height:auto; min-height:96px; padding:28px 24px; line-height:1.8; color:var(--fd-muted); }
body.fd-site #woosw_wishlist :is(a,button,[role="button"]):focus-visible { outline:2px solid var(--fd-ink); outline-offset:2px; }
body.fd-site #woosw_wishlist .woosw-popup-close:hover,body.fd-site #woosw_wishlist .woosw-item--remove span:hover { background:var(--fd-subtle); }
@container (min-width:460px) {
 body.fd-site .fd-commerce #review_form #commentform { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:16px; }
 body.fd-site .fd-commerce #review_form #commentform > * { grid-column:1 / -1; }
 body.fd-site .fd-commerce #review_form #commentform .comment-form-author { grid-column:1; }
 body.fd-site .fd-commerce #review_form #commentform .comment-form-email { grid-column:2; }
}
@media (max-width:767px) {
 body.fd-site .fd-commerce #reviews { grid-template-columns:minmax(0,1fr); gap:20px; }
 body.fd-site .fd-commerce #review_form_wrapper { padding:18px; }
}
@media (max-width:560px) {
 body.fd-site #woosw_wishlist .woosw-item-inner { grid-template-columns:44px 64px minmax(0,1fr); gap:10px; }
 body.fd-site #woosw_wishlist .woosw-item--actions { grid-column:2 / -1; }
 body.fd-site #woosw_wishlist .woosw-item--image img { width:64px; height:64px; }
 body.fd-site #woosw_wishlist .woosw-popup-content-bot-inner > a { flex:1 1 100%; }
}
@media (prefers-reduced-motion:reduce) { body.fd-site #woosw_wishlist .woosw-popup-content { transition:none; } }

/* Delivery promise under the purchase buttons and in the cart summary. */
.fd-delivery-promise { display:grid; gap:10px; margin:16px 0 4px; padding:14px 0; border-block:1px solid var(--fd-line); list-style:none; color:var(--fd-ink); font-size:13px; line-height:1.6; }
.fd-delivery-promise li { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:10px; margin:0; }
.fd-delivery-promise__icon { display:grid; place-items:center; min-height:21px; color:var(--fd-primary); }
.fd-delivery-promise__icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.fd-delivery-promise strong { font-weight:600; }
.fd-delivery-promise a { color:var(--fd-ink); font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.fd-delivery-promise a:hover { color:var(--fd-primary); }
.fd-delivery-promise__detail { display:block; color:var(--fd-muted); font-size:12.5px; }
.fd-delivery-promise__fee { white-space:nowrap; }
.fd-delivery-promise--cart { margin:4px 0 14px; padding:12px 0; }

/* Sold-out options stay choosable, crossed out, so the shopper can still ask about them. */
body.fd-site .fd-commerce .variable-items-wrapper li.variable-item.fd-option-soldout { opacity:.55; }
body.fd-site .fd-commerce .variable-items-wrapper li.variable-item.fd-option-soldout .variable-item-contents { position:relative; }
body.fd-site .fd-commerce .variable-items-wrapper li.variable-item.fd-option-soldout .variable-item-contents::after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(to top left,transparent calc(50% - .75px),var(--fd-ink) calc(50% - .75px),var(--fd-ink) calc(50% + .75px),transparent calc(50% + .75px)); pointer-events:none; }
/* A sold-out colour keeps its real shade with one thin line, like the crossed-out sizes; no tick (approved drawing,
 * 2 October 2026: black looked like a grey colour). The line turns white on dark colours and dark on light ones. */
body.fd-site .fd-commerce .variable-items-wrapper li.color-variable-item.fd-option-soldout { opacity:1; }
body.fd-site .fd-commerce .variable-items-wrapper li.color-variable-item.fd-option-soldout .variable-item-contents::before { display:none !important; }
body.fd-site .fd-commerce .variable-items-wrapper li.color-variable-item.fd-option-soldout .variable-item-contents::after { background:linear-gradient(to top left,transparent calc(50% - .75px),#fff calc(50% - .75px),#fff calc(50% + .75px),transparent calc(50% + .75px)); mix-blend-mode:difference; }
/* Touch screens: an option's name tool-tip stayed stuck over the label after a tap. */
@media (hover:none) { body.fd-site .variable-items-wrapper [data-wvstooltip]::before,body.fd-site .variable-items-wrapper [data-wvstooltip]::after { display:none !important; } }
.fd-option-restock { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:6px 0 2px; color:var(--fd-ink); font-size:13px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.fd-option-restock[hidden] { display:none; }
.fd-option-restock svg,.fd-sold-out-panel__whatsapp svg { width:20px; height:20px; fill:currentColor; stroke:none; flex:0 0 20px; }

/* A whole product that is sold out. */
.fd-sold-out-panel { display:grid; gap:10px; margin:14px 0 4px; }
.fd-sold-out-panel__label { justify-self:start; margin:0; padding:4px 10px; border-radius:999px; background:var(--fd-subtle); color:var(--fd-ink); font-size:13px; font-weight:700; }
.fd-sold-out-panel__text { margin:0; color:var(--fd-muted); font-size:14px; line-height:1.6; }
.fd-sold-out-panel__actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
body.fd-site .fd-commerce .fd-sold-out-panel__actions .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; margin:0; padding:10px 18px; border-radius:var(--fd-radius-sm,8px); font-weight:600; text-decoration:none; }
body.fd-site .fd-commerce .fd-sold-out-panel__actions .fd-sold-out-panel__whatsapp { flex:1 1 auto; background:var(--fd-primary); color:var(--fd-on-primary); }
body.fd-site .fd-commerce .fd-sold-out-panel__actions .fd-sold-out-panel__whatsapp:hover { background:var(--fd-primary-strong,var(--fd-primary)); color:var(--fd-on-primary); }
body.fd-site .fd-commerce .fd-sold-out-panel__actions .fd-sold-out-panel__similar { border:1px solid var(--fd-control-line); background:var(--fd-paper); color:var(--fd-ink); }
.fd-similar-products { scroll-margin-top:80px; }

/* Phone buy bar: takes the bottom menu's place after the purchase buttons scroll out of view. */
.fd-buy-bar { display:none; }
@media (max-width:767px) {
	.fd-buy-bar:not([hidden]) { position:fixed; z-index:41; inset:auto 0 0; display:flex; align-items:center; gap:12px; height:calc(var(--fd-mobile-bar-height) + env(safe-area-inset-bottom)); padding:0 16px env(safe-area-inset-bottom); background:var(--fd-paper); border-top:1px solid var(--fd-line); box-shadow:0 -4px 20px #0000000d; }
	body.fd-buy-bar-active .fd-mobile-bar { display:none; }
	.fd-buy-bar__price { flex:0 1 auto; min-width:0; color:var(--fd-ink); font-size:15px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
	.fd-buy-bar__price del { color:var(--fd-muted); font-size:12px; font-weight:400; }
	.fd-buy-bar__price ins { text-decoration:none; }
	body.fd-site .fd-buy-bar__button { display:inline-flex; flex:1 1 auto; align-items:center; justify-content:center; gap:8px; min-height:44px; margin:0; padding:8px 12px; border:0; border-radius:var(--fd-radius-sm,8px); background:var(--fd-primary); color:var(--fd-on-primary); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
	body.fd-site .fd-buy-bar__button.is-muted { background:var(--fd-primary-muted); color:var(--fd-on-primary-muted); }
	.fd-buy-bar__button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
	body.fd-site .fd-buy-bar__button:focus-visible { outline:2px solid var(--fd-ink); outline-offset:2px; }
}
