/* =========================================================
   layout.css — Estructuras de página y secciones
   Surfcamp Ribadesella
   ========================================================= */
/* ============ DESKTOP ============ */
@media(min-width:1100px){
  :root{--bar-h:0px;--hdr-h:78px}
  .section{padding:100px 0}
  .menu-btn{display:none}
  .reserve-bar{display:none}

  .hdr-contact{display:block;overflow:hidden;max-height:40px}
  .topbar.scrolled .hdr-contact{max-height:0;opacity:0;border-bottom-color:transparent}
  .nav-desktop{display:flex;align-items:stretch;gap:0;flex-shrink:1;min-width:0;align-self:stretch}
  .nav-item{position:relative;display:flex;align-items:center}
  .nav-item::after{content:"";position:absolute;top:100%;left:0;right:0;height:20px}
  .nav-link{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--green-ink);padding:11px 9px;transition:.2s;cursor:pointer;white-space:nowrap}
  .nav-link.active{color:var(--green)}
  .nav-link .caret{width:13px;height:13px;opacity:.7;transition:transform .25s}
  .nav-link:hover{color:var(--green)}
  .nav-item:hover .nav-link .caret{transform:rotate(180deg)}
  .dropdown{position:absolute;top:100%;left:0;margin-top:0;background:var(--white);border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(6,63,58,.45);padding:10px;min-width:260px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease, transform .2s ease, visibility .2s;z-index:90}
  .nav-item:hover .dropdown,.nav-item.dd-open .dropdown{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nav-item.dd-open .nav-link .caret{transform:rotate(180deg)}
  .nav-item.dd-open .nav-link{color:var(--green)}
  .dropdown::before{content:"";position:absolute;top:-16px;left:0;right:0;height:18px}
  .dd-link{display:flex;align-items:center;gap:11px;padding:11px 12px;font-size:14px;font-weight:500;color:var(--green-ink);transition:.16s}
  .dd-link:hover{background:var(--cream);color:var(--green)}
  .dd-link .ico{width:32px;height:32px;color:var(--green);border-color:rgba(6,145,131,.3);flex-shrink:0}
  .dd-link .dd-sub{display:block;font-size:11.5px;font-weight:400;color:var(--slate);margin-top:1px;text-transform:none}
  .dropdown.right{left:auto;right:0}

  .tx-hero-inner{padding-block:80px}
  .tx-hero h1{max-width:18ch}

  .weeks{grid-template-columns:repeat(2,1fr)}
  .inc-grid{grid-template-columns:repeat(4,1fr)}
  .cross{grid-template-columns:repeat(2,1fr)}
  .collage{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:6px}
  .collage .a{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .collage .b{grid-column:span 2;aspect-ratio:auto}
  .collage .c{grid-column:span 2;grid-row:span 1;aspect-ratio:auto}
  .lodging{grid-template-columns:1fr 1fr}
  .trust-strip{grid-template-columns:repeat(4,1fr)}
  .ftr-top{flex-direction:row;justify-content:space-between;align-items:flex-start}
  .ftr-cols{flex:1;max-width:700px}
  .ftr-bottom{flex-direction:row;justify-content:space-between;align-items:center}
}

/* ---- split text + media ---- */
.sc-split{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
.sc-split-media{position:relative;overflow:hidden;background:var(--sea);aspect-ratio:4/3}
.sc-split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---- tiles (pricing / gear / activities) ---- */
.tiles{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.tile{background:var(--white);padding:26px 22px;display:flex;flex-direction:column;gap:10px}
.tile .ico{width:46px;height:46px;color:var(--green);border-color:rgba(6,145,131,.3)}
.tile h4{font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--green-ink)}
.tile p{font-size:14px;color:var(--slate);font-weight:400;flex:1}
.tile .px{display:flex;align-items:baseline;gap:7px;margin-top:4px}
.tile .px .now{font-size:26px;font-weight:700;color:var(--green-ink);line-height:1}
.tile .px .now small{font-size:12px;font-weight:500;color:var(--slate)}
.tile .px .old{font-size:14px;color:var(--slate);text-decoration:line-through}
.tile.feat-tile{background:var(--green-ink);color:#fff}
.tile.feat-tile h4{color:#fff}.tile.feat-tile p{color:rgba(255,255,255,.8)}
.tile.feat-tile .ico{color:var(--cyan-soft);border-color:rgba(159,217,220,.5)}
.tile.feat-tile .px .now{color:#fff}.tile.feat-tile .px .now small,.tile.feat-tile .px .old{color:rgba(255,255,255,.7)}
.tile .badge{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--orange-deep);color:#fff;padding:4px 9px}

/* ---- staff grid ---- */
.staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.staff-card{background:var(--white);display:flex;flex-direction:column}
.staff-photo{position:relative;aspect-ratio:1;overflow:hidden;background:var(--sea)}
.staff-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.staff-card .sc-body{padding:16px 18px 20px}
.staff-card .sc-name{font-size:16px;font-weight:700;color:var(--green-ink)}
.staff-card .sc-role{font-size:12.5px;font-weight:500;color:var(--green);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.staff-card .sc-desc{font-size:13px;color:var(--slate);margin-top:8px;line-height:1.5}

/* ---- ofertas: archivo y single ---- */
.offers-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:600px){.offers-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1180px){.offers-grid{grid-template-columns:repeat(3,1fr)}}

.offer-detail-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:860px){.offer-detail-grid{grid-template-columns:1.4fr 1fr}}

.offer-card-detail{border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}

