/* Aurea Lume · efectos de fotos (ambos diseños). Se desactivan con prefers-reduced-motion. */
.photo-frame{position:relative;isolation:isolate;perspective:760px;--fx-rx:0deg;--fx-ry:0deg;--fx-lx:50%;--fx-ly:40%}
html .photo-frame .product-photo,html .product:hover .photo-frame .product-photo,html #detail .photo-frame .product-photo{transform:rotateX(var(--fx-rx)) rotateY(var(--fx-ry));transition:transform .18s ease-out,filter .25s;transform-style:preserve-3d;will-change:transform;filter:drop-shadow(0 14px 18px rgba(0,0,0,.38));cursor:zoom-in}
/* luz de estudio sobre la base: charco de luz elíptico bajo el frasco + brillo que sigue al puntero */
.photo-frame:before{content:"";position:absolute;left:12%;right:12%;bottom:4%;height:26%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,var(--scent-light,rgba(255,226,170,.9)) 0%,rgba(255,226,170,.28) 38%,transparent 70%);opacity:.7;filter:blur(7px);transition:opacity .3s}
.photo-frame:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--fx-lx) var(--fx-ly),rgba(255,248,230,.28),transparent 42%);mix-blend-mode:soft-light;opacity:0;transition:opacity .25s}
.photo-frame.fx-live:before{opacity:1}
.photo-frame.fx-live:after{opacity:1}
.fx-lens{position:fixed;z-index:60;border-radius:50%;pointer-events:none;border:2px solid rgba(232,197,138,.95);box-shadow:0 10px 28px rgba(0,0,0,.5),inset 0 0 18px rgba(255,255,255,.25);background-repeat:no-repeat;background-color:#fbf6ee;opacity:0;transform:scale(.7);transition:opacity .15s,transform .15s}
.fx-lens.on{opacity:1;transform:scale(1)}
.noir .photo-frame:before{background:radial-gradient(ellipse at 50% 55%,var(--scent-light,#d5b475) 0%,rgba(213,180,117,.22) 40%,transparent 70%)}
.noir .fx-lens{background-color:#0c0c0e}
@media (hover:none){.photo-frame .product-photo{cursor:default;touch-action:pan-y}}
@media (prefers-reduced-motion:reduce){.photo-frame .product-photo{transform:none!important;transition:none}.fx-lens{transition:none}}
/* concentración + notas con ilustración (v0.9.10) */
.conc{margin:2px 0 8px!important;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#c9a45c;font-weight:600}
.conc-unknown{color:#9c8f80;font-weight:500;letter-spacing:.04em;text-transform:none;font-style:italic}
.blanco .conc{color:#b83a74}.blanco .conc-unknown{color:#9b7585}
.note-chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.note-chips li{display:flex;flex-direction:column;align-items:center;width:64px;text-align:center}
.note-ico{display:block;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,244,214,.18),rgba(0,0,0,.25));border:1px solid rgba(201,164,92,.55);padding:3px;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.note-ico svg{width:100%;height:100%;display:block}
.note-name{margin-top:4px;font-size:10.5px;line-height:1.15;color:inherit;word-break:break-word}
.note-unknown{font-style:italic;opacity:.8;margin:6px 0 0}
.blanco .note-ico{background:radial-gradient(circle at 35% 30%,#fff,#ffe6ef);border-color:#efb2cb;box-shadow:0 4px 12px #e56a9c33}
@media(max-width:480px){header nav{flex-wrap:wrap;gap:6px 14px;justify-content:flex-start}header nav a.design-switch{max-width:100%}}
@media(max-width:480px){html body header nav{display:flex;flex-wrap:wrap;gap:6px 12px;max-width:100%}html body header nav a{white-space:normal}html body header nav a.design-switch{margin:0;max-width:100%;box-sizing:border-box}}
/* contorno de color alrededor de cada frasco/caja (disimula bordes del recorte) — v0.9.10 */
:root{--rim:rgba(240,214,150,.95);--rim-soft:rgba(240,214,150,.35)}
.blanco{--rim:rgba(207,79,134,.95);--rim-soft:rgba(239,143,180,.5)}
html .photo-frame .product-photo,html .product:hover .photo-frame .product-photo,html #detail .photo-frame .product-photo,.cat-card .photo-frame img{filter:drop-shadow(0 0 .6px var(--rim)) drop-shadow(0 0 .6px var(--rim)) drop-shadow(0 0 5px var(--rim-soft)) drop-shadow(0 14px 16px rgba(0,0,0,.35))}
body:not(.noir) .photo-frame .product-photo{--rim:rgba(255,205,160,.95);--rim-soft:rgba(255,190,140,.35)}
.noir.blanco .fx-lens,.blanco .fx-lens{background-color:#fff!important}
.noir:not(.blanco) .fx-lens{background-color:#0c0c0e}
/* caja + frasco sin huecos: el frasco se apoya sobre la caja, alineados por la base (v0.9.10) */
.photo-frame.photo-composition{display:flex!important;align-items:flex-end;justify-content:center;gap:0!important}
.photo-frame.photo-composition .product-photo{width:auto!important;max-width:54%!important;height:auto!important;max-height:86%!important;flex:0 1 auto;object-fit:contain;align-self:flex-end}
.photo-frame.photo-composition .product-photo:first-child{margin-right:-9%;z-index:1}
.photo-frame.photo-composition .product-photo:last-child{z-index:2}
/* v0.9.10 · nuevo efecto principal: flotación suave + barrido de brillo + reflejo en la base. La lupa pasa a ser opcional (botón «Lupa»). */
@keyframes fx-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
html .photo-frame .product-photo{animation:fx-float 6.5s ease-in-out infinite;-webkit-box-reflect:below -3px linear-gradient(transparent 66%,rgba(255,255,255,.2))}
.photo-frame.photo-composition .product-photo:last-child{animation-delay:-2.2s}
.photo-frame:after{background:radial-gradient(circle at var(--fx-lx) var(--fx-ly),rgba(255,248,230,.3),transparent 42%),linear-gradient(112deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%);background-size:100% 100%,260% 100%;background-position:0 0,170% 0;mix-blend-mode:soft-light;transition:opacity .25s,background-position 1s ease}
.photo-frame.fx-live:after{background-position:0 0,-70% 0}
/* marco fino alrededor de la foto, distinto en cada diseño */
.product-art,.cat-card .photo-frame{box-shadow:inset 0 0 0 1px rgba(255,205,160,.65),inset 0 0 0 5px rgba(0,0,0,.18),inset 0 0 0 6px rgba(255,205,160,.28)}
.noir .product-art,.noir .cat-card .photo-frame{box-shadow:inset 0 0 0 1px rgba(213,180,117,.6),inset 0 0 0 5px #050506,inset 0 0 0 6px rgba(213,180,117,.28)}
.blanco .product-art,.blanco .cat-card .photo-frame{box-shadow:inset 0 0 0 1px #ef8fb4,inset 0 0 0 5px #fff,inset 0 0 0 6px rgba(239,143,180,.45)}
.noir .product-art{background:radial-gradient(ellipse at 50% 28%,#1c1710 0%,#0a0906 55%,#030303 100%)!important}
.blanco .product-art{background:radial-gradient(ellipse at 50% 26%,#fff 0%,#fff0f5 50%,#f8c9dc 100%)!important}
/* volver arriba + interruptor de lupa */
.fx-top{position:fixed;right:18px;bottom:92px;z-index:50;width:46px;height:46px;border-radius:50%;border:1px solid var(--rim,#d5b475);background:rgba(10,9,8,.86);color:var(--rim,#d5b475);font:22px/1 system-ui;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.fx-top.on{opacity:1;pointer-events:auto;transform:none}
.blanco .fx-top{background:rgba(255,255,255,.92);color:#b83a74;border-color:#ef8fb4;box-shadow:0 8px 20px #e56a9c44}
body:not(.noir) .fx-top{background:rgba(50,17,44,.9);color:#efbc83;border-color:#efbc83}
.fx-lupa{position:fixed;left:16px;bottom:18px;z-index:50;padding:9px 14px;border-radius:999px;border:1px solid var(--rim,#d5b475);background:rgba(10,9,8,.86);color:var(--rim,#d5b475);font:12px system-ui;cursor:pointer}
.fx-lupa[aria-pressed=true]{background:var(--rim,#d5b475);color:#14100a}
.blanco .fx-lupa{background:#fff;color:#b83a74;border-color:#ef8fb4}.blanco .fx-lupa[aria-pressed=true]{background:#ef8fb4;color:#fff}
body:not(.noir) .fx-lupa{background:rgba(50,17,44,.9);color:#efbc83;border-color:#efbc83}
@media(prefers-reduced-motion:reduce){html .photo-frame .product-photo{animation:none}.photo-frame:after{transition:none}}

/* v0.9.10: contornos reales, sin halo que disimule recortes. */
html .photo-frame .product-photo,html .product:hover .photo-frame .product-photo,html #detail .photo-frame .product-photo,.cat-card .photo-frame img{filter:drop-shadow(0 12px 14px rgba(0,0,0,.28))}
