/* Formularios: mensajes junto al dato, sin perder el contexto. */
html { scroll-padding-top:120px; }
.input-flat, select, textarea { scroll-margin-top:130px; }
.field-error { border-color:#e88484 !important; background:#fff7f7 !important; box-shadow:0 0 0 3px #fce3e3 !important; }
.field-error-text { color:#b94646; display:block; margin-top:7px; font-size:.8rem; line-height:1.45; }
.form-errors { background:#fff3f3; border:1px solid #f1c9c9; border-radius:16px; padding:18px 22px; color:#994141; margin-bottom:24px; }
.form-errors ul { padding-left:20px; list-style:disc; margin-top:8px; font-size:.9rem; }
.shipping-note, .receipt-saved { padding:14px 18px; background:#e8f6f0; border-radius:12px; color:#31775b; font-size:.87rem; margin-bottom:18px; }
.ubicacion-panel, .comprobante-panel { border:1px solid #dce7f3; background:#f6f9ff; border-radius:16px; padding:20px; }
#checkoutForm label { line-height:1.6; }
#checkoutForm input[type=radio] { accent-color:#5683b7; }
.header-flotante { position:sticky; top:0 !important; }
.main-con-header { padding-top:18px !important; }
.slider-portada .swiper-slide { min-height:430px; padding:40px 48px; }
.slider-portada { margin-top:8px; margin-bottom:32px; border-radius:24px; }
.slider-portada .slide-contenido { max-width:600px; }
.slider-portada .slide-titulo { font-size:clamp(1.65rem,3.2vw,2.6rem); }
.slider-portada:not(.swiper-initialized) .swiper-slide:not(:first-child) { display:none; }
.slider-portada:not(.swiper-initialized) .anim-slide { opacity:1; animation:none; }
.announcement-dialog { width:min(580px,calc(100% - 28px)); max-height:88dvh; margin:auto; padding:0; border:1px solid #e3e9f2; border-radius:25px; background:#fff; box-shadow:0 24px 80px rgba(47,64,93,.2); color:#34445c; }
.announcement-dialog::backdrop { background:rgba(38,51,74,.38); backdrop-filter:blur(6px); }
.announcement-close { position:absolute; top:12px; right:12px; background:#fff; border:1px solid #e6eaf1; border-radius:50%; width:38px; height:38px; box-shadow:0 4px 14px #c8d0dd; z-index:1; cursor:pointer; }
.announcement-image { width:100%; height:310px; object-fit:contain; background:#f7f8fc; }
.announcement-video { width:100%; aspect-ratio:16/9; border:0; background:#f5f7fb; }
.announcement-copy { padding:26px; text-align:center; }
.announcement-copy h2 { font-size:1.7rem; font-weight:800; letter-spacing:-.025em; margin:17px 0 12px; }
.announcement-copy p { line-height:1.7; color:#748297; margin-bottom:20px; }
.announcement-copy .btn { margin:4px; }
.announcement-reopen { display:block; margin:20px auto; border:1px solid #e1e7f0; background:#fff; color:#6884a9; border-radius:20px; padding:8px 16px; font-size:.8rem; cursor:pointer; }
@media(max-width:700px) { .slider-portada .swiper-slide { min-height:330px; padding:28px; } .slider-portada .slide-contenido { max-width:100%; } .slider-portada .slide-descripcion { font-size:.9rem; } .slider-portada .swiper-button-prev,.slider-portada .swiper-button-next { top:auto; bottom:12px; width:32px; height:32px; } .slider-portada .swiper-pagination { bottom:20px; } .ubicacion-panel,.comprobante-panel { padding:15px; } .announcement-image { height:240px; } .announcement-copy { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .slider-portada .anim-slide { opacity:1 !important; animation:none !important; } }
