/* Operation-specific content and catalogue compositions. Shared pricing and checkout stay unchanged. */
.storefront-composition .product-card{display:block}.storefront-composition .product-art{width:100%}.storefront-composition .product-meta>span{overflow-wrap:anywhere;white-space:normal}
.composition-categories>strong{font-size:12px;width:100%;margin:0 0 12px}.composition-results{min-width:0}.card-description{font-size:13px!important;line-height:1.55;color:var(--muted);font-weight:400!important}.standalone-appointments{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:24px 0;margin:24px 0 48px;border-block:1px solid var(--line)}.standalone-appointments h2{font-size:20px}.standalone-appointments p{flex:1;min-width:220px;color:var(--muted);font-size:14px}
.operation-section{margin:48px 0 72px}.operation-intro{max-width:740px;line-height:1.7;color:var(--muted);margin-bottom:32px}.operation-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.operation-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.operation-image{display:grid;place-items:center;aspect-ratio:4/3;background:var(--brand-soft);color:var(--brand-ink);font-size:72px;font-family:Georgia,serif;text-decoration:none;overflow:hidden}.operation-image img{width:100%;height:100%;object-fit:cover}.operation-content{padding:24px}.operation-content h3{font-size:23px;line-height:1.25;margin:0 0 16px}.operation-content p{font-size:14px;line-height:1.6}.operation-content dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:13px;line-height:1.5;margin:22px 0}.operation-content dt{font-weight:650}.operation-content dd{margin:0}.operation-detail{border-top:1px solid var(--line);padding-top:16px}.operation-caption{font-size:12px!important;color:var(--muted)}.operation-purchase{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.operation-purchase p{margin:0}.operation-purchase strong{font-size:22px}.operation-purchase small{display:block;font-size:11px;color:var(--muted)}
.operation-lodging .operation-offers,.operation-rentals .operation-offers{grid-template-columns:1fr}.operation-lodging .operation-card{display:grid;grid-template-columns:minmax(230px,.8fr) 1.2fr;border-radius:0;border-inline:0;padding-block:26px}.operation-lodging .operation-image{height:100%;aspect-ratio:auto;min-height:300px;border-radius:var(--radius)}.operation-lodging .operation-content{padding:12px 0 12px 36px}.operation-lodging .operation-content h3{font:32px/1.2 Georgia,serif}.operation-rentals .operation-card{display:grid;grid-template-columns:230px 1fr;border-left:5px solid var(--brand);border-radius:4px}.operation-rentals .operation-image{height:100%;aspect-ratio:auto}.operation-rentals .operation-content{display:grid;grid-template-columns:1fr auto;gap:8px 28px}.operation-rentals .operation-content .eyebrow,.operation-rentals .operation-content h3,.operation-rentals .operation-content>p{grid-column:1}.operation-rentals .operation-purchase{grid-column:2;grid-row:1/5;border:0;align-content:center;flex-direction:column;justify-content:center}.operation-courses .operation-card{border-radius:8px;box-shadow:0 8px 24px -14px var(--brand);border-bottom:5px solid var(--brand)}.operation-courses .operation-image{aspect-ratio:16/9}.operation-experiences .operation-image{aspect-ratio:3/4}.operation-experiences .operation-card{position:relative;border:0}.operation-experiences .operation-content{margin:-36px 12px 0;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.operation-events .operation-offers{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-events .operation-image{aspect-ratio:16/9;border-radius:50% 50% 0 0}.operation-events .operation-content{text-align:center}.operation-events .operation-purchase{justify-content:center}.operation-appointments .operation-offers{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-appointments .operation-card{display:grid;grid-template-columns:110px 1fr;border:0;border-bottom:1px solid var(--line);border-radius:0}.operation-appointments .operation-image{width:100%;aspect-ratio:1;height:110px;border-radius:50%;font-size:42px;margin-top:24px}.operation-appointments .operation-content h3{font-size:21px}
.composition-collection .product-grid,.composition-living .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.composition-collection .product-art{aspect-ratio:3/4;border-radius:0}.composition-collection .comparison-card:nth-child(3n+2){padding-top:48px}.composition-collection .product-meta>span{text-transform:uppercase;letter-spacing:.14em;font-size:10px}.composition-collection .product-meta h3{font-family:Georgia,serif;font-size:24px}.composition-collection .composition-categories{justify-content:center;padding:28px 0;border-block:1px solid var(--line)}
.composition-menu .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.composition-menu .product-card{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;padding:22px 0;border-bottom:1px dashed var(--line)}.composition-menu .product-art{aspect-ratio:1;border-radius:50%}.composition-menu .product-meta{padding:0}.composition-menu .product-meta h3{font-size:22px}.composition-menu .product-art i{display:none}.composition-menu .composition-categories{background:var(--paper);padding-block:16px}
.composition-pantry .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.composition-pantry .product-art{border-radius:50% 50% 8px 8px}.composition-pantry .product-meta{text-align:center}.composition-pantry .composition-categories{border-bottom:3px double var(--line);padding-block:20px}
.composition-ritual .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.composition-ritual .product-art{border-radius:180px 180px 8px 8px;aspect-ratio:4/5}.composition-ritual .product-meta{text-align:center}.composition-ritual .product-meta h3{font:24px/1.25 Georgia,serif}.composition-ritual .section-title{text-align:center;flex-direction:column}
.composition-specifications .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.composition-specifications .comparison-card{border:1px solid var(--line);padding:16px;border-radius:4px}.composition-specifications .product-art{border-radius:0;aspect-ratio:4/3}.composition-specifications .product-meta{border-top:1px solid var(--line);margin-top:16px}.composition-specifications .comparison-card form .button{width:100%;box-sizing:border-box}.composition-specifications .composition-categories{background:var(--brand-tint);padding:20px}
.composition-living .comparison-card:first-child{grid-column:span 2}.composition-living .comparison-card:first-child .product-art{aspect-ratio:2/1}.composition-living .product-art{aspect-ratio:1; border-radius:4px}.composition-living .product-meta h3{font:26px/1.2 Georgia,serif}.composition-living .composition-categories{border-block:1px solid var(--line);padding-block:24px}
.composition-performance .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.composition-performance .product-art{clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%);border-radius:0;aspect-ratio:5/4}.composition-performance .product-meta h3{text-transform:uppercase;font-weight:800;font-size:22px}.composition-performance .section-title{border-left:6px solid var(--brand);padding-left:22px}
.composition-natural .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.composition-natural .product-art{border-radius:40% 40% 14px 14px;aspect-ratio:1}.composition-natural .comparison-card{padding:16px;background:var(--brand-tint);border-radius:24px}.composition-natural .product-meta{padding-bottom:0}
.composition-technical .composition-catalog-body,.composition-dense .composition-catalog-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px}.composition-technical .composition-categories,.composition-dense .composition-categories{display:flex;flex-direction:column;align-items:stretch;gap:6px;align-self:start}.composition-technical .chip,.composition-dense .chip{border-radius:3px}.composition-technical .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.composition-technical .product-card{display:grid;grid-template-columns:100px 1fr;gap:16px}.composition-technical .product-meta{padding:0}.composition-technical .comparison-card{border-bottom:1px solid var(--line);padding-bottom:20px}.composition-technical .product-art{aspect-ratio:1;border-radius:0;font-size:32px}.composition-technical .product-art i{display:none}.composition-dense .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.composition-dense .product-meta h3{font-size:17px}.composition-dense .product-art{aspect-ratio:1}
.composition-knowledge .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.composition-knowledge .product-card{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:24px}.composition-knowledge .product-art{aspect-ratio:2/3;border-radius:2px;box-shadow:7px 7px 0 var(--brand-soft)}.composition-knowledge .product-meta h3{font:24px/1.3 Georgia,serif}.composition-knowledge .product-art i{display:none}
.composition-occasions .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.composition-occasions .product-art{border-radius:var(--radius);aspect-ratio:1}.composition-occasions .comparison-card:nth-child(3n+1) .product-art{border-radius:50% 50% 8px 8px}.composition-occasions .product-meta{text-align:center}.composition-occasions .composition-categories{justify-content:center;border-block:1px dashed var(--line);padding-block:24px}
.composition-care .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.composition-care .product-card{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px}.composition-care .comparison-card{border:1px solid var(--line);border-radius:18px;padding:20px}.composition-care .product-art{aspect-ratio:1;border-radius:12px}.composition-care .product-art i{display:none}.composition-care .product-meta{padding:0}
.composition-experiences .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.composition-experiences .product-art{aspect-ratio:16/9;border-radius:var(--radius)}.composition-experiences .product-meta h3{font-size:26px}.composition-focus .product-grid{grid-template-columns:1fr;gap:48px}.composition-focus .product-card{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.composition-focus .product-meta h3{font-size:38px}.composition-focus .product-meta p:last-child{font-size:28px}.composition-focus .product-art{aspect-ratio:1}
@media(max-width:900px){.operation-offers{grid-template-columns:repeat(2,minmax(0,1fr))}.composition-technical .composition-catalog-body,.composition-dense .composition-catalog-body{grid-template-columns:1fr}.composition-technical .composition-categories,.composition-dense .composition-categories{flex-direction:row;flex-wrap:wrap}.composition-menu .product-grid,.composition-technical .product-grid,.composition-care .product-grid,.composition-knowledge .product-grid{grid-template-columns:1fr}.composition-pantry .product-grid,.composition-dense .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-rentals .operation-card{grid-template-columns:160px 1fr}.operation-rentals .operation-content{display:block}.operation-rentals .operation-purchase{align-items:flex-start}.operation-appointments .operation-offers{grid-template-columns:1fr}}
@media(max-width:600px){.storefront-composition .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.composition-collection .comparison-card:nth-child(3n+2){padding-top:24px}.composition-living .comparison-card:first-child{grid-column:span 2}.composition-collection .product-meta h3,.composition-living .product-meta h3,.composition-ritual .product-meta h3{font-size:19px}.composition-natural .comparison-card{padding:10px;border-radius:14px}.composition-specifications .comparison-card{padding:10px}.composition-menu .product-grid,.composition-technical .product-grid,.composition-care .product-grid,.composition-knowledge .product-grid,.composition-focus .product-grid,.composition-experiences .product-grid{grid-template-columns:1fr}.composition-menu .product-card{grid-template-columns:95px 1fr;gap:16px}.composition-knowledge .product-card{grid-template-columns:100px 1fr}.composition-care .product-card{grid-template-columns:90px 1fr;gap:16px}.composition-focus .product-card{grid-template-columns:1fr;gap:12px}.composition-focus .product-meta h3{font-size:28px}.operation-offers,.operation-events .operation-offers{grid-template-columns:1fr}.operation-lodging .operation-card,.operation-rentals .operation-card{grid-template-columns:1fr}.operation-lodging .operation-image,.operation-rentals .operation-image{height:220px;min-height:0;aspect-ratio:16/9}.operation-lodging .operation-content{padding:24px 0}.operation-experiences .operation-image{aspect-ratio:4/3}.operation-appointments .operation-card{grid-template-columns:80px 1fr}.operation-appointments .operation-image{height:80px;font-size:32px}.operation-appointments .operation-content{padding:24px 0 24px 16px}.operation-content dl{grid-template-columns:1fr;gap:4px}.operation-content dd{margin-bottom:8px}.operation-content h3{overflow-wrap:anywhere}.composition-categories>strong{line-height:1.5}}

/* Uploaded hero images keep each composition's frame and its accessible alternative. */
.hero-image-frame{position:relative;overflow:hidden}.hero-image-frame .custom-hero-image{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-image-frame:before,.hero-image-frame:after{display:none!important}.beauty-visual.hero-image-frame{height:340px}.library-art.hero-image-frame{min-height:200px}

/* Uploaded studio banners reach the section edges; generated artwork keeps its original frame. */
.library-studio:has(.hero-image-frame){padding:42px 0 0}
.library-studio:has(.hero-image-frame) .library-studio-copy{max-width:840px;padding-inline:40px}
.library-studio:has(.hero-image-frame) .library-studio-stage{max-width:none;width:100%}
.library-studio:has(.hero-image-frame) .library-studio-word{display:none}
.library-studio .library-art.hero-image-frame{height:auto;min-height:0;aspect-ratio:3/1}
@media(max-width:700px){
    .library-studio:has(.hero-image-frame){padding-top:36px}
    .library-studio:has(.hero-image-frame) .library-studio-copy{padding-inline:20px}
    .library-studio .library-art.hero-image-frame{aspect-ratio:3/2;min-height:210px}
}

/* A neutral two-tone focus ring remains visible with any merchant palette. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #172b24;outline-offset:3px;box-shadow:0 0 0 6px #fff}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#768079}
.button:not(.secondary){border:1px solid var(--brand-ink)}



@media(max-width:600px){.composition-performance .product-meta h3{font-size:18px;text-transform:none;line-height:1.4}}
