/* Preserve original cards and normal CTAs; only refine the selected state. */
.product-card .cart-add[aria-pressed=true],[data-theme=light] .product-card .cart-add[aria-pressed=true]{position:relative;overflow:hidden;background:linear-gradient(115deg,#242944,#3e426c 60%,#555088);color:#fff;border:1px solid #7776ac;border-radius:10px;box-shadow:inset 0 1px 0 #ffffff20,0 5px 14px #25204420;animation:cart-confirm .28s ease-out}
.product-card .cart-add[aria-pressed=true]:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff18 45%,transparent 70%);transform:translateX(-110%);transition:transform .65s;pointer-events:none}
.product-card .cart-add[aria-pressed=true]:hover:before{transform:translateX(110%)}
.product-card .cart-add[aria-pressed=true]:hover{box-shadow:inset 0 1px 0 #ffffff25,0 7px 18px #38336535}
[data-theme=dark] .product-card .cart-add[aria-pressed=true]{background:linear-gradient(115deg,#373955,#515681);border-color:#8589bc}
.product-card .cart-add[aria-pressed=true]:focus-visible{outline:3px solid #9287df;outline-offset:3px}
@keyframes cart-confirm{from{transform:scale(.97)}to{transform:scale(1)}}
#product-dialog{width:min(920px,calc(100% - 24px));border-radius:24px;max-height:92dvh}
#product-dialog .dialog-body{padding:28px 32px}
.catalog-gallery{padding:18px;border:1px solid var(--line);border-radius:20px;margin-bottom:28px;background:linear-gradient(140deg,#8e83cc0c,#3a7b9208)}
.catalog-gallery-heading{font-size:.67rem;font-weight:750;letter-spacing:.12em;color:var(--muted);margin:0 0 16px}
.catalog-stage{height:290px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 70% 10%,#8d7ee222,transparent 65%),linear-gradient(125deg,#7c8fa80a,#7b77ad14)}
.catalog-stage img{width:100%;height:100%;object-fit:contain}
.catalog-stage [hidden]{display:none}
.catalog-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted)}
.catalog-placeholder-icon{font-size:2.2rem;color:#9b91ca}
.catalog-placeholder strong{font-size:1.35rem;color:var(--ink);letter-spacing:-.04em}
.catalog-placeholder>span:last-child{font-size:.8rem}
.catalog-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.catalog-arrow{width:46px;height:46px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.3rem;cursor:pointer;transition:background .2s,transform .2s}
.catalog-arrow:hover{background:#9081d124;transform:translateY(-1px)}
.catalog-arrow:disabled{opacity:.4;cursor:default}
.catalog-caption{display:flex;flex-direction:column;gap:5px;text-align:center}
.catalog-caption strong{font-size:.85rem;color:var(--ink)}
.catalog-caption span{font-size:.7rem;letter-spacing:.15em;color:var(--muted)}
.catalog-dots{display:flex;justify-content:center;gap:2px;margin-top:4px}
.catalog-dots button{width:32px;height:32px;border:0;background:transparent;position:relative;cursor:pointer}
.catalog-dots button:before{content:'';position:absolute;width:6px;height:6px;border-radius:8px;background:#8c8eaa;left:13px;top:13px;transition:width .2s,left .2s}
.catalog-dots button[aria-pressed=true]:before{width:20px;left:6px;background:#8d79d8}
.catalog-gallery button:focus-visible{outline:2px solid #9685d9;outline-offset:2px}
.catalog-functions{border-top:1px solid var(--line);padding-top:22px;margin:20px 0 24px}
.catalog-functions h4{font-size:1rem;margin:0 0 14px}
.catalog-functions ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:0;list-style:none}
.catalog-functions li{font-size:.875rem;line-height:1.7;padding-left:20px;position:relative;color:var(--ink)}
.catalog-functions li:before{content:'✓';position:absolute;left:0;color:#419f8e}
#product-dialog .catalog-compatibility{font-size:.76rem;line-height:1.7;margin-top:20px;color:var(--muted)}
@media(max-width:650px){#product-dialog .dialog-body{padding:20px}.catalog-gallery{padding:12px}.catalog-stage{height:220px}.catalog-functions ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.product-card .cart-add[aria-pressed=true],.product-card .cart-add[aria-pressed=true]:before,.catalog-arrow,.catalog-dots button:before{animation:none;transition:none}.product-card .cart-add[aria-pressed=true]:hover,.catalog-arrow:hover{transform:none}}
/* Detail experience: scoped to the dialog, preserving catalog cards. */
#theme-toggle .theme-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
#theme-toggle .theme-icon svg{display:block;width:22px;height:22px;transition:transform .35s ease}
#theme-toggle:hover .theme-icon svg{transform:rotate(-12deg)}
#product-dialog{background:#101728;color:#edf2ff;border:1px solid #65719455;box-shadow:0 28px 100px #02071266}
[data-theme=light] #product-dialog{background:#fcfdff;color:#192e48;border-color:#dce2ef;box-shadow:0 28px 100px #18325233}
#product-dialog .dialog-header{background:#131c30;border-bottom:1px solid #8193b324;padding:22px 28px}
[data-theme=light] #product-dialog .dialog-header{background:#f7f9ff;border-color:#e3e8f2}
#product-dialog .dialog-header h2{font-size:1.2rem;letter-spacing:-.035em}
#product-dialog .dialog-close{border-radius:50%}
#product-dialog .dialog-body{background:radial-gradient(ellipse at 100% 0,#8572db12,transparent 38%);padding:30px}
#product-dialog-name{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.15;letter-spacing:-.045em;max-width:650px;margin:14px 0}
#product-dialog-description{font-size:.97rem;line-height:1.8;color:var(--muted)}
.catalog-overview{margin:22px 0}
.catalog-meta{display:flex;gap:8px;flex-wrap:wrap}
.catalog-meta span{font-size:.72rem;border-radius:8px;background:#8274d514;border:1px solid #9284ce30;padding:7px 11px;color:var(--ink)}
#product-dialog .catalog-overview>p{font-size:.85rem;color:var(--muted);margin:15px 0}
.catalog-flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;margin:18px 0}
.catalog-flow li{padding:16px 12px;background:#8197ba08;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;gap:9px}
.catalog-flow span{font-size:.68rem;letter-spacing:.12em;color:#9886dd}
.catalog-flow strong{font-size:.77rem;line-height:1.5;color:var(--ink)}
#product-dialog-topics{margin:20px 0}
#product-dialog .catalog-gallery{margin:24px 0}
#product-dialog .catalog-functions{border:0;padding-top:8px}
.catalog-section-label{font-size:.65rem;font-weight:750;letter-spacing:.16em;color:#9783d4}
#product-dialog .catalog-functions h4{font-size:1.35rem;letter-spacing:-.035em;margin:10px 0}
#product-dialog .catalog-section-intro{font-size:.84rem;color:var(--muted);margin-bottom:20px}
.catalog-feature-group{border:1px solid var(--line);border-radius:15px;margin:10px 0;overflow:hidden;background:#839aca06;transition:border-color .2s}
.catalog-feature-group[open]{border-color:#9987d766;background:linear-gradient(120deg,#8d78d00c,transparent)}
.catalog-feature-group summary{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer;list-style:none}
.catalog-feature-group summary::-webkit-details-marker{display:none}
.catalog-feature-number{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:11px;background:#9681d71a;color:#a594df;font-size:.72rem;font-weight:750}
[data-theme=light] .catalog-feature-number{color:#6950a7}
.catalog-feature-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.catalog-feature-copy strong{font-size:.92rem;color:var(--ink)}
.catalog-feature-copy>span{font-size:.75rem;color:var(--muted);line-height:1.5}
.catalog-expand{font-size:1.4rem;color:var(--muted);transition:transform .2s}
.catalog-feature-group[open] .catalog-expand{transform:rotate(45deg)}
.catalog-feature-group summary:focus-visible{outline:2px solid #9685d9;outline-offset:-3px}
#product-dialog .catalog-feature-group ul{padding:0 20px 20px;margin:0;gap:14px 24px;animation:detail-reveal .25s ease}
#product-dialog .catalog-feature-group li{font-size:.84rem}
#product-dialog-offer{padding:22px;border:1px solid #9987d755;border-radius:16px;background:linear-gradient(120deg,#8270d317,#4482af0a);margin-top:26px}
#product-dialog-price{font-size:2rem;letter-spacing:-.045em}
#product-dialog-whatsapp{width:100%;justify-content:center;border-radius:12px;min-height:50px}
#product-dialog .product-dialog-question{padding:16px;border-left:2px solid #9c8bd0;font-size:.8rem;background:#8696af08}
@keyframes detail-reveal{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){#product-dialog .dialog-body{padding:20px}#product-dialog .dialog-header{padding:18px 20px}.catalog-flow{gap:6px}.catalog-flow li{padding:12px 8px}.catalog-flow strong{font-size:.7rem}.catalog-feature-group summary{padding:15px;gap:10px}#product-dialog .catalog-feature-group ul{grid-template-columns:1fr;padding:0 16px 18px}}
@media(prefers-reduced-motion:reduce){#theme-toggle .theme-icon svg,.catalog-feature-group,.catalog-expand{transition:none}#product-dialog .catalog-feature-group ul{animation:none}}
.catalog-ai{position:relative;padding:26px;margin:26px 0;border:1px solid #9380d866;border-radius:20px;background:radial-gradient(ellipse at top right,#8253d429,transparent 65%),linear-gradient(130deg,#7374d313,#3f9db20e)}
.catalog-ai-badge{display:inline-block;padding:7px 11px;border:1px solid #9d89d94a;border-radius:30px;font-size:.65rem;letter-spacing:.12em;font-weight:800;color:#b8a7fa;background:#9875db15}
[data-theme=light] .catalog-ai-badge{color:#6345a0}
#product-dialog .catalog-ai h4{font-size:1.5rem;line-height:1.25;letter-spacing:-.04em;margin:18px 0 12px}
#product-dialog .catalog-ai>p{font-size:.88rem;line-height:1.7;color:var(--muted)}
.catalog-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.catalog-ai-grid article{padding:18px;border:1px solid var(--line);border-radius:13px;background:#ffffff05;transition:transform .2s,border-color .2s}
[data-theme=light] .catalog-ai-grid article{background:#ffffffa6}
.catalog-ai-grid article:hover{transform:translateY(-2px);border-color:#a18bd5}
.catalog-ai-grid article:last-child{grid-column:1/-1}
#product-dialog .catalog-ai-grid h5{margin:0 0 8px;font-size:.9rem;color:var(--ink)}
#product-dialog .catalog-ai-grid p{margin:0;font-size:.81rem;line-height:1.7;color:var(--muted)}
#product-dialog .catalog-ai .catalog-ai-note{font-size:.73rem;line-height:1.7;margin:18px 0 0}
@media(max-width:650px){.catalog-ai{padding:18px}.catalog-ai-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.catalog-ai-grid article{transition:none}.catalog-ai-grid article:hover{transform:none}}
.catalog-stage{position:relative}
.catalog-stage>img{cursor:zoom-in}
.catalog-enlarge-button{position:absolute;right:12px;bottom:12px;border:1px solid #ffffff45;border-radius:30px;padding:10px 16px;background:#17283de8;color:white;font-size:.75rem;font-weight:700;box-shadow:0 4px 18px #11243826;backdrop-filter:blur(12px)}
.catalog-enlarge-button:hover{background:#34516b}
.catalog-dots{flex-wrap:wrap}
dialog.photo-viewer{position:fixed;inset:0;width:calc(100vw - 32px);max-width:1600px;height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0;border:1px solid #8190ac44;border-radius:20px;background:#0d1421;color:#eef3ff;overflow:hidden;box-shadow:0 28px 100px #0009}
dialog.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:photo-enter .2s ease-out}
.photo-viewer::backdrop{background:#050c18e8;backdrop-filter:blur(14px)}
.photo-viewer-top{display:flex;align-items:center;gap:20px;padding:14px 20px;border-bottom:1px solid #ffffff15}
.photo-viewer-top strong{font-size:1rem;letter-spacing:-.025em}
.photo-viewer-top span{margin-left:auto;font-size:.78rem;color:#a9b9d2;font-variant-numeric:tabular-nums}
.photo-viewer button{min-width:44px;min-height:44px;border:1px solid #ffffff25;background:#ffffff0b;color:#f1f5ff;border-radius:12px;padding:8px 16px;cursor:pointer}
.photo-viewer button:hover{background:#ffffff1c}
.photo-viewer button:focus-visible{outline:3px solid #b2a0ff;outline-offset:3px}
.photo-viewer button:disabled{opacity:.4;cursor:default}
.photo-viewer-top button{font-size:1.5rem}
.photo-viewer-viewport{overflow:auto;min-height:0;padding:12px;overscroll-behavior:contain}
.photo-viewer-viewport img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;cursor:zoom-in;border-radius:6px}
.photo-viewer-viewport.is-zoomed img{width:200%;height:200%;cursor:zoom-out}
.photo-viewer-viewport [hidden]{display:none}
.photo-viewer-tools{display:flex;justify-content:center;gap:14px;padding:12px;border-top:1px solid #ffffff15}
.photo-viewer-tools button{font-size:.8rem}
@keyframes photo-enter{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(max-width:650px){dialog.photo-viewer{width:100vw;height:100dvh;border:0;border-radius:0}.photo-viewer-top{padding:12px}.photo-viewer-tools{padding-bottom:max(12px,env(safe-area-inset-bottom))}.photo-viewer-viewport{padding:6px}.catalog-enlarge-button{right:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){dialog.photo-viewer[open]{animation:none}}
