/* Product details only. Existing global Manrope/Inter fonts are inherited. */
.eclinox-pd-page { --epd-navy:#17364b; --epd-muted:#5f6c72; --epd-line:#ded8cc; --epd-cream:#f6f2e9; margin:0; color:var(--epd-navy); background:#fbf9f4!important; font-family:Inter,Arial,sans-serif; }
.eclinox-pd-page *, .eclinox-pd-page *::before, .eclinox-pd-page *::after { box-sizing:border-box; }
.eclinox-pd-page #main, .eclinox-pd-page main.site-main, .eclinox-pd-page .woocommerce { background:transparent; color:var(--epd-navy); }
.eclinox-pd-page main.site-main { width:min(1200px,calc(100% - 64px)); margin:40px auto 80px; }
.eclinox-pd-page div.product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:40px 64px; align-items:start; }
.eclinox-pd-page div.product::before,.eclinox-pd-page div.product::after { display:none; }
.eclinox-pd-page div.product > .summary { float:none!important; width:100%!important; margin:0!important; padding:48px 0 0; }
.eclinox-pd-page h1,.eclinox-pd-page h2,.eclinox-pd-page h3 { font-family:Manrope,Inter,Arial,sans-serif; color:var(--epd-navy)!important; letter-spacing:-.035em; }
.eclinox-pd-page h1.product_title { font-size:clamp(36px,4.2vw,58px)!important; font-weight:700; line-height:1.12!important; margin:10px 0 24px!important; }
.eclinox-pd-page h2 { font-size:clamp(28px,3vw,40px); font-weight:650; line-height:1.2; margin:10px 0 28px; }
.eclinox-pd-page h3 { font-size:24px; font-weight:650; line-height:1.3; margin:10px 0 12px; }
.eclinox-pd-page p { font-size:16px; line-height:1.75; color:var(--epd-muted); margin:0 0 20px; }
.eclinox-pd-page .epd-eyebrow { font-size:11px; line-height:1.5; letter-spacing:.16em; font-weight:700; color:var(--epd-navy); margin:0 0 10px; }
.eclinox-pd-page .epd-lead { font-size:23px; line-height:1.5; letter-spacing:-.015em; color:var(--epd-navy); }
.epd-gallery { min-width:0; }
.epd-picture { position:relative; display:block; width:100%; aspect-ratio:1; overflow:hidden; background:var(--epd-cream); border:1px solid #eee8dd; border-radius:24px; }
.eclinox-pd-page .epd-gallery .epd-picture > img.epd-main-photo { position:absolute!important; inset:0!important; display:block!important; width:100%!important; height:100%!important; max-width:none!important; max-height:none!important; margin:0!important; box-sizing:border-box!important; }
.eclinox-pd-page .epd-gallery .epd-picture--scene > img.epd-main-photo { object-fit:cover!important; object-position:left center!important; padding:0!important; }
.epd-picture--original { background:#fff; }
.eclinox-pd-page .epd-gallery .epd-picture--original > img.epd-main-photo { object-fit:contain!important; object-position:center!important; padding:22px!important; }
.eclinox-pd-page .epd-gallery .epd-picture--fragrance > img.epd-main-photo { object-fit:cover!important; object-position:var(--epd-position,64%) center!important; padding:0!important; }
.epd-zoom-label { position:absolute; left:18px; bottom:18px; display:flex; align-items:center; gap:18px; padding:9px 13px; border-radius:100px; font-size:12px; font-weight:600; color:var(--epd-navy); background:rgba(255,255,255,.94); }
.epd-pack-switch { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.epd-pack-switch button { font:600 19px Manrope,Inter,sans-serif; padding:15px 18px; border:1px solid var(--epd-line); background:transparent; color:var(--epd-navy); border-radius:12px; text-align:left; cursor:pointer; }
.epd-pack-switch button small { display:block; font:400 12px Inter,Arial,sans-serif; margin-top:5px; }
.epd-pack-switch button[aria-pressed=true] { background:var(--epd-navy); border-color:var(--epd-navy); color:#fff; }
.epd-facts { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 32px; }
.epd-facts span,.epd-badge { display:inline-block; padding:8px 13px; background:#eee8da; border-radius:50px; font-size:12px; font-weight:600; }
.epd-badge { margin-bottom:24px; }
.epd-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin:28px 0; }
.eclinox-pd-page .epd-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; color:white!important; background:var(--epd-navy); padding:15px 22px; border:1px solid var(--epd-navy); border-radius:8px; font-size:14px; line-height:1.4; font-weight:600; text-decoration:none; }
.eclinox-pd-page .epd-button:hover { background:#234b61; }
.eclinox-pd-page .epd-link { font-size:13px; color:var(--epd-navy); text-decoration:underline; text-underline-offset:5px; }
.eclinox-pd-page .product_meta { margin-top:25px; font-size:12px; color:var(--epd-muted); }
.eclinox-pd-page .woocommerce-tabs,.eclinox-pd-page .related.products,.eclinox-pd-page .up-sells { grid-column:1/-1; width:100%; }
.eclinox-pd-page .woocommerce-tabs { margin-top:24px; }
.eclinox-pd-page .woocommerce-tabs ul.tabs { padding:0!important; margin:0 0 40px!important; border-bottom:1px solid var(--epd-line); }
.eclinox-pd-page .woocommerce-tabs ul.tabs::before,.eclinox-pd-page .woocommerce-tabs ul.tabs li::before,.eclinox-pd-page .woocommerce-tabs ul.tabs li::after { display:none!important; }
.eclinox-pd-page .woocommerce-tabs ul.tabs li { background:transparent!important; border:0!important; padding:0 24px 0 0!important; margin:0!important; border-radius:0; }
.eclinox-pd-page .woocommerce-tabs ul.tabs li a { font-size:14px; color:var(--epd-muted)!important; padding:12px 0!important; }
.eclinox-pd-page .woocommerce-tabs ul.tabs li.active a { color:var(--epd-navy)!important; border-bottom:2px solid var(--epd-navy); }
.epd-content section { margin:0 0 80px; }
.epd-pack-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.epd-pack-card { display:grid; grid-template-columns:1fr 1fr; gap:0; min-width:0; background:#fff; border:1px solid #e9e3d8; border-radius:18px; overflow:hidden; }
.epd-card-photo { position:relative; display:block; height:260px; overflow:hidden; }
.eclinox-pd-page .epd-pack-card .epd-card-photo > img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; max-width:none!important; max-height:none!important; margin:0!important; display:block!important; box-sizing:border-box!important; }
.eclinox-pd-page .epd-pack-card .epd-card-photo--scene > img { object-fit:cover!important; object-position:23% center!important; padding:0!important; }
.eclinox-pd-page .epd-pack-card .epd-card-photo--original > img { object-fit:contain!important; object-position:center!important; padding:14px!important; }
.epd-card-copy { align-self:center; padding:22px; }
.epd-card-copy strong { color:var(--epd-accent,var(--epd-navy)); font-size:14px; }
.epd-card-copy p { font-size:13px; margin:12px 0 0; }
.eclinox-pd-page .epd-note { font-size:12px; line-height:1.6; margin-top:18px; }
.epd-story { display:grid; grid-template-columns:1.12fr 1fr; gap:60px; align-items:center; }
.epd-story > img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; }
.epd-story h2 { font-size:clamp(28px,3vw,38px); }
.epd-usage { padding:40px; background:var(--epd-cream); border-radius:20px; }
.epd-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.epd-step-number { display:block; font:500 30px Manrope,sans-serif; color:#a89472; margin-bottom:18px; }
.epd-steps h3 { font-size:20px; }
.epd-steps p { font-size:14px; margin:0; }
.epd-faq { max-width:800px; margin-left:auto!important; margin-right:auto!important; }
.epd-questions { border-top:1px solid var(--epd-line); }
.epd-questions details { border-bottom:1px solid var(--epd-line); padding:20px 0; }
.epd-questions summary { font-size:17px; font-weight:600; cursor:pointer; color:var(--epd-navy); list-style:none; padding-right:32px; position:relative; }
.epd-questions summary::-webkit-details-marker { display:none; }
.epd-questions summary::after { content:'+'; position:absolute; right:4px; top:-2px; font-size:24px; font-weight:400; }
.epd-questions details[open] summary::after { content:'−'; }
.epd-questions details p { margin:16px 0 0; }
.epd-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:40px; border:1px solid var(--epd-line); border-radius:20px; }
.epd-cta > div { max-width:650px; }
.epd-cta h2 { margin-bottom:18px; font-size:30px; }
.epd-cta p { margin-bottom:0; }
.epd-cta .epd-button { flex-shrink:0; }
.epd-collection { text-align:center; max-width:920px; margin-left:auto!important; margin-right:auto!important; }
.epd-collection > p { max-width:680px; margin:0 auto 30px; }
.epd-collection > img { display:block; width:100%; border-radius:20px; }
.epd-dialog { padding:20px; background:white; border:0; border-radius:16px; max-width:calc(100vw - 32px); max-height:calc(100vh - 32px); overflow:auto; }
.epd-dialog::backdrop { background:rgba(12,25,35,.8); }
.epd-dialog img { display:block; width:auto; height:auto; max-width:min(1200px,calc(100vw - 72px)); max-height:calc(100vh - 72px); object-fit:contain; }
.epd-dialog-close { position:absolute; right:10px; top:10px; width:40px; height:40px; background:var(--epd-navy); color:white; border:0; border-radius:50%; cursor:pointer; font-size:26px; line-height:1; }
.eclinox-pd-page a:focus-visible,.eclinox-pd-page button:focus-visible,.eclinox-pd-page summary:focus-visible { outline:3px solid #227b98; outline-offset:4px; }
.eclinox-pd-page .epd-catalog-frame { position:relative; display:block; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:14px; background:var(--epd-cream); margin-bottom:18px; }
.eclinox-pd-page .epd-catalog-frame > img.epd-catalog-photo { position:absolute!important; inset:0!important; display:block!important; width:100%!important; height:100%!important; max-width:none!important; max-height:none!important; margin:0!important; padding:0!important; box-sizing:border-box!important; object-fit:cover!important; object-position:var(--epd-thumb-position,left) center!important; }
.eclinox-pd-page .related.products ul.products { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:0!important; padding:0!important; }
.eclinox-pd-page .related.products ul.products::before,.eclinox-pd-page .related.products ul.products::after { display:none!important; }
.eclinox-pd-page .related.products ul.products > li.product { float:none!important; width:100%!important; margin:0!important; min-width:0; }
.eclinox-pd-page .related.products ul.products > li.product .button { display:inline-block; padding:11px 16px; background:transparent!important; color:var(--epd-navy)!important; border:1px solid var(--epd-line)!important; border-radius:8px!important; font-size:13px!important; line-height:1.4!important; font-weight:600!important; text-decoration:none; }
.eclinox-pd-page .related.products ul.products > li.product .button:hover { background:var(--epd-navy)!important; color:#fff!important; border-color:var(--epd-navy)!important; }
.eclinox-pd-page .woocommerce-breadcrumb { margin-bottom:30px; font-size:12px; color:var(--epd-muted); }
@media(max-width:1000px) { .eclinox-pd-page div.product { gap:40px 32px; } .epd-pack-card { grid-template-columns:1fr; } .epd-card-photo { height:280px; } .epd-story { gap:32px; } .epd-cta { flex-wrap:wrap; } }
@media(max-width:767px) { .eclinox-pd-page main.site-main { width:calc(100% - 36px); margin:24px auto 48px; } .eclinox-pd-page div.product { grid-template-columns:1fr; gap:28px; } .eclinox-pd-page div.product > .summary { padding:0; } .eclinox-pd-page h1.product_title { font-size:40px!important; } .epd-content section { margin-bottom:48px; } .epd-story { grid-template-columns:1fr; gap:26px; } .epd-steps { grid-template-columns:1fr; gap:28px; } .epd-usage,.epd-cta { padding:26px; } .epd-pack-grid { gap:12px; } .epd-card-photo { height:220px; } .epd-card-copy { padding:18px; } .epd-card-copy h3 { font-size:23px; } .epd-picture { border-radius:18px; } }
@media(max-width:380px) { .epd-pack-grid { grid-template-columns:1fr; } .epd-pack-card { grid-template-columns:1fr 1fr; } .epd-card-copy { padding:14px; } }
@media(max-width:767px) { .eclinox-pd-page .related.products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; } }
@media(max-width:380px) { .eclinox-pd-page .related.products ul.products { grid-template-columns:1fr; } }
