/* ============================================================
   TAO SPA — PÁGINA DE UN MASAJE
   La usan las 11 páginas de detalle (masaje-*.html).
   ============================================================ */

/* --- Hero partido: texto a un lado, foto al otro ------------
   Casi todas las fotos de Tao son verticales (2:3). Un banner
   ancho de lado a lado les corta el 85%. Con la foto en columna
   el recorte es mínimo.
   Todo va dentro del ancho de página (--maxw) para que en
   pantallas muy anchas no se desparrame y el título quede
   alineado con el texto de abajo. --------------------------- */
.dhead{
  max-width:var(--maxw);margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1fr minmax(240px,40%);gap:44px;
  align-items:stretch;
}
.dhead-txt{
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:148px 0 8px;
  min-height:min(66vh,600px);
}
.dhead .eyebrow{justify-content:flex-start}
.dhead .eyebrow::before{display:none}
.dhead h1{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:400;
  font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.04;color:var(--crema);margin-top:16px;
}
.dmeta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:22px}
.dmeta span{
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--nude-2);
  border:1px solid var(--line);border-radius:30px;padding:7px 15px;
}

/* Columna de la foto: panel con esquinas suaves */
.dhead-media{
  position:relative;overflow:hidden;border-radius:14px;
  margin:112px 0 0;border:1px solid var(--line);
  box-shadow:0 26px 60px rgba(0,0,0,.45);
}
.dhead-bg{position:absolute;inset:-6% 0}
.dhead-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.dhead-media::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(36,22,16,.42),transparent 42%);
}

/* --- Cuerpo: texto a la izquierda, precio a la derecha ------ */
.dgrid{display:grid;grid-template-columns:1.35fr .65fr;gap:58px;align-items:start;padding:72px 0 0}
.dlead{font-size:1.08rem;color:var(--crema-dim);font-weight:300}
.dlead strong{color:var(--crema);font-weight:500}

.dspecs{list-style:none;margin-top:34px;border-top:1px solid var(--line)}
.dspecs li{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid rgba(201,162,75,.14);font-weight:300}
.dspecs li .k{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--crema-faint);min-width:120px;padding-top:4px}
.dspecs li .v{color:var(--crema);flex:1}

/* Tarjeta de precio (se queda pegada al bajar, en escritorio) */
.dcard{
  background:var(--cacao);border:1px solid var(--gold);border-radius:12px;
  padding:32px 30px;box-shadow:0 24px 60px rgba(0,0,0,.45);
  position:sticky;top:100px;
}
.dcard .dprice{font-size:3.2rem;font-weight:600;color:var(--gold-2);line-height:1}
.dcard .dprice em{display:block;font-style:normal;font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--crema-faint);margin-bottom:8px}
.dcard .dprice small{font-size:.85rem;font-weight:400;color:var(--crema-faint);display:block;letter-spacing:.16em;text-transform:uppercase;margin-top:8px}
.dcard .dlines{margin:20px 0 4px;border-top:1px solid var(--line)}
.dcard .dline{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid rgba(201,162,75,.14);font-size:.92rem}
.dcard .dline .dn{color:var(--crema-dim);flex:1}
.dcard .dline .dp{color:var(--gold-2);font-weight:600;white-space:nowrap}
.dcard .btn{width:100%;justify-content:center;margin-top:16px}
.dcard .dnote{margin-top:20px;font-size:.8rem;color:var(--crema-faint);font-weight:300;text-align:center;line-height:1.5}

/* --- Otros masajes ------------------------------------------ */
.dmas{padding:20px 0 0}
.dmas h2{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
  font-size:clamp(1.6rem,3.4vw,2.2rem);color:var(--crema);
  display:flex;align-items:center;gap:18px;margin-bottom:30px;
}
.dmas h2::after{content:'';flex:1;height:1px;background:var(--line)}

@media(max-width:900px){
  /* En celular la foto va arriba con su proporción natural */
  .dhead{grid-template-columns:1fr;gap:0;padding:0 20px}
  .dhead-txt{order:2;padding:26px 0 4px;min-height:0}
  .dhead-media{order:1;margin:96px 0 0;aspect-ratio:4/3}
  .dhead h1{font-size:clamp(2rem,7.6vw,2.7rem)}
  .dmeta{gap:8px}
  .dmeta span{font-size:.62rem;padding:6px 12px}

  .dgrid{grid-template-columns:1fr;gap:34px;padding:44px 0 0}
  .dcard{position:static}
  .dcard .dprice{font-size:2.6rem}
  .dspecs li{flex-direction:column;gap:3px}
  .dspecs li .k{min-width:0}
  .dmas h2{gap:12px}
}
