/* ==========================================================
   El Molino — Página del Programa de Lealtad
   (usa la base de menu.css: header, footer, loader, botón flotante)
   ========================================================== */

.loyalty { position: relative; color: #fff; padding: clamp(64px, 10vw, 120px) 0 clamp(56px, 8vw, 96px); background: linear-gradient(180deg, #1d08a4 0%, rgba(29, 8, 164, .92) 30%, rgba(29, 8, 164, .55) 100%), url(../img/menu/tiles-wide.jpg) center/cover; }
.loyalty::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 14px; background: radial-gradient(circle at 10px 14px, #fff 9px, transparent 9.5px) repeat-x; background-size: 20px 14px; }
.loyalty-head { text-align: center; max-width: 820px; margin: 0 auto; }
.loyalty-icon { width: 76px; height: 76px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 8px rgba(255, 206, 41, .2); }
.loyalty-icon svg { width: 40px; height: 40px; fill: var(--blue-deep); }
.loyalty h1 { margin: 0; font: 500 clamp(44px, 8vw, 86px)/1.05 'Cormorant Infant', 'Playfair Display', Georgia, serif; text-shadow: 0 6px 24px rgba(0, 0, 0, .35); }
.loyalty .lead { margin: 18px auto 0; font: 500 clamp(17px, 2.4vw, 22px)/1.45 'Cabin', var(--font-body); }
.loyalty .sub { margin: 14px auto 0; max-width: 640px; font: 15.5px/1.6 'Inter', Arial, sans-serif; opacity: .9; }
.loyalty .sub strong { color: var(--yellow); }

.form-card { max-width: 760px; margin: clamp(36px, 5vw, 56px) auto 0; padding: clamp(10px, 2vw, 18px); border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(10, 0, 70, .35); }
.form-card iframe { display: block; width: 100%; height: 420px; border: 0; border-radius: 14px; }
.form-fallback { margin: 12px 0 4px; text-align: center; font-size: 13px; color: var(--muted); }
.form-fallback a { color: var(--blue-deep); font-weight: 600; }

/* Políticas: desplegable igual al toggle del home */
.policy-toggle { max-width: 1080px; margin: clamp(36px, 5vw, 56px) auto 0; border: 1px solid rgba(255, 255, 255, .85); color: #fff; text-align: left; }
.policy-toggle summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; cursor: pointer; list-style: none; font: 600 clamp(17px, 2.2vw, 20px)/1.3 'Cabin', var(--font-body); }
.policy-toggle summary::-webkit-details-marker { display: none; }
.policy-toggle summary:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }
.pt-icon { position: relative; flex: none; width: 18px; height: 18px; border-radius: 50%; background: rgba(255, 255, 255, .55); }
.pt-icon::before, .pt-icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 2px; margin: -1px 0 0 -5px; background: #1d08a4; transition: transform .25s; }
.pt-icon::after { transform: rotate(90deg); }
.policy-toggle[open] .pt-icon::after { transform: rotate(0deg); }
.pt-content { padding: 0 20px 22px; font-size: 15.5px; line-height: 1.7; }
.pt-content p { margin: 0 0 6px; }
.pt-content strong { display: inline-block; margin-top: 10px; }

@media (max-width: 760px) {
  .form-card iframe { height: 610px; }
}
