/* =====================================================================
   María Herrera Vincle Estilistes — Hoja de estilos global (mobile-first)
   ===================================================================== */
:root{
  --ciruela:#541f5c; --ciruela-dark:#3c1542; --crema:#fff6ef; --nude:#dfba9f;
  --nude-soft:#ecd9c8; --oscuro:#0f1221; --negro-logo:#141615; --texto:#3a3340;
  --gris:#7a7480; --blanco:#fff;
  --serif:'Yeseva One',serif; --sans:'Poppins',sans-serif; --script:'Caveat',cursive;
  --maxw:1200px; --radius:6px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{font-family:var(--sans);color:var(--texto);background:var(--crema);font-weight:300;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--oscuro);line-height:1.15}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.pre{font-family:var(--script);font-size:1.55rem;color:var(--ciruela);display:block;margin-bottom:.2rem}
.eyebrow{text-transform:uppercase;letter-spacing:4px;font-size:.72rem;color:var(--nude);font-weight:500}
.center{text-align:center}

/* ---- Botones (tap targets ≥ 48px) ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--ciruela);color:#fff;
  padding:15px 30px;min-height:50px;border-radius:50px;font-family:var(--sans);font-weight:500;font-size:.82rem;
  letter-spacing:1.3px;text-transform:uppercase;transition:.35s;border:1px solid var(--ciruela);cursor:pointer}
.btn:hover{background:transparent;color:var(--ciruela);transform:translateY(-3px)}
.btn-light{background:#fff;color:var(--ciruela);border-color:#fff}
.btn-light:hover{background:transparent;color:#fff;border-color:#fff}
.btn-ghost{background:transparent;color:var(--ciruela);border-color:var(--ciruela)}
.btn-ghost:hover{background:var(--ciruela);color:#fff}

/* ---- Top bar ---- */
.topbar{background:var(--oscuro);color:#cfc7d6;font-size:.78rem;letter-spacing:.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;flex-wrap:wrap;gap:6px}
.topbar .info{display:flex;gap:20px;flex-wrap:wrap}.topbar .info span{opacity:.85}
.topbar a{color:var(--nude);font-weight:500}

/* ---- Header / Nav ---- */
header{position:sticky;top:0;z-index:60;background:var(--negro-logo);border-bottom:1px solid rgba(223,186,159,.18)}
header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:78px}
.logo img{height:42px;width:auto}
nav ul{display:flex;list-style:none;gap:26px;align-items:center}
nav a{font-size:.82rem;letter-spacing:1px;text-transform:uppercase;font-weight:300;color:#ece6f0;transition:.25s;position:relative;padding:6px 0}
nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--nude);transition:.3s}
nav a:hover,nav a.active{color:var(--nude)}nav a:hover::after,nav a.active::after{width:100%}
.nav-cta a{color:#fff}.nav-cta a::after{display:none}.nav-cta{margin-left:6px}
/* Submenú de Servicios (mega-menú) */
.has-sub{position:relative}
.has-sub>a::before{content:'';display:inline-block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 7px 2px 0;vertical-align:middle;opacity:.7}
.has-sub::after{content:'';position:absolute;left:0;right:0;top:100%;height:16px}
.subnav{list-style:none;position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border-radius:16px;box-shadow:0 22px 60px rgba(25,12,35,.20);padding:16px;min-width:460px;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s;z-index:90}
.subnav::before{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:14px;height:14px;background:#fff;border-radius:3px}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.subnav li{margin:0}
.subnav a{display:block;padding:10px 14px;border-radius:9px;font-size:.74rem;letter-spacing:.6px;text-transform:uppercase;color:var(--texto);font-weight:400;white-space:nowrap}
.subnav a::after{display:none}
.subnav a:hover{background:var(--nude-soft);color:var(--ciruela)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:10px;z-index:70}
.burger span{width:26px;height:2px;background:var(--nude);transition:.3s;display:block}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- Page hero (subpáginas) ---- */
.page-hero{position:relative;background:var(--oscuro);color:#fff;text-align:center;padding:96px 22px 80px;overflow:hidden}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.page-hero.about-hero>img{object-position:center 18%;opacity:.4}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(15,18,33,.55),rgba(60,21,66,.62))}
.page-hero .inner{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:clamp(2.1rem,6vw,3.4rem);margin:.3rem 0 .6rem}
.page-hero p{max-width:560px;margin:0 auto;color:#efe7f0}
.breadcrumb{font-size:.74rem;letter-spacing:1px;color:var(--nude);text-transform:uppercase;margin-bottom:.4rem}
.breadcrumb a{color:var(--nude);opacity:.8}.breadcrumb a:hover{opacity:1}

/* ---- Section helpers ---- */
section{position:relative}
.shead{text-align:center;max-width:680px;margin:0 auto 46px}
.shead h2{font-size:clamp(1.9rem,5vw,3rem);margin:.3rem 0}

/* =====================  HOME  ===================== */
.hero{min-height:88vh;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--oscuro)}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%;opacity:.72}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,18,33,.82) 0%,rgba(60,21,66,.45) 55%,rgba(15,18,33,.12) 100%)}
.hero .wrap{position:relative;z-index:2;color:#fff;padding:80px 22px}
.hero-content{max-width:640px}
.hero .pre{color:var(--nude)}
.hero h1{color:#fff;font-size:clamp(2.3rem,7vw,4.2rem);margin:.4rem 0 1.1rem}
.hero p{font-size:1.05rem;color:#efe7f0;max-width:520px;margin-bottom:1.8rem}
.hero .tag{display:inline-block;border:1px solid rgba(223,186,159,.5);color:var(--nude);padding:6px 16px;border-radius:50px;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.3rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

.intro{padding:80px 0;text-align:center;background:var(--crema)}
.intro .wrap{max-width:820px}
.intro h2{font-size:clamp(1.7rem,4.5vw,2.6rem);margin:.5rem 0 1.1rem}
.intro .highlight{color:var(--ciruela);font-weight:500}
.bra-points{display:flex;justify-content:center;gap:40px;margin-top:2.6rem;flex-wrap:wrap}
.bra-points .pt{max-width:220px}
.bra-points .num{font-family:var(--serif);font-size:2.3rem;color:var(--nude);display:block}
.bra-points h4{font-size:1.05rem;margin:.3rem 0 .4rem;color:var(--ciruela)}
.bra-points p{font-size:.88rem;color:var(--gris)}

.services{padding:90px 0;background:#fff}
.scards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.scard{background:var(--crema);border-radius:var(--radius);overflow:hidden;transition:.4s;border:1px solid rgba(84,31,92,.06)}
.scard:hover{transform:translateY(-8px);box-shadow:0 24px 50px -20px rgba(84,31,92,.35)}
.scard .ph{height:360px;overflow:hidden}
.scard .ph img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transition:.6s}
.scard:hover .ph img{transform:scale(1.07)}
.scard .body{padding:28px 26px 32px}
.scard h3{font-size:1.45rem;color:var(--ciruela);margin-bottom:.5rem}
.scard p{font-size:.92rem;margin-bottom:1rem}
.scard .price{font-family:var(--serif);color:var(--oscuro);font-size:1.05rem}
.scard .price span{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--gris);display:block}
.more{text-align:center;margin-top:44px}

.pricestrip{padding:64px 0;background:var(--ciruela);color:#fff;text-align:center}
.pricestrip .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:8px}
.pricestrip .item .n{font-family:var(--serif);font-size:1.8rem;display:block;color:var(--nude)}
.pricestrip .item p{font-size:.8rem;letter-spacing:1px;text-transform:uppercase;opacity:.85;margin-top:6px}

.gallery{padding:90px 0;background:#fff}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ggrid a{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:3/4}
.ggrid a.tall{grid-row:span 2;aspect-ratio:3/5}
.ggrid.uniforme a{grid-row:auto;aspect-ratio:1/1}
.ggrid img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:.6s}
.ggrid a:hover img{transform:scale(1.08)}
.ggrid a::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(84,31,92,.55));opacity:0;transition:.4s}
.ggrid a:hover::after{opacity:1}
.ggrid a.glink{cursor:zoom-in}
.vlightbox{position:fixed;inset:0;z-index:200;background:rgba(15,18,33,.93);display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}
.vlightbox.open{display:flex;animation:fade .3s ease}
.vlightbox img{max-width:92vw;max-height:88vh;border-radius:6px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.vlb-close{position:absolute;top:14px;right:24px;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer}

/* ---- Blog teaser (home) + blog grid ---- */
.blog-teaser{padding:90px 0;background:#fff}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pcard{background:var(--crema);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(84,31,92,.07);transition:.4s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(84,31,92,.32)}
.pcard .ph{height:200px;overflow:hidden}
.pcard .ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:.6s}
.pcard:hover .ph img{transform:scale(1.06)}
.pcard .body{padding:24px;display:flex;flex-direction:column;flex:1}
.pcard .meta{font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:var(--nude);margin-bottom:.5rem}
.pcard h3{font-size:1.2rem;color:var(--oscuro);margin-bottom:.6rem;line-height:1.25}
.pcard p{font-size:.88rem;color:var(--texto);margin-bottom:1rem;flex:1}
.pcard .rl{font-size:.78rem;letter-spacing:1px;text-transform:uppercase;color:var(--ciruela);font-weight:500}

/* ---- Reseñas Google (carrusel) ---- */
.reviews{padding:90px 0;background:var(--crema)}
.rating-head{margin-top:.6rem;color:var(--texto);font-size:1rem}
.rating-head .stars{color:#f2b01e;letter-spacing:2px;margin-right:6px}
.rating-head strong{font-family:var(--serif);color:var(--oscuro);font-size:1.15rem}
.review-slider{position:relative;display:flex;align-items:center;gap:10px}
.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 16px;-ms-overflow-style:none;scrollbar-width:none}
.review-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 340px;max-width:340px;scroll-snap-align:start;background:#fff;border:1px solid rgba(84,31,92,.08);border-radius:var(--radius);padding:28px 26px;box-shadow:0 16px 36px -26px rgba(84,31,92,.4)}
.review-card .stars{color:#f2b01e;letter-spacing:2px;font-size:1rem}
.review-card p{font-size:.95rem;color:var(--texto);margin:.8rem 0 1.2rem;font-style:italic}
.rev-author strong{font-family:var(--serif);color:var(--oscuro);font-weight:400;font-size:1.02rem}
.rev-author span{display:block;font-size:.74rem;letter-spacing:.5px;color:var(--gris)}
.rev-arrow{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid rgba(84,31,92,.25);background:#fff;color:var(--ciruela);font-size:1.5rem;line-height:1;cursor:pointer;transition:.25s}
.rev-arrow:hover{background:var(--ciruela);color:#fff}

/* ---- Instagram (últimos posts) ---- */
.insta{padding:90px 0;background:var(--crema)}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.insta-tile{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:1/1;background:var(--oscuro)}
.insta-tile img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:.5s}
.insta-tile:hover img{transform:scale(1.08);opacity:.78}
.insta-tile .ig-ic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;opacity:0;transition:.3s}
.insta-tile:hover .ig-ic{opacity:1}

/* =====================  SOBRE NOSOTROS  ===================== */
.about{padding:90px 0;background:#fff;overflow:hidden}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about .imgwrap{position:relative}
.about .imgwrap img{border-radius:var(--radius);position:relative;z-index:2;width:100%}
.about .imgwrap::before{content:'';position:absolute;top:-20px;left:-20px;width:130px;height:130px;border:2px solid var(--nude);border-radius:var(--radius);z-index:1}
.about h2{font-size:clamp(1.9rem,4.5vw,2.7rem);margin:.4rem 0 1.2rem}
.about p{margin-bottom:1rem}
.about .sign{font-family:var(--script);font-size:2rem;color:var(--ciruela);margin-top:.6rem}
.values{padding:80px 0;background:var(--crema)}
.values .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:10px}
.value{text-align:center;padding:30px 24px;background:#fff;border-radius:var(--radius);border:1px solid rgba(84,31,92,.07)}
.value .ic{font-size:1.8rem;color:var(--ciruela)}
.value h3{font-size:1.25rem;color:var(--ciruela);margin:.6rem 0 .5rem}
.value p{font-size:.9rem;color:var(--gris)}
.team{padding:90px 0;background:var(--oscuro);color:#e9e3ee}
.team .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.team h2{color:#fff;font-size:clamp(1.9rem,4.5vw,2.6rem);margin:.4rem 0 1.1rem}
.team p{color:#c5bdce}.team .eyebrow{color:var(--nude)}
.team img{border-radius:var(--radius)}

/* =====================  SERVICIOS  ===================== */
.svc-note{background:var(--nude-soft);text-align:center;padding:24px 22px}
.svc-note p{max-width:820px;margin:0 auto;color:var(--ciruela-dark);font-size:.94rem}
.svc-note strong{font-weight:600}
.featured{padding:90px 0;background:#fff}
.featured .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.featured .imgwrap{position:relative}
.featured .imgwrap img{border-radius:var(--radius);position:relative;z-index:2;width:100%}
.featured .imgwrap::before{content:'';position:absolute;bottom:-20px;right:-20px;width:140px;height:140px;border:2px solid var(--nude);border-radius:var(--radius);z-index:1}
.featured h2{font-size:clamp(1.9rem,4.5vw,2.7rem);margin:.3rem 0 1rem}
.featured .lead{margin-bottom:1.2rem}
.featured .priceline{font-family:var(--serif);color:var(--ciruela);font-size:1.25rem;margin:1rem 0 1.2rem}
.featured .priceline span{font-family:var(--sans);font-size:.76rem;text-transform:uppercase;letter-spacing:1px;color:var(--gris);display:block;margin-top:2px}
.process{list-style:none;margin:1.1rem 0 1.5rem;counter-reset:step}
.process li{counter-increment:step;position:relative;padding:7px 0 7px 38px;font-size:.92rem;border-bottom:1px dashed rgba(84,31,92,.14)}
.process li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:7px;font-family:var(--serif);color:var(--nude)}
.svc-section{padding:80px 0}.svc-section.alt{background:#fff}
.svc-section .head{text-align:center;max-width:640px;margin:0 auto 44px}
.svc-section .head h2{font-size:clamp(1.8rem,4.5vw,2.5rem);margin:.2rem 0}
.svc-section .head p{color:var(--gris);font-size:.94rem;margin-top:.5rem}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 52px;max-width:1000px;margin:0 auto}
.cat h3{font-size:1.4rem;color:var(--ciruela);margin-bottom:.3rem}
.cat .desc{font-size:.86rem;color:var(--gris);margin-bottom:.9rem}
.prow{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px dotted rgba(84,31,92,.2)}
.prow .name{flex:1;font-size:.92rem}.prow .price{font-family:var(--serif);color:var(--oscuro);font-size:1rem;white-space:nowrap}
.cat .note{font-size:.8rem;color:var(--gris);font-style:italic;margin-top:.7rem}
.full-width-cat{max-width:760px;margin:46px auto 0}

/* =====================  CONTACTO  ===================== */
.contact{padding:0;background:var(--crema)}
.contact .wrap{max-width:none;padding:0;display:grid;grid-template-columns:1fr 1fr}
.contact .info{padding:80px 6vw}
.contact .info h2{font-size:clamp(1.8rem,4.5vw,2.5rem);margin:.3rem 0 1.4rem}
.contact .row{display:flex;gap:15px;margin-bottom:20px;align-items:flex-start}
.contact .row .ic{font-size:1.25rem;color:var(--ciruela);line-height:1.2}
.contact .row strong{display:block;color:var(--oscuro);font-family:var(--serif);font-size:1.02rem;font-weight:400}
.contact .row span{font-size:.92rem;color:var(--gris)}
.contact .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.contact iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.3) contrast(1.05)}

/* =====================  FAQ  ===================== */
.faq{padding:90px 0;background:var(--crema)}
.faq .list{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid rgba(84,31,92,.14);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font-family:var(--serif);font-size:1.12rem;color:var(--oscuro);transition:.25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--ciruela);font-weight:300;transition:.3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq summary:hover{color:var(--ciruela)}
.faq .ans{padding:0 40px 22px 0;color:var(--texto);font-size:.95rem}

/* =====================  BLOG ARTICLE  ===================== */
.article{padding:70px 0 90px;background:#fff}
.article .wrap{max-width:760px}
.article .meta{font-size:.76rem;letter-spacing:1px;text-transform:uppercase;color:var(--nude);margin-bottom:1rem}
.article h2{font-size:1.6rem;margin:2.2rem 0 .8rem;color:var(--ciruela)}
.article h3{font-size:1.25rem;margin:1.6rem 0 .6rem}
.article p{margin-bottom:1.1rem}
.article ul{margin:0 0 1.1rem 1.2rem}.article li{margin-bottom:.5rem}
.article .lead{font-size:1.15rem;color:var(--oscuro)}
.article img.cover{border-radius:var(--radius);margin-bottom:2rem;width:100%}
.article .cta-box{background:var(--crema);border-left:3px solid var(--ciruela);padding:24px 26px;border-radius:6px;margin:2rem 0}
.article .updated{font-size:.8rem;color:var(--gris);font-style:italic;border-top:1px solid rgba(84,31,92,.12);margin-top:2.4rem;padding-top:1rem}

/* =====================  LEGAL  ===================== */
.legal{padding:60px 0 90px;background:#fff}
.legal .wrap{max-width:780px}
.legal h2{font-size:1.4rem;color:var(--ciruela);margin:2rem 0 .7rem}
.legal h3{font-size:1.1rem;margin:1.4rem 0 .5rem}
.legal p,.legal li{font-size:.95rem;margin-bottom:.8rem}
.legal ul{margin-left:1.2rem}
.legal .draft-note{background:#fff6ef;border:1px dashed var(--nude);border-radius:6px;padding:16px 20px;font-size:.86rem;color:var(--ciruela-dark);margin-bottom:2rem}
.legal table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.88rem}
.legal th,.legal td{border:1px solid rgba(84,31,92,.16);padding:9px 11px;text-align:left}
.legal th{background:var(--crema)}

/* =====================  FINAL CTA  ===================== */
.finalcta{padding:100px 0;text-align:center;background:linear-gradient(rgba(60,21,66,.85),rgba(15,18,33,.9)),url('../../imagenes/Imganes-optimizadas-vincle/melena-rubia-larga-ondas-editorial.webp') center/cover;color:#fff}
.finalcta h2{color:#fff;font-size:clamp(1.9rem,5vw,3rem);max-width:720px;margin:0 auto 1rem}
.finalcta p{color:#e6dced;max-width:540px;margin:0 auto 1.8rem}

/* =====================  FOOTER  ===================== */
footer{background:var(--oscuro);color:#a59cb0;padding:64px 0 28px;font-size:.88rem}
footer .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
footer h4{color:#fff;font-size:.95rem;letter-spacing:1px;margin-bottom:16px;font-family:var(--sans);font-weight:500;text-transform:uppercase}
footer .name{font-family:var(--serif);font-size:1.3rem;color:#fff;display:block;margin-bottom:16px}
footer .name small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--gris);margin-top:3px}
footer ul{list-style:none}footer li{margin-bottom:9px}footer a:hover{color:var(--nude)}
footer .bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.78rem;opacity:.8}
footer .bottom .legal-links{display:flex;gap:16px;flex-wrap:wrap}

/* ---- WhatsApp flotante ---- */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:75;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 10px 30px -6px rgba(37,211,102,.6);animation:wapulse 2.6s infinite}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ---- Reveal ---- */
.reveal{opacity:0;transform:translateY(34px);transition:.8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.wa-float{animation:none}}

/* ---- Banner de cookies (RGPD) ---- */
.cookie-banner{position:fixed;left:14px;right:14px;bottom:14px;z-index:90;background:#fff;color:var(--texto);
  border:1px solid rgba(84,31,92,.18);border-radius:12px;box-shadow:0 20px 50px -16px rgba(15,18,33,.4);
  padding:20px 22px;max-width:560px;margin:0 auto;display:none}
.cookie-banner.show{display:block;animation:cb .4s ease}
@keyframes cb{from{opacity:0;transform:translateY(20px)}to{opacity:1}}
.cookie-banner h4{font-family:var(--serif);color:var(--ciruela);font-size:1.15rem;margin-bottom:.4rem}
.cookie-banner p{font-size:.85rem;margin-bottom:.5rem}
.cookie-banner a{color:var(--ciruela);text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.cookie-actions .btn{padding:11px 20px;min-height:44px;font-size:.74rem;flex:1}
.cookie-actions .btn.secondary{background:transparent;color:var(--ciruela);border-color:rgba(84,31,92,.4)}
.cookie-actions .btn.secondary:hover{background:var(--ciruela);color:#fff}
.cookie-prefs{font-size:.78rem;text-align:center;margin-top:8px}
.cookie-prefs button{background:none;border:0;color:var(--gris);text-decoration:underline;cursor:pointer;font-family:var(--sans)}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1000px){
  footer .grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:880px){
  .scards{grid-template-columns:1fr 1fr}
  .post-grid{grid-template-columns:1fr 1fr}
  .insta-grid{grid-template-columns:1fr 1fr}
  .pricestrip .grid{grid-template-columns:1fr 1fr}
  .about .wrap,.team .wrap,.featured .wrap,.contact .wrap{grid-template-columns:1fr;gap:38px}
  .about .imgwrap,.featured .imgwrap{max-width:460px;margin:0 auto}
  .values .grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:1fr;gap:32px}
  .contact iframe{min-height:320px}
  .contact .info{padding:60px 24px}
}
@media(max-width:680px){
  /* Menú móvil a pantalla completa */
  .burger{display:flex}
  nav{position:fixed;inset:0;background:rgba(20,22,21,.98);display:flex;align-items:center;justify-content:center;
    transform:translateX(100%);transition:transform .35s ease;z-index:65}
  nav.open{transform:translateX(0)}
  nav ul{flex-direction:column;gap:26px;text-align:center}
  nav a{font-size:1.1rem}
  .nav-cta{margin:10px 0 0}
  .scards,.post-grid{grid-template-columns:1fr}
  .ggrid{grid-template-columns:1fr 1fr}
  .ggrid a.tall{grid-row:span 1;aspect-ratio:3/4}
  .pricestrip .grid{grid-template-columns:1fr 1fr;gap:20px}
  .topbar .info{display:none}
  footer .grid{grid-template-columns:1fr;gap:26px}
  footer .bottom{flex-direction:column;text-align:center;align-items:center}
  .hero{min-height:82vh}
  .cookie-actions{flex-direction:column}.cookie-actions .btn{flex:none;width:100%}
  .review-card{flex-basis:82vw;max-width:82vw}
  .rev-arrow{display:none}
}

/* ===== Vídeo de presentación (carga diferida) ===== */
.videosec{padding:70px 0;background:#fff}
.videosec .shead{margin-bottom:28px}
.video-holder{position:relative;max-width:880px;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px -28px rgba(84,31,92,.45);background:var(--ciruela-dark)}
.video-facade{display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;margin:0;cursor:pointer;background-size:cover;background-position:center 25%;position:relative}
.video-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(84,31,92,.15),rgba(60,21,66,.45))}
.video-facade .vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:88px;height:88px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 10px 30px -8px rgba(0,0,0,.4);transition:transform .25s ease,background .25s ease}
.video-facade .vplay::before{content:"";position:absolute;top:50%;left:53%;transform:translate(-50%,-50%);border-style:solid;border-width:15px 0 15px 25px;border-color:transparent transparent transparent var(--ciruela)}
.video-facade:hover .vplay,.video-facade:focus-visible .vplay{transform:translate(-50%,-50%) scale(1.08);background:#fff}
.video-embed,.video-holder iframe,.video-holder video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
@media(max-width:600px){.videosec{padding:48px 0}.video-facade .vplay{width:66px;height:66px}.video-facade .vplay::before{border-width:12px 0 12px 19px}}

/* ===== Cursor tijera (sigue el ratón, solo escritorio) ===== */
.vincle-scissor{position:fixed;top:0;left:0;width:30px;height:30px;margin:-15px 0 0 -15px;pointer-events:none;z-index:99999;opacity:0;transition:opacity .35s ease;will-change:transform}
.vincle-scissor svg{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 5px rgba(84,31,92,.4))}
.vincle-scissor.snip{animation:vincle-snip .2s ease}
@keyframes vincle-snip{50%{transform-origin:center;filter:drop-shadow(0 0 8px rgba(84,31,92,.6))}}
@media (hover:none),(pointer:coarse){.vincle-scissor{display:none!important}}
@media (prefers-reduced-motion:reduce){.vincle-scissor{display:none!important}}

/* ===== Enlaces internos visibles dentro de los artículos del blog ===== */
.article p a, .article li a{color:var(--ciruela);text-decoration:underline;text-decoration-color:var(--nude);text-underline-offset:3px;font-weight:500;transition:color .2s,text-decoration-color .2s}
.article p a:hover, .article li a:hover{color:var(--ciruela-dark);text-decoration-color:var(--ciruela)}

/* ===== Ajustes para ordenador (PC, ≥1001px) ===== */
@media(min-width:1001px){
  .ggrid{grid-template-columns:repeat(3,1fr)}
  .ggrid.uniforme a{aspect-ratio:4/5}
  .scard .ph{height:460px}
}

/* ===== Carta de servicios: tarjetas (Color · Redken y siguientes) ===== */
#color .head{max-width:780px;margin:0 auto 38px;text-align:center}
#color .head p{color:var(--gris);margin-top:.6rem}
.color-rich{gap:0 52px;max-width:1000px;margin:0 auto}
.prow-rich{padding:14px 0;border-bottom:1px dotted rgba(84,31,92,.2)}
.prow-rich .prow{border-bottom:0;padding:0}
.prow-rich .prow + .prow{margin-top:5px}
.color-rich .prow .name{font-weight:700;color:var(--ciruela)}
.color-rich .prow .price{font-family:var(--sans);font-weight:700;color:var(--ciruela)}
.color-rich.one-col{grid-template-columns:1fr}
/* Sección de categoría con foto (p. ej. Extensiones) */
.svc-section.has-img .head{text-align:left;margin:0 0 26px}
.svc-section.has-img #color .head,.svc-section.has-img .cat-grid{margin:0}
.svc-split{display:grid;gap:46px;align-items:center;max-width:1100px;margin:0 auto}
.svc-img{margin:0;overflow:hidden;border-radius:20px}
.svc-img img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5}
.svc-split .cat-grid{max-width:none;margin:0}
@media(min-width:901px){.svc-split{grid-template-columns:0.82fr 1.18fr}.svc-img img{max-height:560px}}
@media(max-width:900px){.svc-img img{aspect-ratio:3/2}}
.prow-tags{font-size:.8rem;font-weight:600;color:#9a7a52;margin-top:.35rem}
.prow-desc{font-size:.9rem;color:var(--gris);margin-top:.28rem;line-height:1.5}
.svc-note-box{margin-top:26px;background:var(--nude-soft);border-radius:16px;padding:26px 28px}
.svc-note-box>p{margin:0 0 16px;color:var(--texto)}
.svc-legend{background:rgba(255,255,255,.45);border-radius:12px;padding:18px 20px}
.svc-legend p{font-size:.92rem;line-height:1.6;color:var(--texto);margin:0 0 .55rem}
.svc-legend p:last-child{margin:0}
@media(max-width:680px){.svc-cards{grid-template-columns:1fr}}
/* Submenú de Servicios en móvil: lista compacta dentro del menú a pantalla completa */
@media(max-width:680px){
  nav{align-items:flex-start;justify-content:center;overflow-y:auto;padding:84px 18px 40px}
  nav>ul{margin:auto}
  .has-sub{position:static}
  .has-sub>a::before{display:none}
  .has-sub::after{display:none}
  .subnav{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:transparent;border-radius:0;min-width:0;padding:6px 0 2px;margin:6px 0 0;grid-template-columns:1fr;gap:0}
  .subnav::before{display:none}
  .subnav a{padding:7px;font-size:.82rem;letter-spacing:.4px;color:#cfc4d8;text-align:center}
  .subnav a:hover{background:transparent;color:#fff}
}
