
:root{--navy:#0b1b2e;--navy2:#071323;--gold:#c59a51;--cream:#f7f2ea;--text:#1b2430;--muted:#657080}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;padding-bottom:98px}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}p{line-height:1.75}ul{line-height:1.75}
.topbar{background:#06111f;color:#eee;font-size:14px;display:flex;gap:24px;padding:8px 6%;justify-content:center;align-items:center}.social{display:flex;gap:10px;list-style:none;margin:14px 0 0;padding:0}.social img{width:24px;height:24px;object-fit:contain;border-radius:50%}
.site-header{position:sticky;top:0;z-index:30;background:rgba(11,27,46,.97);display:flex;align-items:center;justify-content:space-between;padding:15px 6%;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.logo img{height:68px;width:auto}.site-header nav{display:flex;gap:17px;align-items:center}.site-header nav a{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.site-header nav a.active,.site-header nav a:hover,.lang{color:var(--gold)}.menu-toggle{display:none}
.btn{display:inline-block;padding:13px 22px;border-radius:2px;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.03em}.btn-primary{background:var(--gold);color:#fff}.btn-outline{border:1px solid #fff;color:#fff}.hero{min-height:680px;background:linear-gradient(90deg,rgba(7,18,32,.84),rgba(7,18,32,.30)),url('../img/vistas-colegiata.webp') center/cover no-repeat;display:flex;align-items:center;padding:80px 6%;color:#fff}.hero-content{max-width:680px}.eyebrow{text-transform:uppercase;color:var(--gold);letter-spacing:.13em;font-weight:700}.eyebrow.dark{color:var(--gold)}.hero h1{font-size:60px;line-height:1.05;margin:0 0 22px;font-family:Georgia,serif}.hero p{font-size:19px;max-width:660px}.actions{display:flex;gap:16px;margin-top:28px}
.page-hero{background:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.55)),url('../img/panoramica-toro-zamora.webp') center/cover no-repeat;color:#fff;padding:120px 6%;text-align:center}.page-hero h1{font-size:50px;margin:0 0 15px;font-family:Georgia,serif}.page-hero p{font-size:19px;max-width:860px;margin:0 auto}.rooms-hero{background-image:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.48)),url('../img/habitacion-doble-superior-con-balcon.webp')}.events-hero{background-image:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.48)),url('../img/bodas-y-banquetes-03.webp')}.restaurant-hero{background-image:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.48)),url('../img/restaurante-panoramico-01.webp')}.services-hero{background-image:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.48)),url('../img/piscina-exterior-de-verano-01.webp')}.location-hero{background-image:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.48)),url('../img/vistas-a-la-vega-del-duero.webp')}.toro-hero{background-image:linear-gradient(90deg,rgba(7,18,32,.90),rgba(7,18,32,.48)),url('../img/colegiata-de-santa-maria-la-mayor-1-1200x800.jpg')}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd}.features article{background:var(--cream);padding:36px}.features h2{font-size:20px;margin:0 0 8px}.features p{color:var(--muted);font-size:15px}.features a,.cards a,.tourism-grid a{color:var(--gold);font-weight:700;text-transform:uppercase;font-size:13px}.feature-icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:26px;margin-bottom:15px}
.intro{max-width:980px;margin:auto;padding:70px 6% 20px;text-align:center}.intro h2{font-size:38px;font-family:Georgia,serif;margin:0 0 18px}.intro p{font-size:18px;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:72px 6%}.split h2{font-size:40px;margin:0 0 18px;font-family:Georgia,serif}.split p{color:var(--muted)}.split img{border-radius:4px;box-shadow:0 18px 50px rgba(0,0,0,.13)}.monument-detail{align-items:start}.monument-detail img{position:sticky;top:120px}
.wide-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#faf8f4}.wide-split>img{height:100%;width:100%;object-fit:cover}.wide-split>div{padding:70px 8%}.wide-split h2{font-size:38px;font-family:Georgia,serif;margin:0 0 18px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card-grid article,.cards article,.tourism-grid article{background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.08)}.card-grid img{height:190px;width:100%;object-fit:cover}.card-grid h3,.card-grid p{padding:0 18px}.card-grid p{padding-bottom:18px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:72px 6%;background:#faf8f4}.cards article img{height:270px;width:100%;object-fit:cover}.cards article h2,.cards article p,.cards article a{padding-left:24px;padding-right:24px}.cards article h2{font-family:Georgia,serif}.cards article p{padding-bottom:8px;color:var(--muted)}.cards article a{display:inline-block;padding-bottom:25px}
.tourism-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:72px 6%;background:#faf8f4}.tourism-grid img{height:230px;width:100%;object-fit:cover}.tourism-grid h2,.tourism-grid p,.tourism-grid a{padding-left:22px;padding-right:22px}.tourism-grid h2{font-size:24px;font-family:Georgia,serif}.tourism-grid p{color:var(--muted)}.tourism-grid a{display:inline-block;padding-bottom:24px}
.room-list{padding:72px 6%;display:grid;gap:34px}.room-list article{display:grid;grid-template-columns:430px 1fr;background:#fff;box-shadow:0 12px 36px rgba(0,0,0,.08)}.room-list article img{height:100%;width:100%;object-fit:cover}.room-list article div{padding:36px}.room-list h2{font-size:32px;margin-top:0;font-family:Georgia,serif}
.content{padding:60px 6%;max-width:940px;margin:auto}.content.wide{max-width:1060px}.content h2{font-size:42px;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:10px;font-weight:400}.content p{font-size:20px;color:#222}.legal-content p,.legal-content li{font-size:17px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;padding:72px 6%}.service-grid article{background:#faf8f4;padding:34px;border-left:4px solid var(--gold)}.service-grid h2{font-size:28px;margin-top:0;font-family:Georgia,serif}.gallery-section{padding:40px 6% 80px;background:#eeeae4}.gallery-section h2{text-align:center;font-size:36px;font-family:Georgia,serif}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery img{height:260px;width:100%;object-fit:cover;border:4px solid #fff}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;padding-left:0;list-style:none;color:var(--muted)}.check-list li:before{content:"✓";color:var(--gold);font-weight:bold;margin-right:8px}
.map-section{padding:40px 6% 80px}.map-section h2{text-align:center;font-family:Georgia,serif;font-size:36px}.reviews{background:var(--navy2);color:#fff;text-align:center;padding:65px 6%}.reviews h2{font-size:36px;font-family:Georgia,serif}.reviews p{font-size:18px;max-width:780px;margin:auto;color:#dfe6ee}
.footer{background:#071323;color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:56px 6% 125px}.footer a{display:block;color:#d8d8d8;margin:9px 0}.footer-logo{height:80px;width:auto;margin-bottom:18px}.footer h3{color:#fff}
.booking-bar{position:fixed;left:0;right:0;bottom:0;background:#c59a51;z-index:50;padding:13px 6%;box-shadow:0 -8px 30px rgba(0,0,0,.25)}.booking-bar form{display:flex;gap:12px;align-items:end;justify-content:center}.booking-bar label{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase}.booking-bar input{display:block;margin-top:5px;padding:10px;border:0;border-radius:2px;min-width:130px}.booking-bar button{background:#071323;color:#fff;border:0;padding:12px 22px;font-weight:700;text-transform:uppercase;cursor:pointer}
@media(max-width:1050px){body{padding-bottom:320px}.topbar{display:none}.site-header{display:block}.logo img{height:55px;margin:auto}.menu-toggle{display:block;position:absolute;right:20px;top:24px;background:transparent;color:#fff;border:0;font-size:28px}.site-header nav{display:none;flex-direction:column;margin-top:15px}.site-header nav.open{display:flex}.header-btn{display:none}.hero h1{font-size:40px}.page-hero h1{font-size:38px}.features,.split,.wide-split,.cards,.gallery,.room-list article,.footer,.service-grid,.card-grid,.tourism-grid{grid-template-columns:1fr}.gallery img,.cards article img,.card-grid img,.tourism-grid img{height:auto}.booking-bar form{display:grid;grid-template-columns:1fr 1fr}.booking-bar button{grid-column:1/-1}.check-list{grid-template-columns:1fr}.monument-detail img{position:static}}


/* Motor de reservas móvil desplegable */
.mobile-booking-toggle {
  display: none;
}

@media (max-width: 768px) {
  body {
    padding-bottom: 78px;
  }

  .mobile-booking-toggle {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 70;
    width: 100%;
    border: 0;
    background: #c59a51;
    color: #fff;
    padding: 18px 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 15px;
    letter-spacing: .04em;
    cursor: pointer;
    box-shadow: 0 -8px 30px rgba(0,0,0,.25);
  }

  .booking-bar {
    display: none;
    bottom: 58px;
    padding: 18px 6%;
    max-height: calc(100vh - 90px);
    overflow-y: auto;
  }

  .booking-bar.open {
    display: block;
  }

  .booking-bar form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
  }

  .booking-bar label,
  .booking-bar input,
  .booking-bar button {
    width: 100%;
  }

  .booking-bar input {
    min-width: 0;
  }
}
