/* Scoped to the three ritual galleries; single-product galleries stay intact. */
.bundle-gallery .slide{color:#fff}
.bundle-gallery .bundle-copy{position:absolute;inset:6% 6% auto;z-index:2}
.bundle-gallery .bundle-copy h2{font:700 7.6cqw/1.05 Georgia,serif;letter-spacing:-.035em;margin:0;text-wrap:balance}
.bundle-gallery .bundle-support{position:absolute;inset:auto 6% 6%;z-index:2}
.bundle-gallery .bundle-support p{font:600 3.8cqw/1.35 Arial,sans-serif;max-width:90%;margin:0}
.bundle-gallery .bundle-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(#171a146e,transparent 35%,transparent 72%,#171a147a)}
.bundle-gallery .bundle-hero .bundle-copy,.bundle-gallery .bundle-support{text-shadow:0 1px 5px #0005}
.bundle-gallery .bundle-hero>img{object-position:center 60%}
.bundle-complete .bundle-hero>img{object-position:center 38%}
.bundle-gallery .bundle-placeholder{background:#d5d5d2;color:#50524c}
.bundle-gallery .bundle-placeholder .bundle-support{text-shadow:none;font-weight:400}
.bundle-gallery .bundle-flatlay{color:#293522}
.bundle-gallery .bundle-flatlay>img{object-fit:cover}
.bundle-gallery .bundle-flatlay h2{font-size:6.8cqw}
.bundle-gallery .bundle-roles{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fbf8ef}
.bundle-gallery .bundle-role{position:relative;overflow:hidden;min-height:0}
.bundle-gallery .bundle-role>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.bundle-gallery .bundle-role::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 48%,#111a16cc)}
.bundle-gallery .bundle-role>div{position:absolute;z-index:1;inset:auto 10% 6%;text-shadow:0 1px 4px #0007}
.bundle-gallery .bundle-role p{font:600 2.7cqw/1.2 Arial,sans-serif;margin:0 0 2cqw}
.bundle-gallery .bundle-role h3{font:700 4.9cqw/1.1 Georgia,serif;letter-spacing:-.02em;margin:0}
.bundle-gallery .bundle-roles-4{grid-template-rows:1fr 1fr}
.bundle-gallery .bundle-roles-4 .bundle-role>img{object-position:center 36%}
.bundle-gallery .bundle-roles-4 .bundle-role-day>img{object-position:center 70%}
.bundle-gallery .bundle-roles-4 h3{font-size:4.1cqw}
.bundle-gallery .bundle-roles-4 .bundle-role>div{bottom:8%}
.bundle-gallery .bundle-quote{position:absolute;inset:20% 8% auto;margin:0}
.bundle-gallery .bundle-quote blockquote{font:700 7cqw/1.17 Georgia,serif;letter-spacing:-.025em;margin:0 0 6cqw}
.bundle-gallery .bundle-quote figcaption{font:600 3.2cqw/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.bundle-gallery .bundle-review-pending{height:100%;display:grid;place-items:center;font:500 3.4cqw/1.3 Arial,sans-serif}
.bundle-gallery .bundle-origin{background:#f2eee4;color:#293522}
.bundle-gallery .bundle-origin>img{position:absolute;inset:auto 0 7%;width:100%;height:auto;object-fit:contain}
.bundle-gallery .bundle-thumb-grey{display:grid;place-items:center;width:100%;height:100%;background:#d5d5d2;color:#50524c;font:14px Arial,sans-serif}
.bundle-gallery .bundle-thumb-roles{height:100%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.bundle-gallery .bundle-thumb-roles>img{min-height:0;height:100%;width:100%;object-fit:cover}
.bundle-complete .bundle-thumb-roles{grid-template-rows:1fr 1fr}
@media(max-width:700px){.bundle-gallery .original-slides{aspect-ratio:1}.bundle-gallery .bundle-copy h2{font-size:7.2cqw}.bundle-gallery .bundle-flatlay h2{font-size:6.5cqw}}

/* Wake-Up v2 keeps the complete ingredient circles in frame on mobile. */
.wakeup-v2 .original-slides{aspect-ratio:4/4.3}
.wakeup-v2 .wakeup-mechanism>img{object-fit:cover}
.wakeup-v2 .wakeup-mechanism .bundle-copy{top:5%;bottom:auto;left:5%;right:4%;text-shadow:0 1px 5px #0009}
.wakeup-v2 .wakeup-mechanism .bundle-copy h2{font-size:6.9cqw;max-width:100%;text-wrap:initial}
.wakeup-v2 .wakeup-mechanism::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#271d1770,transparent 27%,transparent 80%,#271d1766)}
.wakeup-v2 .wakeup-mechanism .bundle-copy,.wakeup-v2 .wakeup-mechanism-products,.wakeup-v2 .wakeup-concept-note{z-index:2}
.wakeup-v2 .wakeup-mechanism-products{position:absolute;bottom:5%;left:2%;right:2%;display:grid;grid-template-columns:1fr 1fr;gap:4%}
.wakeup-v2 .wakeup-mechanism-products>div{display:flex;align-items:center;gap:1cqw;min-width:0;text-shadow:0 1px 4px #0009}
.wakeup-v2 .wakeup-mechanism-products img{width:15cqw;height:15cqw;object-fit:contain;flex:none}
.wakeup-v2 .wakeup-mechanism-products b{display:block;font:700 3.8cqw/1.1 Georgia,serif}
.wakeup-v2 .wakeup-mechanism-products small{display:block;margin-top:1cqw;font:500 2.7cqw/1.2 Arial,sans-serif}
.wakeup-v2 .wakeup-intro::after{content:"";position:absolute;inset:0 0 auto;height:35%;background:linear-gradient(#172017ad,transparent);pointer-events:none}
.wakeup-v2 .wakeup-intro .bundle-copy{top:5%;z-index:3;text-shadow:0 1px 5px #0009}
.wakeup-v2 .wakeup-intro .bundle-copy h2{font-size:7cqw;text-wrap:initial}
.wakeup-v2 .wakeup-concept-note{position:absolute;bottom:2%;left:6%;font:500 2.2cqw/1.3 Arial,sans-serif;color:#fff;text-shadow:0 1px 3px #000b}
.wakeup-v2 .wakeup-back-label .bundle-copy{top:4.5%;left:5%;right:5%;text-shadow:0 1px 5px #0009}
.wakeup-v2 .wakeup-back-label .bundle-copy h2{font-size:6.5cqw;white-space:nowrap}
.wakeup-v2 .wakeup-back-label>img{object-fit:cover;object-position:center}
.wakeup-v2 .wakeup-flatlay .bundle-copy{top:5%;left:6%;right:4%}
.wakeup-v2 .wakeup-flatlay .bundle-copy h2{font-size:6.8cqw;text-wrap:initial}
.wakeup-v2 .wakeup-review-copy{position:absolute;left:6%;right:6%;top:6%;margin:0;color:#293522}
.wakeup-v2 .wakeup-review-copy blockquote{margin:0;font:700 4.8cqw/1.2 Georgia,serif;letter-spacing:-.018em;text-wrap:pretty}
.wakeup-v2 .wakeup-review-copy figcaption{margin-top:3cqw;font:600 2.6cqw/1.3 Arial,sans-serif}
.wakeup-v2 .wakeup-flatlay-ingredients{position:absolute;bottom:3%;left:5%;right:5%;display:grid;grid-template-columns:1fr 1fr;gap:10%;color:#293522}
.wakeup-v2 .wakeup-flatlay-ingredients>div{position:relative;padding:2.3cqw 2.6cqw;background:#faf7eef5;border:1.5px solid #46533b;border-radius:1cqw}
.wakeup-v2 .wakeup-flatlay-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.wakeup-v2 .wakeup-flatlay-leaders path{fill:none;stroke:#34462e;stroke-width:.65;stroke-linecap:round}
.wakeup-v2 .wakeup-flatlay-leaders .wakeup-leader-halo{stroke:#fffdf4;stroke-width:1.25}
.wakeup-v2 .wakeup-flatlay-leaders circle{fill:#34462e;stroke:#fffdf4;stroke-width:.45}
.wakeup-v2 .wakeup-flatlay-ingredients p{font:500 2.9cqw/1.35 Arial,sans-serif;margin:0}
/* Same italic lettering, colours and shimmer timing as the shop's Pearl identity. */
.wakeup-v2 .wakeup-pearl-lettering{display:block;margin-top:1.6cqw;font:italic 3.3cqw/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em;white-space:nowrap;color:#3b4c3a}
@supports(background-clip:text){.wakeup-v2 .wakeup-pearl-lettering{background:linear-gradient(110deg,#354735 0%,#354735 36%,#72654d 45%,#5d6b63 52%,#354735 62%,#354735 100%);background-size:240% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:wakeup-pearl-shimmer 7s ease-in-out 2}}
@keyframes wakeup-pearl-shimmer{0%,25%{background-position:100% 50%}70%,100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.wakeup-v2 .wakeup-pearl-lettering{animation:none;background-position:0% 50%}}

.wakeup-v2 .wakeup-steps{background:#f6f0e4}.wakeup-v2 .wakeup-steps>img{object-fit:contain}

.bundle-gallery .bundle-routine-infographic{background:#f7f1e5}.bundle-gallery .bundle-routine-infographic>img{object-fit:contain}

/* One optimised image per mechanism slide; the main heading stays editable. */
.bundle-gallery .original-slides{aspect-ratio:4/4.3}
.bundle-gallery .routine-heading{position:absolute;top:3.5%;left:4%;right:4%;color:#272510;text-align:center}
.bundle-gallery .routine-heading h2{margin:0;font:700 8.1cqw/1.03 Georgia,serif;letter-spacing:-.035em;text-wrap:initial}
.bundle-gallery .ritual-photo-hero{color:#293522}
.bundle-gallery .ritual-photo-hero::after{background:linear-gradient(transparent 73%,#f6efdfbd)}
.bundle-gallery .ritual-photo-hero .bundle-copy,.bundle-gallery .ritual-photo-hero .bundle-support{text-shadow:none}
.bundle-gallery .ritual-photo-hero .bundle-support p{font-size:3.6cqw;max-width:100%}
.bundle-gallery .ritual-photo-review{color:#293522}
.bundle-gallery .ritual-photo-review .bundle-quote{inset:6% 7% auto}
.bundle-gallery .ritual-photo-review blockquote{font-size:6.3cqw;line-height:1.17;margin-bottom:3cqw}
.bundle-complete .ritual-photo-review blockquote{font-size:5.1cqw}
.bundle-gallery .ritual-photo-review figcaption{font-size:2.6cqw;text-transform:none;letter-spacing:0}
.bundle-gallery .ritual-back-label .bundle-copy{top:4.5%;left:5%;right:5%;text-shadow:0 1px 5px #0009}
.bundle-gallery .ritual-back-label .bundle-copy h2{font-size:6.5cqw;white-space:nowrap}
.bundle-gallery .ritual-ingredients{position:absolute;bottom:3%;left:5%;right:5%;display:grid;grid-template-columns:1fr 1fr;gap:8%;color:#293522}
.bundle-gallery .ritual-ingredients>div{position:relative;padding:2cqw;background:#faf7eef5;border:1.5px solid #46533b;border-radius:1cqw}
.bundle-gallery .ritual-ingredients>div:before{content:"";position:absolute;height:6cqw;width:2px;background:#34462e;box-shadow:0 0 0 1px #fffdf4;bottom:100%;left:50%}
.bundle-gallery .ritual-ingredients>div:after{content:"";position:absolute;width:1.4cqw;height:1.4cqw;border-radius:50%;background:#34462e;border:1px solid #fffdf4;bottom:calc(100% + 6cqw);left:calc(50% - .7cqw)}
.bundle-gallery .ritual-ingredients p{font:500 clamp(10px,2.9cqw,18px)/1.3 Arial,sans-serif;margin:0}
.bundle-gallery .ritual-pearl{display:block;margin-top:1.3cqw;font:italic clamp(11px,3.2cqw,20px)/1.15 Georgia,serif;letter-spacing:-.025em;color:#3b4c3a}
.bundle-complete .ritual-ingredients{left:2%;right:2%;gap:2%;grid-template-columns:repeat(4,minmax(0,1fr))}
.bundle-complete .ritual-ingredients>div{padding:1.3cqw}
.bundle-complete .ritual-ingredients p{font-size:clamp(9px,2.5cqw,16px)}
.bundle-complete .ritual-pearl{font-size:clamp(10px,2.8cqw,17px)}
.bundle-complete .ritual-ingredients>div:before{height:12cqw}
.bundle-complete .ritual-ingredients>div:after{bottom:calc(100% + 12cqw)}
@supports(background-clip:text){.bundle-gallery .ritual-pearl{background:linear-gradient(110deg,#354735 0%,#354735 36%,#72654d 45%,#5d6b63 52%,#354735 62%,#354735 100%);background-size:240% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:wakeup-pearl-shimmer 7s ease-in-out 2}}
@media(prefers-reduced-motion:reduce){.bundle-gallery .ritual-pearl{animation:none}}
