/* ======================================================================
   Reservar — réplica del diseño "Servicios diseñados para realzar tu belleza"
   (Claudia, 11/09/2026). Autocontenida en variables --rs-*.

   Cambios respecto a su hoja:
    · Propiedades lógicas (inset-inline-*, margin-inline-*, border-inline-*)
      para que el árabe (dir=rtl) se voltee solo. El degradado de la cabecera
      y la flecha de «Reservar» sí se voltean a mano en [dir=rtl].
    · El rosa (#DE8CA0) como TEXTO no se lee (2,3:1 sobre la crema): los
      antetítulos y enlaces van en el oro oscurecido de la paleta del rediseño
      (--rs-acento, 5,5:1), y los adornos en su oro.
    · La tarjeta entera es el enlace (lleva a la ficha o a WhatsApp), puede no
      tener descripción, y lleva la seña bajo el precio.
    · Por debajo de 540 px, dos columnas y no una: la carta real tiene más de
      cuarenta servicios, no dieciséis.
   ====================================================================== */
:root{
  --rs-rosa:#DE8CA0; --rs-rosa-banda:#EDA8B5; --rs-tinta:#262019; --rs-gris:#55493F;
  --rs-fondo:#F8F3EC; --rs-borde:#E9DDCD; --rs-oscuro:#1C1713;
  --rs-peach:#E4AE9B; --rs-peach-hover:#D9997F; --rs-peach-banda:#F0CFC1;
  --rs-oro:#C9962E; --rs-acento:#85641F; --rs-acento-hover:#6B5018;
}

/* ---------- hero ---------- */
.rs-hero{position:relative;overflow:hidden;background:#241B18;color:#fff}
.rs-hero__bg{position:absolute;inset:0}
.rs-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;opacity:.85}
.rs-hero__bg::after{content:"";position:absolute;inset:0;
                    background:linear-gradient(95deg,rgba(20,14,12,.94) 0%,rgba(20,14,12,.72) 45%,rgba(20,14,12,.15) 100%)}
[dir="rtl"] .rs-hero__bg::after{
                    background:linear-gradient(265deg,rgba(20,14,12,.94) 0%,rgba(20,14,12,.72) 45%,rgba(20,14,12,.15) 100%)}
.rs-hero__txt{position:relative;z-index:2;max-width:1220px;margin:0 auto;
              padding:clamp(2.8rem,6vw,4.5rem) clamp(1.5rem,4vw,3.2rem) clamp(3.6rem,7vw,5.3rem)}
.rs-hero__kicker{color:#EABBA8;font-family:'Jost',sans-serif;font-size:.7rem;font-weight:500;
                 letter-spacing:.3em;text-transform:uppercase;display:inline-flex;flex-direction:column}
.rs-hero__kicker::after{content:"";width:46px;height:1px;background:currentColor;opacity:.75;margin-top:.7rem}
.rs-hero__titulo{font-family:'Cormorant Garamond',serif;font-weight:600;color:#fff;
                 font-size:clamp(2rem,1.5rem + 2.4vw,3.6rem);line-height:1.12;margin-top:.9rem;max-width:20ch}
.rs-hero__parr{color:rgba(255,255,255,.78);font-weight:300;line-height:1.7;margin-top:1.1rem;
               font-size:clamp(.92rem,.88rem + .2vw,1.05rem);max-width:44ch}
.rs-hero__acciones{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.7rem}

.rs-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--rs-peach);color:#2A211C;
        text-decoration:none;border-radius:999px;padding:.85rem 1.8rem;
        font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;
        letter-spacing:.16em;text-transform:uppercase;transition:background .3s,transform .3s}
