.adp-app{--adp-blue:#006699;--adp-cyan:#0099cc;font-family:inherit;color:#203344;max-width:1160px;margin:24px auto;padding:clamp(18px,3vw,38px);background:#fff;border:1px solid #e4edf3;border-radius:22px;box-shadow:0 18px 65px rgba(0,52,84,.09);box-sizing:border-box}.adp-app *{box-sizing:border-box}.adp-head{display:flex;gap:13px;align-items:center;margin-bottom:25px}.adp-head strong{font-size:23px;color:var(--adp-blue);letter-spacing:1px}.adp-head small{display:block;color:#65798b}.adp-logo{width:52px;height:52px;display:grid;place-items:center;background:linear-gradient(135deg,var(--adp-blue),var(--adp-cyan));color:#fff;border-radius:15px;font-size:29px;font-weight:800}.adp-steps{display:flex;gap:12px;margin-bottom:26px}.adp-steps span{flex:1;background:#eef4f7;border-radius:11px;padding:13px;text-align:center;color:#6b7d88;font-weight:700;font-size:14px}.adp-steps .active{background:var(--adp-blue);color:white}.adp-app h2{font-size:25px;margin:0 0 8px;color:#143c52}.adp-app p{color:#627687}.adp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0}.adp-app label{display:block;font-size:14px;font-weight:700;color:#355265}.adp-app input:not([type=checkbox]),.adp-app select{width:100%;min-width:0;border:1px solid #d4e2ea;border-radius:10px;padding:13px 14px;margin-top:7px;background:#fff;color:#213e50;font-size:15px;outline:none}.adp-app input:focus,.adp-app select:focus{border-color:var(--adp-cyan);box-shadow:0 0 0 3px rgba(0,153,204,.13)}.adp-check{display:flex!important;gap:10px;align-items:flex-start;margin:12px 0 23px;font-weight:400!important}.adp-check input{margin-top:4px}.adp-app a{color:var(--adp-blue)}.adp-btn{background:linear-gradient(120deg,var(--adp-blue),var(--adp-cyan));border:0;color:white;padding:13px 20px;border-radius:10px;cursor:pointer;font-weight:700;font-size:14px;transition:transform .15s,box-shadow .15s}.adp-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,102,153,.2)}.adp-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.adp-outline{background:#eef7fb;color:var(--adp-blue);border:1px solid #d0e8f2}.adp-shopbar{display:flex;justify-content:space-between;gap:15px;align-items:center}.adp-filters{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:18px 0 25px}.adp-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.adp-product{overflow:hidden;border:1px solid #e1eaf0;border-radius:15px;box-shadow:0 5px 16px rgba(0,50,70,.04);background:white}.adp-product>img{width:100%;height:190px;object-fit:contain;background:#f8fbfd;padding:12px}.adp-product-body{padding:16px}.adp-product-body small{color:var(--adp-blue);font-weight:700}.adp-product-body h3{font-size:16px;line-height:1.35;margin:8px 0}.adp-product-body p{font-size:13px;line-height:1.45;min-height:36px}.adp-product-body>strong{display:block;color:var(--adp-blue);font-size:20px;margin:10px 0}.adp-add{display:flex;gap:8px}.adp-add input{width:75px!important;margin:0!important}.adp-add .adp-btn{flex:1;padding:10px}.adp-cart{margin-top:30px;padding:22px;background:#f5f9fc;border-radius:16px;border:1px solid #e1ebf0}.adp-cart h3{margin-top:0}.adp-cart-row{display:grid;grid-template-columns:minmax(0,1fr) 75px 110px 28px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #dae7ee}.adp-cart-row input{margin:0!important;padding:9px!important}.adp-remove{border:0;background:transparent;color:#b33434;font-size:26px;cursor:pointer}.adp-total-row{display:flex;justify-content:space-between;padding:8px 0;gap:12px}.adp-total-row.grand{border-top:1px solid #d2e1e9;font-size:21px;color:var(--adp-blue);margin-top:8px;padding-top:15px}.adp-cart>.adp-btn{margin-top:20px;width:100%}.adp-note{font-size:12px}.adp-error,.adp-success{padding:13px;border-radius:10px;margin:10px 0;background:#fff0ee;color:#9d302b}.adp-success{background:#eaf8ef;color:#186d3e}.adp-app [hidden]{display:none!important}#adp-more{margin-top:20px}@media(max-width:850px){.adp-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.adp-grid,.adp-filters,.adp-products{grid-template-columns:1fr}.adp-steps span{font-size:11px}.adp-shopbar{align-items:flex-start;flex-direction:column}.adp-cart-row{grid-template-columns:minmax(0,1fr) 60px 78px 20px;gap:5px;font-size:12px}.adp-app{padding:16px}.adp-product>img{height:210px}}

/* v2.1: encapsulated layout, accessible honeypot, and compact pagination */
.adp-app{--adp-blue:#006699;--adp-cyan:#0099cc;width:100%;max-width:1180px;margin:20px auto;padding:clamp(16px,3vw,36px);overflow-wrap:anywhere}
.adp-app .adp-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #e8eff4}
.adp-app .adp-brand{display:block;width:min(250px,62vw);height:auto;max-height:110px;object-fit:contain;object-position:left center}
.adp-app .adp-brand-sub{font-size:13px;color:#617989;font-weight:600}
.adp-app .adp-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important}
.adp-app .adp-grid{gap:16px 20px;margin:22px 0}.adp-app label{line-height:1.45}.adp-app input:not([type=checkbox]),.adp-app select{min-height:46px;line-height:1.4}.adp-app .adp-check{display:flex!important;gap:9px;align-items:flex-start;line-height:1.5}.adp-app .adp-check input{width:16px;height:16px;flex:0 0 16px}.adp-app .adp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.3;text-align:center;text-decoration:none!important;color:white}.adp-app .adp-outline{color:var(--adp-blue)}.adp-app #adp-pdf-result{margin:16px 0 22px}.adp-app #adp-alert:empty{display:none}.adp-app #adp-alert:not(:empty){margin-bottom:16px}.adp-app .adp-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:24px 0 10px}.adp-app .adp-pagination>span{flex-basis:100%;text-align:center;font-size:13px;color:#526f7d}.adp-app .adp-page-btn{min-width:42px;height:42px;border:1px solid #cbdfe9;border-radius:9px;background:#fff;color:#006699;cursor:pointer;font-weight:700}.adp-app .adp-page-btn.current{background:#006699;color:#fff;border-color:#006699}.adp-app .adp-page-btn:disabled{opacity:.4;cursor:default}.adp-app .adp-product-body{display:flex;flex-direction:column;gap:7px;height:100%}.adp-app .adp-product-body h3,.adp-app .adp-product-body p,.adp-app .adp-product-body>strong{margin:0}.adp-app .adp-add{margin-top:auto}.adp-app .adp-product{display:flex;flex-direction:column}.adp-app .adp-product>img{flex-shrink:0}.adp-app .adp-cart{scroll-margin-top:25px}.adp-app .adp-shopbar{gap:18px}.adp-app #adp-products{scroll-margin-top:28px}
@media(max-width:700px){.adp-app .adp-steps{gap:7px}.adp-app .adp-steps span{padding:10px 7px;font-size:12px}.adp-app .adp-grid{grid-template-columns:1fr;gap:14px}.adp-app .adp-filters{grid-template-columns:1fr}.adp-app .adp-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adp-app .adp-product>img{height:150px}.adp-app .adp-product-body{padding:12px}.adp-app .adp-cart{padding:14px}}
@media(max-width:480px){.adp-app{margin:8px auto;padding:14px;border-radius:14px}.adp-app .adp-head{align-items:flex-start}.adp-app .adp-products{grid-template-columns:1fr}.adp-app .adp-product>img{height:205px}.adp-app .adp-cart-row{grid-template-columns:minmax(0,1fr) 62px 75px 24px;gap:5px}.adp-app .adp-cart-row strong{font-size:12px}.adp-app .adp-shopbar{flex-direction:column;align-items:stretch}.adp-app .adp-btn{max-width:100%}}

/* v2.2: cinco productos por página, variantes agrupadas, límites y finalización */
.adp-app .adp-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.adp-app .adp-product{min-width:0}.adp-app .adp-product>img{height:200px;object-fit:contain}
.adp-app .adp-variant-label{display:block;font-size:12px;margin:8px 0 5px;color:#355265}
.adp-app .adp-variant{display:block;width:100%;font-size:13px;min-height:44px;margin:5px 0 0}
.adp-app .adp-limits{font-size:13px;line-height:1.55;margin:4px 0 15px}
.adp-app .adp-limit-message{padding:12px 14px;border-radius:9px;background:#edf5fb;color:#31546a;font-size:13px;margin:12px 0}
.adp-app .adp-limit-message.valid{background:#eaf7ef;color:#17643c}.adp-app .adp-limit-message.invalid{background:#fff0ed;color:#982c25}
.adp-app #adp-completed{max-width:700px;margin:22px auto;padding:clamp(22px,5vw,44px);text-align:center;border:1px solid #d7e9f0;border-radius:18px;background:#f6fbfd}
.adp-app #adp-completed h2{color:#006699;font-size:clamp(23px,4vw,31px)}
.adp-app #adp-completed p{line-height:1.7}.adp-app #adp-completed #adp-pdf-result{display:flex;justify-content:center;margin:22px 0 0}
@media(max-width:700px){.adp-app .adp-products{grid-template-columns:1fr}.adp-app .adp-product>img{height:200px}}

/* v2.3: muestras de color y mejoras de presentación */
.adp-app .adp-color-choice{display:flex;align-items:center;gap:9px;margin:4px 0 8px;font-size:12px;color:#385468;min-height:24px}
.adp-app .adp-color-choice[hidden]{display:none!important}
.adp-app .adp-color-swatch{width:23px;height:23px;border-radius:50%;border:1px solid rgba(0,0,0,.18);box-shadow:0 0 0 2px #fff,0 0 0 3px #d7e5eb;flex-shrink:0}
.adp-app .adp-color-swatch.is-white{border-color:#9eaeb8}
@media(max-width:600px){.adp-app .adp-pagination{gap:6px}.adp-app .adp-page-btn{min-width:38px;height:40px}}

.adp-app .adp-palette{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:3px 0 10px}
.adp-app .adp-palette-swatch{width:27px;height:27px;border-radius:50%;border:1px solid rgba(0,0,0,.22);cursor:pointer;box-shadow:0 0 0 2px #fff,0 0 0 3px #e2ebf1;padding:0;flex-shrink:0}
.adp-app .adp-palette-swatch:focus-visible{outline:3px solid #0099cc;outline-offset:3px}

/* v2.5: código preferencial */
.adp-app .adp-preferred-box{border:1px solid #d7e7ef;border-radius:12px;padding:16px;margin:8px 0 18px;background:#f7fbfe}.adp-app .adp-preferred-controls{display:flex;align-items:flex-end;gap:10px}.adp-app .adp-preferred-controls input{flex:1;min-width:0}.adp-app .adp-preferred-controls button{flex-shrink:0}.adp-app #adp-preferred-status{font-size:12px;margin:9px 0 0;color:#536f7e}.adp-app #adp-preferred-status.adp-pref-valid{color:#16713e;font-weight:700}.adp-app #adp-preferred-status.adp-pref-invalid{color:#a32e2e;font-weight:700}@media(max-width:560px){.adp-app .adp-preferred-controls{flex-direction:column;align-items:stretch}.adp-app .adp-preferred-controls button{width:100%}}

/* v2.7.0 - Dirección y acciones finales */
#adp-quote-app .adp-address-field{grid-column:1/-1}
#adp-quote-app select:disabled{opacity:.65;cursor:not-allowed}
#adp-quote-app #adp-pdf-result{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:22px}
#adp-quote-app #adp-pdf-result[hidden]{display:none!important}
#adp-quote-app .adp-pay-now{background:#0099cc;color:#fff;text-decoration:none}
@media(max-width:640px){#adp-quote-app #adp-pdf-result{flex-direction:column}#adp-quote-app #adp-pdf-result .adp-btn{width:100%;text-align:center}}

#adp-quote-app [hidden]{display:none!important}

/* v2.9: llamada principal a la acción de compra */
#adp-quote-app #adp-pdf-result{display:grid!important;grid-template-columns:1fr;max-width:570px;margin:25px auto 0;gap:12px}
#adp-quote-app #adp-pdf-result[hidden]{display:none!important}
#adp-quote-app #adp-pdf-result .adp-pay-now{order:-1;display:flex;align-items:center;justify-content:center;width:100%;min-height:68px;padding:18px 26px;border-radius:14px;background:linear-gradient(110deg,#087a45,#16a765);color:#fff!important;font-size:clamp(18px,3vw,22px);font-weight:800;box-shadow:0 9px 25px rgba(6,119,68,.28);border:2px solid rgba(255,255,255,.25);animation:adp-pay-attention 2.8s ease-in-out infinite}
#adp-quote-app #adp-pdf-result .adp-pay-now:hover{background:linear-gradient(110deg,#066b3b,#119456);transform:translateY(-2px);box-shadow:0 12px 30px rgba(6,119,68,.35)}
#adp-quote-app #adp-pdf-result .adp-pdf-link{width:100%;min-height:49px;background:#eaf5fa;color:#006699!important;border:1px solid #c8e3ef;box-shadow:none}
#adp-quote-app #adp-pdf-result .adp-payment-hint{order:0;font-size:13px;color:#526b78;margin:0 0 5px}
@keyframes adp-pay-attention{0%,100%{box-shadow:0 9px 25px rgba(6,119,68,.22)}50%{box-shadow:0 9px 29px rgba(6,119,68,.42)}}
@media(prefers-reduced-motion:reduce){#adp-quote-app #adp-pdf-result .adp-pay-now{animation:none}}
