/* Golden-ratio spacing and consistent component geometry, independent of colour. */
:root{--roma-space-1:8px;--roma-space-2:13px;--roma-space-3:21px;--roma-space-4:34px;--roma-space-5:55px;--roma-space-6:89px}
body.roma-store{overflow-x:clip}
html{overflow-x:clip}
.roma-store .header__heading-link .roma-logo{width:176px}
.roma-store .header__seo-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.roma-store .header__heading-link{padding:0;display:inline-flex;align-items:center;justify-content:center}
.roma-store :is(.find-perfect-blend-section,.hair-skin-care-section,.radical-transparency-section-pt,.reviews-section-pt){padding-top:var(--roma-space-5);padding-bottom:var(--roma-space-5)}
.roma-store .roma-collection-heading{padding-top:var(--roma-space-4)}
.roma-store .roma-collection-layout{gap:var(--roma-space-4);padding-top:var(--roma-space-4);padding-bottom:var(--roma-space-5)}
.roma-store .roma-collection #product-grid{gap:var(--roma-space-4) var(--roma-space-3);align-items:stretch}
.roma-store .roma-card :is(.product_card,.card-wrapper,.card){height:100%;display:flex;flex-direction:column}
.roma-store .roma-card .product_card{padding:0!important}
.roma-store .roma-card .card__inner.ratio{aspect-ratio:1!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;margin:0;flex:none;min-height:0}
.roma-store .roma-card .card__inner.ratio::before{display:none}
.roma-store .roma-card .card__content{display:flex;flex-direction:column;flex:1;gap:var(--roma-space-2);padding-top:var(--roma-space-2)}
.roma-store .roma-card .card__information{display:grid;grid-template-rows:20px 61px 24px;gap:var(--roma-space-1);flex:none;padding:0 var(--roma-space-1);width:100%;min-width:0}
.roma-store .roma-card .roma-reference-rating{height:20px;min-height:20px;margin:0;font-size:12px;line-height:20px;white-space:nowrap}
.roma-store .roma-card .card__heading{font-size:14px;line-height:1.45;height:61px;min-height:0;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;align-self:start}
.roma-store .roma-card .price{font-size:14px;line-height:24px;margin:0;align-self:center}
.roma-store .roma-card-form{display:grid;grid-template-rows:44px 44px;gap:var(--roma-space-2);margin-top:auto}
.roma-store .roma-card-form .roma-variant{grid-row:1;min-height:44px;height:44px;font-size:12px;padding:8px 12px;background:var(--roma-surface)}
.roma-store .roma-card-form .button{grid-row:2;min-height:44px;height:44px;font-size:12px;padding:8px 12px}
.roma-store .roma-card .roma-badge{top:var(--roma-space-2);left:var(--roma-space-2);transform:none;font-size:9px;padding:4px 10px}
.roma-store .roma-card .roma-heart{top:var(--roma-space-2);right:var(--roma-space-2);width:32px;height:32px}
.roma-collection-promo{grid-column:1/-1;list-style:none;min-width:0;margin:var(--roma-space-2) 0}
.roma-collection-promo>aside{display:grid;grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);overflow:hidden;border-radius:16px;background:var(--roma-wash)}
.roma-promo-image{display:block;min-height:260px}
.roma-promo-image img{display:block;width:100%;height:100%;object-fit:cover}
.roma-promo-copy{padding:var(--roma-space-4);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--roma-space-2)}
.roma-promo-copy h2{font-size:clamp(24px,2.5vw,34px);line-height:1.15;margin:0}
.roma-promo-copy p{font-size:16px;line-height:1.5;margin:0}
.roma-promo-copy strong{font-size:18px;font-variant-numeric:tabular-nums}
.roma-promo-copy .button{margin-top:var(--roma-space-1);min-height:44px}
.roma-store .keen-slider{touch-action:pan-y;min-width:0}
.roma-store :is(.hsc-slider-wrapper,.rv-slider-wrapper){min-width:0}
.roma-store .hsc-slider-wrapper .keen-slider{padding-left:0!important}
.roma-store .hsc-product-slide{align-self:stretch}
.roma-store .hsc-product-card{height:100%}
.roma-store .reviews-slider-pt.keen-slider{display:flex!important;column-count:unset;column-gap:0!important;overflow:hidden;align-items:stretch;height:auto!important}
.roma-store .reviews-slider-pt .review-slide-pt{width:clamp(260px,82vw,340px)!important;min-width:clamp(260px,82vw,340px)!important;max-width:clamp(260px,82vw,340px)!important;margin-bottom:0;align-self:stretch!important;flex-shrink:0}
.roma-store .review-card-pt{height:100%;display:flex;flex-direction:column}
.roma-store .review-content-pt{flex:1}
.roma-store .roma-video-section{padding:var(--roma-space-5) 0;background:var(--roma-canvas)}
.roma-video-section h2{text-align:center;font-size:clamp(26px,3vw,40px);line-height:1.2;margin:0 0 var(--roma-space-4)}
.roma-slider-wrap{position:relative;min-width:0}
.roma-video-slider{display:flex;overflow:hidden;align-items:stretch}
.roma-video-card{width:clamp(260px,78vw,300px);min-width:clamp(260px,78vw,300px);max-width:clamp(260px,78vw,300px);flex-shrink:0;background:var(--roma-surface);border:1px solid var(--roma-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.roma-video-media{position:relative;aspect-ratio:300/370;background:var(--roma-wash);flex:none}
.roma-video-media video{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.roma-video-controls{position:absolute;left:13px;right:13px;bottom:13px;display:flex;justify-content:space-between;gap:8px}
.roma-video-controls button{min-height:36px;border:0;border-radius:24px;padding:8px 12px;font-size:12px;line-height:1.2;background:var(--roma-canvas);color:var(--roma-ink)}
.roma-video-info{display:flex;flex-direction:column;flex:1;padding:var(--roma-space-2) var(--roma-space-3);gap:var(--roma-space-2)}
.roma-video-info>a{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;text-decoration:none;color:var(--roma-ink);font-size:14px;font-weight:500;line-height:1.4;min-height:59px}
.roma-video-info>a img{width:52px;height:52px;object-fit:contain;flex:none;border:1px solid var(--roma-border);border-radius:5px}
.roma-video-info p{margin:0;font-size:14px;line-height:1.4}
.roma-video-info form{margin-top:auto}
.roma-video-info .button{min-height:44px;font-size:12px}
.roma-slider-controls{display:flex;justify-content:center;gap:var(--roma-space-2);padding-top:var(--roma-space-3)}
.roma-slider-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--roma-border);border-radius:50%;font-size:22px;line-height:1;background:var(--roma-surface);color:var(--roma-brand);transition:background-color .18s ease,opacity .18s ease}
.roma-slider-controls button:hover:not(:disabled){background:var(--roma-wash)}
.roma-slider-controls button:disabled{opacity:.35;cursor:default}
.roma-store :is(.hsc-arrow,.rv-arrow):disabled{opacity:.35;pointer-events:none}
.roma-scroll-wrap{min-width:0}
.roma-scroll-wrap .roma-slider-controls{padding-top:var(--roma-space-2)}
.roma-category-rail{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.roma-category-rail>a{scroll-snap-align:start;user-select:none}
.roma-store .roma-collection>.roma-scroll-wrap{max-width:1440px;margin-inline:auto;padding-inline:40px}
.roma-store .roma-category-rail{margin-bottom:0}
.roma-store .carousel-wrapper .card-wrapper-hp{padding:21px 13px!important;height:100%;min-height:0!important}
.roma-store .carousel-wrapper .badge{white-space:nowrap;font-size:8px!important;letter-spacing:0!important;padding:4px 8px!important;min-width:0}
.roma-store .carousel-wrapper .card__heading{font-size:14px;line-height:1.4;min-height:59px}
.roma-recent-slide{width:256px;min-width:256px;max-width:256px;flex-shrink:0;padding:13px 0}
.roma-store .rv-keen-slider{align-items:stretch;overflow:hidden}
@media(min-width:1200px){.roma-store .roma-pdp-grid{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:var(--roma-space-5)}}
@media(max-width:989px){.roma-store .header__heading-link .roma-logo{width:112px}.roma-promo-copy{padding:var(--roma-space-3)}}
@media(max-width:749px){
 .roma-store :is(.find-perfect-blend-section,.hair-skin-care-section,.radical-transparency-section-pt,.reviews-section-pt,.roma-video-section){padding-top:var(--roma-space-4);padding-bottom:var(--roma-space-4)}
 .roma-store .roma-collection #product-grid{gap:var(--roma-space-4) var(--roma-space-2)}
 .roma-store .roma-card .card__information{padding:0;grid-template-rows:20px 59px 24px}
 .roma-store .roma-card .card__heading{font-size:14px;height:59px;line-height:1.4}
 .roma-store .roma-card .roma-reference-rating{font-size:10px}
 .roma-store .roma-card .roma-badge{font-size:8px;left:8px;top:8px;padding:4px 8px}
 .roma-store .roma-card .roma-heart{width:28px;height:28px;top:8px;right:8px}
 .roma-collection-promo>aside{grid-template-columns:1fr}
 .roma-promo-image{min-height:0;aspect-ratio:1.618}
 .roma-promo-copy{padding:var(--roma-space-3)}
 .roma-store .roma-collection-layout{padding-top:var(--roma-space-3)}
 .roma-store .roma-collection>.roma-scroll-wrap{padding-inline:20px}
 .roma-store .roma-product-recommendations>.product-grid{gap:var(--roma-space-4) var(--roma-space-2)}
 .roma-video-section h2{margin-bottom:var(--roma-space-3)}
}
@media(max-width:389px){.roma-store .header__heading-link .roma-logo{width:106px}.roma-store .roma-card-form .button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.roma-store *, .roma-store *::before,.roma-store *::after{scroll-behavior:auto!important}}
