/* Cosmelina in colour: real catalogue photography, clear type, compact controls. */
:root { --boutique-green:#33794e; --boutique-dark:#245e3c; --boutique-paper:#fffdfb; --boutique-line:#e6ebe5; --copy:#45515c; --heading:#34483f; --colour-wash:#e9f6ed; --colour-edge:#c7e2ce; --colour-accent:#33794e; }
[data-tone=mint] { --colour-wash:#e9f6ed; --colour-edge:#c7e2ce; --colour-accent:#33794e; }
[data-tone=rose] { --colour-wash:#fff0f2; --colour-edge:#f1d0d8; --colour-accent:#a84667; }
[data-tone=peach] { --colour-wash:#fff0e3; --colour-edge:#f1d6bd; --colour-accent:#a95f38; }
[data-tone=lavender] { --colour-wash:#f1edfc; --colour-edge:#ddd4f2; --colour-accent:#71568c; }
[data-tone=sky] { --colour-wash:#e9f4fc; --colour-edge:#c9dfee; --colour-accent:#3f7395; }
[data-tone=sun] { --colour-wash:#fff6d9; --colour-edge:#eddfab; --colour-accent:#98622b; }
body { background:#fffdfb; }
#container { background:#fffdfb; }
#container :is(.hero-copy h1,.section-heading h2,.category-heading h1,.product-summary h1,.account-heading h1,.information-heading h1,.checkout-heading h1,.manifesto h2) { font-family:var(--sans,Arial,Helvetica,sans-serif); font-weight:600; letter-spacing:-.6px; color:var(--heading); }
#container .hero-copy h1 em { font-family:inherit; color:#28683f; }
#container .boutique-utility { background:linear-gradient(100deg,#e9f5e9,#fff3dc 55%,#fff0ee); }
#container .boutique-utility a,#container .boutique-utility span { color:#4e6354; }
.shop-header { border-bottom-color:#dbe8dc; }
#container .mega-all { background:#33794e; border-radius:8px; box-shadow:0 3px 8px #33794e10; }
#container .mega-trigger[aria-expanded=true] { color:#28683f; }
#container .mega-panel { border-radius:0 0 14px 14px; border-color:#dfe8df; box-shadow:0 16px 40px #203f3420; }
#container .mega-panel-body { padding:18px; gap:20px; grid-template-columns:200px minmax(0,1fr); }
#container .mega-intro { border-color:#e5ebe3; }
#container .mega-rail>a { padding:7px; gap:9px; border-radius:9px; }
#container .mega-topic-photo { width:48px; height:48px; flex:0 0 48px; object-fit:cover; background:#fff; border-radius:8px; border:1px solid #edf0e9; }
#container .mega-rail strong { font-size:12.6034125px; line-height:1.4; }
#container .mega-rail strong>.category-emoji { font-size:10.802925px; margin-right:4px; }
#container .mega-rail>a.is-current { background:var(--colour-wash); }
#container .mega-section-heading { gap:14px; border:0; background:linear-gradient(110deg,var(--colour-wash),#fff 85%); padding:10px 14px 10px 10px; border-radius:11px; min-height:84px; }
#container .mega-heading-photo { width:104px; height:92px; flex:none; object-fit:cover; border-radius:8px; background:#fff; }
#container .mega-section-heading>div { flex:1; }
#container .mega-section-heading h2 { font:600 19.8053625px/1.2 var(--sans,Arial,sans-serif); color:var(--heading); margin:0 0 5px; }
#container .mega-section-heading p { font-size:11.70316875px; color:#5d6c64; }
#container .mega-section-heading>a { background:#fff; border-color:var(--colour-edge); border-radius:7px; color:var(--copy); }
#container .mega-link-area { gap:17px; }
#container .mega-link-groups { gap:18px; }
#container .mega-group h3 { color:var(--colour-accent); font-size:12.6034125px; font-weight:600; margin-bottom:8px; }
#container .mega-group>ul { display:grid; gap:5px; }
#container .mega-group>ul>li>a.mega-photo-link { display:flex; align-items:center; justify-content:flex-start; gap:14px; padding:6px; min-height:94px; background:#fff; border:1px solid transparent; border-radius:9px; font-size:12.6034125px; line-height:1.35; }
#container .mega-category-photo { width:80px; height:80px; flex:0 0 80px; object-fit:cover; border-radius:8px; background:#fff; border:1px solid #edf0e9; }
#container .mega-link-label { align-items:center; gap:5px; flex:1; min-width:0; overflow-wrap:anywhere; }
#container .mega-link-label>.category-emoji { font-size:11.70316875px; flex:0 0 15px; }
#container .mega-group>ul>li>a:hover,#container .mega-group>ul>li>a:focus-visible { background:var(--colour-wash); border-color:var(--colour-edge); }
#container .mega-grandchildren { border-color:var(--colour-edge); margin-left:27px!important; }
#container .mega-grandchildren a { display:flex; align-items:center; gap:6px; line-height:1.35; font-size:11.70316875px; }
#container .mega-small-photo { flex:0 0 38px; width:38px; height:38px; border-radius:6px; object-fit:cover; background:white; }
#container .mega-panel-footer { background:linear-gradient(100deg,#ecf7ec,#fff7e9); }
#container .mega-topic-photo,#container .mega-heading-photo { object-position:20% center; }
#container .mega-extra-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
#container .mega-extra-grid>a { background:var(--colour-wash); border:1px solid var(--colour-edge); border-radius:10px; padding:9px; gap:8px; }
#container .mega-extra-grid strong { flex:1; }
#container .mega-extra-grid>a>.category-emoji { flex:none; width:auto; font-size:10.802925px; }
#container .mega-extra-grid>a>span:last-child { flex:none; }
#container .ritual-hero { background:#f8f4e8; }
.boutique-hero-photo { filter:brightness(1.035) saturate(1.08); }
#container .hero-copy { padding-block:32px; }
#container .hero-copy .hero-description { color:#4b5b50; }
#container .btn-primary,#container .editorial-button { border-radius:9px; background:#33794e; border-color:#33794e; }
#container .btn-primary:hover,#container .editorial-button:hover { background:#28653f!important; border-color:#28653f!important; }
#container .world-card { border-radius:12px; border:1px solid var(--colour-edge); background:var(--colour-wash); box-shadow:0 5px 16px #33503b06; }
#container .world-photo { height:125px; background:#fff; }
#container .world-caption { background:var(--colour-wash); padding:12px; }
#container .world-caption strong { color:#374d40; font-weight:600; }
#container .world-caption>i { border-radius:50%; background:white; width:25px; height:25px; display:grid; place-items:center; color:var(--colour-accent); font-size:10.2885px; }
#container .care-strip { background:#f4faf0; border-color:#dcebd5; border-radius:10px; }
#container .discovery-card { border-radius:15px; border:1px solid #ede6dc; overflow:hidden; }
#container .discovery-card>div { background:#fff0e3; }
#container .discovery-card.home-fragrance>div { background:#e9f6ed; }
#container .discovery-card h3 { font-family:var(--sans,Arial,sans-serif); font-size:21.434375px; font-weight:600; color:#34483f; }
#container .home-category-chips { gap:9px; }
#container .home-category-chips>a { display:flex; align-items:center; gap:7px; padding:6px 12px 6px 6px; font-size:11.145875px; background:var(--colour-wash); border-color:var(--colour-edge); border-radius:10px; }
#container .home-category-chips img { width:32px; height:32px; object-fit:cover; border-radius:7px; background:white; }
#container .home-category-chips .category-emoji { font-size:10.2885px; }
#container .ritual-product { border-color:#e4eae3; border-radius:12px; box-shadow:0 3px 12px #204a3005; transition:box-shadow .2s,border-color .2s; }
#container .ritual-product:hover { border-color:#b7d2bf; box-shadow:0 8px 22px #204a3012; }
#container .ritual-product>.image { background:linear-gradient(135deg,#fbfcf8,#f0f7ee); }
#container .ritual-product .button .product-add { border-radius:9px; background:#33794e; border-color:#33794e; }
#container .ritual-product .price-new { color:#2f6240; }
#container .ritual-product.has-special-price .price-new,
#container #product-info .product-pricing.has-special-price .price-new { color:#c32e40; }
#container .manifesto { background:linear-gradient(120deg,#edf8e9,#fff2df 65%,#fff0ee); }
#container .manifesto h2 em { color:#397550; font-style:normal; }
#container .ritual-footer { background:#f0f7ec; border-top:1px solid #dfead9; }
#container .ritual-footer .footer-signature { color:#4e684f; }
#container .category-visual-heading { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr); max-width:none; padding:0; min-height:230px; margin:0 0 22px; overflow:hidden; background:linear-gradient(105deg,var(--colour-wash),#fff 82%); border:1px solid var(--colour-edge); border-radius:16px; }
#container .category-heading-copy { padding:30px 34px; align-self:center; min-width:0; }
#container .category-visual-heading h1 { font-size:30.8655px; line-height:1.16; margin:0 0 12px; max-width:680px; }
#container .category-visual-heading .eyebrow { color:var(--colour-accent); font-size:9.431125px; letter-spacing:1.4px; margin-bottom:13px; }
#container .category-intro { color:#59685f; font-size:12.860625px; line-height:1.65; margin:0; max-width:620px; }
#container .category-heading-art { position:relative; min-width:0; align-self:stretch; display:flex; align-items:center; justify-content:center; padding:14px; }
#container .category-heading-art img { width:100%; height:230px; object-fit:contain; border-radius:13px; mix-blend-mode:multiply; }
#container .category-heading-art[data-cover=true] { padding:0; }
#container .category-heading-art[data-cover=true] img { height:100%; position:absolute; inset:0; width:100%; object-fit:cover; object-position:25% center; border-radius:0; mix-blend-mode:normal; }
#container .category-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 24px; }
#container .category-photo-grid>a { display:flex; align-items:center; min-width:0; gap:10px; min-height:78px; padding:9px; background:var(--colour-wash); border:1px solid var(--colour-edge); border-radius:11px; color:#45515c; font-size:12.00325px; line-height:1.4; transition:transform .18s,box-shadow .18s; }
#container .category-photo-frame { flex:0 0 60px; width:76px; height:76px; border-radius:8px; overflow:hidden; background:#fff; }
#container .category-photo-frame img { width:100%; height:100%; object-fit:cover; }
#container .category-photo-grid>a>span:nth-child(2) { flex:1; min-width:0; }
#container .category-photo-grid .category-emoji { font-size:11.145875px; margin-right:3px; }
#container .category-photo-arrow { flex:none; color:var(--colour-accent); }
#container .category-photo-grid>a:hover { transform:translateY(-2px); box-shadow:0 5px 14px #203f3410; }
#container .category-story { border-color:var(--colour-edge); }
#container .category-story summary { font-family:var(--sans,Arial,sans-serif); font-weight:500; font-size:17.1475px; }
#container .catalog-toolbar { border-color:#e1e9dd; }
#container .form-control:focus,#container .form-select:focus { border-color:#89b695; box-shadow:0 0 0 3px #ddeddf; }
/* Spacious two-column menus can show the photography at an editorial scale. */
@media(min-width:1200px) {
 #container .mega-link-groups[style="--group-count:2"] .mega-category-photo { width:112px; height:112px; flex-basis:112px; }
}
@media(min-width:1440px) {
 #container .mega-category-photo { width:96px; height:96px; flex-basis:96px; }
}
@media(max-width:1199px) { #container .category-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } #container .mega-panel-body { grid-template-columns:152px minmax(0,1fr); gap:14px; } #container .mega-group>ul>li>a.mega-photo-link { font-size:11.70316875px; gap:6px; } #container .mega-category-photo { width:72px; height:72px; flex-basis:72px; } }
@media(max-width:991px) {
 #container .mega-panel-body { display:block; padding:12px; }
 #container .mega-section-heading { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:8px 12px; padding:10px; }
 #container .mega-section-heading h2 { display:block; font-size:16.2043875px; }
 #container .mega-section-heading>a { grid-column:2; justify-self:start; min-height:34px; }
 #container .mega-heading-photo { width:76px; height:76px; }
 #container .mega-link-groups { gap:14px; }
 #container .mega-extra-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #container .category-visual-heading { grid-template-columns:minmax(0,1fr) 34%; min-height:190px; }
 #container .category-heading-copy { padding:22px; }
 #container .category-visual-heading h1 { font-size:25.72125px; }
 #container .category-heading-art img { height:190px; }
 #container .category-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:575px) {
 #container .mega-group>ul>li>a.mega-photo-link { font-size:13.50365625px; padding:6px; }
 #container .mega-category-photo { width:64px; height:64px; flex-basis:64px; }
 #container .mega-section-heading>div { min-width:0; }
 #container .mega-section-heading h2 { font-size:16.2043875px; }
 #container .mega-section-heading>a { padding:6px 9px; font-size:10.802925px; text-align:center; }
 #container .mega-extra-grid { gap:7px; }
 #container .mega-extra-grid>a { flex-wrap:wrap; }
 #container .world-photo { height:95px; }
 #container .world-caption { padding:10px 7px; }
 #container .world-caption>i { display:none; }
 #container .category-visual-heading { grid-template-columns:minmax(0,1fr) 31%; min-height:170px; border-radius:13px; }
 #container .category-heading-copy { padding:20px 15px; }
 #container .category-visual-heading h1 { font-size:23.149125px; }
 #container .category-visual-heading .eyebrow { font-size:8.57375px; letter-spacing:1px; margin-bottom:9px; }
 #container .category-intro { font-size:12.00325px; line-height:1.5; }
 #container .category-heading-art { padding:6px; }
 #container .category-heading-art img { height:155px; }
 #container .category-heading-art[data-cover=true] img { object-position:16% center; }
 #container .category-photo-grid { gap:8px; }
 #container .category-photo-grid>a { gap:7px; padding:7px; min-height:68px; font-size:11.145875px; }
 #container .category-photo-frame { width:46px; height:50px; flex-basis:46px; }
 #container .category-photo-arrow { display:none; }
 #container .hero-copy { padding-block:26px; }
}
@media(prefers-reduced-motion:reduce) { #container .world-card,#container .category-photo-grid>a,#container .ritual-product { transition:none; transform:none; } }
