/* ==========================================================
   MAISON PHOTOBOOTH — Capa de refinado visual v1
   Se carga DESPUÉS del <style> de cada página y solo
   sobrescribe aspecto (tamaños, contraste, brillo, layout).
   Para volver atrás: borra la línea <link ... maison-refinado.css>
   ========================================================== */

/* ---- Cursor nativo (se desactiva el cursor personalizado) ---- */
body{cursor:auto!important}
a,button,select,label,.pk,.gc,.sv-row,.faq-q{cursor:pointer!important}
input,textarea{cursor:text!important}
#cur,#curR{display:none!important}

/* ---- H1 home: evita la línea vacía entre “Wedding” y “Memories” ---- */
#hero h1 br{display:none}

/* ---- NAV ---- */
.n-logo img{height:76px;width:auto;margin:-18px 0}
@media(max-width:768px){.n-logo img{height:64px;margin:-14px 0}}
.n-right{gap:34px}
.n-right a{font-size:12.5px;letter-spacing:2px;font-weight:400;color:rgba(244,241,235,.88)}
.n-cta{padding:13px 26px!important}
.hbg{position:relative;gap:4px;padding:12px 11px;border:1px solid rgba(198,167,94,.55);background:rgba(11,11,11,.55)}
.hbg span{width:22px;height:2px}
.hbg.on span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hbg.on span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.hbg::before{content:'Menú';position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);font-family:var(--n);font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--i);white-space:nowrap}
.mob a{color:rgba(244,241,235,.85)}
.mob-meta{font-size:11px;color:rgba(244,241,235,.6)}

/* ---- BOTONES (altura táctil ≥50px, texto 12.5px) ---- */
.btn-g,.btn-s,.btn-dark,.pk-cta,.cl-link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:15px 36px;font-size:12.5px;letter-spacing:2px;font-weight:400;text-align:center}
.btn-dark{font-weight:400}
.ck-btn{font-size:11.5px;padding:12px 22px;letter-spacing:1.5px}
.ck-in p{font-size:.85rem;color:rgba(244,241,235,.78)}
.gal-lnk{font-size:12px;letter-spacing:2px;font-weight:400}
.wa-tx{font-size:11px}

/* ---- ETIQUETAS / EYEBROWS ---- */
.tag,.ed-tag,.art-tag,.blog-tag,.form-tag,.ct-tag,.cl-tag,.h-eye{font-size:11.5px;letter-spacing:4px;font-weight:400}

/* ---- MICRO-LABELS ---- */
.stat-l,.bp-tag,.bp-meta,.art-meta,.art-bread,.hi-bread,.finca-loc,.pk-dur,.pk-badge,.sv-tag,.srv-tag,.h-sub,.h-badge-l,.bod-bdg-l,.nos-panel cite,.tc-a,.split-cap,.h-hint,.h-caption{font-size:11px;letter-spacing:2px;font-weight:400}
.stat-l,.bp-meta,.art-meta,.art-bread,.hi-bread,.hi-bread a,.art-bread a,.pk-dur,.h-sub,.h-badge-l,.bod-bdg-l,.nos-panel cite,.h-hint{color:rgba(244,241,235,.72)}
.sv-tag,.srv-tag{color:rgba(244,241,235,.75);border-color:rgba(198,167,94,.35);padding:6px 14px}
.h-caption{color:rgba(244,241,235,.5)}

/* ---- TEXTO DE LECTURA (más grande y con más contraste) ---- */
.h-p,.sd,.sv-p,.pk-note,.nos-r p{font-size:1rem;color:rgba(244,241,235,.84)}
.pk-f{font-size:.95rem;color:rgba(244,241,235,.84)}
.bl-t p,.pr-step p{font-size:.95rem;color:rgba(244,241,235,.78)}
.tc-q{color:rgba(244,241,235,.92)}
.tk-it{color:rgba(244,241,235,.45)}
.pr-n{color:rgba(198,167,94,.55)}
.sv-n{color:rgba(198,167,94,.35)}
/* páginas interiores y landings */
.hi-sub,.blog-sub,.bp-excerpt{color:rgba(244,241,235,.8)}
.editorial p,.mx p,.split p,.cta-final p,.faq-a p,.srv-desc,.finca-desc,.pk-feat li{color:rgba(244,241,235,.82)}
.srv-desc,.finca-desc,.pk-feat li{font-size:.95rem}
.finca-detail{font-size:.92rem;color:rgba(244,241,235,.7)}
/* blog */
.art-body p{font-size:1.08rem;color:rgba(244,241,235,.84);line-height:1.9}
.art-body li{color:rgba(244,241,235,.84)}
.art-cta p{color:rgba(244,241,235,.9)}
.bp-excerpt{font-size:1rem}
.blog-post{border-color:rgba(138,138,138,.2)}

