.form-group{margin-bottom:1.15rem}
.form-group .form-control{width:100%;box-sizing:border-box;padding:.8rem 1rem;border:1.5px solid #dbe4ea;border-radius:12px;background:#f9fbfc;font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}
.form-group .form-control:hover{border-color:#b9c9d3}
.form-group .form-control:focus{outline:none;background:#fff;border-color:var(--primary-color,#2a8fa3);box-shadow:0 0 0 4px rgba(42,143,163,.15)}
.form-group textarea.form-control{min-height:130px;resize:vertical}
.form-group select.form-control{appearance:none;-webkit-appearance:none;padding-right:2.6rem;background-repeat:no-repeat;background-position:right 1rem center;background-size:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23556' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
form input[type=checkbox]{accent-color:var(--primary-color,#2a8fa3);width:1.1rem;height:1.1rem;cursor:pointer}
form .cf-turnstile{display:flex;justify-content:center}
form button.cta-button{width:100%;padding:1rem 1.5rem;font-size:1.05rem;border-radius:999px;border:0;cursor:pointer;transition:transform .15s,box-shadow .2s}
form button.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18)}

/* ===== pasada 2 ===== */
.hero{background:linear-gradient(135deg,var(--primary-dark,#1f5f73) 0%,var(--primary-color,#2a8fa3) 100%);text-align:center}
.hero h1,.hero h2{color:#fff;margin:0 0 .6rem;font-size:clamp(1.9rem,4vw,2.8rem)}
.hero p{color:rgba(255,255,255,.92);font-size:1.12rem;margin:0}

.col.four{align-self:flex-start;position:sticky;top:120px}
.col.four h3{font-size:1.35rem;color:var(--primary-dark,#1f5f73);margin-bottom:1rem}
.contact-info-list{list-style:none;margin:0 0 1.5rem;padding:.3rem 0;background:#fff;border:1px solid #e6eef2;border-radius:18px;box-shadow:0 10px 30px rgba(20,60,80,.09);overflow:hidden}
.contact-info-list li{display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem;border-bottom:1px solid #eef3f6;transition:background .2s}
.contact-info-list li:last-child{border-bottom:0}
.contact-info-list li:hover{background:#f5fafc}
.contact-info-list .contact-icon{width:52px;height:52px;flex:0 0 52px;object-fit:contain;border-radius:14px;mix-blend-mode:multiply}
.contact-info-list a{color:var(--primary-dark,#1f5f73);font-weight:600;text-decoration:none}
.contact-info-list a:hover{text-decoration:underline}

.form-card{background:#fff;border:1px solid #e6eef2;border-top:5px solid var(--primary-color,#2a8fa3);border-radius:22px;padding:2.4rem;box-shadow:0 18px 50px rgba(20,60,80,.12)}
.form-card h3{margin:0 0 1.4rem;font-size:1.5rem;color:var(--primary-dark,#1f5f73)}
.form-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:#34505c}
.checkbox-group{display:flex;flex-wrap:wrap;gap:.6rem}
.checkbox-group .checkbox-item{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border:1.5px solid #dbe4ea;border-radius:999px;background:#f9fbfc;cursor:pointer;font-size:.93rem;transition:border-color .2s,background .2s}
.checkbox-group .checkbox-item:hover{border-color:var(--primary-color,#2a8fa3)}
.checkbox-group .checkbox-item:has(input:checked){border-color:var(--primary-color,#2a8fa3);background:rgba(42,143,163,.1);color:var(--primary-dark,#1f5f73)}
.form-group > .checkbox-item{display:flex;align-items:flex-start;gap:.6rem;line-height:1.45;cursor:pointer}
.form-group > .checkbox-item a{color:var(--primary-dark,#1f5f73);text-decoration:underline}
.alert{border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.2rem}
.alert-success{background:#e8f6ee;border:1px solid #b7e1c8;color:#1d6b3f}
.alert-error{background:#fdecec;border:1px solid #f3bcbc;color:#9b2222}

.transport-item{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e6eef2;border-radius:16px;padding:1rem 1.2rem;margin-bottom:1rem;box-shadow:0 6px 18px rgba(20,60,80,.06);transition:transform .2s,box-shadow .2s}
.transport-item:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,60,80,.12)}
.transport-icon{width:46px;height:46px;flex:0 0 46px;object-fit:contain;border-radius:12px;mix-blend-mode:multiply}

@media(max-width:768px){.col.four{position:static}.form-card{padding:1.6rem 1.3rem}}
/* ===== fin pasada 2 ===== */

/* tarjeta dirección y horario */
.addr-card{background:#fff;border:1px solid #e6eef2;border-radius:18px;padding:1.3rem 1.5rem;box-shadow:0 10px 30px rgba(20,60,80,.09);line-height:1.7}
.addr-card h4{margin:0 0 .8rem !important;font-size:1.15rem;color:var(--primary-dark,#1f5f73)}
.addr-card p{margin:0}
