/* MC Lumen · luminous surfaces and responsive motion */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--stage:#dcd2e6;--stage-edge:#c8bfd7;--stage-glow:#f6e6f2;--hero-bg:#08080d;--hero-text:#fff;--hero-secondary:#c8c4d1;--tap:#bb79ff55}
:root[data-theme=light]{--stage:#eee5f2;--stage-edge:#dfd2e9;--stage-glow:#fff4f7;--hero-bg:#f5eff8;--hero-text:#21182b;--hero-secondary:#53475f;--tap:#9a54d93d}
body,.header,.service-bar,.product-card,.product-content,.installation-section,.faq-grid details,.help-banner,.footer,.contact-section,.search,.subcategory select,.category-chips button,.btn,.icon-btn,.consultation-btn,dialog,.detail-visual,.detail-content,input,select{transition:background-color .5s ease,color .4s ease,border-color .4s ease,box-shadow .3s ease,transform .3s var(--ease-out)}
.btn,.icon-btn,.consultation-btn,.category-chips button,.social-card{position:relative;isolation:isolate;overflow:hidden;touch-action:manipulation}
.btn:active,.icon-btn:active,.consultation-btn:active,.category-chips button:active,.social-card:active{transform:scale(.95)}
.tap-ripple{position:absolute;display:block;pointer-events:none;border-radius:50%;background:var(--tap);animation:tap-wave .65s ease-out forwards;z-index:3}
.primary,.whatsapp{--tap:#ffffff60}.tap-ripple+*{position:relative}
@keyframes tap-wave{from{transform:scale(.05);opacity:.85}to{transform:scale(1);opacity:0}}
.btn:before,.social-card:before{content:'';position:absolute;inset:-60% -100%;background:linear-gradient(110deg,transparent 40%,#ffffff20 50%,transparent 60%);transform:translateX(-60%);transition:transform .65s ease;pointer-events:none;z-index:-1}
@media(hover:hover){.btn:hover:before,.social-card:hover:before{transform:translateX(60%)}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px #c9295625}.category-chips button:hover{transform:translateY(-2px)}.product-card:hover{transform:translateY(-7px);box-shadow:0 15px 35px #66276519}}
.category-chips button.active{background:linear-gradient(115deg,#e9304725,#9654db22);box-shadow:0 3px 14px #b22e6514}.category-chips button{transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s,transform .3s var(--ease-out)}
.header nav a{position:relative;transition:color .25s}.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:linear-gradient(90deg,var(--red),var(--violet));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.hero{background:var(--hero-bg);color:var(--hero-text);transition:background-color .65s,color .5s}.hero-image{transition:opacity .65s ease,filter .65s ease}.hero-shade{transition:opacity .65s ease}.hero-description{color:var(--hero-secondary);transition:color .5s}.hero .eyebrow{transition:color .5s}.hero-footnote{transition:color .5s}.hero h1 span{background-image:linear-gradient(100deg,#f73857 10%,#b968ef 60%,#f35a7d 90%);background-size:180% 100%;animation:headline-glow 7s ease-in-out infinite alternate}
@keyframes headline-glow{from{background-position:0 50%}to{background-position:100% 50%}}
:root[data-theme=light] .hero-image{opacity:.28;mix-blend-mode:multiply;filter:saturate(.8) contrast(1.1)}
:root[data-theme=light] .hero-shade{opacity:0}
:root[data-theme=light] .hero{background:radial-gradient(ellipse at 10% 15%,#fff9fb 0,transparent 60%),radial-gradient(ellipse at 90% 80%,#d4bfeb55,transparent 60%),#f4edf7}
:root[data-theme=light] .hero .eyebrow{color:#b42358}
:root[data-theme=light] .hero-footnote{color:#51455c}
:root[data-theme=light] .hero .glass{background:#ffffff8c;border-color:#bfaacb;color:#32243e;box-shadow:0 3px 12px #45223e08}
:root[data-theme=light] .hero .glass:hover{background:#fff}
/* A tinted studio stage lets the original white photo backdrop blend into the brand palette. */
.product-photo{background:radial-gradient(ellipse at 50% 35%,var(--stage-glow),transparent 70%),linear-gradient(145deg,var(--stage),var(--stage-edge));transition:background-color .5s ease,box-shadow .4s ease}
.product-photo:after{content:'';position:absolute;inset:0;border:1px solid #ffffff28;border-radius:inherit;pointer-events:none;box-shadow:inset 0 -18px 30px #6f448b0b}
.product-photo img{mix-blend-mode:normal;padding:15px;transition:transform .55s var(--ease-out),opacity .3s;filter:drop-shadow(0 9px 6px #3c25581a)}
.product-photo:hover img{transform:scale(1.06)}
.product-photo.screenshot-floor img,.product-photo.screenshot-drl img{padding:0;filter:none}
.product-photo.screenshot-floor:hover img{transform:translateY(-25.8%) scale(1.025)}
.product-photo.screenshot-drl:hover img{transform:translateY(-22.3%) scale(1.025)}
.detail-visual{background:radial-gradient(ellipse at 20% 15%,#a66bff18,transparent 70%),var(--surface2)}
.detail-visual .product-photo{box-shadow:0 15px 35px #38224813;border-radius:16px}
.detail-visual .product-photo img{padding:20px;filter:drop-shadow(0 12px 7px #3c255821)}
.detail-visual .product-photo.screenshot-floor img,.detail-visual .product-photo.screenshot-drl img{padding:0;filter:none}
.detail-visual .product-photo:hover img{transform:none}
.detail-visual .product-photo.screenshot-floor:hover img{transform:translateY(-25.8%)}
.detail-visual .product-photo.screenshot-drl:hover img{transform:translateY(-22.3%)}
dialog{max-width:calc(100vw - 32px);overflow-x:hidden;overscroll-behavior:contain;margin:auto}
.product-dialog{width:min(850px,calc(100vw - 32px))}.list-dialog{width:min(520px,calc(100vw - 32px))}
.detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.detail-layout>*,.detail-content,.detail-visual,.variant-fields>*{min-width:0}.detail-content h2,.detail-description,.reference-note{overflow-wrap:anywhere}
form input:not([type=checkbox]),form select,.variant-label select,.quantity-row input{min-width:0;max-width:100%}.variant-label{min-width:0}.variant-label select{width:100%;text-overflow:ellipsis}
.variant-summary{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 15px}.variant-summary span{font-size:9px;line-height:1.5;border:1px solid #a66bff40;background:#a66bff12;color:var(--violet);border-radius:20px;padding:4px 8px}
.variant-label:focus-within{color:var(--violet)}.variant-label select:focus{border-color:var(--violet)}
dialog::backdrop{animation:backdrop-in .3s ease both}@keyframes backdrop-in{from{background:#05040b00;backdrop-filter:blur(0)}to{background:#05040bbd;backdrop-filter:blur(5px)}}
.list-item{animation:list-in .35s var(--ease-out) both}@keyframes list-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
.contact-socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px;margin:35px auto 0;gap:16px;text-align:left}
.contact-socials .social-card{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:14px;padding:22px 18px;background:var(--surface);color:var(--text);width:auto;min-width:0;box-shadow:0 6px 20px #40243f08}
.social-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:14px;transition:transform .4s var(--ease-out),box-shadow .4s;color:#fff}.social-icon svg{width:29px;height:29px}
.social-instagram .social-icon{background:linear-gradient(135deg,#7142dc,#cf2979 60%,#f6a64e)}.social-facebook .social-icon{background:linear-gradient(135deg,#2683ff,#1761d1)}.social-whatsapp .social-icon{background:linear-gradient(135deg,#26bd78,#158e57)}
.social-text{min-width:0;flex:1}.social-text strong{display:block;font-size:16px;font-family:Manrope,system-ui;font-weight:700;letter-spacing:-.4px}.social-text small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.social-arrow{font-size:22px;color:var(--muted);transition:transform .3s,color .3s}
@media(hover:hover){.contact-socials .social-card:hover{transform:translateY(-6px);border-color:#a66bff70;box-shadow:0 13px 30px #722c8120}.social-card:hover .social-icon{transform:rotate(-6deg) scale(1.07);box-shadow:0 7px 18px #722c8125}.social-card:hover .social-arrow{transform:translate(3px,-3px);color:var(--violet)}}
.contact-email{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-top:25px;padding:10px 16px;border-radius:30px;transition:color .3s,background-color .3s}.contact-email svg{width:20px;height:20px}.contact-email:hover{background:var(--surface2);color:var(--text)}
.will-reveal{opacity:0;transform:translateY(30px)}.faq-grid summary:after{transition:transform .35s var(--ease-out)}.faq-grid details[open] summary:after{transform:rotate(180deg)}
@media(max-width:1000px){.contact-socials{gap:12px}.contact-socials .social-card{padding:18px 14px;gap:12px}.social-icon{flex-basis:44px;height:44px;border-radius:12px}.social-icon svg{width:26px;height:26px}.social-text strong{font-size:14px}.social-arrow{font-size:18px}}
@media(max-width:800px){.header nav{display:flex;max-height:0;opacity:0;visibility:hidden;padding-block:0;overflow:hidden;transform:translateY(-10px);pointer-events:none;transition:max-height .4s var(--ease-out),opacity .3s,padding .4s,transform .4s var(--ease-out),visibility .4s}.header nav.open{max-height:300px;opacity:1;visibility:visible;padding-block:20px;transform:translateY(0);pointer-events:auto}}
@media(max-width:600px){.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-content{padding:23px 20px}.detail-content h2{padding-right:0}.variant-fields{grid-template-columns:minmax(0,1fr)}.variant-label:first-child:last-child{grid-column:auto}.detail-visual .product-photo{max-width:250px}.contact-socials{grid-template-columns:1fr;max-width:390px;gap:12px;margin-top:28px}.contact-socials .social-card{padding:18px 20px;border-radius:14px;gap:18px}.social-icon{flex-basis:52px;height:52px;border-radius:14px}.social-icon svg{width:29px;height:29px}.social-text strong{font-size:17px}.social-text small{font-size:12px}.social-arrow{font-size:24px}.contact-email{font-size:12px}.product-photo img{padding:10px}.detail-visual .product-photo img{padding:15px}.hero-image{opacity:.8}:root[data-theme=light] .hero-image{opacity:.24}.hero h1{position:relative}.hero-buttons{position:relative}.product-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}.tap-ripple{display:none}}
/* Gradual light hero rather than an abrupt background replacement. */
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 10% 15%,#fff9fb 0,transparent 60%),radial-gradient(ellipse at 90% 80%,#d4bfeb55,transparent 60%);opacity:0;transition:opacity .65s ease}
:root[data-theme=light] .hero{background:var(--hero-bg)}
:root[data-theme=light] .hero:before{opacity:1}
@supports(interpolate-size:allow-keywords){.faq-grid details{interpolate-size:allow-keywords}.faq-grid details::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .4s var(--ease-out),opacity .3s,content-visibility .4s;transition-behavior:allow-discrete}.faq-grid details[open]::details-content{block-size:auto;opacity:1}}
