/* =====================================================================
   Maison Sosei — thème enfant de « classic »
   Style : luxe épuré (grandes typographies, tuiles, beaucoup d'air),
   accent or repris du logo.
   ===================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,500&family=Inter:wght@400;500;600;700&display=swap");

:root{
  --sx-ink:#1d1d1f; --sx-ink2:#6e6e73; --sx-line:#d2d2d7;
  --sx-mist:#f5f5f7; --sx-night:#000; --sx-night2:#161617;
  --sx-gold:#b08d57; --sx-gold2:#d4b483;
  --sx-r:28px;
  --sx-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif;
  --sx-serif:"Cormorant Garamond",Georgia,serif;
}

/* ---------- Base ---------- */
html,body{font-family:var(--sx-sans);color:var(--sx-ink);-webkit-font-smoothing:antialiased}
body{letter-spacing:-.01em}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--sx-sans);color:var(--sx-ink);letter-spacing:-.02em}
a{color:var(--sx-ink)}
a:hover,a:focus,#header .top-menu a[data-depth="0"]:hover{color:var(--sx-gold)}
#wrapper{background:#fff}
#wrapper .breadcrumb{background:transparent;font-size:12px;color:var(--sx-ink2);padding-left:0}
.text-uppercase{text-transform:none!important}