/* ---- CONTACTO / FORMULARIOS (fondo marfil) ---- */
.cf label,.ff label{font-size:10.5px;letter-spacing:2.5px;color:rgba(11,11,11,.75)}
.ct-tag,.form-tag{color:#8a7038}
.ct-h em,.form-h em{color:#a48846}
.ct-alt,.form-alt{font-size:.92rem;color:rgba(11,11,11,.7)}
.err-msg{font-size:11px}

/* ---- FOOTER ---- */
.ft-logo img{height:84px;width:auto;margin:-14px auto}
.ft-nav a{font-size:11.5px;letter-spacing:2px;color:rgba(244,241,235,.7)}
.ft-copy,.ft-leg a{font-size:.8rem;color:rgba(244,241,235,.5)}

/* ---- FOTOS más luminosas (se ve el fotomatón) ---- */
.h-img img{filter:brightness(.8) saturate(.9)}
.sv-img img,.gc img,.split-img img,.srv-img img{filter:brightness(.8) saturate(.9)}
.bod-img-in img,.nos-img img{filter:brightness(.82)}
.gc:hover img,.sv-row:hover .sv-img img{filter:brightness(.92) saturate(1)}

/* ==========================================================
   HOME — SERVICIOS EN TARJETAS (.sv-cards envuelve las filas)
   ========================================================== */
.sv-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;max-width:var(--max);margin:0 auto;padding:0 64px}
.sv-cards .sv-row{display:flex;flex-direction:column;direction:ltr;min-height:0;border-top:none;background:#111;max-width:none;margin:0}
.sv-cards .sv-row.r{direction:ltr}
.sv-cards .sv-img{height:400px;flex:none}
.sv-cards .sv-body{padding:30px 26px 34px;justify-content:flex-start}
.sv-cards .sv-n{font-size:52px;margin-bottom:6px}
.sv-cards .sv-h{font-size:30px}
.sv-cards .sv-p{font-size:.95rem;margin-bottom:22px}
.sv-cards .sr{opacity:1;transform:none}
@media(max-width:1100px){
  .sv-cards{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 36px}
  .sv-cards .sv-img{height:340px}
}
@media(max-width:768px){
  .sv-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:0 24px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sv-cards::-webkit-scrollbar{display:none}
  .sv-cards .sv-row{flex:0 0 80%;scroll-snap-align:start}
  .sv-cards .sv-img{height:320px}
  .sv-cards .sv-body{padding:24px 20px 28px}
  .sv-cards .sv-h{font-size:26px}
  .sv-swipe{display:block}
}
.sv-swipe{display:none;padding:16px 24px 0;text-align:right;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(244,241,235,.6)}

/* ==========================================================
   HOME — GALERÍA AMPLIADA (7 fotos)
   ========================================================== */
.gal-grid{grid-template-columns:2fr 1fr 1fr 1fr;grid-template-rows:320px 320px}
@media(max-width:1100px){
  .gal-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:none!important;grid-auto-rows:240px}
  .gc:nth-child(1){grid-column:auto;grid-row:span 2!important}
}
@media(max-width:768px){
  .gal-grid{grid-auto-rows:190px;padding:0 24px!important}
  .gc{height:auto!important}
}

/* ==========================================================
   HOME — PACKS EN 3 COLUMNAS
   ========================================================== */
.pk-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pk-list .pk{display:flex;flex-direction:column;border:1px solid rgba(138,138,138,.2)}
.pk-list .pk.ft{border-color:rgba(198,167,94,.5)}
.pk-list .pk-l{border-right:none;border-bottom:1px solid rgba(138,138,138,.18);padding:40px 36px 28px}
.pk-list .pk-name{font-size:34px}
.pk-list .pk-dur{color:var(--g)}
.pk-list .pk-c{flex:1;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:14px;padding:30px 36px}
.pk-list .pk-f{white-space:normal}
.pk-list .pk-r{border-left:none;padding:0 36px 40px}
.pk-list .pk-cta{width:100%}
.pk-list .pk.ft .pk-cta{background:var(--g);color:var(--k)}
@media(max-width:1100px){
  .pk-list{grid-template-columns:1fr;gap:16px}
  .pk-list .pk-l,.pk-list .pk-c{padding-left:28px;padding-right:28px}
  .pk-list .pk-r{padding:0 28px 32px;border-top:none}
}

/* ==========================================================
   MÓVIL — HERO A PANTALLA COMPLETA (home)
   ========================================================== */
@media(max-width:768px){
  #hero{min-height:100svh;min-height:100vh;position:relative}
  #hero .h-right{position:absolute!important;inset:0;min-height:0!important;max-height:none!important;z-index:0}
  #hero .h-right::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(11,11,11,.62) 0%,rgba(11,11,11,.3) 26%,rgba(11,11,11,.52) 52%,rgba(11,11,11,.95) 80%)}
  #hero .h-img img{object-position:62% center;filter:brightness(.85) saturate(.9)}
  #hero .h-eye{text-shadow:0 1px 14px rgba(0,0,0,.62),0 0 4px rgba(0,0,0,.55)}
  #hero h1,#hero .h-sub{text-shadow:0 2px 22px rgba(0,0,0,.45)}
  #hero .h-badge,#hero .h-caption{display:none}
  #hero .h-left{min-height:100vh;justify-content:flex-end;padding:110px 24px 120px}
  #hero .h-p{color:rgba(244,241,235,.88)}
  #hero .h-act{flex-direction:column;align-items:stretch;gap:18px;margin-top:32px}
  #hero .btn-g{width:100%}
}

/* ==========================================================
   MÓVIL — BARRA FIJA INFERIOR (sustituye la burbuja verde)
   ========================================================== */
.mp-bar{display:none}
@media(max-width:768px){
  .mp-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:9989;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:rgba(11,11,11,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(198,167,94,.2)}
  .mp-bar-cta{flex:1;display:flex;align-items:center;justify-content:center;height:52px;background:var(--g);color:var(--k)!important;font-family:var(--n);font-size:12.5px;font-weight:400;letter-spacing:2px;text-transform:uppercase;text-decoration:none!important}
  .mp-bar-wa{flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(198,167,94,.5);color:var(--g)!important}
  #wa{display:none!important}
  body{padding-bottom:80px}
  #ck{bottom:80px}
}

/* ==========================================================
   NOSOTROS — rebalanceo (elimina el hueco vacío de la izquierda)
   Solo escritorio; en móvil ya se apila.
   ========================================================== */
@media(min-width:1101px){
  .nos-top{grid-template-columns:1fr 1fr;align-items:stretch;gap:56px}
  .nos-sup{display:none}
  .nos-r{max-width:520px}
}
.nos-panel{border:1px solid rgba(198,167,94,.14)}


/* Nosotros: cuerpo un poco mayor + stats centradas */
.nos-r p{font-size:1.05rem;line-height:1.85;color:rgba(244,241,235,.86)}
.stat{text-align:center}

/* ==========================================================
   SELECTOR DE IDIOMA — destacado (pill dorado)
   Afecta a cualquier toggle EN/ES del nav (tienen lang=)
   ========================================================== */
.n-right a[lang]{
  color:var(--g);
  border:1px solid rgba(198,167,94,.5);
  padding:6px 13px;
  border-radius:1px;
  letter-spacing:2px;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.n-right a[lang]:hover{background:var(--g);color:#0B0B0B;border-color:var(--g)}
.mob a[lang]{color:var(--g)}

/* ==========================================================
   BLOG — hero con foto, cinta animada y barra fija (todos los artículos)
   Solo afecta a páginas con header.art-hero o header.blog-hero.
   ========================================================== */
header.art-hero,
header.blog-hero{
  max-width:none !important;
  width:100%;
  margin:0 !important;
  position:relative;
  overflow:hidden;
  padding:188px 28px 118px !important;
  background:
    linear-gradient(180deg, rgba(11,11,11,.38) 0%, rgba(11,11,11,.55) 38%, rgba(11,11,11,.88) 74%, #0B0B0B 100%),
    url('/assets/hero/hero-invitadas.jpg') center 40%/cover no-repeat;
}
header.art-hero::after,
header.blog-hero::after{display:none}
header.art-hero::before,
header.blog-hero::before{
  content:"Maison Photobooth    ·    Fotomatón exclusivo para bodas    ·    Consultar disponibilidad    ·    The Art of Wedding Memories    ·    Maison Photobooth    ·    Fotomatón exclusivo para bodas    ·    Consultar disponibilidad    ·    The Art of Wedding Memories    ·";
  position:absolute;
  left:0;
  bottom:22px;
  white-space:nowrap;
  font-family:'Jost',Helvetica,sans-serif;
  font-size:11px;
  font-weight:400;
  letter-spacing:3.5px;
  text-transform:uppercase;
  color:#C6A75E;
  animation:mx-run 36s linear infinite;
  pointer-events:none;
  z-index:2;
}
html[lang="en"] header.art-hero::before,
html[lang="en"] header.blog-hero::before{
  content:"Maison Photobooth    ·    Wedding photo booth    ·    Check availability    ·    The Art of Wedding Memories    ·    Maison Photobooth    ·    Wedding photo booth    ·    Check availability    ·    The Art of Wedding Memories    ·";
}
@keyframes mx-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}

body:has(header.art-hero) .mp-bar,
body:has(header.blog-hero) .mp-bar{
  display:flex !important;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:9989;
  gap:10px;
  align-items:center;
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  background:rgba(11,11,11,.94);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-top:1px solid rgba(198,167,94,.45);
  box-shadow:0 -18px 50px rgba(0,0,0,.45);
  overflow:hidden;
}
body:has(header.art-hero) .mp-bar::before,
body:has(header.blog-hero) .mp-bar::before{
  content:'';
  position:absolute;
  top:0;left:-30%;
  width:28%;height:1px;
  background:linear-gradient(90deg, transparent, #C6A75E, transparent);
  animation:barshine 3.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes barshine{to{left:120%}}
body:has(header.art-hero) .mp-bar-cta,
body:has(header.blog-hero) .mp-bar-cta{
  flex:1;
  height:54px;
  font-size:12px;
  letter-spacing:2.4px;
}
body:has(header.art-hero) .mp-bar-wa,
body:has(header.blog-hero) .mp-bar-wa{
  width:auto;
  min-width:54px;
  height:54px;
  padding:0 18px;
  gap:10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
body:has(header.art-hero) .mp-bar-wa::after,
body:has(header.blog-hero) .mp-bar-wa::after{
  content:"WhatsApp";
  font-family:'Jost',Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
}
body:has(header.art-hero) #wa,
body:has(header.blog-hero) #wa{display:none !important}
body:has(header.art-hero),
body:has(header.blog-hero){padding-bottom:96px}

@media(max-width:768px){
  header.art-hero, header.blog-hero{padding:148px 22px 108px !important}
  header.art-hero::before, header.blog-hero::before{font-size:10px;letter-spacing:2.5px}
  body:has(header.art-hero) .mp-bar-wa::after,
  body:has(header.blog-hero) .mp-bar-wa::after{content:none}
  body:has(header.art-hero) .mp-bar-wa,
  body:has(header.blog-hero) .mp-bar-wa{width:54px;padding:0}
}
@media(prefers-reduced-motion:reduce){
  header.art-hero::before, header.blog-hero::before,
  body:has(header.art-hero) .mp-bar::before,
  body:has(header.blog-hero) .mp-bar::before{animation:none}
  .mood img{transition:none}
}

/* Franja editorial de fotos — todos los artículos */
.mood{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:210px 210px;gap:8px;margin:28px 0 40px}
.mood figure{margin:0;overflow:hidden;border:1px solid rgba(198,167,94,.16);position:relative}
.mood figure:first-child{grid-row:1 / span 2}
.mood img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) brightness(.92);transition:transform .6s ease,filter .6s ease}
.mood img:hover{transform:scale(1.045);filter:saturate(1) brightness(1)}
.mood figcaption{position:absolute;left:10px;bottom:10px;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#F4F1EB;background:rgba(11,11,11,.55);padding:6px 8px;pointer-events:none}
@media(max-width:768px){
  .mood{grid-template-columns:1fr;grid-template-rows:200px 150px 150px}
  .mood figure:first-child{grid-row:auto}
}

/* Landings de ciudad: foto de portada y barra fija. Sin cinta: el título va centrado. */
section.hero-int{
  background:
    linear-gradient(180deg, rgba(11,11,11,.58) 0%, rgba(11,11,11,.7) 46%, #0B0B0B 100%),
    url('/assets/hero/hero-invitadas.jpg') center top/cover no-repeat;
}
body:has(section.hero-int) .mp-bar{
  display:flex !important;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:9989;
  gap:10px;
  align-items:center;
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  background:rgba(11,11,11,.94);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-top:1px solid rgba(198,167,94,.45);
  box-shadow:0 -18px 50px rgba(0,0,0,.45);
  overflow:hidden;
}
body:has(section.hero-int) .mp-bar::before{
  content:'';
  position:absolute;
  top:0;left:-30%;
  width:28%;height:1px;
  background:linear-gradient(90deg, transparent, #C6A75E, transparent);
  animation:barshine 3.2s ease-in-out infinite;
  pointer-events:none;
}
body:has(section.hero-int) .mp-bar-cta{flex:1;height:54px;font-size:12px;letter-spacing:2.4px}
body:has(section.hero-int) .mp-bar-wa{
  width:auto;min-width:54px;height:54px;padding:0 18px;gap:10px;
  display:flex;align-items:center;justify-content:center;
}
body:has(section.hero-int) .mp-bar-wa::after{
  content:"WhatsApp";
  font-family:'Jost',Helvetica,sans-serif;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
}
body:has(section.hero-int) #wa{display:none !important}
body:has(section.hero-int){padding-bottom:96px}
@media(max-width:768px){
  body:has(section.hero-int) .mp-bar-wa::after{content:none}
  body:has(section.hero-int) .mp-bar-wa{width:54px;padding:0}
}
@media(prefers-reduced-motion:reduce){
  body:has(section.hero-int) .mp-bar::before{animation:none}
}

