/* Featured Product Spotlight - isolated from Blocksy product-gallery behaviour. */
.dhsd-spotlight {
	--dhsd-spot-accent:#d97824;
	--dhsd-spot-bg:#f4ebdd;
	--dhsd-spot-surface:#fff;
	--dhsd-spot-text:#1e2b23;
	--dhsd-spot-radius:28px;
	--dhsd-spot-padding:44px;
	--dhsd-spot-title:48px;
	--dhsd-spot-fit:contain;
	position:relative;
	isolation:isolate;
	clear:both;
	width:100%;
	margin:0 0 48px;
	padding:var(--dhsd-spot-padding);
	overflow:hidden;
	border:1px solid color-mix(in srgb,var(--dhsd-spot-accent) 16%,#ded8ce);
	border-radius:var(--dhsd-spot-radius);
	background:var(--dhsd-spot-bg);
	background:linear-gradient(140deg,var(--dhsd-spot-bg),color-mix(in srgb,var(--dhsd-spot-bg) 72%,#fff));
	color:var(--dhsd-spot-text);
	box-shadow:0 24px 70px rgba(36,49,40,.09);
}
.dhsd-spotlight * { box-sizing:border-box; }
.dhsd-spotlight__ambient { position:absolute; z-index:-1; width:420px; height:420px; top:-245px; right:-170px; border:72px solid color-mix(in srgb,var(--dhsd-spot-accent) 12%,transparent); border-radius:50%; pointer-events:none; }
.dhsd-spotlight__main { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(34px,5vw,72px); align-items:center; }
.dhsd-spotlight--image-right .dhsd-spotlight__media { order:2; }
.dhsd-spotlight--image-right .dhsd-spotlight__content { order:1; }

.dhsd-spotlight-slider { position:relative; min-width:0; outline:none; }
.dhsd-spotlight-slider:focus-visible .dhsd-spotlight-slider__viewport { outline:3px solid color-mix(in srgb,var(--dhsd-spot-accent) 45%,#fff); outline-offset:4px; }
.dhsd-spotlight-slider__viewport { position:relative; aspect-ratio:1122 / 1402; overflow:hidden; border-radius:calc(var(--dhsd-spot-radius) - 8px); background:var(--dhsd-spot-surface); box-shadow:0 18px 45px rgba(51,43,31,.12); }
.dhsd-spotlight-slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transform:translateX(12px) scale(.99); transition:opacity .42s ease,transform .42s ease,visibility .42s; }
.dhsd-spotlight-slide.is-active { opacity:1; visibility:visible; transform:none; }
.dhsd-spotlight-slide img { display:block; width:100%; height:100%; object-fit:var(--dhsd-spot-fit); object-position:center; }
.dhsd-spotlight-arrow { position:absolute; z-index:3; top:calc(50% - 31px); display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid rgba(30,43,35,.1); border-radius:50%; background:rgba(255,255,255,.92); color:var(--dhsd-spot-text); font:400 30px/1 system-ui,sans-serif; box-shadow:0 8px 22px rgba(26,33,28,.14); cursor:pointer; backdrop-filter:blur(8px); transition:transform .2s ease,background .2s ease; }
.dhsd-spotlight-arrow:hover { transform:scale(1.06); background:#fff; }
.dhsd-spotlight-arrow--prev { left:14px; }
.dhsd-spotlight-arrow--next { right:14px; }
.dhsd-spotlight-counter { position:absolute; z-index:3; right:14px; bottom:14px; min-width:54px; padding:7px 10px; border-radius:999px; background:rgba(28,36,30,.72); color:#fff; text-align:center; font:600 11px/1.2 var(--dhsd-body,system-ui,sans-serif); letter-spacing:.08em; backdrop-filter:blur(8px); }
.dhsd-spotlight--has-thumbs .dhsd-spotlight-counter { bottom:82px; }
.dhsd-spotlight-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:11px; }
.dhsd-spotlight-thumb { appearance:none; min-width:0; padding:3px; overflow:hidden; border:2px solid transparent; border-radius:11px; background:color-mix(in srgb,var(--dhsd-spot-surface) 90%,transparent); opacity:.56; cursor:pointer; transition:opacity .2s ease,border-color .2s ease,transform .2s ease; }
.dhsd-spotlight-thumb:hover { opacity:.86; transform:translateY(-2px); }
.dhsd-spotlight-thumb.is-active { border-color:var(--dhsd-spot-accent); opacity:1; }
.dhsd-spotlight-thumb img { display:block; width:100%; aspect-ratio:1; border-radius:7px; object-fit:cover; }

.dhsd-spotlight__content { min-width:0; }
.dhsd-spotlight__badge { display:inline-flex; align-items:center; min-height:30px; margin-bottom:24px; padding:7px 12px; border:1px solid color-mix(in srgb,var(--dhsd-spot-accent) 32%,transparent); border-radius:999px; background:color-mix(in srgb,var(--dhsd-spot-accent) 10%,#fff); color:color-mix(in srgb,var(--dhsd-spot-accent) 82%,#4b280e); font:750 10px/1.2 var(--dhsd-body,system-ui,sans-serif); letter-spacing:.13em; text-transform:uppercase; }
.dhsd-spotlight__eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 12px; color:color-mix(in srgb,var(--dhsd-spot-text) 67%,#fff); font:650 13px/1.5 var(--dhsd-body,system-ui,sans-serif); letter-spacing:.06em; text-transform:uppercase; }
.dhsd-spotlight__eyebrow:before { content:""; flex:0 0 28px; height:2px; background:var(--dhsd-spot-accent); }
.dhsd-spotlight h2 { max-width:720px; margin:0 0 18px !important; color:var(--dhsd-spot-text) !important; font-family:var(--dhsd-product-title-font,"Poppins",sans-serif) !important; font-size:clamp(34px,4vw,var(--dhsd-spot-title)) !important; font-weight:650 !important; line-height:1.08 !important; letter-spacing:-.035em !important; text-wrap:balance; }
.dhsd-spotlight__description { max-width:680px; color:color-mix(in srgb,var(--dhsd-spot-text) 76%,#fff); font:400 clamp(15px,1.4vw,17px)/1.75 var(--dhsd-body,system-ui,sans-serif); }
.dhsd-spotlight__description p { margin:0; }
.dhsd-spotlight__ingredients { margin-top:24px; }
.dhsd-spotlight__ingredients>span { display:block; margin-bottom:10px; color:color-mix(in srgb,var(--dhsd-spot-text) 62%,#fff); font:700 10px/1.2 var(--dhsd-body,system-ui,sans-serif); letter-spacing:.12em; text-transform:uppercase; }
.dhsd-spotlight__ingredients>div { display:flex; flex-wrap:wrap; gap:8px; }
.dhsd-spotlight__ingredients em { padding:8px 11px; border:1px solid color-mix(in srgb,var(--dhsd-spot-accent) 20%,#d9d5cc); border-radius:999px; background:rgba(255,255,255,.6); color:var(--dhsd-spot-text); font:600 11px/1.25 var(--dhsd-body,system-ui,sans-serif); font-style:normal; }
.dhsd-spotlight blockquote { position:relative; margin:25px 0 0; padding:17px 20px 17px 46px; border:0; border-left:3px solid var(--dhsd-spot-accent); border-radius:0 14px 14px 0; background:rgba(255,255,255,.48); color:color-mix(in srgb,var(--dhsd-spot-text) 78%,#fff); font:500 13px/1.65 var(--dhsd-body,system-ui,sans-serif); }
.dhsd-spotlight blockquote>span { position:absolute; left:17px; top:8px; color:var(--dhsd-spot-accent); font:700 37px/1 Georgia,serif; }
.dhsd-spotlight__price { margin-top:23px; color:var(--dhsd-spot-accent); font:750 clamp(22px,2.4vw,31px)/1.25 var(--dhsd-single-price-font,"Poppins",sans-serif); }
.dhsd-spotlight__price del { margin-right:8px; opacity:.48; font-size:.72em; }
.dhsd-spotlight__price ins { text-decoration:none; }
.dhsd-spotlight__actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:24px; }
.dhsd-spotlight-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:52px; padding:0 21px; border:1px solid transparent; border-radius:13px; font:700 13px/1.3 var(--dhsd-body,system-ui,sans-serif); text-decoration:none !important; transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
.dhsd-spotlight-button:hover { transform:translateY(-2px); }
.dhsd-spotlight-button--primary { background:var(--dhsd-spot-accent); color:#fff !important; box-shadow:0 10px 25px color-mix(in srgb,var(--dhsd-spot-accent) 25%,transparent); }
.dhsd-spotlight-button--primary:hover { background:color-mix(in srgb,var(--dhsd-spot-accent) 86%,#000); }
.dhsd-spotlight-button--primary span { font-size:19px; font-weight:400; }
.dhsd-spotlight-button--secondary { border-color:color-mix(in srgb,var(--dhsd-spot-text) 18%,transparent); background:rgba(255,255,255,.46); color:var(--dhsd-spot-text) !important; }
.dhsd-spotlight-button--secondary:hover { border-color:var(--dhsd-spot-text); background:#fff; }
.dhsd-spotlight__trust { margin:18px 0 0; color:color-mix(in srgb,var(--dhsd-spot-text) 57%,#fff); font:650 10px/1.5 var(--dhsd-body,system-ui,sans-serif); letter-spacing:.075em; text-transform:uppercase; }

.dhsd-spotlight__benefits { margin-top:clamp(34px,5vw,58px); padding-top:27px; border-top:1px solid color-mix(in srgb,var(--dhsd-spot-text) 12%,transparent); scroll-margin-top:100px; }
.dhsd-spotlight__benefits-heading { display:flex; align-items:center; gap:16px; margin-bottom:18px; color:var(--dhsd-spot-text); font:750 12px/1.3 var(--dhsd-body,system-ui,sans-serif); letter-spacing:.1em; text-transform:uppercase; }
.dhsd-spotlight__benefits-heading i { height:1px; flex:1; background:color-mix(in srgb,var(--dhsd-spot-text) 12%,transparent); }
.dhsd-spotlight__benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.dhsd-spotlight__benefit-grid article { min-width:0; padding:20px; border:1px solid color-mix(in srgb,var(--dhsd-spot-accent) 15%,#ddd8ce); border-radius:17px; background:rgba(255,255,255,.5); }
.dhsd-spotlight__benefit-grid b { display:grid; place-items:center; width:31px; height:31px; margin-bottom:17px; border-radius:50%; background:color-mix(in srgb,var(--dhsd-spot-accent) 11%,#fff); color:var(--dhsd-spot-accent); font:750 10px/1 var(--dhsd-body,system-ui,sans-serif); }
.dhsd-spotlight__benefit-grid h3 { margin:0 0 8px !important; color:var(--dhsd-spot-text) !important; font:650 15px/1.35 var(--dhsd-product-title-font,"Poppins",sans-serif) !important; letter-spacing:-.01em !important; }
.dhsd-spotlight__benefit-grid p { margin:0; color:color-mix(in srgb,var(--dhsd-spot-text) 67%,#fff); font:400 12px/1.6 var(--dhsd-body,system-ui,sans-serif); }

.dhsd-spotlight--botanical { box-shadow:0 18px 55px color-mix(in srgb,var(--dhsd-primary,#355c45) 12%,transparent); }
.dhsd-spotlight--botanical .dhsd-spotlight__badge { border-color:color-mix(in srgb,var(--dhsd-primary,#355c45) 30%,transparent); background:color-mix(in srgb,var(--dhsd-primary,#355c45) 9%,#fff); color:var(--dhsd-primary,#355c45); }
.dhsd-spotlight--minimal { border-color:color-mix(in srgb,var(--dhsd-spot-text) 12%,#fff); background:var(--dhsd-spot-bg); box-shadow:none; }
.dhsd-spotlight--minimal .dhsd-spotlight__ambient { display:none; }
.dhsd-spotlight--minimal .dhsd-spotlight-slider__viewport { box-shadow:none; border:1px solid color-mix(in srgb,var(--dhsd-spot-text) 12%,#fff); }

@media(max-width:1024px) {
	.dhsd-spotlight { --dhsd-spot-padding:clamp(24px,4vw,38px); }
	.dhsd-spotlight__main { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:34px; }
	.dhsd-spotlight__benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
	.dhsd-spotlight { margin-bottom:30px; padding:18px; border-radius:min(var(--dhsd-spot-radius),20px); }
	.dhsd-spotlight__main { grid-template-columns:1fr; gap:24px; }
	.dhsd-spotlight--image-right .dhsd-spotlight__media,
	.dhsd-spotlight--image-right .dhsd-spotlight__content { order:initial; }
	.dhsd-spotlight__media { max-width:520px; margin-inline:auto; }
	.dhsd-spotlight__content { display:flex; flex-direction:column; }
	.dhsd-spotlight__content>* { order:20; }
	.dhsd-spotlight__badge { order:1; align-self:flex-start; min-height:26px; margin-bottom:15px; padding:6px 10px; font-size:8px; font-weight:600; }
	.dhsd-spotlight__eyebrow { order:2; margin-bottom:9px; font-size:10px; font-weight:600; }
	.dhsd-spotlight h2 { order:3; margin-bottom:13px !important; font-size:28px !important; font-weight:500 !important; line-height:1.16 !important; letter-spacing:-.02em !important; }
	.dhsd-spotlight__price { order:4; margin:0 0 14px; font-size:22px; font-weight:600; }
	.dhsd-spotlight__actions { order:5; display:grid; grid-template-columns:1fr; margin:0 0 20px; }
	.dhsd-spotlight-button { width:100%; min-height:48px; font-size:12px; font-weight:600; }
	.dhsd-spotlight__description { order:6; font-size:14px; line-height:1.65; }
	.dhsd-spotlight__ingredients { order:7; margin-top:19px; }
	.dhsd-spotlight__ingredients>span { font-size:9px; font-weight:600; }
	.dhsd-spotlight__ingredients em { padding:7px 9px; font-size:10px; font-weight:500; }
	.dhsd-spotlight blockquote { order:8; margin-top:19px; padding:14px 15px 14px 40px; font-size:12px; line-height:1.6; }
	.dhsd-spotlight__trust { order:9; margin-top:15px; font-size:9px; font-weight:600; }
	.dhsd-spotlight-button--benefits,
	.dhsd-spotlight__benefits { display:none !important; }
	.dhsd-spotlight--has-thumbs .dhsd-spotlight-counter { bottom:76px; }
}
@media(max-width:420px) {
	.dhsd-spotlight { padding:15px; }
	.dhsd-spotlight-thumbs { gap:6px; }
	.dhsd-spotlight-arrow { width:40px; height:40px; }
}
@media(prefers-reduced-motion:reduce) {
	.dhsd-spotlight * { scroll-behavior:auto !important; transition:none !important; }
}