/* Boutons */
.btn-primary,.btn-primary:focus{background:var(--sx-ink);border-color:var(--sx-ink);color:#fff;border-radius:980px;text-transform:none;font-weight:500;box-shadow:none}
.btn-primary:hover,.btn-primary:active{background:#000;border-color:#000;color:#fff}
.btn-secondary,.btn-tertiary{border-radius:980px;text-transform:none}
.add-to-cart.btn-primary{padding:.8rem 1.6rem}

/* ---------- En-tête : verre dépoli ---------- */
#header{position:sticky;top:0;z-index:500;background:rgba(251,251,253,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:none;border-bottom:1px solid rgba(0,0,0,.08)}
#header .header-banner:empty{display:none}
#header .header-nav{background:transparent;border:0;margin:0;max-height:none;padding:4px 0 0}
#header .header-nav,#header .header-nav a,#header .header-nav .material-icons,#header .header-nav .expand-more{font-size:12px;color:var(--sx-ink2)}
#header .header-nav a:hover{color:var(--sx-ink)}
#header .header-nav .blockcart{background:transparent;padding:.25rem .5rem;height:auto;margin-left:.5rem}
#header .header-nav .cart-preview.active{background:var(--sx-ink);border-radius:980px}
#header .header-nav .cart-preview.active a,#header .header-nav .cart-preview.active .material-icons,#header .header-nav .cart-preview.active span{color:#fff}
#header .header-nav .user-info,#header .header-nav .language-selector-wrapper,#header .header-nav .currency-selector{margin-top:0}
#header .header-nav .right-nav{display:flex;align-items:center;justify-content:flex-end;gap:14px}
#header .header-nav .right-nav>div{float:none;margin:0}
#header .header-nav #_desktop_contact_link{line-height:28px}
#header .header-top{padding:2px 0 6px}
#header .header-top>.container>.row{display:flex;align-items:center;flex-wrap:nowrap}
#header #_desktop_logo{flex:0 0 auto;width:auto;max-width:none;padding-right:24px}
#header .header-top-right{flex:1 1 auto;width:auto;max-width:none;display:flex;align-items:center;justify-content:flex-end;gap:12px}
#header #_desktop_top_menu{flex:1 1 auto;text-align:center}
#header .top-menu a[data-depth="0"]{text-transform:none;font-size:13px;font-weight:400;color:var(--sx-ink);padding:.7rem .85rem;letter-spacing:0}
#header .top-menu .sub-menu{border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.12);background:#fff}
#header .top-menu a.dropdown-submenu{text-transform:none;font-weight:600;color:var(--sx-ink)}
#header #search_widget{min-width:200px;max-width:240px;margin:0}
#header .search-widgets form input[type=text],#header #search_widget form input[type=text]{border-radius:980px;background:#ececf0;border:0;font-size:13px;padding:8px 14px 8px 36px;color:var(--sx-ink)}
#header #search_widget form i.search{left:10px;color:var(--sx-ink2)}

/* Logo typographique (remplace l'image sombre sur fond clair) */
#header .logo{display:none}
#_desktop_logo h1{margin:0;line-height:1}
#_desktop_logo a,#_mobile_logo a{display:inline-flex;align-items:center;gap:10px;color:var(--sx-ink);text-decoration:none;white-space:nowrap}
#_desktop_logo a::before,#_mobile_logo a::before{content:"S";flex:0 0 30px;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--sx-gold);color:var(--sx-gold);display:inline-grid;place-items:center;font-family:var(--sx-serif);font-size:17px;line-height:1;box-shadow:inset 0 0 0 2.5px #fbfbfd,inset 0 0 0 3.5px rgba(176,141,87,.6)}
#_desktop_logo a::after,#_mobile_logo a::after{content:"MAISON SOSEI";font-family:var(--sx-serif);font-size:19px;letter-spacing:.24em;font-weight:500}
#header .header-nav .mobile{display:flex;align-items:center;justify-content:space-between;padding:6px 0}
#header .header-nav .mobile .top-logo{order:2;flex:1;text-align:center}
#header .header-nav .mobile #menu-icon{order:1}
#header .header-nav .mobile #_mobile_user_info{order:3}
#header .header-nav .mobile #_mobile_cart{order:4}
#header .header-nav .mobile .clearfix{display:none}
#header .header-nav .mobile #_mobile_logo a::after{font-size:15px;letter-spacing:.18em}
#header .header-nav .mobile .material-icons{color:var(--sx-ink);font-size:22px}

/* ---------- Vignettes produits ---------- */
.product-miniature .thumbnail-container{background:transparent;overflow:visible}
.product-miniature .thumbnail-top{background:var(--sx-mist);border-radius:22px;padding:18px;transition:transform .35s,box-shadow .35s}
.product-miniature .thumbnail-container:hover .thumbnail-top{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,0,0,.09)}
.product-miniature .thumbnail-container .product-thumbnail img{mix-blend-mode:multiply}
.product-miniature .thumbnail-top.sx-on-dark{background:#000}
.product-miniature .thumbnail-top.sx-on-dark img{mix-blend-mode:normal}
.product-miniature .product-description{background:transparent;text-align:left;padding:14px 6px 6px}
.product-miniature .thumbnail-container:hover .product-description::after,.product-miniature .thumbnail-container:focus .product-description::after{display:none}
.product-miniature .product-title{text-align:left;text-transform:none;margin-top:0}
.product-miniature .product-title a{font-size:15px;font-weight:600;color:var(--sx-ink);text-align:left;line-height:1.3}
.product-miniature .product-price-and-shipping{text-align:left;font-weight:400;font-size:15px;color:var(--sx-ink);margin-top:4px}
.product-miniature .highlighted-informations{background:rgba(255,255,255,.92);border-radius:0 0 22px 22px}
.product-miniature .highlighted-informations .quick-view{font-size:13px;color:var(--sx-ink)}
.product-miniature .product-flags li.product-flag{background:#fff;color:var(--sx-gold);border-radius:980px;font-size:11px;letter-spacing:.06em;min-height:0;padding:4px 10px;margin:12px 0 0 12px;box-shadow:none}
.product-miniature .product-flags li.product-flag.discount,.product-miniature .product-flags li.product-flag.on-sale{background:var(--sx-ink);color:#fff}
#products .products-section-title,.featured-products .products-section-title{font-size:clamp(28px,3.4vw,40px);font-weight:600;letter-spacing:-.03em;text-transform:none}
.featured-products .all-product-link,#products .all-product-link{color:#0066cc;font-weight:400}

/* ---------- Pages catégorie / produit ---------- */
#js-product-list-top,.block-category{border-radius:22px;box-shadow:none}
.block-category{background:var(--sx-mist);min-height:0;padding:28px 32px}
.block-category #category-description:empty,.block-category .block-category-inner:empty{display:none}
.block-category h1{font-size:clamp(30px,4vw,48px);font-weight:600;letter-spacing:-.03em;text-transform:none}
#left-column .block-categories,#search_filters{border-radius:22px;box-shadow:none;background:var(--sx-mist)}
.product-container h1.h1,#main .page-content h1,#main h1.h1{text-transform:none;font-weight:600;letter-spacing:-.03em}
.product-cover img,.product-images>li.thumb-container .thumb{border-radius:18px}
.product-prices .current-price{font-weight:500}
.card,.card-block{border-radius:22px}

/* ---------- Pied de page ---------- */
#footer{background:var(--sx-mist);padding-top:2.5rem;color:var(--sx-ink2);font-size:13px}
#footer .container{max-width:1180px}
.block_newsletter{background:#fff;border-radius:var(--sx-r);padding:28px 30px;margin-bottom:24px}
.block_newsletter #block-newsletter-label{font-size:22px;font-weight:600;color:var(--sx-ink);letter-spacing:-.02em;text-transform:none}
.block_newsletter form input[type=email]{border-radius:980px;border:1px solid var(--sx-line);padding:11px 18px;background:#fff;width:100%}
.block_newsletter form .btn-primary{margin-left:8px}
.block_newsletter p{color:var(--sx-ink2);font-size:12px}
.footer-container{background:transparent;box-shadow:none;margin-top:0;padding-top:1.5rem}
.footer-container .h3,.footer-container .h4{font-size:12px;font-weight:600;color:var(--sx-ink);text-transform:none;letter-spacing:0}
.footer-container li a,.footer-container a{color:var(--sx-ink2);font-size:12.5px}
.footer-container li a:hover{color:var(--sx-ink);text-decoration:underline}
#footer .footer-container .text-sm-center a,#footer .footer-container .text-sm-center{color:var(--sx-ink2);font-size:12px}

/* =====================================================================
   Page d'accueil
   ===================================================================== */
#index #wrapper{overflow-x:clip}
#index #wrapper{padding-top:0}
#index #wrapper .breadcrumb{display:none}
.sx-bleed{position:relative;width:100vw;left:50%;margin-left:-50vw}
.sx-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.sx-home{font-family:var(--sx-sans)}

.sx-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sx-gold);font-weight:600;margin:0 0 10px}
.sx-gold{color:var(--sx-gold)}.sx-gold2{color:var(--sx-gold2)}
.sx-serif{font-family:var(--sx-serif);font-weight:500;font-style:italic;letter-spacing:-.01em}
.sx-kanji{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--sx-gold2)}
.sx-h-hero{font-size:clamp(44px,7vw,88px);line-height:1.02;font-weight:600;letter-spacing:-.035em;margin:0}
.sx-h-sec{font-size:clamp(34px,4.6vw,56px);line-height:1.06;font-weight:600;letter-spacing:-.03em;margin:0}
.sx-h-tile{font-size:clamp(28px,3vw,40px);line-height:1.1;font-weight:600;letter-spacing:-.025em;margin:0}
.sx-lead{font-size:clamp(18px,2vw,23px);line-height:1.4;color:var(--sx-ink2);letter-spacing:-.015em;margin:16px auto 0;max-width:680px}
.sx-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.sx-btn{display:inline-flex;align-items:center;border-radius:980px;padding:12px 24px;font-size:15px;font-weight:500;transition:all .25s;text-decoration:none!important}
.sx-btn-dark{background:var(--sx-ink);color:#fff!important}.sx-btn-dark:hover{background:#000}
.sx-btn-gold{background:var(--sx-gold);color:#fff!important}.sx-btn-gold:hover{background:#9a7a48}
.sx-btn-ghost{border:1px solid var(--sx-ink);color:var(--sx-ink)!important}.sx-btn-ghost:hover{background:var(--sx-ink);color:#fff!important}
.sx-link{color:#0066cc!important;font-size:17px}
.sx-link::after{content:" ›"}
a:hover .sx-link,.sx-link:hover{text-decoration:underline}
.sx-dark .sx-link,.sx-night .sx-link{color:#2997ff!important}

/* Hero */
.sx-hero{background:var(--sx-mist);text-align:center;padding:72px 0 0;overflow:hidden}
.sx-hero-stage{position:relative;margin:30px auto 0;max-width:980px;height:min(56vw,560px)}
.sx-hero-stage img{position:absolute;mix-blend-mode:multiply;object-fit:contain;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.sx-hero-stage .sx-main{left:50%;bottom:-2%;height:100%;transform:translateX(-50%)}
.sx-hero-stage .sx-side{height:62%;bottom:0}
.sx-hero-stage .sx-l{left:2%}.sx-hero-stage .sx-r{right:2%}

/* Repères */
.sx-trust{border-bottom:1px solid var(--sx-line);background:#fff}
.sx-trust .sx-wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.sx-trust .sx-wrap>div{padding:26px 16px;text-align:center;font-size:13px;color:var(--sx-ink2);line-height:1.45}
.sx-trust .sx-wrap>div+div{border-left:1px solid var(--sx-line)}
.sx-trust strong{display:block;color:var(--sx-ink);font-size:14px;font-weight:600;margin-bottom:3px}
.sx-trust i{display:block;font-style:normal;color:var(--sx-gold);font-size:20px;margin-bottom:8px}
.sx-trust a{color:var(--sx-ink2);text-decoration:underline}

/* Sections */
.sx-sec{padding:100px 0}
.sx-head{text-align:center;max-width:780px;margin:0 auto 52px}
.sx-head-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:20px}
.sx-head-row h2{font-size:clamp(30px,3.6vw,44px);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0}
.sx-head-row h2 span{color:var(--sx-ink2)}

/* Univers */
.sx-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sx-cat{background:var(--sx-mist);border-radius:20px;padding:22px 14px 18px;text-align:center;transition:transform .35s,box-shadow .35s;color:var(--sx-ink)!important;text-decoration:none!important;overflow:hidden}
.sx-cat:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.sx-cat img{height:120px;width:100%;margin:0 auto 14px;object-fit:contain;mix-blend-mode:multiply}
.sx-cat b{display:block;font-size:15px;font-weight:600}
.sx-cat small{color:var(--sx-ink2);font-size:12px}

/* Tuiles */
.sx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 14px 14px}
.sx-tile{position:relative;border-radius:var(--sx-r);overflow:hidden;text-align:center;padding:54px 30px 0;min-height:640px;display:flex;flex-direction:column;align-items:center;background:var(--sx-mist);color:var(--sx-ink)!important;text-decoration:none!important}
.sx-tile.sx-full{grid-column:1/-1;min-height:680px}
.sx-tile .sx-sub{font-size:19px;color:var(--sx-ink2);margin:8px 0 0}
.sx-tile .sx-actions{display:flex;gap:24px;margin-top:18px;align-items:center}
.sx-tile .sx-actions .sx-btn{padding:9px 18px;font-size:14px}
.sx-tile .sx-pic{flex:1;display:flex;align-items:flex-end;justify-content:center;width:100%;margin-top:20px}
.sx-tile .sx-pic img{max-height:430px;max-width:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.sx-tile:hover .sx-pic img{transform:scale(1.04)}
.sx-tile.sx-full .sx-pic img{max-height:470px}
.sx-tile.sx-cream{background:#f3eee6}
.sx-tile.sx-dark{background:var(--sx-night);color:#f5f5f7!important}
.sx-tile.sx-dark .sx-h-sec{color:#f5f5f7}
.sx-tile.sx-dark .sx-sub{color:#a1a1a6}
.sx-tile .sx-duo{gap:16px;align-items:center;padding-bottom:40px}
.sx-tile .sx-frame{width:min(340px,40%);aspect-ratio:4/5;background:#1b1b1b;border-radius:22px;overflow:hidden;border:1px solid #2a2a2c}
.sx-tile .sx-frame img{mix-blend-mode:normal;width:100%;height:100%;max-height:none;object-fit:cover}

/* Guide */
.sx-guide{background:var(--sx-mist)}
.sx-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sx-size{background:#fff;border-radius:var(--sx-r);padding:34px 30px 30px;text-align:center;display:flex;flex-direction:column;align-items:center}
.sx-size .sx-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sx-ink2);font-weight:600}
.sx-size h3{font-size:56px;font-weight:600;letter-spacing:-.04em;margin:8px 0 2px}
.sx-size h3 small{font-size:26px;color:var(--sx-ink2)}
.sx-size .sx-dim{font-size:15px;color:var(--sx-gold);font-weight:500}
.sx-size .sx-bear{margin:22px 0;display:flex;align-items:flex-end;justify-content:center;height:210px;overflow:hidden}
.sx-size .sx-bear img{height:100%;object-fit:contain;mix-blend-mode:multiply}
.sx-size p{color:var(--sx-ink2);font-size:15px;line-height:1.5;max-width:270px;flex:1}
.sx-size .sx-link{margin-top:14px;font-size:15px}

/* Maisons */
.sx-brands{padding:46px 0;border-top:1px solid var(--sx-line);border-bottom:1px solid var(--sx-line);overflow:hidden;background:#fff}
.sx-brands p{text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sx-ink2);margin:0 0 24px}
.sx-marquee{display:flex;gap:70px;width:max-content;animation:sx-scroll 38s linear infinite}
.sx-marquee span{font-size:26px;white-space:nowrap;color:#3a3a3c;font-weight:600;letter-spacing:.04em}
.sx-marquee span.sx-s{font-family:var(--sx-serif);font-weight:500;font-style:italic;letter-spacing:0;font-size:30px}
.sx-brands:hover .sx-marquee{animation-play-state:paused}
@keyframes sx-scroll{to{transform:translateX(-50%)}}

/* Sélection (module produits mis en avant) */
.sx-selection{padding-bottom:60px}
.sx-selection .featured-products .products-section-title{display:none}
.sx-selection .featured-products .products{margin:0 -9px}
.sx-selection .featured-products .js-product{padding:0 9px}
.sx-selection .featured-products .all-product-link{display:inline-block;font-size:17px;margin-left:0}

/* Conseil */
.sx-night{background:var(--sx-night);color:#f5f5f7}
.sx-night .sx-h-sec{color:#f5f5f7}
.sx-night .sx-lead{color:#a1a1a6}
.sx-night .sx-head{margin-bottom:0}
.sx-story{background:var(--sx-mist)}
.sx-story .sx-head{margin-bottom:0}

/* Apparition au défilement (activée seulement si le JS tourne) */
.sx-js .sx-reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.sx-js .sx-reveal.sx-in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .sx-cats{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:767px){
  .sx-sec{padding:72px 0}
  .sx-trust .sx-wrap{grid-template-columns:1fr 1fr}
  .sx-trust .sx-wrap>div:nth-child(3){border-left:0}
  .sx-trust .sx-wrap>div:nth-child(n+3){border-top:1px solid var(--sx-line)}
  .sx-tiles{grid-template-columns:1fr;padding:0 10px 10px;gap:10px}
  .sx-tile{min-height:540px;padding-top:44px}.sx-tile.sx-full{min-height:560px}
  .sx-sizes{grid-template-columns:1fr}
  .sx-cats{grid-template-columns:repeat(2,1fr)}
  .sx-head-row{flex-direction:column;align-items:flex-start}
  .sx-hero{padding-top:52px}
  .sx-hero-stage{height:110vw}
  .sx-hero-stage .sx-side{display:none}
  .sx-hero-stage .sx-main{height:100%}
  .sx-tile .sx-frame{width:46%}
  .page-index .product-miniature .product,.sx-selection .featured-products .js-product{width:50%;min-width:0}
}

/* Photos à marge transparente (figurines Medicom) : agrandies dans les vignettes */
.sx-cat img.sx-padded,.sx-size img.sx-padded{transform:scale(1.4)}
.product-miniature .product-thumbnail img.sx-padded{transform:scale(1.3)}
.product-miniature .thumbnail-top{overflow:hidden}

/* Service de recherche : 3 étapes */
.sx-night .sx-head{margin-bottom:52px}
.sx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sx-step{background:var(--sx-night2);border-radius:var(--sx-r);padding:38px 32px;border:1px solid #2a2a2c}
.sx-step .sx-n{font-family:var(--sx-serif);font-size:64px;line-height:1;color:var(--sx-gold2);font-style:italic}
.sx-step h3{font-size:24px;margin:18px 0 10px;letter-spacing:-.02em;font-weight:600;color:#f5f5f7}
.sx-step p{color:#a1a1a6;font-size:16px;line-height:1.5;margin:0}

/* La maison + questions */
.sx-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.sx-story-text{font-size:17px;line-height:1.65;color:#424245;margin:22px 0 0}
.sx-ctas.sx-left{justify-content:flex-start}
.sx-faq details{border-bottom:1px solid var(--sx-line);padding:22px 0}
.sx-faq details:first-child{border-top:1px solid var(--sx-line)}
.sx-faq summary{list-style:none;cursor:pointer;font-size:18px;font-weight:600;display:flex;justify-content:space-between;gap:20px;letter-spacing:-.015em;color:var(--sx-ink)}
.sx-faq summary::-webkit-details-marker{display:none}
.sx-faq summary::after{content:"+";font-weight:300;font-size:26px;line-height:.8;color:var(--sx-ink2);transition:transform .3s}
.sx-faq details[open] summary::after{transform:rotate(45deg)}
.sx-faq details p{margin:12px 0 0;font-size:16px;line-height:1.6;color:var(--sx-ink2)}
@media (max-width:1000px){.sx-story-grid{grid-template-columns:1fr;gap:40px}}
@media (max-width:767px){.sx-steps{grid-template-columns:1fr}}
