.ticket-modal-backdrop{position:fixed;inset:0;background:rgba(3,20,13,.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px;z-index:120}.ticket-modal-backdrop.show{display:flex}.ticket-modal{width:min(520px,100%);background:#f4f1e7;color:#153126;border-radius:28px;box-shadow:0 28px 80px rgba(0,0,0,.38);overflow:hidden}.ticket-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px 26px 18px;border-bottom:1px solid #d9dfda}.ticket-modal-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#6a7b70}.ticket-modal h3{margin:6px 0 0;font-family:Georgia,serif;font-size:32px;line-height:1.05}.ticket-close{width:42px;height:42px;border:0;border-radius:50%;background:#e4e8e3;color:#153126;font-size:24px;line-height:1}.ticket-body{padding:22px 26px 26px}.ticket-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid #d9dfda}.ticket-row strong{display:block;font-size:18px}.ticket-row small{display:block;color:#6a7b70;margin-top:3px}.ticket-qty{display:flex;align-items:center;gap:12px}.ticket-qty button{width:38px;height:38px;border-radius:50%;border:1px solid #c9d2cc;background:#fff;color:#153126;font-size:22px;font-weight:800}.ticket-count{min-width:24px;text-align:center;font-weight:900;font-size:18px}.ticket-total{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:22px 0 18px}.ticket-total span{color:#6a7b70}.ticket-total strong{font-size:30px;font-family:Georgia,serif}.ticket-checkout{width:100%;border:0;border-radius:999px;padding:14px 18px;background:#153126;color:#fff;font-weight:900;font-size:16px}.ticket-checkout:disabled{opacity:.55;cursor:not-allowed}.ticket-status{margin:12px 4px 0;color:#6a7b70;font-size:13px;line-height:1.45}.ticket-inline-buy{margin-top:20px;width:100%}

/* Program & Tarife: compact desktop layout so the complete section is visible in one viewport. */
@media (min-width:761px){
  .visit-section{padding:42px 0 34px}
  .visit-section .section-head{margin-bottom:24px;align-items:center}
  .visit-section .section-head h2{font-size:clamp(38px,4vw,52px);line-height:1}
  .visit-section .section-head p{font-size:14px;line-height:1.5;max-width:500px}
  .visit-section .eyebrow{font-size:12px}
  .visit-section .visit-grid{gap:18px}
  .visit-section .info-panel{padding:24px 28px;border-radius:22px}
  .visit-section .info-panel h3{font-size:27px;margin-bottom:18px}
  .visit-section .hours-row,.visit-section .price-row{padding:10px 0;font-size:14px}
  .visit-section .contact-list{gap:4px}
  .visit-section .contact-item{padding:10px 0}
  .visit-section .contact-item span{font-size:12px;line-height:1.35}
  .visit-section .info-panel .btn{margin-top:12px;padding:10px 16px}
  .visit-section .social-bar{margin-top:12px;gap:8px}
  .visit-section .social-link{width:40px;height:40px}
  .visit-section .social-link svg{width:18px;height:18px}
  .visit-section .ticket-inline-buy{margin-top:12px}
}

@media(max-width:600px){.ticket-modal-backdrop{padding:12px;align-items:flex-end}.ticket-modal{border-radius:24px 24px 0 0}.ticket-modal-head{padding:22px 20px 16px}.ticket-body{padding:18px 20px 24px}.ticket-modal h3{font-size:28px}}