.rs-btn:hover{background:var(--rs-peach-hover);transform:translateY(-1px)}
.rs-btn--borde{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.rs-btn--borde:hover{background:rgba(255,255,255,.12)}
.rs-btn svg{width:15px;height:15px;flex:none}

/* ---------- banda de contacto ---------- */
.rs-banda{background:var(--rs-fondo);padding:0 clamp(1rem,3vw,2.5rem)}
.rs-banda__caja{max-width:1220px;margin:-1.4rem auto 0;position:relative;z-index:3;
                background:var(--rs-peach-banda);border-radius:16px;
                display:grid;grid-template-columns:repeat(3,1fr);
                padding:clamp(1.1rem,2vw,1.5rem) clamp(.8rem,1.6vw,1.4rem)}
/* «¿Dudas antes de reservar?»: el aviso de la versión anterior, encima de sus tres datos */
.rs-banda__lead{grid-column:1/-1;text-align:center;color:#4A362C;
                padding:0 clamp(.8rem,2vw,1.8rem) clamp(.9rem,1.6vw,1.15rem);
                margin-bottom:clamp(.9rem,1.6vw,1.15rem);border-bottom:1px solid rgba(120,80,60,.28)}
.rs-banda__lead strong{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;
                       font-size:clamp(1.1rem,1rem + .4vw,1.3rem);color:var(--rs-tinta)}
.rs-banda__lead span{display:block;font-family:'Jost',sans-serif;font-weight:300;font-size:.82rem;
                     line-height:1.55;margin:.25rem auto 0;max-width:70ch}
.rs-banda__item{display:flex;align-items:center;gap:.95rem;padding:0 clamp(.8rem,2vw,1.8rem);color:#4A362C}
.rs-banda__item + .rs-banda__item{border-inline-start:1px solid rgba(120,80,60,.28)}
.rs-banda__ico{flex:none;width:44px;height:44px;border-radius:50%;border:1.4px solid #B58063;
               display:flex;align-items:center;justify-content:center}
.rs-banda__ico svg{width:20px;height:20px}
.rs-banda__item strong{display:block;font-family:'Jost',sans-serif;font-size:.74rem;font-weight:600;
                       letter-spacing:.06em}
.rs-banda__item small{display:block;font-family:'Jost',sans-serif;font-weight:300;font-size:.78rem;
                      line-height:1.5;margin-top:.15rem}
.rs-banda__item a{color:inherit;text-decoration:underline;text-decoration-color:rgba(74,54,44,.35);text-underline-offset:2px}
.rs-banda__item a:hover{text-decoration-color:currentColor}

/* ---------- cabecera de servicios ---------- */
.rs-serv{background:var(--rs-fondo);scroll-margin-top:6rem;
         padding:clamp(2.6rem,5vw,4rem) clamp(1.5rem,4vw,3.2rem) clamp(3rem,5.5vw,4.5rem)}
.rs-serv__head{text-align:center;max-width:640px;margin:0 auto clamp(2rem,4vw,3rem)}
.rs-serv__kicker{color:var(--rs-acento);font-family:'Jost',sans-serif;font-size:.68rem;font-weight:600;
                 letter-spacing:.3em;text-transform:uppercase}
.rs-serv__titulo{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--rs-tinta);
                 font-size:clamp(1.9rem,1.4rem + 2vw,3rem);line-height:1.1;margin-top:.6rem}
.rs-serv__sub{color:var(--rs-gris);font-weight:300;font-size:.92rem;line-height:1.7;margin-top:.9rem}
.rs-serv__orn{color:var(--rs-oro);margin-top:1rem;font-size:.8rem}
.rs-vacio{text-align:center;color:var(--rs-gris);font-weight:300}
.rs-vacio a{color:var(--rs-acento);text-decoration:underline}

.rs-cat{max-width:1220px;margin:0 auto clamp(2.2rem,4vw,3.2rem)}
.rs-cat__titulo{display:flex;align-items:baseline;gap:.7rem;font-family:'Cormorant Garamond',serif;
                font-weight:600;color:var(--rs-tinta);font-size:clamp(1.15rem,1rem + .7vw,1.5rem);
                letter-spacing:.08em;text-transform:uppercase;
                padding-bottom:.6rem;border-bottom:1px solid #D9CCB9;margin-bottom:1.3rem}
.rs-cat__letra{color:var(--rs-gris);font-size:.85em}

.rs-cat__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.6rem)}
/* su maqueta: pestañas a cuatro columnas, el resto a tres (por debajo de 1000px manda la regla de dos) */
.rs-cat__grid--3{grid-template-columns:repeat(3,1fr)}
.rs-card{background:#fff;border:1px solid var(--rs-borde);border-radius:12px;overflow:hidden;
         display:flex;flex-direction:column;color:inherit;text-decoration:none;
         box-shadow:0 14px 26px -24px rgba(80,60,45,.45);transition:border-color .3s,box-shadow .3s}
