/* Reflejo breve en reposo, con pausa entre recorridos. */
.primary,.button.purple,.hero .button,.woocommerce #place_order,.woocommerce #pt-next{position:relative;isolation:isolate;overflow:hidden;transition:box-shadow .2s ease,transform .16s ease,background-color .2s ease}
.primary::after,.button.purple::after,.hero .button::after,.woocommerce #place_order::after,.woocommerce #pt-next::after{content:"";position:absolute;inset:-35% -20%;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff08 43%,#ffffff30 49%,#ffffff08 55%,transparent 65%);transform:translateX(-130%);opacity:0;z-index:1;animation:pt-reflection 7s ease-out 1s infinite}
@keyframes pt-reflection{0%{transform:translateX(-65%);opacity:0}3%{opacity:.65}42%{opacity:.65}46%,100%{transform:translateX(65%);opacity:0}}
@keyframes pt-enter{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.primary:not(:disabled):hover,.button.purple:hover,.hero .button:hover,.woocommerce #place_order:not(:disabled):hover,.woocommerce #pt-next:not(:disabled):hover{box-shadow:0 0 0 3px #a249d817,0 6px 18px #7b2cbf20;transform:translateY(-1px)}.primary:not(:disabled):hover::after,.button.purple:hover::after,.hero .button:hover::after,.woocommerce #place_order:not(:disabled):hover::after,.woocommerce #pt-next:not(:disabled):hover::after{animation:none;opacity:0}}
.primary:not(:disabled):focus-visible::after,.button.purple:focus-visible::after,.hero .button:focus-visible::after{animation:none;opacity:0}
.primary:not(:disabled):active,.button.purple:active,.hero .button:active{transform:translateY(1px)}
.checkoutpanel,.orderdone,.pt-review:not([hidden]),.pt-checkout-flow #customer_details:not([hidden]){animation:pt-enter .2s ease-out}
.compareselect{display:flex;align-items:center;gap:7px;border:1px solid #e8dfed;border-radius:8px;background:#fff;color:#655170;font:500 11px Inter,Arial,sans-serif;min-height:38px;padding:8px 11px;margin-top:12px;cursor:pointer;transition:background-color .15s,border-color .15s}
.compareselect span{font-size:16px;line-height:1}.compareselect[aria-pressed=true]{background:#f3e8fb;border-color:#bc8bdb;color:#7028a1}.compareselect:hover{border-color:#b387cb}.detailcopy>.compareselect{margin-top:14px}.compareclose:focus-visible,.compareclear:focus-visible,.compareselect:focus-visible,.comparescroll:focus-visible,.compareremove:focus-visible{outline:2px solid #7b2cbf;outline-offset:3px}
#comparetray{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:30;width:680px;max-width:calc(100vw -36px);border:1px solid #e6d9ed;border-radius:15px;background:#fffffff5;box-shadow:0 7px 35px #36213e1f;display:flex;align-items:center;gap:18px;padding:14px 16px;backdrop-filter:blur(10px)}
#comparetray[hidden]{display:none}#comparetray>div{flex:1;min-width:0}#comparetray b{font-size:13px;color:#302438}#comparetray small{display:block;font-size:11px;color:#826f8e;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#comparetray .button{font-size:12px;min-height:42px;padding:10px 16px;white-space:nowrap}#comparetray .button:disabled{opacity:.5;cursor:default}.compareclear,.compareclose{border:0;background:#f5f0f8;color:#755883;border-radius:50%;font-size:24px;width:38px;height:38px;flex:0 0 38px;cursor:pointer}
body.hascomparison{padding-bottom:106px}body.hascomparison .floating{bottom:125px}
#comparedialog{width:1120px;max-width:calc(100vw -48px);max-height:calc(100dvh -56px);padding:28px;border:1px solid #e9dff0;border-radius:20px;background:white;color:#292332;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #2012253b}
#comparedialog::backdrop{background:#21152d80}.compareheading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.compareheading h2{font:800 30px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:7px 0 10px}.compareheading p{font-size:13px;line-height:1.6;color:#7d6a89;margin:0 0 22px}.compareheading .eyebrow{font-size:9px;letter-spacing:.14em;color:#7b2cbf}.comparescroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #e7dfed;border-radius:12px}.comparetable{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;text-align:left;font-size:12px;line-height:1.65}.comparetable th,.comparetable td{padding:14px 18px;border-bottom:1px solid #eee7f2;border-right:1px solid #eee7f2;vertical-align:top;overflow-wrap:anywhere}.comparetable tr>*:last-child{border-right:0}.comparetable tr:last-child>*{border-bottom:0}.comparetable tr>th:first-child{width:160px;background:#faf7fc;font-weight:600;position:sticky;left:0;z-index:2}.comparetable thead th{font-size:15px;background:#fff}.comparetable thead img{height:100px;width:100%;object-fit:contain;display:block;margin-bottom:13px}.comparetable thead a{display:block;font:700 17px/1.3 Manrope,Arial,sans-serif}.comparebrand{font-size:9px;letter-spacing:.08em;color:#977ca7;display:block;margin-bottom:6px}.compareremove{border:0;background:transparent;padding:9px 0;color:#897491;font-size:11px;cursor:pointer;min-height:36px}.comparetable small{display:block;font-size:10px;color:#897491;margin-top:4px}.compareprices strong{font-size:21px;white-space:nowrap}.comparetable .button{font-size:11px;min-height:40px;padding:9px 13px;gap:7px}.comparenote{font-size:11px;line-height:1.7;color:#897491;margin:17px 0}.comparemobilehint{display:none}.compareactions{display:flex;align-items:center;gap:20px;margin-top:18px}.compareactions .button{font-size:12px}.compareempty{padding:25px 0;display:flex;gap:14px;flex-wrap:wrap}.compareempty h2,.compareempty p{flex-basis:100%}
@media(max-width:760px){.compareselect{font-size:11px;min-height:42px;padding:8px 10px;margin-top:8px}#comparetray{bottom:max(10px,env(safe-area-inset-bottom));padding:12px;gap:10px;max-width:calc(100vw -24px);border-radius:12px}#comparetray b{font-size:11px}#comparetray small{font-size:10px;max-width:150px}#comparetray .button{font-size:11px;padding:9px 12px;min-height:42px}.compareclear{width:32px;height:32px;flex-basis:32px;font-size:21px}body.hascomparison .floating{bottom:112px}#comparedialog{max-width:calc(100vw -20px);width:100%;max-height:calc(100dvh -28px);padding:18px 13px;border-radius:15px}.compareheading{gap:12px}.compareheading h2{font-size:25px}.compareheading p{font-size:12px;margin-bottom:16px}.compareclose{width:34px;height:34px;flex-basis:34px}.comparetable{width:max-content;table-layout:fixed}.comparetable th,.comparetable td{width:182px;max-width:182px;min-width:182px;padding:13px 12px}.comparetable tr>th:first-child{width:102px;min-width:102px;max-width:102px;font-size:11px}.comparetable thead img{height:85px}.comparetable thead a{font-size:16px}.compareprices strong{font-size:20px}.comparemobilehint{display:block;font-size:10px;color:#8a699d;margin:10px 0}.compareactions{flex-wrap:wrap;gap:9px;margin-top:15px}.compareactions .button{width:100%;min-height:44px}.compareactions .textlink{min-height:38px;padding-top:7px;font-size:12px}.comparenote{font-size:10px}}
@media(prefers-reduced-motion:reduce){.primary,.button,.compareselect{transition:none!important}.primary::after,.button::after,.woocommerce #place_order::after,.woocommerce #pt-next::after{animation:none!important;display:none}.checkoutpanel,.orderdone,.pt-review,.pt-checkout-flow #customer_details{animation:none!important}.primary:hover,.button:hover{transform:none!important}}

.compareintro{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#83738e;font-size:12px;margin:12px 0}.compareintro button{border:0;background:none;color:#7b2cbf;cursor:pointer;font-size:12px;min-height:38px;padding:7px 0}

.checkouttotals>summary .checkoutdeliveryhint{color:#795289;font-weight:500;margin-top:3px}.comparetable .compareprices>th{vertical-align:middle}@media(max-width:760px){.checkouttotals>summary{align-items:center}.checkouttotals>summary .checkoutdeliveryhint{font-size:10px;line-height:1.4}.checkouttotals>summary>span:first-child{min-width:0}}

/* La cinta fija deja visibles los títulos al navegar por secciones. */
.orderprogress,#catalogresults,#marcas,#necesidades,#checkoutheading{scroll-margin-top:54px}
.comparescroll{max-height:56dvh;overflow:auto}.comparetable thead th{position:sticky;top:0;z-index:3;box-shadow:0 1px #e7dfed}.comparetable thead th:first-child{z-index:4}.comparetable thead img{height:76px;margin-bottom:8px}.comparetable thead .compareremove{min-height:29px;padding:5px 0}
@media(max-width:760px){.comparescroll{max-height:53dvh}.comparetable thead img{height:65px}.comparetable thead th{font-size:13px}}

#comparedialog[open]:has(.comparescroll){display:flex;flex-direction:column;height:min(780px,calc(100dvh - 56px));overflow:hidden}
.compareheading,.comparenote,.compareactions,.comparemobilehint{flex-shrink:0}
#comparedialog .comparescroll{flex:1;min-height:0;max-height:none}
@media(max-width:760px){#comparedialog[open]:has(.comparescroll){height:calc(100dvh - 28px)}.compareheading p{margin-bottom:12px}.comparenote{margin:10px 0}.compareactions{margin-top:8px}}

/* Logos originales de pago: escala contenida y proporciones conservadas. */
.paymentlogos,.paymentmethods ul.paymentlogos{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:12px 0}
.paymentlogos li,.paymentmethods .paymentlogos li{width:66px;height:42px;min-width:0;box-sizing:border-box;border:1px solid #e5dfe9;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:6px 7px;gap:1px}
.paymentlogos img{display:block;width:100%;max-width:52px;height:28px;object-fit:contain;min-height:0}
.paymentlogos li.pay-visa{background:#1434cb;border-color:#1434cb}.paymentlogos .pay-visa img{height:15px;max-width:45px}
.paymentlogos .pay-yappy img{height:30px;width:40px}.paymentlogos .pay-bac img{height:18px;max-width:49px}.paymentlogos .pay-bac span{font:500 8px/1.15 Inter,Arial,sans-serif;color:#a71b2d;letter-spacing:0}
.paymentlogos .pay-tafi img{height:25px}.checkoutaside .paymentmethods .paymentlogos{display:grid;grid-template-columns:repeat(3,66px)}
.pt-payment-methods{font-size:12px;line-height:1.6;margin:14px 0;color:#756280}.pt-payment-methods .paymentlogos{justify-content:center}
@media(max-width:760px){.paymentlogos,.paymentmethods ul.paymentlogos{display:grid;grid-template-columns:repeat(3,62px);gap:8px}.paymentlogos li,.paymentmethods .paymentlogos li{width:62px;height:39px;padding:5px 6px}.paymentlogos img{height:26px}.paymentlogos .pay-yappy img{height:28px}.checkoutaside .paymentmethods .paymentlogos{grid-template-columns:repeat(3,62px)}}

.compareproduct{display:flex;align-items:center;gap:14px;min-height:88px}.compareproduct>div{min-width:0;flex:1}.comparetable .compareproduct>img{width:74px;max-width:74px;height:82px;margin:0;flex-shrink:0}.compareproduct .comparebrand{margin-bottom:4px}
@media(max-width:760px){.compareproduct{gap:9px;min-height:84px}.comparetable .compareproduct>img{width:52px;max-width:52px;height:64px}.comparetable .compareproduct a{font-size:14px}.compareproduct .comparebrand{font-size:8px}}

:is(.primary,.button.purple,.hero .button,.woocommerce #place_order,.woocommerce #pt-next):is(:focus-visible,:active,:disabled,[aria-disabled=true],[aria-busy=true])::after{animation:none;opacity:0}
.paymentlogos .pay-amex img{height:28px;width:36px}.checkoutaside .paymentmethods .paymentlogos{grid-template-columns:repeat(4,58px);gap:7px}.checkoutaside .paymentmethods .paymentlogos li{width:58px}
@media(max-width:760px){.paymentlogos,.paymentmethods ul.paymentlogos,.checkoutaside .paymentmethods .paymentlogos{grid-template-columns:repeat(4,56px);gap:6px}.paymentlogos li,.paymentmethods .paymentlogos li,.checkoutaside .paymentmethods .paymentlogos li{width:56px}.paymentlogos .pay-bac span{font-size:7px}}

/* Luz visible en reposo, también sobre el botón blanco de la portada. */
@keyframes pt-idle-glow{0%,100%{box-shadow:0 0 0 1px #bd7cf61a,0 0 6px #b469e60a}50%{box-shadow:0 0 0 1px #d6a0ff47,0 0 11px #bf7df421}}
.primary:not(:disabled),.button.purple:not(:disabled),.hero .button,.woocommerce #place_order:not(:disabled),.woocommerce #pt-next:not(:disabled){animation:pt-idle-glow 9s ease-in-out infinite}
.hero .button::after{background:linear-gradient(110deg,transparent 34%,#c17fee10 42%,#a249d82b 49%,#c17fee10 56%,transparent 66%)}
.primary::after,.button.purple::after,.hero .button::after,.woocommerce #place_order::after,.woocommerce #pt-next::after{animation-duration:11s;animation-delay:2s;animation-timing-function:ease-in-out}
@media(hover:hover){.primary:hover,.button.purple:hover,.hero .button:hover,.woocommerce #place_order:hover,.woocommerce #pt-next:hover{animation:none}}
:is(.primary,.button.purple,.hero .button,.woocommerce #place_order,.woocommerce #pt-next):is(:focus-visible,:active,:disabled,[aria-disabled=true],[aria-busy=true]){animation:none}
@media(prefers-reduced-motion:reduce){.primary,.button.purple,.hero .button,.woocommerce #place_order,.woocommerce #pt-next{animation:none!important}}
