/* Source-measured modules, scoped to the repaired home and product layouts. */
.home .nuxe-product-copy { padding:16px; gap:4px; }
.home .nuxe-product h3 { font-size:16px; line-height:24px; font-weight:300; letter-spacing:.32px; }
.home #products { padding-top:40px; padding-bottom:40px; }
.home #products .nuxe-section-heading { display:none; }
.home .nuxe-categories { display:grid; grid-template-columns:1fr 1fr; padding:0 0 130px; max-width:none; }
.nuxe-category-verbatim { position:relative; aspect-ratio:1; display:flex; align-items:center; padding:80px 15.625%; }
.nuxe-category-verbatim>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nuxe-category-verbatim>div { position:relative; }
.nuxe-category-verbatim h2 { font:400 62px/70px Cormorant,Georgia,serif; text-transform:uppercase; margin:0 0 30px; }
.nuxe-category-verbatim p { font:300 20px/28px Sackers,Arial,sans-serif; text-transform:uppercase; letter-spacing:.4px; }
.home .nuxe-category-grid { align-content:center; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 20px; padding:40px; background:#fffdf8; }
.home .nuxe-category { text-align:center; background:none; }
.home .nuxe-category img { width:140px; max-width:100%; aspect-ratio:1; height:auto; border-radius:50%; object-fit:cover; margin:0 auto 16px; }
.home .nuxe-category strong { display:block; position:static; color:#222; padding:0; font:300 14px/20px Sackers,Arial,sans-serif; text-transform:uppercase; }
.home #iconiques { padding:100px 4.6875%; }
.home #iconiques h2 { font:400 44px/48px Cormorant,Georgia,serif; text-transform:uppercase; }
.nuxe-home-film { max-width:100%; height:226px; overflow:hidden; }
.nuxe-home-film video { display:block; width:100%; height:100%; object-fit:cover; }
.nuxe-stories { padding:110px 0 130px 4.6875%; overflow:hidden; background:#fffdf8; }
.nuxe-stories h2 { margin:0 0 32px; font:400 26px/34px Cormorant,Georgia,serif; text-transform:uppercase; }
.nuxe-story-track { display:flex; overflow-x:auto; gap:15px; padding-right:30px; scrollbar-width:none; scroll-snap-type:x mandatory; }
.nuxe-story-track::-webkit-scrollbar { display:none; }
.nuxe-story { border:0; padding:0; flex:0 0 281.25px; height:500px; position:relative; border-radius:8px; overflow:hidden; background:#eee5de; color:white; cursor:pointer; scroll-snap-align:start; }
.nuxe-story video { display:block; width:100%; height:100%; object-fit:cover; }
.nuxe-story::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#0008); pointer-events:none; }
.nuxe-story-title { position:absolute; bottom:24px; left:15px; right:15px; z-index:1; font:400 21px/26px Cormorant,Georgia,serif; }
.nuxe-story-play { position:absolute; left:calc(50% - 22px); top:calc(50% - 22px); width:44px; height:44px; border:1px solid white; border-radius:50%; font:28px/42px Arial,sans-serif; background:#0002; }
.nuxe-stories--compact { padding:60px 0; }
.nuxe-stories--compact .nuxe-story-track { gap:20px; }
.nuxe-stories--compact .nuxe-story { flex-basis:176.67px; height:314px; }
.nuxe-content-video { margin:0 0 40px; }
.nuxe-content-video video { width:100%; display:block; max-height:720px; object-fit:cover; }
.nuxe-story-open { overflow:hidden; }
.nuxe-story-dialog { padding:0; border:0; background:#000; width:min(90vw,450px); max-height:90dvh; overflow:visible; }
.nuxe-story-dialog::backdrop { background:#000c; }
.nuxe-story-dialog video { display:block; width:100%; height:85dvh; object-fit:contain; }
.nuxe-story-dialog>button { position:absolute; z-index:1; top:8px; right:8px; width:40px; height:40px; border:0; border-radius:50%; color:white; background:#0009; font-size:30px; }
.woocommerce.nuxe-source-detail .nuxe-detail-layout { display:grid; grid-template-columns:52.77% 43.18%; gap:4.05%; align-items:start; margin-bottom:80px; }
.woocommerce.nuxe-source-detail .nuxe-detail-layout::after { display:none; }
.woocommerce.nuxe-source-detail .nuxe-commerce div.product .nuxe-detail-layout>div.images,
.woocommerce.nuxe-source-detail .nuxe-commerce div.product .nuxe-detail-layout>div.summary { float:none; width:100%; min-width:0; margin:0; }
.woocommerce.nuxe-source-detail .nuxe-detail-layout>div.images { position:sticky; top:24px; }
.woocommerce.nuxe-source-detail:not(.nuxe-serum-detail) .product_title { font:400 44px/48px Cormorant,Georgia,serif; margin:10px 0 24px; }
.nuxe-detail-benefits { font:300 16px/24px 'Open Sans',Arial,sans-serif; margin:24px 0; }
.nuxe-detail-intro { margin:24px 0 32px; font-size:14px; line-height:22px; }
.nuxe-detail-intro-preview { margin-bottom:4px; }
.nuxe-detail-results { margin:24px 0 32px; }
.nuxe-detail-formats { display:flex; align-items:center; justify-content:space-between; margin:24px 0 14px; }
.nuxe-detail-formats select { min-width:140px; border:1px solid #bdb7b1; border-radius:24px; padding:12px 24px; background:transparent; }
.nuxe-detail-bundles { margin:40px 0; }
.nuxe-detail-bundles h2 { font:300 13px/20px Sackers,Arial,sans-serif; text-transform:uppercase; margin:0 0 20px; }
.nuxe-detail-bundle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.nuxe-detail-bundle-card { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:12px; line-height:18px; }
.nuxe-detail-bundle-card img { width:72px; height:90px; object-fit:contain; background:#f4f0e9; }
.nuxe-detail-bundle-card strong { display:block; margin-top:8px; font-weight:400; }
.nuxe-detail-information details,.nuxe-detail-faq details { border-bottom:1px solid #ded8d2; }
.nuxe-detail-information summary,.nuxe-detail-faq summary { padding:20px 28px 20px 0; cursor:pointer; list-style:none; position:relative; }
.nuxe-detail-information summary { font:300 12px/20px Sackers,Arial,sans-serif; text-transform:uppercase; }
.nuxe-detail-information summary::after,.nuxe-detail-faq summary::after { content:'+'; position:absolute; right:0; }
.nuxe-detail-information details[open]>summary::after,.nuxe-detail-faq details[open]>summary::after { content:'−'; }
.nuxe-detail-information details>div,.nuxe-detail-faq details>div { padding-bottom:22px; font-size:14px; line-height:23px; }
.nuxe-detail-routine,.nuxe-detail-faq { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:80px 0; }
.nuxe-detail-routine>img,.nuxe-detail-faq>img { width:100%; max-height:650px; object-fit:cover; }
.nuxe-detail-routine h2,.nuxe-detail-faq h2 { font:400 36px/40px Cormorant,Georgia,serif; text-transform:uppercase; margin-bottom:20px; }
.nuxe-detail-routine-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; }
.nuxe-detail-routine-grid .nuxe-product h3 { font-size:12px; line-height:18px; }
.nuxe-detail-routine-grid .nuxe-product-actions { flex-wrap:wrap; }
.nuxe-detail-routine-grid .nuxe-button { padding:10px; font-size:10px; }
.nuxe-mobile-purchase { display:flex; align-items:center; justify-content:space-between; gap:32px; position:fixed; z-index:9; bottom:0; left:0; right:0; padding:14px 4.6875%; border-top:1px solid #e6e0da; background:#fffdf8; }
.nuxe-mobile-purchase.is-native-visible { display:none; }
.nuxe-fixed-product { display:flex; align-items:center; gap:20px; font-size:14px; }
.nuxe-fixed-product img { height:60px; width:60px; object-fit:contain; }
.nuxe-mobile-purchase button { display:flex; align-items:center; justify-content:space-between; gap:40px; min-width:330px; border:0; border-radius:30px; background:#004c42; color:#fff; padding:17px 28px; font:400 12px/18px Sackers,Arial,sans-serif; text-transform:uppercase; }
.nuxe-has-mobile-purchase { padding-bottom:90px; }
@media(max-width:900px) {
 .nuxe-category-verbatim { padding:40px 10%; }
 .nuxe-category-verbatim h2 { font-size:44px; line-height:48px; }
 .nuxe-category-verbatim p { font-size:14px; line-height:22px; }
 .home .nuxe-category-grid { gap:28px 16px; padding:24px; }
 .home .nuxe-category strong { font-size:10px; }
 .nuxe-detail-routine,.nuxe-detail-faq { gap:28px; }
}
@media(max-width:640px) {
 .home .nuxe-categories { grid-template-columns:1fr; padding-bottom:48px; }
 .nuxe-category-verbatim { padding:48px 40px; }
 .nuxe-category-verbatim h2 { font-size:42px; line-height:46px; }
 .nuxe-category-verbatim p { font-size:14px; line-height:22px; }
 .home .nuxe-category-grid { gap:32px 16px; padding:40px 20px; }
 .home .nuxe-category img { width:100px; }
 .home #iconiques { padding:48px 16px; }
 .home #iconiques h2 { font-size:32px; line-height:36px; }
 .home #products { padding:32px 16px; }
 .nuxe-home-film { height:220px; }
 .nuxe-stories { padding:48px 0 48px 16px; }
 .nuxe-stories h2 { font-size:21px; line-height:28px; margin-bottom:24px; }
 .nuxe-story,.nuxe-stories--compact .nuxe-story { flex-basis:283px; height:503px; }
 .nuxe-stories--compact { padding-left:0; }
 .nuxe-content-video video { max-height:none; }
 .woocommerce.nuxe-source-detail .nuxe-detail-layout { display:block; margin-bottom:40px; }
 .woocommerce.nuxe-source-detail .nuxe-detail-layout>div.images { position:static; }
 .woocommerce.nuxe-source-detail .nuxe-commerce div.product .nuxe-detail-layout>div.summary { padding:20px 16px; }
 .woocommerce.nuxe-source-detail:not(.nuxe-serum-detail) .product_title { font-size:28px; line-height:30px; }
 .nuxe-detail-benefits { font-size:14px; line-height:22px; }
 .nuxe-detail-routine,.nuxe-detail-faq { grid-template-columns:1fr; padding:40px 16px; gap:28px; }
 .nuxe-detail-routine h2,.nuxe-detail-faq h2 { font-size:28px; line-height:32px; }
 .nuxe-detail-routine-grid { display:flex; overflow:auto; gap:16px; }
 .nuxe-detail-routine-grid .nuxe-product { flex:0 0 70%; }
 .nuxe-detail-bundle-grid { gap:14px; }
 .nuxe-detail-bundle-card { flex-direction:column; align-items:flex-start; }
 .nuxe-detail-bundle-card img { width:100%; height:120px; }
 .nuxe-fixed-product { display:none; }
 .nuxe-mobile-purchase { padding:0; border:0; background:none; left:16px; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }
 .nuxe-mobile-purchase button { min-width:0; width:100%; }
}
.nuxe-content:has(.nuxe-content-video) { max-width:none; padding-top:0; }
.nuxe-content:has(.nuxe-content-video)>.nuxe-page-body { max-width:1160px; }
.nuxe-content:has(.nuxe-content-video)>h1 { display:none; }
.nuxe-page-body .nuxe-stories h2 { font-family:Cormorant,Georgia,serif; margin-top:0; }
.nuxe-page-body .nuxe-stories--compact { overflow:visible; }
