/* Two clear offers: assisted shopping, and courier to Ecuador. */
.hero-scenes { position:absolute;inset:0;z-index:-2; }
.hero-scenes .panorama-image { z-index:auto;opacity:0; }
.hero-scenes .panorama-image.is-active { opacity:1; }
.hero-controls { display:flex;align-items:center;gap:8px;flex-shrink:0; }
.hero-controls button { min-height:44px;padding:10px 15px;background:#160c2133;border:1px solid #ffffff70;border-radius:5px;color:#fff;font-size:12px;font-weight:650;white-space:nowrap; }
.hero-controls button[aria-pressed="true"] { background:#fff;color:#291244;border-color:#fff; }
.hero-controls #hero-rotation { margin-left:4px;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:4px; }
.hero-service-info>span { font-size:17px;font-weight:800;font-style:italic;letter-spacing:.02em; }
.panorama-bottom .hero-service-info p { margin-top:7px;max-width:430px;font-size:12px;text-align:left; }
.contact-section.with-mascot { display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:32px;align-items:center; }
.contact-mascot { width:150px;height:230px;object-fit:contain; }
.with-mascot h2 { font-size:42px; }
.quote-intro .maxi-mascot { width:290px;height:390px; }
@media(prefers-reduced-motion:no-preference) {
 .hero-scenes .panorama-image { transition:opacity 700ms cubic-bezier(.4,0,.2,1); }
 .hero-controls button { transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out; }
}
@media(hover:hover) { .hero-controls button:hover { border-color:#fff; } }
@media(prefers-reduced-motion:reduce) { #hero-rotation { display:none; } }
@media(max-width:1050px) {
 .contact-section.with-mascot { grid-template-columns:120px minmax(0,1fr);gap:20px 30px; }
 .contact-mascot { width:120px;height:210px;grid-row:1/3; }
 .with-mascot>.button { grid-column:2;justify-self:start; }
 .with-mascot h2 { font-size:38px; }
}
@media(max-width:800px) {
 .panorama-bottom { gap:18px; }
 .panorama-bottom .hero-service-info p { max-width:290px; }
 .hero-service-info>span { font-size:15px; }
 .hero-controls { gap:5px; }.hero-controls button { padding-inline:10px; }
 .quote-intro .maxi-mascot { width:170px;height:240px; }
}
@media(max-width:560px) {
 .hero-panorama .panorama-bottom { display:flex;flex-direction:column;gap:12px;align-items:stretch; }
 .hero-service-info>span { display:none; }
 .panorama-bottom .hero-service-info p { margin:0;max-width:none;font-size:12px;line-height:1.6; }
 .hero-controls { justify-content:flex-start;gap:6px; }
 .hero-controls button { font-size:12px;padding:10px 11px; }
 .hero-controls #hero-rotation { margin:0;padding-inline:8px; }
 .quote-intro .maxi-mascot { width:112px;height:190px; }
 .contact-section.with-mascot { grid-template-columns:90px minmax(0,1fr);gap:20px; }
 .contact-mascot { grid-row:1;width:90px;height:150px; }
 .with-mascot h2 { font-size:30px; }.with-mascot p:not(.eyebrow) { font-size:14px; }
 .with-mascot>.button { grid-column:1/-1;width:100%; }
}
@media(max-width:360px) { .hero-controls button { font-size:11px;padding-inline:8px; }.hero-controls { gap:4px; } }
.hero.hero-panorama { display:block;position:relative;isolation:isolate;overflow:hidden;margin:0 0 40px;padding:0;width:100%;min-height:660px;background:var(--deep);color:#fff; }
.panorama-image,.panorama-shade { position:absolute;inset:0;width:100%;height:100%;z-index:-1; }
.panorama-image { object-fit:cover;object-position:65% center; }
.panorama-shade { background:linear-gradient(90deg,rgba(22,12,33,.92),rgba(22,12,33,.72) 34%,rgba(22,12,33,.12) 72%),linear-gradient(0deg,rgba(22,12,33,.8),transparent 30%); }
.panorama-content { padding-block:72px 130px; }
.hero-panorama .eyebrow { color:#e3cef8;font-size:11px;letter-spacing:.12em; }
.hero-panorama h1 { margin:24px 0;font-size:clamp(52px,5.7vw,78px);line-height:1.05;max-width:640px; }
.hero-panorama h1 .serif { color:#e0c7ff;font-size:1em; }
.hero-panorama .hero-description { color:#f0eaf5;font-size:17px;line-height:1.8;max-width:440px;margin-bottom:26px; }
.hero-actions { display:flex;align-items:center;gap:24px;flex-wrap:wrap; }
.hero-panorama .button-light { color:var(--deep); }
.panorama-link { font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center; }
.hero-panorama .hero-note { margin-top:22px;color:#e5d8ee;font-size:12px;max-width:420px; }
.panorama-bottom { position:absolute;bottom:26px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff40;padding-top:20px; }
.panorama-bottom>span { font-size:19px;font-weight:800;font-style:italic;letter-spacing:.02em; }
.panorama-bottom p { font-size:12px;color:#f0e7f9; }
.quote-section { display:grid;grid-template-columns:.8fr 1.2fr;gap:88px;align-items:start;scroll-margin-top:20px; }
.quote-intro h2 { margin:18px 0 24px; }
.quote-intro>p:not(.eyebrow) { font-size:16px;line-height:1.8;max-width:355px; }
.maxi-mascot { width:230px;height:300px;object-fit:contain;margin:24px 0 0; }
.quote-intro .mascot-caption { font-size:12px;color:var(--purple);max-width:260px; }
.quote-card { padding:34px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 44px #29124408; }
.quote-rates { border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.quote-rates legend { padding:0 0 14px;font-size:15px;font-weight:700; }
.rate-option { position:relative;display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:18px 14px;border:1px solid var(--line);border-radius:8px;background:#faf8fc; }
.rate-option:has(input:checked) { border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple);background:#f4eefb; }
.rate-option:has(input:focus-visible) { outline:3px solid #a476d1;outline-offset:3px; }
.rate-option input { margin:5px 0 0;accent-color:var(--purple);width:16px;height:16px;flex-shrink:0; }
.rate-option strong,.rate-option>span>span,.rate-option small { display:block; }
.rate-option strong { font-size:16px;margin-bottom:7px; }
.rate-option>span>span { font-size:15px;font-weight:650;color:var(--purple); }
.rate-option small { font-size:12px;line-height:1.6;margin-top:5px;color:var(--muted); }
.quote-eligibility { font-size:13px;line-height:1.7;margin:16px 0 26px; }
.weight-label { display:block;font-size:15px;font-weight:700;margin-bottom:10px; }
.weight-field { position:relative; }
.weight-field input { width:100%;min-height:58px;padding:14px 54px 14px 16px;border:1px solid #cfc3dd;border-radius:6px;font-size:19px;background:#fff;color:var(--ink); }
.weight-field input[aria-invalid="true"] { border-color:#ad2839; }
.weight-field>span { position:absolute;right:18px;top:16px;font-size:16px;color:var(--muted); }
.field-help { font-size:12px;line-height:1.7;margin-top:8px; }
.quote-exclusions { font-size:13px;line-height:1.7;color:#51465c;margin:20px 0; }
.quote-submit { width:100%; }
.quote-result { margin-top:28px;padding-top:28px;border-top:1px solid var(--line); }
.quote-result h3 { margin-top:12px;font-size:24px;line-height:1.3; }
.quote-context { font-size:13px;margin:12px 0 20px; }
.quote-breakdown { margin:0; }
.quote-breakdown>div { display:flex;justify-content:space-between;padding:7px 0;font-size:15px; }
.quote-breakdown dd { margin:0;font-weight:600; }
.quote-subtotal { padding:22px;margin-top:16px;background:var(--lilac);border-radius:8px; }
.quote-subtotal>span,.quote-subtotal>strong,.quote-subtotal>small { display:block; }
.quote-subtotal>span { font-size:14px; }
.quote-subtotal>strong { font-size:46px;line-height:1.4;letter-spacing:-.04em;color:var(--purple); }
.quote-subtotal>small { color:var(--muted);font-size:12px; }
.quote-result-note { font-size:13px;line-height:1.8;margin:16px 0; }
.quote-result-actions { display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center; }
.quote-result-actions .text-button { min-height:44px;font-size:13px;color:var(--purple);text-decoration:underline;text-underline-offset:4px; }
.quote-print-date { margin-top:16px;font-size:11px;color:var(--muted); }
.shopper-feature { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;border-top:1px solid var(--line); }
.shopper-photo { position:relative;overflow:hidden;border-radius:12px;background:var(--warm); }
.shopper-photo img { width:100%;height:auto;aspect-ratio:.88;object-fit:cover;object-position:36% center; }
.shopper-photo>span { position:absolute;bottom:24px;left:24px;right:24px;padding:14px 18px;background:#fff;font-size:11px;font-weight:750;letter-spacing:.08em;color:var(--purple);border-radius:5px; }
.shopper-copy .eyebrow { font-size:10px; }
.shopper-copy h2 { margin:18px 0 24px;font-size:clamp(34px,3.8vw,50px);line-height:1.15; }
.shopper-copy>p:not(.eyebrow) { font-size:16px;line-height:1.8; }
.shopper-steps { list-style:none;padding:0;margin:24px 0; }
.shopper-steps li { display:flex;gap:18px;padding:14px 0;border-top:1px solid var(--line); }
.shopper-steps li>span { color:var(--purple);font-size:12px;font-weight:700;padding-top:4px; }
.shopper-steps strong { font-size:16px;font-weight:700; }
.shopper-steps p { font-size:14px;line-height:1.8;margin-top:4px; }
.shopper-copy .shopper-destinations { font-size:13px;line-height:1.8;margin:0 0 24px; }
.shopper-destinations strong { color:var(--ink);display:block;font-weight:650; }
@media(prefers-reduced-motion:no-preference) { .quote-result:not([hidden]) { animation:content-arrive 260ms cubic-bezier(.22,1,.36,1) both; } }
@media(max-width:1050px) {
 .hero-panorama h1 { font-size:64px; }
 .panorama-content { padding-block:64px 120px; }
 .quote-section { gap:40px;grid-template-columns:.7fr 1.3fr; }
 .quote-card { padding:26px; }
 .shopper-feature { gap:40px; }
}
@media(max-width:800px) {
 .hero.hero-panorama { min-height:640px; }
 .panorama-image { object-position:62% center; }
 .panorama-shade { background:linear-gradient(90deg,#160c21e8,#160c2190 60%,#160c2140),linear-gradient(0deg,#160c21d9,transparent 40%); }
 .panorama-bottom { align-items:flex-start; }
 .panorama-bottom p { max-width:220px;text-align:right; }
 .quote-section { grid-template-columns:1fr;gap:28px; }
 .quote-intro { position:relative;padding-right:190px;min-height:240px; }
 .quote-intro h2 { font-size:42px; }
 .quote-intro h2 br { display:none; }
 .maxi-mascot { position:absolute;right:0;bottom:0;width:160px;height:230px;margin:0; }
 .quote-intro .mascot-caption { display:none; }
 .shopper-feature { grid-template-columns:1fr;gap:32px; }
 .shopper-photo img { aspect-ratio:1.5;object-position:center 45%; }
}
@media(max-width:560px) {
 .topbar { justify-content:center; }.topbar>span:first-child { font-size:9px;letter-spacing:.06em; }
 .hero.hero-panorama { min-height:760px;margin-bottom:24px; }
 .panorama-image { object-position:68% center; }
 .panorama-shade { background:linear-gradient(180deg,#160c21eb 0%,#160c21bb 50%,#160c2120 75%,#160c21cc 100%); }
 .panorama-content { padding-top:42px;padding-bottom:200px; }
 .hero-panorama h1 { font-size:clamp(42px,10.7vw,58px);max-width:100%;margin-block:22px; }
 .hero-panorama .hero-description { font-size:16px;max-width:330px; }
 .hero-panorama .eyebrow { font-size:10px; }
 .hero-actions { align-items:flex-start;flex-direction:column;gap:8px; }
 .hero-actions .button { min-height:52px; }
 .hero-panorama .hero-note { font-size:12px;line-height:1.7;max-width:280px;margin-top:12px; }
 .panorama-bottom { bottom:20px;display:block;padding-top:16px; }
 .panorama-bottom>span { font-size:19px; }.panorama-bottom p { text-align:left;margin-top:7px;max-width:none;font-size:11px; }
 .quote-intro { padding-right:112px;min-height:210px; }
 .quote-intro h2 { font-size:35px;line-height:1.18;margin-bottom:18px; }
 .quote-intro h2 br { display:block; }
 .quote-intro>p:not(.eyebrow) { font-size:15px; }
 .maxi-mascot { width:106px;height:180px;bottom:8px;right:-3px; }
 .quote-card { padding:22px 18px;border-radius:10px; }
 .quote-rates { gap:10px; }.rate-option { padding:14px 10px;gap:6px; }
 .rate-option strong { font-size:15px; }.rate-option>span>span { font-size:13px; }.rate-option small { font-size:11px; }
 .quote-result-actions { flex-direction:column;align-items:stretch; }
 .quote-result-actions .text-button { align-self:flex-start; }
 .quote-subtotal>strong { font-size:42px; }
 .shopper-copy h2 { font-size:38px; }.shopper-copy .eyebrow { font-size:9px; }
 .shopper-photo img { aspect-ratio:1.05; }.shopper-photo>span { left:16px;right:16px;bottom:16px; }
}


@media(max-width:360px){.contact-section.with-mascot{grid-template-columns:minmax(0,1fr);text-align:center}.contact-section.with-mascot .contact-mascot{grid-row:auto;width:100px;height:150px;margin:auto}.contact-section.with-mascot .btn{grid-column:1}.contact-section.with-mascot h2{font-size:28px}.stores .store-names{flex-wrap:wrap;justify-content:flex-start;row-gap:16px}}

/* Keep customs exclusions visible at the point of calculation. */
.quote-customs-notice { margin:20px 0;padding:16px 18px;border:1px solid #d9c9ed;border-left:4px solid var(--purple);border-radius:8px;background:var(--lilac); }
.quote-customs-notice strong { display:block;color:var(--deep);font-size:15px;line-height:1.5; }
.quote-customs-notice p { margin-top:6px;color:#51465c;font-size:13px;line-height:1.7; }
.quote-subtotal>small { line-height:1.6; }

/* ShopperFlow: one booking action. */
.shopperflow-section { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;padding:56px;border:1px solid var(--line);border-radius:16px;background:var(--lilac);margin-bottom:30px; }
.shopperflow-intro h2 { margin:18px 0 22px;font-size:clamp(32px,3.5vw,48px);line-height:1.17; }
.shopperflow-intro>p:not(.eyebrow) { font-size:16px;line-height:1.8;max-width:430px;color:#51465c; }
.shopperflow-intro .shopperflow-detail { margin-top:16px;font-size:13px; }
.shopperflow-actions { min-width:0;border:1px solid var(--line);border-radius:12px;background:white;padding:30px; }
.shopperflow-icon { width:36px;height:36px;color:var(--purple);margin-bottom:18px; }
.shopperflow-booking h3 { font-size:24px;line-height:1.3; }
.shopperflow-booking p { margin:12px 0 22px;font-size:14px;line-height:1.8; }
.shopperflow-booking .button { width:100%;font-size:14px; }
.shopperflow-external { margin-top:20px;font-size:11px;line-height:1.6; }
.shopperflow-section a:focus-visible { outline:3px solid var(--deep);outline-offset:5px; }
@media(max-width:1000px) { .shopperflow-section { gap:30px;padding:32px; } .shopperflow-actions { padding:24px; } }
@media(max-width:760px) { .shopperflow-section { grid-template-columns:minmax(0,1fr);padding:26px 20px;gap:28px; } .shopperflow-intro h2 { font-size:36px; } .shopperflow-actions { padding:24px 20px; } }

/* Quote document: shared hierarchy for the result and its printable A4 sheet. */
.quote-document-brand { display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;border-bottom:2px solid var(--purple);margin-bottom:26px; }
.quote-document-brand img { width:140px;height:auto; }
.quote-document-brand>div { text-align:right; }
.quote-document-brand>div>span,.quote-document-contact span { display:block;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--muted); }
.quote-document-brand strong { display:block;margin-top:7px;font-size:15px;color:var(--deep); }
.quote-document-brand strong span { padding:0 8px;color:var(--purple); }
.quote-document-heading .eyebrow { font-size:10px;color:var(--purple); }
.quote-document-heading h3 { font-size:30px;letter-spacing:-.045em;color:var(--deep); }
.quote-document-heading h3 span { font-family:Georgia,serif;font-weight:400;font-style:italic; }
.quote-context { display:inline-block;padding:9px 13px;background:var(--lilac);border:1px solid var(--line);border-radius:6px;color:var(--deep);font-size:12px; }
.quote-breakdown-label { display:flex;justify-content:space-between;gap:12px;margin:8px 0 6px;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.04em; }
.quote-breakdown-label span { font-weight:400; }
.quote-breakdown>div { padding:13px 0;border-bottom:1px solid var(--line); }
.quote-breakdown dd { font-variant-numeric:tabular-nums; }
.quote-subtotal { position:relative;padding:23px 25px;background:var(--deep);border:1px solid var(--deep);border-radius:10px;color:white; }
.quote-subtotal>span { color:#eee5fa;font-size:12px; }
.quote-subtotal>strong { color:white;font-size:48px;font-variant-numeric:tabular-nums; }
.quote-subtotal>small { color:#eee5fa;max-width:290px;font-size:11px; }
.quote-document-notice { margin:22px 0;padding-left:15px;border-left:3px solid #b799d9; }
.quote-document-notice>strong { font-size:12px;color:var(--deep); }
.quote-document-notice .quote-result-note { margin:6px 0 0;font-size:11px;line-height:1.8;color:var(--muted); }
.quote-document-contact { display:none; }
.quote-document-footer { display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line); }
.quote-document-footer .quote-print-date { margin:0;font-size:10px; }
.quote-document-footer>span { font-size:8px;letter-spacing:.09em;color:var(--muted); }
@media(max-width:480px) {
 .quote-document-brand { gap:12px; }.quote-document-brand img { width:112px; }
 .quote-document-brand strong { font-size:12px; }.quote-document-brand>div>span { font-size:8px; }
 .quote-document-heading h3 { font-size:27px; }
 .quote-document-footer { align-items:flex-start;flex-direction:column;gap:8px; }
}
@media print {
 @page { size:A4;margin:17mm 19mm; }
 html,body { margin:0!important;padding:0!important;background:white!important; }
 body { font-size:11pt;print-color-adjust:exact;-webkit-print-color-adjust:exact; }
 body>*,main>* { display:none!important; }
 body>main,main>#cotizador,#quote-result:not([hidden]) { display:block!important; }
 #cotizador { width:100%;max-width:none;margin:0;padding:0; }
 #cotizador>.quote-intro,#quote-form,.quote-result-actions,.quote-card>noscript { display:none!important; }
 .quote-card { padding:0;border:0;box-shadow:none;background:white; }
 .quote-result { margin:0;border:0;padding:0;break-inside:avoid; }
 .quote-result * { animation:none!important; }
 .quote-document-brand { padding:0 0 6mm;margin-bottom:7mm; }
 .quote-document-brand img { width:46mm; }
 .quote-document-brand>div>span { font-size:8pt; }
 .quote-document-brand strong { font-size:13pt; }
 .quote-document-heading h3 { margin:3mm 0 0;font-size:32pt;line-height:1.15;outline:none; }
 .quote-document-heading .eyebrow { font-size:8pt; }
 .quote-context { margin:5mm 0 6mm;padding:3mm 4mm;font-size:10pt; }
 .quote-breakdown-label { font-size:9pt;padding-bottom:4mm; }
 .quote-breakdown>div { padding:4mm 0;font-size:12pt; }
 .quote-subtotal { margin-top:6mm;padding:6mm 8mm;border-radius:3mm; }
 .quote-subtotal>span { font-size:10pt; }
 .quote-subtotal>strong { font-size:43pt;line-height:1.4; }
 .quote-subtotal>small { max-width:none;font-size:9pt; }
 .quote-document-notice { margin:6mm 0;padding-left:5mm; }
 .quote-document-notice>strong { font-size:10pt; }
 .quote-document-notice .quote-result-note { font-size:9pt;line-height:1.8;margin-top:2mm; }
 .quote-document-contact { display:flex;justify-content:space-between;align-items:center;gap:8mm;padding:5mm 6mm;background:var(--lilac);border:1px solid var(--line);border-radius:3mm;margin-top:7mm; }
 .quote-document-contact span { font-size:7pt;color:var(--purple); }
 .quote-document-contact strong { display:block;margin-top:2mm;font-size:11pt;color:var(--deep); }
 .quote-document-contact p { margin-top:2mm;max-width:83mm;font-size:8pt;line-height:1.7;color:var(--muted); }
 .quote-document-contact a { font-size:8pt;text-decoration:none;white-space:nowrap;color:var(--purple); }
 .quote-document-contact a strong { font-size:10pt; }
 .quote-document-footer { flex-direction:row;align-items:center;margin-top:6mm;padding-top:4mm; }
 .quote-document-footer .quote-print-date { font-size:8pt; }
 .quote-document-footer>span { font-size:7pt; }
}
