/* Pop-up del 50 % y tarjeta fija de la portada — diseño del archivo "Pop-up 50 de descuento" (colores, tamaños y fuentes tal cual) */
@font-face { font-family: "Fredoka"; src: url("../fonts/fredoka.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Nunito"; src: url("../fonts/nunito.woff2") format("woff2"); font-weight: 200 1000; font-style: normal; font-display: swap; }

.aw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.aw-offer-card { position: relative; width: 100%; max-width: 520px; box-sizing: border-box; background: #0B1B2B; border: 3px solid #00B4FF; border-radius: 28px; padding: 26px 28px; overflow: hidden; font-family: Nunito, sans-serif; color: #fff; text-align: left; }
.aw-offer-card *, .aw-offer-card *::before, .aw-offer-card *::after { box-sizing: border-box; }

.aw-offer__rays { position: absolute; left: 50%; top: 70px; width: 560px; height: 560px; margin: -100px 0 0 -280px; background: repeating-conic-gradient(rgba(255, 138, 61, .22) 0 7deg, transparent 7deg 14deg); border-radius: 50%; animation: aw-spin 80s linear infinite; pointer-events: none; }
.aw-offer__close { position: absolute; right: 16px; top: 14px; width: 44px; height: 44px; border-radius: 50%; border: 2px solid #00B4FF; background: #0B1B2B; color: #fff; font-size: 20px; line-height: 1; cursor: pointer; z-index: 3; }
.aw-offer__close:hover { background: #00B4FF; color: #0B1B2B; }
.aw-offer__top { position: relative; z-index: 1; text-align: center; }
.aw-offer__logo { display: inline-block; width: 170px; height: auto; }
.aw-offer__badge { width: 176px; height: 176px; border-radius: 50%; background: #FF8A3D; border: 4px solid #fff; box-shadow: 6px 6px 0 #00B4FF; margin: 2px auto 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #0B1B2B; animation: aw-badge-pulse 2.6s ease-in-out infinite; }
.aw-offer__pct { font-family: Fredoka, sans-serif; font-weight: 700; font-size: 68px; line-height: 1; }
.aw-offer__off { font-family: Fredoka, sans-serif; font-weight: 600; font-size: 18px; letter-spacing: .06em; }
.aw-offer__h { font-family: Fredoka, sans-serif; font-weight: 600; font-size: 24px; line-height: 1.15; margin: 16px 0 6px; color: #fff; letter-spacing: 0; }
.aw-offer__p { font-size: 15px; line-height: 1.4; color: #BFE9FF; margin: 0 0 14px; }

.aw-offer__form { position: relative; z-index: 1; }
.aw-offer__label { display: block; font-weight: 800; font-size: 15px; margin-bottom: 6px; color: #fff; }
.aw-offer__email { width: 100%; height: 48px; border-radius: 12px; border: 2px solid #00B4FF; padding: 0 14px; font-size: 16px; font-family: Nunito, sans-serif; margin-bottom: 14px; background: #fff; color: #0B1B2B; }
.aw-offer__name { margin-bottom: 10px; }
.aw-offer__consent { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; border: 2px solid #00B4FF; border-radius: 14px; background: #12324F; padding: 10px 12px; margin: 0 0 14px; font-size: 13px; line-height: 1.4; color: #fff; cursor: pointer; text-align: left; }
.aw-offer__consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #FF8A3D; }
.aw-offer__consent a { color: #00B4FF; text-decoration: underline; }
.aw-offer__ts { margin: 0 0 14px; min-height: 0; }
.aw-offer__email:focus { outline: 3px solid #FF8A3D; outline-offset: 2px; }
.aw-offer__err { margin: -6px 0 12px; padding: 8px 12px; border-radius: 10px; background: rgba(255, 138, 61, .18); border: 1px solid #FF8A3D; color: #ffd8bd; font-size: 14px; font-weight: 700; }
.aw-offer__stepsh { font-family: Fredoka, sans-serif; font-weight: 600; font-size: 17px; margin-bottom: 8px; color: #00B4FF; }
.aw-offer__step { display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center; background: #12324F; border: 2px solid #00B4FF; border-radius: 14px; padding: 8px 10px; margin-bottom: 8px; }
.aw-offer__step label { color: #fff; font-weight: 700; font-size: 15px; line-height: 1.25; cursor: pointer; }
.aw-offer__step input { width: 20px; height: 20px; accent-color: #00B4FF; margin: 0; }
.aw-offer__go { background: #00B4FF; color: #0B1B2B; font-family: Fredoka, sans-serif; font-weight: 600; font-size: 14px; text-decoration: none; border-radius: 999px; padding: 9px 14px; min-height: 44px; display: flex; align-items: center; white-space: nowrap; }
.aw-offer__go:hover { background: #FF8A3D; }
.aw-offer__cta { width: 100%; height: 54px; margin-top: 6px; border: 0; border-radius: 999px; background: #FF8A3D; color: #0B1B2B; font-family: Fredoka, sans-serif; font-weight: 700; font-size: 20px; cursor: pointer; box-shadow: 0 5px 0 #fff; transition: transform .15s, box-shadow .15s; }
.aw-offer__cta:hover { transform: translateY(2px); box-shadow: 0 3px 0 #fff; }
.aw-offer__cta:disabled { opacity: .7; cursor: progress; }
.aw-offer__fine { font-size: 12px; line-height: 1.4; color: #BFE9FF; text-align: center; margin: 10px 0 0; }

.aw-offer__done { position: relative; z-index: 1; margin-top: 8px; padding: 16px 16px 6px; border: 2px dashed #00B4FF; border-radius: 18px; background: #12324F; text-align: center; }
.aw-offer__done h3 { font-family: Fredoka, sans-serif; font-weight: 700; font-size: 24px; margin: 0 0 8px; color: #FF8A3D; letter-spacing: 0; }
.aw-offer__done p { font-size: 15px; line-height: 1.45; color: #fff; margin: 0 0 12px; }
.aw-offer__done .aw-offer__ok { color: #BFE9FF; }
.aw-offer__done button { margin: 4px 0 12px; border: 2px solid #00B4FF; background: transparent; color: #fff; font-family: Fredoka, sans-serif; font-weight: 600; font-size: 15px; padding: 9px 20px; border-radius: 999px; cursor: pointer; }
.aw-offer__done button:hover { background: #00B4FF; color: #0B1B2B; }

@keyframes aw-spin { to { transform: rotate(360deg); } }
@keyframes aw-badge-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }

/* Ventana emergente */
.aw-offer-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 14px; overflow-y: auto; overscroll-behavior: contain; }
.aw-offer-modal[hidden] { display: none; }
.aw-offer-modal__backdrop { position: fixed; inset: 0; background: rgba(2, 8, 18, .78); backdrop-filter: blur(4px); animation: aw-offer-fade .3s ease both; }
.aw-offer-modal__box { position: relative; width: 100%; max-width: 520px; margin: auto; animation: aw-offer-in .45s cubic-bezier(.2, 1.2, .3, 1) both; }
.aw-offer-modal .aw-offer-card { box-shadow: 0 30px 90px -20px rgba(0, 0, 0, .8); }
@keyframes aw-offer-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes aw-offer-in { from { opacity: 0; transform: translateY(24px) scale(.94); } to { opacity: 1; transform: none; } }
html.aw-offer-open { overflow: hidden; }

/* Sección fija de la portada */
.aw-offer-section { display: block; }
.aw-offer-section .aw-offer-card { margin-inline: auto; box-shadow: 0 30px 80px -26px rgba(0, 0, 0, .75); }

@media (max-width: 480px) {
	.aw-offer-card { padding: 22px 16px; border-radius: 22px; }
	.aw-offer__pct { font-size: 58px; }
	.aw-offer__off { font-size: 15px; letter-spacing: .04em; }
	.aw-offer__badge { width: 154px; height: 154px; }
	.aw-offer__h { font-size: 21px; }
	.aw-offer__step { grid-template-columns: 22px 1fr auto; gap: 8px; padding: 8px; }
	.aw-offer__step label { font-size: 14px; }
	.aw-offer__go { padding: 8px 11px; font-size: 13px; }
	.aw-offer__close { right: 10px; top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.aw-offer__rays, .aw-offer__badge, .aw-offer-modal__backdrop, .aw-offer-modal__box { animation: none; }
}
.aw-offer__stepsh--opt { margin-top: 12px; color: #FFB27A; font-size: 15px; }
