/* Yarnivelle luxe refinements v2 — private draft only. No JS framework. */
/* Higher-contrast text values for important small labels and captions. */
.yv-category-meta small{color:#535c53}
.yv-studio-promises small{color:#555a50}
.yv-studio-icon,.yv-studio-panel h2 em{color:#7a4c44}
.yv-faq-list summary span,.yv-faq-illustration{color:#77514a}
.yv-benefit-bar>div>span,.yv-faq-intro .yv-eyebrow{color:#77514a}
.yv-category-meta .yv-round-arrow{color:#40564a}
.yv-home .yv-preview-disclaimer{color:#565e55}

:root{--yv-rose:#b17f79;--yv-gold:#ad8b61;--yv-dark:#21382f}
.yv-site-header{position:sticky;top:0;z-index:90;box-shadow:0 6px 25px rgba(30,52,42,.025);backdrop-filter:saturate(1.05)}
.yv-announcement{background:#284d3e}
.yv-header-inner{min-height:88px}
.yv-wordmark,.yv-footer-logo{letter-spacing:-.075em}
.yv-brand-icon{width:36px;height:36px;border-radius:50%;background:#e5eae0;display:grid;place-items:center;line-height:1;font-size:23px}
.yv-main-nav a{position:relative;padding:11px 0}
.yv-main-nav a::after{position:absolute;content:"";bottom:6px;height:1px;left:0;right:100%;background:var(--yv-sage);transition:right .3s ease}
.yv-main-nav a:hover::after,.yv-main-nav a:focus-visible::after{right:0}
.yv-header-shop{font:700 11px/1 var(--yv-sans);background:var(--yv-sage);color:#fff!important;padding:14px 16px;border-radius:4px;display:inline-flex;align-items:center;gap:14px;letter-spacing:.035em;transition:background .2s ease,transform .2s ease;white-space:nowrap}
.yv-header-shop:hover{background:var(--yv-hover);color:#fff!important;transform:translateY(-1px)}
.yv-site-header svg{transition:transform .2s ease}
.yv-site-header .yv-cart-link:hover svg{transform:rotate(-5deg)}
.yv-home .yv-eyebrow{color:#507765;letter-spacing:.28em}
.yv-hero{position:relative;min-height:685px}
.yv-hero::before{content:"";position:absolute;pointer-events:none;right:-170px;top:16px;width:670px;height:650px;background:radial-gradient(circle at center,#ebe3d6 0%,#f9f6f0 62%,transparent 75%);opacity:.66}
.yv-hero-copy{animation:yv-fade-rise .8s .05s both}
.yv-hero h1{font-weight:500;letter-spacing:-.069em}
.yv-hero h1 em{font-weight:400}
.yv-hero .yv-script-accent{position:relative;display:inline-block;isolation:isolate}
.yv-hero .yv-script-accent::after{content:"";position:absolute;z-index:-1;left:-2px;right:-8px;bottom:.095em;height:.16em;background:#e9d4cfaa;transform:rotate(-1.5deg);border-radius:90%}
.yv-hero-copy>p{font-size:16px;max-width:455px;line-height:1.8}
.yv-hero-visual{animation:yv-fade-rise 1s .18s both}
.yv-hero-photo-wrap{box-shadow:0 30px 75px rgba(48,43,35,.12),0 1px 0 rgba(255,255,255,.65) inset;border:6px solid #f5f0e9;max-width:560px;transform:rotate(.3deg)}
.yv-hero-photo{transition:transform .9s cubic-bezier(.2,.7,.15,1)}
.yv-hero-visual:hover .yv-hero-photo{transform:scale(1.045)}
.yv-photo-label{letter-spacing:.27em;font-size:10px;bottom:30px;left:28px}
.yv-floating-note{box-shadow:0 8px 30px rgba(42,55,42,.1);z-index:3}
.yv-hero-snapshot{position:absolute;right:0;bottom:0;width:148px;padding:7px 7px 13px;background:#fffdf8;box-shadow:0 14px 36px #33423133;z-index:4;transform:rotate(7deg);border:1px solid #e2ddd2;display:flex;flex-direction:column;gap:8px;align-items:center}
.yv-hero-snapshot img{width:100%;height:125px;object-fit:cover;display:block;filter:saturate(.75)}
.yv-hero-snapshot span{font:italic 12px var(--yv-serif);color:#886a61;white-space:nowrap}
.yv-section{scroll-margin-top:90px}
.yv-collections{position:relative}
.yv-collections:before{content:"✿";position:absolute;top:30px;right:58px;font:400 44px var(--yv-serif);color:#d4bbaf;opacity:.7}
.yv-category-card{border-radius:4px;box-shadow:0 4px 16px rgba(60,55,40,.035)}
.yv-category-img{position:relative}
.yv-category-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(40,55,42,.06),transparent 55%);pointer-events:none}
.yv-category-meta{min-height:124px;padding:23px 25px 25px}
.yv-category-meta strong{font-size:clamp(21px,2vw,26px)}
.yv-category-meta small{letter-spacing:.18em}
.yv-round-arrow{border-color:#bfc3b8;transition:transform .25s ease,background .25s}
.yv-category-card:hover .yv-round-arrow{transform:translate(2px,-2px);background:#fffaf4}
.yv-featured{position:relative}
.yv-featured::before{content:"";height:1px;background:var(--yv-border);position:absolute;left:50px;right:50px;top:0}
.yv-featured .yv-featured-head{padding-top:30px}
.yv-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.yv-product-grid.yv-concept-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.yv-product-card{transition:transform .3s ease}
a.yv-product-card:hover{transform:translateY(-4px)}
.yv-product-image{border-radius:5px;box-shadow:0 12px 35px rgba(39,52,42,.055)}
.yv-product-pill{background:#fffbf1ee;letter-spacing:.18em;box-shadow:0 2px 8px #3b3e2a15}
.yv-product-info>span{line-height:1.4}
.yv-preview-disclaimer{margin-top:2px!important;margin-bottom:26px!important}
.yv-studio-feature{display:grid;grid-template-columns:.94fr 1.06fr;min-height:600px;margin:0 auto;max-width:1460px;background:#eee4d9}
.yv-studio-photo{position:relative;min-height:590px;overflow:hidden;background:#d8c9b9}
.yv-studio-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.79);transition:transform .9s cubic-bezier(.2,.7,.18,1)}
.yv-studio-photo:hover img{transform:scale(1.035)}
.yv-studio-caption{position:absolute;bottom:25px;left:34px;font:700 10px var(--yv-sans);letter-spacing:.19em;color:#fffbf3;text-shadow:0 1px 12px #28282899}
.yv-studio-panel{padding:65px clamp(40px,6vw,94px);display:flex;flex-direction:column;align-items:start;justify-content:center}
.yv-studio-panel h2{font:500 clamp(39px,4vw,58px)/1.18 var(--yv-serif);letter-spacing:-.045em;max-width:550px;margin:15px 0 20px;color:var(--yv-deep)}
.yv-studio-panel h2 em{font-weight:400;color:#a47871}
.yv-studio-panel>p{font:400 14px/1.88 var(--yv-sans);color:#626a61;max-width:470px;margin:0 0 25px}
.yv-studio-promises{width:100%;max-width:480px;border-top:1px solid #d2c8ba}
.yv-studio-promises>div{display:flex;align-items:center;gap:18px;border-bottom:1px solid #d2c8ba;padding:17px 0}
.yv-studio-icon{font:500 26px var(--yv-serif);color:#b4827a;min-width:40px;line-height:1;text-align:center}
.yv-studio-promises strong{display:block;font:700 13px/1.6 var(--yv-sans);color:#293f35}
.yv-studio-promises small{display:block;font:400 12px/1.6 var(--yv-sans);color:#777b70}
.yv-studio-link{display:inline-block;margin-top:32px}
.yv-story{background:#f2ede4}
.yv-story-visual img{filter:saturate(.74)}
.yv-story-copy p{font-size:14px}
.yv-faq{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:100px;padding-top:70px;padding-bottom:118px}
.yv-faq-intro h2{margin:15px 0 17px;max-width:430px}
.yv-faq-intro>p{font-size:14px;line-height:1.8;color:#626d64;max-width:395px}
.yv-faq-illustration{margin-top:40px;width:150px;height:150px;border:1px solid #d5c8b6;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font:400 42px/1.1 var(--yv-serif);color:#a5786f;transform:rotate(-8deg)}
.yv-faq-illustration span{font:700 10px/1.6 var(--yv-sans);letter-spacing:.15em;text-align:center;text-transform:uppercase;color:#857469}
.yv-faq-list{border-top:1px solid #d8d2c6}
.yv-faq-list details{border-bottom:1px solid #d8d2c6;padding:0}
.yv-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;cursor:pointer;font:600 14px/1.5 var(--yv-sans);padding:23px 4px;color:var(--yv-deep)}
.yv-faq-list summary::-webkit-details-marker{display:none}
.yv-faq-list summary span{font:400 28px/1 var(--yv-serif);color:#a57c73;transition:transform .2s ease;flex:none}
.yv-faq-list details[open] summary span{transform:rotate(45deg)}
.yv-faq-list details p{font:400 13px/1.9 var(--yv-sans);color:#69716b;margin:0;padding:0 44px 22px 4px}
.yv-faq-list summary:hover{color:var(--yv-sage)}
.yv-closing{background:linear-gradient(130deg,#2d5745,#264737 55%,#315742)}
.yv-closing:before,.yv-closing:after{opacity:.8}
.yv-footer{background:#213a2e}
.yv-footer-inner{gap:45px}
.yv-footer-logo{display:inline-flex;gap:11px;align-items:center}
.yv-footer a{transition:color .2s}
.yv-button{box-shadow:0 0 0 rgba(0,0,0,0)}
.yv-button-primary:hover{box-shadow:0 8px 25px rgba(27,68,47,.18)}
.woocommerce-page #main-container>main{background:var(--yv-cream)}
.woocommerce-page #main-container>main .woocommerce .woocommerce-message{border-radius:6px}
.woocommerce ul.products li.product{transition:transform .25s,box-shadow .25s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(45,56,43,.08)}
.woocommerce ul.products li.product a img{transition:transform .3s}
.woocommerce ul.products li.product:hover a img{transform:scale(1.02)}
.yv-download-assurance{margin:18px 0 10px;padding:15px 18px;border:1px solid #d5e1d5;background:#f2f6f0;color:#294f3d;border-radius:7px;font:500 12px/1.65 var(--yv-sans)}
.yv-download-assurance strong{display:block;font-weight:700;margin-bottom:2px}
/* Keyboard navigation and WordPress admin-bar offsets */
.yv-faq-list summary:focus-visible{outline:3px solid #ad817b;outline-offset:4px;border-radius:3px}
body.admin-bar .yv-site-header{top:32px}
@media(max-width:782px){body.admin-bar .yv-site-header{top:46px}}
@keyframes yv-fade-rise{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@media (min-width:1000px){.yv-header-shop{margin-left:11px}}
@media(max-width:1200px){.yv-header-shop{display:none!important}.yv-hero-snapshot{right:4px;width:128px}.yv-hero-snapshot img{height:104px}.yv-faq{gap:55px}.yv-studio-panel{padding:46px 42px}}
@media(max-width:860px){.yv-hero::before{right:-170px;width:480px}.yv-hero-snapshot{width:96px;right:-9px;padding:4px 4px 8px}.yv-hero-snapshot img{height:75px}.yv-hero-snapshot span{font-size:9px}.yv-studio-feature{grid-template-columns:1fr 1fr;min-height:510px}.yv-studio-photo{min-height:510px}.yv-studio-panel{padding:35px 28px}.yv-studio-panel h2{font-size:38px}.yv-faq{gap:36px}.yv-faq-intro h2{font-size:37px}.yv-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.yv-product-grid.yv-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.yv-site-header{backdrop-filter:none}.yv-header-inner{min-height:66px}.yv-brand-icon{width:30px;height:30px;font-size:20px}.yv-hero{padding-top:49px;padding-bottom:58px}.yv-hero::before{right:-220px;top:250px;width:500px;height:400px}.yv-hero-visual{padding-right:20px}.yv-hero-snapshot{right:0;bottom:5px;width:105px}.yv-hero-snapshot img{height:85px}.yv-category-meta{min-height:105px;padding:16px 12px}.yv-category-meta strong{font-size:16px}.yv-category-meta small{font-size:7.5px}.yv-collections::before{top:35px;right:25px;font-size:28px}.yv-featured::before{left:17px;right:17px}.yv-product-grid,.yv-product-grid.yv-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.yv-product-grid .yv-product-card:nth-child(n+3){display:block}.yv-preview-disclaimer{margin-bottom:16px!important}.yv-studio-feature{grid-template-columns:1fr}.yv-studio-photo{min-height:0;height:305px}.yv-studio-panel{padding:60px 24px 64px}.yv-studio-panel h2{font-size:42px}.yv-studio-promises>div{padding:15px 0}.yv-faq{display:block;padding-top:76px;padding-bottom:75px}.yv-faq-intro h2{font-size:40px}.yv-faq-intro>p{margin-bottom:25px}.yv-faq-illustration{display:none}.yv-faq-list summary{padding:19px 3px;font-size:13px}.yv-faq-list details p{font-size:12px}.yv-footer-wave{letter-spacing:2em}.yv-product-info>small{display:block}}
@media(max-width:385px){.yv-hero-snapshot{width:85px}.yv-hero-snapshot img{height:65px}.yv-hero-snapshot span{font-size:8px}.yv-brand-icon{display:none}.yv-studio-panel h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.yv-hero-copy,.yv-hero-visual{animation:none!important}.yv-site-header svg,.yv-faq-list summary span,.yv-product-card,.yv-hero-photo,.yv-studio-photo img,.yv-main-nav a::after,.yv-button-primary{transition:none!important}}


/* Color contrast refinements — small text must remain legible on pale surfaces. */
.yv-category-meta small{color:#535c53}
.yv-studio-promises small{color:#555a50}
.yv-studio-panel h2 em,.yv-studio-icon{color:#7a4c44}
.yv-faq-list summary span,.yv-faq-illustration{color:#77514a}
.yv-benefit-bar>div>span{color:#77514a}
.yv-home .yv-preview-disclaimer{color:#565e55}
