/* VILORIA — ATELIER / Edition 03
   An editorial luxury storefront built upon the previous Astra child-theme system.
   Editorial image URLs remain independently editable via WordPress Customizer.
   Local SVG illustrations only appear as graceful image-loading fallbacks. */
:root{--vi-cream:#FAF7F3;--vi-paper:#f8f3ec;--vi-porcelain:#fffdf9;--vi-burgundy:#633444;--vi-wine:#472631;--vi-champagne:#b99b77;--vi-ink:#30262a;--vi-muted:#746a68;--vi-content:1440px}
.viloria-site{background:var(--vi-paper)}
.viloria-container{width:min(var(--vi-content),calc(100% - 120px))}
.viloria-site ::selection{background:#d9bec2;color:#452530}
.viloria-overline{color:#8a5b69;letter-spacing:.28em;font-size:9px;font-weight:700}
.viloria-announcement{background:#482630;height:34px;color:#fcf0ec;gap:24px;letter-spacing:.16em}
.viloria-announcement__dot{color:#c9ab84}
.viloria-header{background:rgba(255,252,247,.97);border-color:#e9dbd1;box-shadow:0 6px 28px rgba(65,36,42,.025)}
.viloria-header__inner{min-height:90px}
.viloria-header__nav{gap:29px}
.viloria-header__nav a{color:#443239;letter-spacing:.105em}
.viloria-wordmark{gap:4px}
.viloria-wordmark__name{font-size:44px;letter-spacing:.23em;color:#58313f}
.viloria-wordmark__subtitle{letter-spacing:.4em;color:#7e5e63}
.viloria-header__actions{gap:27px}
.viloria-button{letter-spacing:.135em}
.viloria-button:hover{box-shadow:0 15px 28px rgba(62,28,38,.13)}
.viloria-button svg{transition:transform .35s ease}
/* Hero: intentionally art-directed 45/55 warm editorial / cinematic photography. */
.viloria-hero--slider{height:min(79vh,830px);min-height:675px;background:#f5eee7;color:#583440;display:block}
.viloria-hero__slide{background:#f7f1e9}
.viloria-hero__background{inset:0 0 0 45%;background:#604452 url('../images/fallback-hero.svg') center center/cover no-repeat;overflow:hidden}
.viloria-hero__background img{object-fit:cover;object-position:50% 37%;filter:saturate(.84) contrast(1.025);opacity:.98}
.viloria-hero__slide--2 .viloria-hero__background img{object-position:65% center;filter:saturate(.7) sepia(.13)}
.viloria-hero__slide--3 .viloria-hero__background img{object-position:25% center;filter:saturate(.81) sepia(.12)}
.viloria-hero__slide::before,.viloria-hero__slide--2::before,.viloria-hero__slide--3::before{inset:0 0 0 45%;background:linear-gradient(180deg,rgba(34,17,23,.04),rgba(44,20,28,.08) 55%,rgba(27,10,18,.5))!important}
.viloria-hero__slide::after{right:3.7%;top:4%;width:360px;height:360px;opacity:.55;border-color:rgba(249,231,205,.35);box-shadow:0 0 0 65px rgba(255,246,235,.012)}
.viloria-hero__content{width:min(var(--vi-content),calc(100% - 120px));height:100%;justify-content:flex-start;align-items:center;padding:0 0 50px;position:relative}
.viloria-hero__content::before{content:'VILORIA  /  MAISON DE BIJOUX';position:absolute;left:0;top:50px;white-space:nowrap;font:600 9px/1.5 var(--vi-sans);color:#a7847c;letter-spacing:.24em}
.viloria-hero__content-inner{width:44%;max-width:580px;margin:0;position:relative;z-index:4}
.viloria-hero__eyebrow{color:#976d79;letter-spacing:.17em;font-size:9px;margin-bottom:30px;max-width:430px}
.viloria-hero__eyebrow-line{background:#b99b77}
.viloria-hero--slider .viloria-hero__title{color:#613545;font-size:clamp(76px,6.5vw,118px);letter-spacing:-.05em;line-height:.88;margin:0 0 30px;max-width:590px;text-wrap:balance}
.viloria-hero--slider .viloria-hero__title em{color:#9b6674}
.viloria-hero--slider .viloria-hero__description{font:400 13px/1.95 var(--vi-sans);color:#716160;text-shadow:none;max-width:400px;margin-bottom:33px}
.viloria-hero--slider .viloria-hero__actions{gap:23px;align-items:center}
.viloria-button--hero{background:#623443;color:#fff!important;border-color:#623443;min-height:57px;padding:17px 21px;font-size:9px;letter-spacing:.1em;box-shadow:none}
.viloria-button--hero:hover{background:#472630;border-color:#472630}
.viloria-hero--slider .viloria-link-arrow{color:#663b48!important;border-color:#ab8790;font-size:9px;letter-spacing:.08em}
.viloria-hero__photoframe{position:absolute;right:6%;bottom:133px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:114px;height:140px;border:1px solid rgba(248,225,196,.45);color:#fff;pointer-events:none;background:rgba(61,31,39,.1);backdrop-filter:blur(1px)}
.viloria-hero__photoframe:before{content:'';position:absolute;inset:6px;border:1px solid rgba(248,225,196,.28)}
.viloria-hero__photoframe span{font:italic 84px/.9 var(--vi-serif);color:#f4e4dc}
.viloria-hero__photoframe small{margin-top:9px;letter-spacing:.22em;font:600 7px/1.3 var(--vi-sans);color:#f2e6df}
.viloria-hero__edition{position:absolute;left:48%;top:55px;z-index:3;color:#f4e5dc;font:600 9px/1.4 var(--vi-sans);letter-spacing:.2em;text-shadow:0 2px 10px #0006}
.viloria-hero__edition span{color:#dbc2a6;margin:0 9px}
.viloria-hero__side-note{left:auto;right:18px;color:#fff;letter-spacing:.2em}
.viloria-hero__bottom{height:82px;background:linear-gradient(90deg,#f0e6dc 45%,rgba(39,18,29,.84) 45%);border-top:1px solid rgba(81,46,49,.08)}
.viloria-hero__bottom-inner{gap:20px;position:relative}
.viloria-hero__counter,.viloria-hero__counter>span:last-child{color:#623543}
.viloria-hero__counter-rule{background:#ba9b94}
.viloria-hero__dot::before{background:#c9ada8}
.viloria-hero__dot span{background:#663b48}
.viloria-hero__pagination{margin-left:4px}
.viloria-hero__bottom-label{color:#e4d4cd;letter-spacing:.16em;margin-left:auto}
.viloria-hero__nav-button,.viloria-hero__pause{border-color:rgba(255,255,255,.55);background:#fff1;color:#fff}
.viloria-hero__discover{bottom:113px;left:max(60px,calc((100vw - var(--vi-content))/2));color:#805c65!important;text-shadow:none;font-size:9px}
.viloria-hero__discover span{color:#b99b77}
/* Service assurances are an elegant thin typographic band, not feature cards. */
.viloria-promises{background:#fffaf5;border-color:#e8dcd4}
.viloria-promises__inner{min-height:91px}
.viloria-promises__inner>div{font-size:9px;letter-spacing:.09em;color:#695354}
.viloria-promises__symbol{color:#ad8173;font-size:26px}
/* A soft oversized monogram and additional editorial balance for the intro. */
.viloria-intro{background:#fcf9f4;padding-block:126px 100px}
.viloria-intro__inner{grid-template-columns:25% 1fr;gap:8%;position:relative}
.viloria-intro__main h2{max-width:900px;font-size:clamp(65px,6.5vw,112px);line-height:.90;letter-spacing:-.04em;color:#59313d}
.viloria-intro__main h2 em{color:#996b78}
.viloria-intro__main p{font-size:13px;max-width:540px;color:#736665;line-height:2.1;margin-top:34px}
.viloria-intro__little-star{font:400 57px/1 var(--vi-serif);color:#bba182}
.viloria-intro__signature{font-size:82px;color:#bd9f9b}
/* High-end magazine layout: one portrait story, two horizontal category stories. */
.viloria-collections{background:#fcf9f4;padding-top:55px;padding-bottom:120px}
.viloria-section-heading h2{font-size:clamp(62px,5.7vw,95px);letter-spacing:-.044em;color:#5b3140}
.viloria-collections .viloria-section-heading{margin-bottom:48px}
.viloria-collections__grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);grid-template-rows:repeat(2,300px);gap:16px}
.viloria-collection-tile,.viloria-collection-tile--packs{min-width:0;grid-column:auto;height:100%;background:#6d4b56}
.viloria-collection-tile--femme{grid-row:1/3;background:#ac777d url('../images/fallback-femme.svg') center 50%/cover no-repeat}
.viloria-collection-tile--homme{grid-column:2;grid-row:1;background:#625963 url('../images/fallback-homme.svg') center center/cover no-repeat}
.viloria-collection-tile--packs{grid-column:2;grid-row:2;background:#a67683 url('../images/fallback-packs.svg') center center/cover no-repeat}
.viloria-collection-tile>img{filter:saturate(.82);opacity:.98;transition:transform 1.1s cubic-bezier(.16,.8,.24,1),filter 1s}
.viloria-collection-tile--femme>img{object-position:40% center}
.viloria-collection-tile--homme>img{object-position:center 35%}
.viloria-collection-tile--packs>img{object-position:center 55%}
.viloria-collection-tile:hover>img{transform:scale(1.065);filter:saturate(1)}
.viloria-collection-tile__shade{background:linear-gradient(0deg,rgba(33,15,25,.79),rgba(30,15,24,.03) 63%,rgba(30,15,24,.32))}
.viloria-collection-tile__number{left:29px;top:26px;padding-top:10px;font-size:8px}
.viloria-collection-tile__text{left:34px;bottom:33px;right:32px}
.viloria-collection-tile__text>span:first-child{color:#f5e2d7;letter-spacing:.09em;font-size:15px}
.viloria-collection-tile__text strong{font-size:clamp(53px,4.45vw,82px);line-height:.88}
.viloria-collection-tile--homme .viloria-collection-tile__text strong,.viloria-collection-tile--packs .viloria-collection-tile__text strong{font-size:clamp(45px,3.5vw,67px)}
.viloria-collection-tile__discover{font-size:9px;width:100%;min-width:0;max-width:330px}
.viloria-collection-tile--homme .viloria-collection-tile__text,.viloria-collection-tile--packs .viloria-collection-tile__text{bottom:24px}
.viloria-collection-tile--homme .viloria-collection-tile__discover,.viloria-collection-tile--packs .viloria-collection-tile__discover{margin-top:14px}
.viloria-collection-tile:after{content:'';position:absolute;inset:11px;border:1px solid rgba(255,255,255,.22);pointer-events:none;opacity:0;transform:scale(1.015);transition:opacity .5s,transform .5s}
.viloria-collection-tile:hover:after,.viloria-collection-tile:focus-visible:after{opacity:1;transform:scale(1)}
/* Subtle movement graphic between collections and curated product drops. */
.viloria-ribbon{overflow:hidden;background:#58313e;color:#f5e4d8;border-block:1px solid #70414e}
.viloria-ribbon__track{display:flex;align-items:center;justify-content:center;gap:32px;white-space:nowrap;min-height:70px;font:600 10px/1 var(--vi-sans);letter-spacing:.25em}
.viloria-ribbon__track i{font:400 23px/1 var(--vi-serif);font-style:normal;color:#d4b595}
/* Understated ecommerce presentation - no deceptive discounts or testimonials. */
.viloria-featured{background:#f5eee8;padding-block:121px 126px}
.viloria-featured--homme{background:#fbf7f2}
.viloria-featured .viloria-section-heading{margin-bottom:43px}
.viloria-featured .viloria-section-heading h2{margin-top:15px}
.viloria-featured__description{font-size:13px;max-width:505px}
.viloria-products-grid{grid-auto-columns:calc((100% - 63px)/4);gap:21px}
.viloria-product-card{position:relative}
.viloria-product-card__image{aspect-ratio:4/5;position:relative;background:#ddc4be url('../images/fallback-femme.svg') center 52%/cover no-repeat;border:1px solid #e7d9d0}
.viloria-product-card:nth-child(3n+2) .viloria-product-card__image{background-image:url('../images/fallback-homme.svg')}
.viloria-product-card:nth-child(3n+3) .viloria-product-card__image{background-image:url('../images/fallback-packs.svg')}
.viloria-product-card__image:after{border:7px solid rgba(255,251,246,.42);inset:8px;opacity:0;transition:opacity .4s}
.viloria-product-card__image:hover:after{opacity:1}
.viloria-product-card__image img{filter:saturate(.9);transition:transform .95s cubic-bezier(.19,.75,.18,1)}
.viloria-product-card__image:hover img{transform:scale(1.06)}
.viloria-product-card__info{padding:19px 0 0;gap:12px}
.viloria-product-card__info h3{font-size:12px;font-weight:600;color:#4c3438}
.viloria-product-card__price,.viloria-product-card__price *{font-size:12px;color:#8c5263}
.viloria-product-card__view{z-index:2;align-items:center;box-shadow:0 -10px 20px rgba(29,17,19,.06)}
.viloria-featured__empty{background:#eee4dc;grid-template-columns:48% 1fr;min-height:480px}
.viloria-featured__empty-photo{min-height:480px;background:#7d5862 url('../images/fallback-femme.svg') center/cover no-repeat}
.viloria-featured--homme .viloria-featured__empty-photo{background:#63585d url('../images/fallback-homme.svg') center/cover no-repeat}
.viloria-featured__empty-copy h3{color:#58303f}
.viloria-carousel-controls__arrow{border:1px solid #a98389;border-radius:50%;width:48px;height:48px}
/* Editorial interiors / brand image. */
.viloria-editorial{min-height:660px;grid-template-columns:1.04fr .96fr}
.viloria-editorial__photo{background:#59404b url('../images/fallback-homme.svg') center center/cover no-repeat}
.viloria-editorial__photo:after{background:linear-gradient(0deg,rgba(24,13,18,.45),transparent 60%)}
.viloria-editorial__body{background:#4b2632;padding:80px 11%}
.viloria-editorial__body h2{font-size:clamp(81px,7vw,122px);line-height:.83}
.viloria-editorial__star{color:#d6b38b}
.viloria-editorial__body p{line-height:2.1}
.viloria-manifesto{padding:111px 0 115px;background:#fcf9f4;text-align:center}
.viloria-manifesto__inner{display:flex;flex-direction:column;align-items:center}
.viloria-manifesto p{font:400 clamp(56px,5.4vw,92px)/.96 var(--vi-serif);letter-spacing:-.044em;color:#603746;margin:17px 0 21px}
.viloria-manifesto p em{color:#a47584}
.viloria-manifesto__rule{font:400 30px/1 var(--vi-serif);color:#c4a481}
.viloria-gifting{background:#efe2db;padding-block:130px}
.viloria-gifting__text h2{color:#5d3442;font-size:clamp(72px,6.6vw,108px)}
.viloria-gifting__art{background:#9c6674 url('../images/fallback-packs.svg') center/cover no-repeat;aspect-ratio:1.13}
.viloria-gifting__art:after{background:linear-gradient(to top,rgba(31,14,21,.55),transparent 50%)}
.viloria-gifting__art img{filter:saturate(.83)}
.viloria-gifting__art:hover img{filter:saturate(1)}
.viloria-engagements{background:#fcfaf7;padding-block:126px}
.viloria-engagement{border-color:#d8c6c1;transition:background .3s,transform .3s}
.viloria-engagement:hover{transform:translateY(-5px);background:#f4eee9}
.viloria-faq{background:#f3eae4;padding-block:135px}
.viloria-faq summary{transition:color .25s,padding-left .25s}
.viloria-faq summary:hover{padding-left:6px}
.viloria-final-cta{background:#532b38;padding-block:115px}
.viloria-final-cta h2{font-size:clamp(72px,6.5vw,115px)}
.viloria-footer{background:#2b1d22;color:#fff3ef}
/* A failed remote test image should not show a broken-image icon over the fallback illustration. */
.viloria-home img.viloria-image-failed{visibility:hidden!important}
@media(max-width:1300px){
 .viloria-container{width:calc(100% - 76px)}
 .viloria-hero__content{width:calc(100% - 76px)}
 .viloria-hero__content-inner{width:43%;max-width:590px}
 .viloria-hero--slider .viloria-hero__title{font-size:clamp(71px,7.3vw,109px)}
 .viloria-hero__discover{left:38px}
 .viloria-collections__grid{grid-template-rows:repeat(2,270px)}
}
@media(max-width:1050px){
 .viloria-hero--slider{height:710px;min-height:620px}
 .viloria-hero__background,.viloria-hero__slide::before,.viloria-hero__slide--2::before,.viloria-hero__slide--3::before{left:48%}
 .viloria-hero__content-inner{width:46%}
 .viloria-hero--slider .viloria-hero__title{font-size:clamp(67px,7.5vw,90px)}
 .viloria-hero__bottom{background:linear-gradient(90deg,#f0e6dc 48%,rgba(39,18,29,.84) 48%)}
 .viloria-hero__bottom-label{display:none}
 .viloria-hero__navigation{margin-left:auto}
 .viloria-hero__edition{left:51%}
 .viloria-collections__grid{grid-template-rows:repeat(2,260px)}
 .viloria-collection-tile__text strong{font-size:clamp(55px,5.7vw,77px)}
 .viloria-collection-tile--homme .viloria-collection-tile__text strong,.viloria-collection-tile--packs .viloria-collection-tile__text strong{font-size:clamp(47px,4.3vw,60px)}
 .viloria-editorial__body{padding:65px 8%}
}
@media(max-width:760px){
 .viloria-container{width:calc(100% - 40px)}
 .viloria-announcement{height:31px;gap:11px;font-size:7px}
 .viloria-header__inner{min-height:75px}
 .viloria-wordmark__name{font-size:32px}
 .viloria-header__actions{gap:16px}
 .viloria-hero--slider{height:787px;min-height:787px;max-height:none;background:#f7f1e9}
 .viloria-hero__slide{background:#f7f1e9}
 .viloria-hero__background{inset:0 0 auto;height:335px;left:0;right:0;background-position:center 42%}
 .viloria-hero__background img{object-position:center 38%}
 .viloria-hero__slide::before,.viloria-hero__slide--2::before,.viloria-hero__slide--3::before{inset:0 0 auto!important;left:0;height:335px;background:linear-gradient(0deg,rgba(30,15,23,.28),transparent 75%)!important}
 .viloria-hero__slide::after{width:230px;height:230px;right:-110px;top:-125px;border-color:#fff4}
 .viloria-hero__photoframe{right:24px;top:210px;bottom:auto;width:72px;height:89px}
 .viloria-hero__photoframe span{font-size:50px}
 .viloria-hero__photoframe small{font-size:5px}
 .viloria-hero__edition{left:20px;top:26px;font-size:7px}
 .viloria-hero__content{width:calc(100% - 42px);height:100%;padding:363px 0 77px;display:flex;align-items:center;justify-content:flex-start}
 .viloria-hero__content::before{display:none}
 .viloria-hero__content-inner{width:100%;max-width:none;margin:0}
 .viloria-hero__eyebrow{font-size:8px;letter-spacing:.12em;margin:0 0 14px;gap:10px}
 .viloria-hero--slider .viloria-hero__title{font-size:clamp(62px,12.5vw,80px);line-height:.88;color:#623a47;margin-bottom:18px;max-width:540px;letter-spacing:-.044em}
 .viloria-hero--slider .viloria-hero__description{color:#786966;font-size:11px;line-height:1.75;margin:0 0 20px;max-width:460px}
 .viloria-hero--slider .viloria-hero__actions{gap:14px}
 .viloria-button--hero{min-height:46px;padding:12px 14px;font-size:8px;gap:12px}
 .viloria-button--hero svg{width:15px}
 .viloria-hero--slider .viloria-link-arrow{color:#754655!important;font-size:8px;padding-bottom:5px;gap:9px}
 .viloria-hero__bottom{height:62px;background:#f0e6dc;border-top-color:#dccac0}
 .viloria-hero__bottom-inner{width:calc(100% - 40px);gap:12px}
 .viloria-hero__counter,.viloria-hero__counter>span:last-child{color:#633b47;font-size:11px}
 .viloria-hero__navigation{margin-left:auto;gap:4px}
 .viloria-hero__nav-button,.viloria-hero__pause{color:#633747;border-color:#ae9298;background:transparent;width:29px;height:32px;font-size:18px}
 .viloria-hero__pause{width:30px;margin-left:0;font-size:11px}
 .viloria-hero__pagination{gap:0;margin-left:0}
 .viloria-hero__dot{width:20px}
 .viloria-hero__discover,.viloria-hero__side-note{display:none}
 .viloria-promises__inner{min-height:0;grid-template-columns:1fr;display:grid;padding:8px 0}
 .viloria-promises__inner>div{border:0!important;justify-content:center;gap:11px;padding:11px 0!important;font-size:8px}
 .viloria-promises__inner>div+div{border-top:1px solid #e7ddd6!important}
 .viloria-intro{padding:82px 0 66px}
 .viloria-intro__inner{display:block}
 .viloria-intro__main h2{font-size:clamp(59px,11.6vw,83px)}
 .viloria-intro__main p{font-size:12px;line-height:1.95}
 .viloria-intro__signature{margin:17px 0 0;font-size:65px}
 .viloria-collections{padding:20px 0 78px}
 .viloria-collections .viloria-section-heading{margin-bottom:25px}
 .viloria-section-heading h2{font-size:clamp(55px,10.2vw,75px)}
 .viloria-collections__grid{grid-template-columns:1fr;grid-template-rows:470px 310px 310px;gap:13px}
 .viloria-collection-tile--femme{grid-column:1;grid-row:1}
 .viloria-collection-tile--homme{grid-column:1;grid-row:2}
 .viloria-collection-tile--packs{grid-column:1;grid-row:3}
 .viloria-collection-tile__text strong{font-size:clamp(58px,12vw,80px)}
 .viloria-collection-tile--homme .viloria-collection-tile__text strong,.viloria-collection-tile--packs .viloria-collection-tile__text strong{font-size:clamp(55px,10vw,67px)}
 .viloria-collection-tile__text{left:22px;right:22px;bottom:22px}
 .viloria-collection-tile__number{left:23px;top:20px}
 .viloria-ribbon__track{min-height:57px;font-size:8px;gap:19px}
 .viloria-featured{padding-block:76px 86px}
 .viloria-products-grid{grid-auto-columns:calc((100% - 12px)/2);gap:12px}
 .viloria-product-card__info h3{font-size:11px}
 .viloria-product-card__price,.viloria-product-card__price *{font-size:11px}
 .viloria-featured__empty{min-height:0;grid-template-columns:1fr;gap:0;padding:0}
 .viloria-featured__empty-photo{min-height:300px;height:300px}
 .viloria-featured__empty-copy{padding:38px 25px 42px}
 .viloria-featured__empty-copy h3{font-size:64px}
 .viloria-featured__empty-copy p{font-size:11px}
 .viloria-carousel-controls__arrow{width:40px;height:40px}
 .viloria-editorial{grid-template-columns:1fr;min-height:0}
 .viloria-editorial__photo{height:375px}
 .viloria-editorial__body{padding:73px 27px 85px}
 .viloria-editorial__body h2{font-size:clamp(74px,14vw,94px)}
 .viloria-manifesto{padding:76px 0 82px}
 .viloria-manifesto p{font-size:clamp(51px,10.6vw,74px)}
 .viloria-gifting{padding-block:83px}
 .viloria-gifting__inner{grid-template-columns:1fr;gap:40px}
 .viloria-gifting__text h2{font-size:clamp(67px,12vw,92px)}
 .viloria-gifting__art{aspect-ratio:1.09}
 .viloria-engagements{padding-block:80px}
 .viloria-engagement:hover{transform:none}
 .viloria-faq{padding-block:79px}
 .viloria-final-cta{padding-block:80px}
 .viloria-final-cta h2{font-size:clamp(57px,11vw,83px)}
}
@media(max-width:390px){
 .viloria-hero--slider{height:777px;min-height:777px}
 .viloria-hero__content{padding-top:351px}
 .viloria-hero__background,.viloria-hero__slide::before,.viloria-hero__slide--2::before,.viloria-hero__slide--3::before{height:322px}
 .viloria-hero--slider .viloria-hero__title{font-size:60px}
 .viloria-hero--slider .viloria-link-arrow{font-size:7px}
 .viloria-collection-tile--femme{height:100%}
}
@media(prefers-reduced-motion:reduce){
 .viloria-hero__background img{transform:none!important}
 .viloria-collection-tile img,.viloria-product-card img{transition:none!important}
}
