/*
Theme Name: Yohann
Description: 1:1 clone of yohann.com Shopify theme for WooCommerce
Version: 1.0
*/
@font-face{font-family:Figtree;font-weight:400;src:url(assets/figtree-400.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:600;src:url(assets/figtree-600.woff2) format("woff2")}
@font-face{font-family:Figtree;font-weight:700;src:url(assets/figtree-700.woff2) format("woff2")}
:root{--bg:#fafafa;--green:#e3ece5;--grey:#e2e2e2;--text:#1c1c1c}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Figtree,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{max-width:1440px;margin:0 auto;padding:0 40px}
.announce{background:var(--green);font-size:12px;text-align:center;padding:9px 40px;position:relative}
.announce .cur{position:absolute;right:40px;top:9px}
.site-header{background:var(--bg);border-bottom:1px solid #eee;position:sticky;top:0;z-index:50}
.site-header .in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:60px;padding:0 40px}
.nav{display:flex;gap:28px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.nav>li{list-style:none;position:relative}.nav ul{padding:0;margin:0}
.nav>li>a{padding:20px 0;display:block}.nav>li:first-child>a{border-bottom:1px solid currentColor;padding-bottom:2px}
.nav .sub{display:none;position:absolute;left:-20px;top:100%;background:#fff;padding:14px 20px;min-width:260px;box-shadow:0 4px 20px rgba(0,0,0,.08);text-transform:none;letter-spacing:0}
.nav li:hover .sub{display:block}.nav .sub a{display:block;padding:5px 0}
.logo img{height:38px;width:auto}
.icons{display:flex;justify-content:flex-end;gap:18px}.icons svg{width:18px;height:18px}
.hero{position:relative;height:560px;overflow:hidden;background:#ddd}.hero video,.hero img{width:100%;height:100%;object-fit:cover}
.quote{text-align:center;padding:30px 20px 40px}.quote h2{font-style:italic;font-weight:700;font-size:17px;margin:0 0 20px}.quote p{font-size:12px;margin:0}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:60px 40px;max-width:1200px;margin:0 auto;padding:40px 40px 80px}
.feat .it{text-align:center}.feat .it img{width:100%;max-width:360px;margin:0 auto;aspect-ratio:1;object-fit:contain}
.feat .it.c{grid-column:1/-1}.feat h3{font-size:15px;font-weight:600;margin:14px 0 4px}.feat .lm{font-size:12px;text-decoration:underline}
.press{background:var(--green);text-align:center;padding:60px 20px}.press h2{font-size:22px;font-weight:600;margin:0 0 30px}
.press .logos{display:flex;justify-content:center;align-items:center;gap:80px}.press img{height:28px;width:auto;filter:grayscale(1)}
.reviews{text-align:center;padding:70px 20px}.reviews h2{font-size:24px;font-weight:600;margin:0}.stars{color:#ffa128;letter-spacing:2px}
.rv{display:flex;gap:60px;max-width:820px;margin:40px auto 0;text-align:left;font-size:13px}.rv .who{min-width:140px}.rv b{display:block}
.made{background:var(--green);padding:70px 0}.made .in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1240px;margin:0 auto;padding:0 40px}
.made h2{font-size:30px;font-weight:700;margin:0 0 20px}.made p{font-size:13px}.made .t{text-align:right;max-width:440px;justify-self:end}.made a{font-size:12px;text-decoration:underline;text-transform:uppercase}
.site-footer{background:var(--grey);padding:60px 0 0;font-size:13px}
.site-footer .cols{display:grid;grid-template-columns:1.4fr .7fr 1fr 1.3fr;gap:30px;padding:0 40px 40px}
.site-footer h4{font-size:14px;font-weight:600;margin:0 0 14px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0 0 6px;color:#555}
.site-footer input{width:100%;max-width:300px;padding:10px;border:0;background:#fff;margin:10px 0}.btn,.site-footer button,.single_add_to_cart_button,.button{background:#000!important;color:#fff!important;border:0;padding:10px 18px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:0!important;font-family:inherit}
.site-footer .bot{border-top:1px solid #ccc;padding:20px 40px 30px;display:flex;justify-content:space-between;font-size:11px}
/* Woo archive */
.woo-wrap{max-width:1440px;margin:0 auto;padding:30px 40px 80px}
.woocommerce-products-header h1,.page-title{text-align:center;font-size:28px;font-weight:600;margin:20px 0 60px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(2,1fr);gap:40px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;text-align:center}
.woocommerce ul.products li.product img{aspect-ratio:1;object-fit:contain;max-width:400px;margin:0 auto 10px!important}
.woocommerce ul.products li.product h2{font-size:13px!important;font-weight:400;padding:0!important}
.woocommerce ul.products li.product .price{color:var(--text)!important;font-size:12px!important}
.woocommerce ul.products li.product .button,.woocommerce-result-count,.woocommerce-ordering{display:none!important}
/* single */
.single-product .woo-wrap{max-width:1300px}
.woocommerce div.product{display:grid;grid-template-columns:1.45fr 1fr;gap:50px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important}
.woocommerce div.product .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.woocommerce div.product .woocommerce-product-gallery__image:first-child{grid-column:1/-1}
.woocommerce div.product .woocommerce-product-gallery__image img{aspect-ratio:1;object-fit:cover;width:100%}
.woocommerce div.product .product_title{font-size:26px;font-weight:600;margin:0 0 6px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--text)!important;font-size:22px!important}
.woocommerce div.product .related,.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product form.cart .variations select{display:none}
.sw{display:flex;gap:8px;flex-wrap:wrap}.sw button{border:1px solid #ccc;background:#fff;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer}.sw button.on{border-color:#000}
.woocommerce div.product form.cart .button{width:100%;padding:14px;margin-top:10px}
.woocommerce div.product form.cart div.quantity{display:none}
.usp{background:#eee;padding:14px 20px;margin:16px 0;font-size:13px}.usp li{margin:2px 0}
.page-wrap{max-width:900px;margin:0 auto;padding:40px 40px 80px}.page-wrap h1{text-align:center;font-weight:600}
.woocommerce-breadcrumb{display:none}
.woocommerce div.product .woocommerce-product-gallery__image img{width:100%!important}
.reset_variations{display:none!important}.woocommerce div.product form.cart .variations th.label{font-size:13px}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:0}
.woocommerce div.product form.cart .variations{margin-bottom:14px}
.woocommerce div.product div.summary{position:sticky;top:80px;align-self:start}
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2){width:auto!important;display:block!important;padding:0!important}
.woocommerce div.product form.cart .quantity,.woocommerce .quantity{display:none!important}
.woocommerce div.product form.cart .variations th.label label{font-weight:600}
.woocommerce div.product p.price{font-size:18px!important}
.yacc{border-top:1px solid #ddd;margin-top:24px}.yacc details{border-bottom:1px solid #ddd;padding:14px 0;font-size:13px}
.yacc summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.yacc summary::after{content:"+"}.yacc details[open] summary::after{content:"−"}
.yacc .rte{padding-top:8px}.yacc a{text-decoration:underline}
.ysec{padding:70px 0}.ysec.alt{background:var(--green)}
.ysec.iwt .in{max-width:1300px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ysec.iwt .im img{width:100%;max-width:700px;height:auto}.ysec.iwt.rev .im{order:2}.ysec.iwt.rev .im img{margin-left:auto}
.ysec .tx{max-width:440px}.ysec h2,.ysec h3{font-size:24px;font-weight:600;margin:0 0 14px;line-height:1.3}.ysec p{font-size:13px;margin:0 0 10px}.ysec a{text-decoration:underline}
.ysec.rt .in{max-width:760px;margin:0 auto;padding:0 40px;text-align:center}.ysec.rt h2{font-size:26px;letter-spacing:.02em}
.ysec.rt img{display:inline-block;margin:10px auto}
.ysec.hr{padding:0}.ysec.hr .in{max-width:1300px;margin:0 auto;padding:0 40px}
.single-product .woo-wrap{padding-bottom:40px}
/* summary */
.yrating{font-size:13px;margin:0 0 14px}.yrating .stars{color:#000;letter-spacing:1px}.yrating a{text-decoration:underline;color:#666}
.yintro{font-weight:600;font-size:14px;margin:14px 0 10px}
ul.usp{background:#ebebeb;padding:8px 20px 8px 40px;margin:0 0 12px;font-size:13px;list-style:disc}
.yret{display:flex;gap:8px;align-items:center;font-size:13px;margin:8px 0}
.yquote{background:#ebebeb;color:#525252;padding:12px 16px;font-size:13px;margin:10px 0 16px}
.ycredit{font-size:12px;color:#444;background:#f1f1f1;padding:8px 12px;border-radius:20px}
.ytiers{margin:16px 0 6px}.yth{font-weight:700;font-size:14px;margin:0 0 8px}
.ytier{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;border:1px solid #ccc;border-radius:6px;padding:12px 14px;margin:0 0 10px;font-size:13px;cursor:pointer;background:#fff}
.ytier.on{border:2px solid #1f9d55;background:#eefaf2}.ytier .tag{background:#e7f6ec;color:#1f7a44;font-size:11px;padding:2px 6px;border-radius:3px;justify-self:start}
.ytier .pr{font-weight:600;text-align:right}.ytier .was{grid-column:4;font-size:11px;color:#999;text-align:right}.ytier .best{position:absolute;top:-9px;left:10px;background:#e85a1d;color:#fff;font-size:10px;padding:1px 6px;border-radius:3px}
.payicons{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.payicons svg{width:38px;height:24px}.payicons ul{display:flex;flex-wrap:wrap;gap:5px;list-style:none;padding:0;margin:0}
.ystock{font-size:13px;margin:16px 0 6px}.ysku{font-size:13px}.ysku .sku{color:#555;margin-left:6px}.ydesc{background:#ebebeb;padding:12px 16px;font-size:13px}
.yoff{color:#1f7a44}
/* faq + reviews */
.yfaqs .in,.yrevs .in{max-width:900px;margin:0 auto;padding:0 40px}.yfaqs h2{text-align:center;font-size:24px}
.yfaq{background:#f2f2f2;margin:0 0 12px}.yfaq summary{padding:16px 40px 16px 16px;cursor:pointer;list-style:none;position:relative}.yfaq summary::after{content:"+";position:absolute;right:16px}.yfaq[open] summary::after{content:"−"}.yfaq .rte{background:#fafafa;padding:16px}
.yrevs h3{font-size:18px;text-align:center}.ysum{text-align:center;margin:0 0 30px}.stars.big{font-size:22px}
.yrev{display:grid;grid-template-columns:200px 1fr;gap:20px;border-top:1px solid #e5e5e5;padding:20px 0;font-size:13px}.yrev .stars{color:#000}.vb{background:#000;color:#fff;font-size:10px;padding:1px 5px}
.ywrite{text-align:center;margin-top:20px}.ywrite summary{display:inline-block;list-style:none}
.rte img{max-width:100%;height:auto;display:inline-block}
/* home carousel */
.ycar{display:flex;align-items:center;gap:20px;max-width:1000px;margin:30px auto 0}.ycar button{background:none;border:0;font-size:34px;cursor:pointer;color:#888}
.ycar .vp{overflow:hidden;flex:1}.ycar .track{display:flex;transition:transform .5s}.ycar .slide{flex:0 0 100%;display:grid;grid-template-columns:150px 1fr 180px;gap:30px;text-align:left;font-size:13px;align-items:start}
.ycar .slide b{display:block}.ycar .slide img{width:180px}
/* journal + pages */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1300px;margin:0 auto;padding:40px}.blog-grid h2{font-size:17px}.blog-grid img{aspect-ratio:16/10;object-fit:cover;width:100%}
.page-wrap .faqcat{font-size:20px;font-weight:400;text-transform:uppercase;margin:30px 0 8px;text-align:left}
.burger{display:none}
/* mobile */
@media(max-width:768px){
 .container,.site-header .in{padding:0 16px}.announce{padding:8px 16px}.announce .cur{display:none}
 .site-header .in{height:56px}.burger{display:flex;flex-direction:column;gap:4px;background:none;border:0;padding:0;width:22px}.burger span{height:1.5px;background:#000;display:block}
 .nav{display:none;position:absolute;top:56px;left:0;right:0;background:#fff;flex-direction:column;padding:16px;gap:6px;box-shadow:0 8px 20px rgba(0,0,0,.08)}.navopen .nav{display:flex}.nav .sub{display:block;position:static;box-shadow:none;padding:0 0 0 12px}
 .site-header .in{grid-template-columns:40px 1fr 90px}.logo{justify-self:center}.logo img{height:30px}.icons{gap:12px}
 .hero{height:420px}.feat{grid-template-columns:1fr;padding:20px 16px 50px;gap:40px}.press .logos{flex-wrap:wrap;gap:30px}.press img{height:22px}
 .ycar .slide{grid-template-columns:1fr}.ycar .slide img{width:140px}.made .in,.ysec.iwt .in{grid-template-columns:1fr;gap:24px;padding:0 16px}.made .t{text-align:left;justify-self:start}.ysec.iwt.rev .im{order:0}
 .site-footer .cols{grid-template-columns:1fr;padding:0 16px 30px}.site-footer .bot{flex-direction:column;gap:12px;padding:16px}
 .woo-wrap{padding:16px}.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:16px}.woocommerce div.product{grid-template-columns:1fr;gap:20px}.woocommerce div.product div.summary{position:static}
 .woocommerce div.product .woocommerce-product-gallery__wrapper{grid-template-columns:1fr 1fr}.yrev{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr;padding:16px}.ysec{padding:40px 0}.ysec.rt .in,.yfaqs .in,.yrevs .in{padding:0 16px}
}

.payicons li,.payicons svg{display:inline-block!important;float:none!important;vertical-align:middle}.payicons ul{flex-direction:row!important}
.single-product div.product.product-type-variable .summary > p.price{display:none}
.ygift{display:flex;gap:8px;align-items:center;font-size:12px;margin:10px 0;border:1px solid #ddd;padding:8px 10px;background:#fff}
table.ymoved{margin:0 0 14px}table.ymoved th,table.ymoved td{display:inline-block;padding:0;vertical-align:middle}table.ymoved th{order:2}
table.ymoved tr{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px}table.ymoved th.label label{font-weight:600;font-size:13px}
.wmc-currency-wrapper{display:inline-block}.announce .cur .wmc-currency{font-size:12px}
.woocommerce div.product form.cart .variations{margin-bottom:0}.single_variation_wrap .woocommerce-variation-price .price{font-size:20px!important;display:block;margin:6px 0}
table.variations tr{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px}table.variations th.label{font-weight:600;font-size:13px}
.ycur,.ylangsel{background:transparent;border:0;font:inherit;font-size:12px;cursor:pointer}
.section-footer__payment-icons{display:flex!important;flex-wrap:wrap;gap:5px}.section-footer__payment-icons svg{width:38px;height:24px}
@media(max-width:768px){.burger{margin-top:4px}.woocommerce div.product .woocommerce-product-gallery__wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:6px}
.woocommerce div.product .woocommerce-product-gallery__image{flex:0 0 88%;scroll-snap-align:start}.woocommerce div.product .woocommerce-product-gallery__image:first-child{flex-basis:100%}}
.woocommerce-variation-add-to-cart,form.cart{flex-wrap:wrap}.payicons{flex-basis:100%;width:100%}
@media(max-width:768px){body{font-size:16px}.hero{height:300px}.quote h2{font-size:20px}.feat .it img{max-width:260px}.feat h3{font-size:16px}.feat .lm{font-size:14px}
.announce{font-size:13px}.ysec p,.ytier,.usp,.yquote,.ydesc,.yret{font-size:14px}.yintro{font-size:15px}}
/* i18n/SEO additions */
.yh1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ylang{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-bottom:8px}.ylang a{text-decoration:none;opacity:.7}.ylang a[aria-current]{opacity:1;font-weight:600;text-decoration:underline}
.ylangsel{margin-left:10px}
/* review photos */
.yphotostrip{margin:18px 0 8px}.yphotostrip h4{font-size:14px;margin:0 0 8px}.ystrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.ystrip img{width:120px;height:120px;object-fit:cover;border-radius:4px;display:block}
.yrevpics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.yrevpics img{width:96px;height:96px;object-fit:cover;border-radius:4px;display:block}
.yrev.yhide{display:none}.ymore{text-align:center;margin:16px 0}
#ylbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh}#ylbox::backdrop{background:rgba(0,0,0,.85)}#ylbox img{max-width:92vw;max-height:84vh;display:block;margin:auto}
#ylbox .cap{color:#fff;text-align:center;font-size:13px;margin:8px 0 0}#ylbox button{position:fixed;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;top:50%}#ylbox .x{top:14px;right:20px}#ylbox .pv{left:14px}#ylbox .nx{right:14px}
.slide .yrevpics img{width:64px;height:64px}
.ystrip a{flex:0 0 120px}.yrevpics a{flex:0 0 96px}

/* journal */
.blog-grid{max-width:1300px;margin:0 auto;padding:20px 40px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 30px}
.blog-grid article img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;margin-bottom:14px}
.blog-grid h2{font-size:18px;line-height:1.35;margin:0 0 6px;font-weight:500}
.blog-grid p{font-size:14px;line-height:1.6;color:#444}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr;padding:20px}}@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
.jpost{max-width:none!important;padding:0!important}
.jhead{max-width:760px;margin:50px auto 30px;text-align:center;padding:0 20px}
.jhead h1{font-size:38px;line-height:1.2;font-weight:500;margin:10px 0 16px}
.jmeta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#777}.jmeta a{color:#777}
.jlede{font-size:18px;line-height:1.6;color:#444}
.jhero{max-width:1200px;margin:0 auto 40px;padding:0 20px}.jhero img{width:100%;height:auto;display:block}
.jbody{max-width:720px;margin:0 auto;padding:0 20px 60px;font-size:17px;line-height:1.75;color:#222}
.jbody h2{font-size:26px;font-weight:500;margin:48px 0 14px;line-height:1.3}.jbody h3{font-size:19px;font-weight:600;margin:30px 0 8px}
.jbody a{text-decoration:underline;text-underline-offset:3px}
.jbody ul,.jbody ol{padding-left:22px}.jbody li{margin:6px 0}
.jimg{margin:36px -60px}.jimg img{width:100%;height:auto;display:block;background:#f3f3f3}
.jimg figcaption{font-size:13px;color:#777;margin-top:8px;text-align:center}
@media(max-width:860px){.jimg{margin:28px 0}.jhead h1{font-size:28px}}
.jbody table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}.jbody th,.jbody td{border-bottom:1px solid #e5e5e5;padding:10px 8px;text-align:left;vertical-align:top}.jbody th{font-weight:600}
.jcallout{background:#f3f3f1;padding:24px;margin:50px 0 0}.jcl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#777;margin:0 0 14px}
.jcard{display:flex;gap:16px;align-items:center;text-decoration:none!important;color:#222;padding:10px 0;border-top:1px solid #e3e3e0}
.jcard img{width:84px;height:84px;object-fit:cover;background:#fff;flex:none}.jcard b{display:block;font-weight:600;font-size:15px}.jcard small{color:#666;font-size:14px}

/* language / currency switchers */
.announce{position:relative}.yswitch{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;gap:14px;z-index:60}
.ydd{position:relative;font-size:12px}.ydd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:3px 4px}
.ydd summary::-webkit-details-marker{display:none}.ydd summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.ydd summary:focus-visible,.ydd a:focus-visible{outline:2px solid #000;outline-offset:2px}
.ydd ul{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #e5e5e5;box-shadow:0 8px 24px rgba(0,0,0,.08);list-style:none;margin:0;padding:6px 0;min-width:190px;max-height:70vh;overflow:auto;text-align:left}
.ydd li a{display:flex;align-items:center;gap:10px;padding:7px 14px;color:#222;text-decoration:none;white-space:nowrap}.ydd li a:hover{background:#f4f4f2}.ydd li a[aria-current]{font-weight:600}
.yflag{display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:none}
@media(max-width:760px){.announce{display:flex;flex-direction:column;gap:4px;padding-bottom:6px}.yswitch{position:static;transform:none;justify-content:center}.ydd ul{right:auto;left:50%;transform:translateX(-50%)}}