.rs-card:hover{border-color:#D9C3A0;box-shadow:0 18px 30px -22px rgba(80,60,45,.5)}
.rs-card:focus-visible{outline:2px solid var(--rs-acento);outline-offset:3px}
.rs-card__foto{aspect-ratio:16/10;overflow:hidden;background:var(--rs-fondo)}
.rs-card__foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.rs-card:hover .rs-card__foto img{transform:scale(1.04)}
.rs-card__vacia{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
                color:var(--rs-oro);font-size:2rem}
.rs-card__cuerpo{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1}
.rs-card__texto{flex:1;padding-bottom:.9rem}
.rs-card__nombre{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--rs-tinta);
                 font-size:1.12rem;line-height:1.2;
                 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rs-card__texto p{color:var(--rs-gris);font-weight:300;font-size:.8rem;line-height:1.55;margin-top:.45rem;
                  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rs-card__pie{display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem;
              padding-top:.75rem;border-top:1px solid #EFE5D6}
.rs-card__precio{display:flex;flex-direction:column;font-family:'Jost',sans-serif;font-size:.8rem;
                 font-weight:500;color:var(--rs-tinta)}
.rs-card__sena{font-size:.68rem;font-weight:400;color:#75665A;margin-top:.2rem}
.rs-card__link{color:var(--rs-acento);font-family:'Jost',sans-serif;
               font-size:.76rem;font-weight:500;white-space:nowrap;transition:color .25s,transform .25s}
.rs-card:hover .rs-card__link{color:var(--rs-acento-hover);transform:translateX(4px)}
[dir="rtl"] .rs-card:hover .rs-card__link{transform:translateX(-4px)}

/* ---------- CTA final ---------- */
.rs-cta{position:relative;overflow:hidden;background:#FBEFEA;text-align:center;
        padding:clamp(2.6rem,5vw,4rem) clamp(1.5rem,4vw,3.2rem)}
.rs-cta__titulo{position:relative;font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--rs-tinta);
                font-size:clamp(1.7rem,1.3rem + 1.6vw,2.6rem);line-height:1.15}
.rs-cta__titulo i{font-style:normal;color:var(--rs-oro);font-size:.7em;margin-inline-end:.4rem}
.rs-cta__parr{position:relative;color:var(--rs-gris);font-weight:300;font-size:.95rem;line-height:1.7;
              max-width:60ch;margin:.7rem auto 0}
.rs-cta__acciones{position:relative;z-index:1;display:flex;justify-content:center;gap:.9rem;flex-wrap:wrap;margin-top:1.5rem}
.rs-cta .rs-btn--borde{border-color:#C9A28F;color:var(--rs-tinta)}
.rs-cta .rs-btn--borde:hover{background:#fff}
.rs-cta__flor{position:absolute;inset-inline-end:-20px;bottom:-30px;width:clamp(120px,16vw,220px);
              opacity:.5;pointer-events:none;color:#E8AFBB}
.rs-cta__flor svg{width:100%;height:auto}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .rs-cat__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .rs-banda__caja{grid-template-columns:1fr;gap:1rem}
  .rs-banda__lead{margin-bottom:0}
  .rs-banda__item + .rs-banda__item{border-inline-start:none;border-top:1px solid rgba(255,255,255,.5);padding-top:1rem}
}
@media(max-width:540px){
  .rs-cat__grid{gap:.75rem}
  .rs-card__cuerpo{padding:.8rem .8rem .9rem}
  .rs-card__nombre{font-size:1.02rem}
  .rs-card__pie{flex-direction:column;align-items:flex-start;gap:.35rem}
}
