/* ═══════════════════════════════════════════
   Floraría San Miguel — style.css
   Estilos: Scrapbook/Collage 60% · Claymorphism 30% · Aurora UI 10%
   ═══════════════════════════════════════════ */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&display=swap');

/* ── Variables ── */
:root{
  --c-primary:hsl(210,68%,42%);
  --c-primary-light:hsl(210,68%,55%);
  --c-primary-dark:hsl(210,68%,30%);
  --c-secondary:hsl(358,55%,36%);
  --c-secondary-light:hsl(358,55%,48%);
  --c-accent:hsl(89,80%,58%);
  --c-accent-dark:hsl(89,80%,42%);
  --c-bg:hsl(210,18%,8%);
  --c-bg-elevated:hsl(210,16%,12%);
  --c-bg-card:hsl(210,14%,15%);
  --c-bg-card-alt:hsl(210,12%,18%);
  --c-text:hsl(0,0%,96%);
  --c-text-muted:hsl(0,0%,70%);
  --c-text-dim:hsl(0,0%,50%);
  --c-border:hsl(210,12%,25%);

  --ff-display:'Manrope',system-ui,sans-serif;
  --ff-body:'Source Serif 4','Georgia',serif;

  --radius:2px;
  --radius-clay:18px;
  --shadow-scrap:4px 5px 12px rgba(0,0,0,.45),-2px -1px 6px rgba(0,0,0,.2);
  --shadow-clay:inset 2px 2px 5px rgba(255,255,255,.08),inset -2px -2px 5px rgba(0,0,0,.35),4px 4px 14px rgba(0,0,0,.4);
  --shadow-clay-sm:inset 1px 1px 3px rgba(255,255,255,.06),inset -1px -1px 3px rgba(0,0,0,.25),2px 2px 8px rgba(0,0,0,.3);

  --max-w:1200px;
  --header-h:110px;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}
body{font-family:var(--ff-body);color:var(--c-text);background:var(--c-bg);line-height:1.7;overflow-x:hidden;min-height:100vh}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--c-accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--c-accent-dark)}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit;border:none;background:none}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);line-height:1.25;font-weight:700}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ── Utilidades ── */
.container{width:90%;max-width:var(--max-w);margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.section-pad{padding:5rem 0}

/* ── Tipografía ── */
h1{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,4vw,2.4rem)}
h3{font-size:clamp(1.2rem,3vw,1.6rem)}
p+p{margin-top:1em}

/* ═══════════════════════════════
   HEADER — Dos niveles
   ═══════════════════════════════ */
.top-bar{
  background:var(--c-primary-dark);
  padding:.35rem 0;
  font-family:var(--ff-display);
  font-size:.82rem;
  border-bottom:1px solid var(--c-border);
}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.top-bar a{color:var(--c-text);opacity:.85}
.top-bar a:hover{opacity:1;color:var(--c-accent)}
.top-bar__left,.top-bar__right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.top-bar__item{display:flex;align-items:center;gap:.35rem}
.top-bar__item svg{width:14px;height:14px;flex-shrink:0}

.main-header{
  background:var(--c-bg-elevated);
  position:sticky;top:0;z-index:900;
  border-bottom:1px solid var(--c-border);
  box-shadow:0 2px 16px rgba(0,0,0,.35);
}
.main-header .container{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}
.header-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none}
.header-logo img,.header-logo svg{width:46px;height:46px}
.header-logo span{font-family:var(--ff-display);font-size:1.15rem;font-weight:700;color:var(--c-text)}

/* Nav */
.main-nav{display:flex;align-items:center;gap:.15rem}
.main-nav a{
  font-family:var(--ff-display);font-size:.85rem;font-weight:500;
  color:var(--c-text-muted);padding:.45rem .75rem;border-radius:var(--radius);
  transition:background .2s,color .2s;
}
.main-nav a:hover,.main-nav a.active{color:var(--c-text);background:rgba(255,255,255,.06)}
.main-nav a.nav-cta{background:var(--c-secondary);color:#fff;font-weight:600}
.main-nav a.nav-cta:hover{background:var(--c-secondary-light)}

/* Hamburger */
.menu-toggle{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--c-text);border-radius:2px;transition:transform .3s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Search in header */
.header-search{position:relative}
.header-search input{
  background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);
  padding:.4rem .75rem .4rem 2rem;font-size:.85rem;color:var(--c-text);width:180px;
  transition:border-color .2s,width .2s;
}
.header-search input:focus{border-color:var(--c-primary);outline:none;width:220px}
.header-search svg{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);width:14px;height:14px;opacity:.5}

@media(max-width:900px){
  .menu-toggle{display:flex}
  .main-nav{
    position:fixed;top:0;right:-100%;width:280px;height:100vh;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--c-bg-elevated);padding:4.5rem 1.5rem 2rem;
    transition:right .35s ease;z-index:950;
    border-left:1px solid var(--c-border);
    box-shadow:-4px 0 24px rgba(0,0,0,.4);
  }
  .main-nav.open{right:0}
  .main-nav a{padding:.75rem .5rem;font-size:1rem;border-bottom:1px solid var(--c-border)}
  .header-search{order:-1;margin-bottom:1rem}
  .header-search input{width:100%}
  .nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:940;display:none}
  .nav-overlay.active{display:block}
  .top-bar__right{display:none}
}

/* ═══════════════════════════════
   SCRAPBOOK EFFECTS (60%)
   ═══════════════════════════════ */
.scrap-card{
  position:relative;
  background:var(--c-bg-card);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-scrap);
  transform:rotate(var(--rot,0deg));
  transition:transform .3s,box-shadow .3s;
}
.scrap-card:hover{transform:rotate(0deg) translateY(-3px);box-shadow:6px 8px 20px rgba(0,0,0,.5)}

.tape{
  position:absolute;width:80px;height:22px;
  background:rgba(255,220,120,.18);
  border:1px solid rgba(255,220,120,.12);
  transform:rotate(var(--tape-rot,-4deg));
  z-index:2;top:-11px;left:calc(50% - 40px);
  backdrop-filter:blur(2px);
}
.tape--tl{top:-8px;left:10px;--tape-rot:-12deg}
.tape--tr{top:-8px;left:auto;right:10px;--tape-rot:8deg}

.torn-edge{
  position:relative;
  clip-path:polygon(0 0,3% 1%,6% 0,9% 1.5%,12% 0,15% .8%,18% 1.8%,21% 0,24% 1%,27% 0,30% 1.2%,33% 0,36% 1.5%,39% .5%,42% 1.8%,45% 0,48% 1%,51% 0,54% 1.2%,57% 0,60% .8%,63% 1.5%,66% 0,69% 1%,72% 0,75% 1.5%,78% .5%,81% 1.2%,84% 0,87% 1%,90% 0,93% 1.5%,96% .5%,100% 0,100% 100%,97% 98.5%,94% 100%,91% 98.8%,88% 100%,85% 99%,82% 100%,79% 98.5%,76% 100%,73% 99%,70% 100%,67% 98.8%,64% 100%,61% 99%,58% 100%,55% 98.5%,52% 100%,49% 99.2%,46% 100%,43% 98.5%,40% 100%,37% 99%,34% 100%,31% 98.5%,28% 100%,25% 99%,22% 100%,19% 98.8%,16% 100%,13% 99%,10% 100%,7% 98.5%,4% 100%,1% 99%,0 100%);
}

.pin{
  position:absolute;width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,var(--c-secondary-light),var(--c-secondary));
  box-shadow:0 2px 6px rgba(0,0,0,.5);z-index:3;
  top:-9px;left:50%;margin-left:-9px;
}

.handwritten{
  font-family:'Source Serif 4',serif;
  font-style:italic;
  color:var(--c-accent);
  transform:rotate(-2deg);
  display:inline-block;
}

/* ═══════════════════════════════
   CLAYMORPHISM EFFECTS (30%)
   ═══════════════════════════════ */
.clay-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.6rem;
  font-family:var(--ff-display);font-weight:600;font-size:.95rem;
  border-radius:var(--radius-clay);
  background:var(--c-primary);color:#fff;
  box-shadow:var(--shadow-clay);
  transition:transform .2s,box-shadow .2s;
  border:none;
}
.clay-btn:hover{transform:translateY(-2px) scale(1.02);color:#fff;box-shadow:inset 2px 2px 5px rgba(255,255,255,.12),inset -2px -2px 5px rgba(0,0,0,.3),6px 6px 18px rgba(0,0,0,.45)}
.clay-btn--secondary{background:var(--c-secondary)}
.clay-btn--accent{background:var(--c-accent-dark);color:var(--c-bg)}
.clay-btn--outline{background:transparent;border:2px solid var(--c-primary);color:var(--c-primary);box-shadow:var(--shadow-clay-sm)}

.clay-card{
  background:var(--c-bg-card);
  border-radius:var(--radius-clay);
  padding:1.8rem;
  box-shadow:var(--shadow-clay);
  transition:transform .2s;
}
.clay-card:hover{transform:translateY(-3px)}

.clay-badge{
  display:inline-block;
  padding:.25rem .75rem;
  border-radius:20px;
  font-family:var(--ff-display);font-size:.75rem;font-weight:600;
  background:var(--c-primary);color:#fff;
  box-shadow:var(--shadow-clay-sm);
}

.clay-input{
  width:100%;
  padding:.65rem 1rem;
  background:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:var(--radius-clay);
  box-shadow:var(--shadow-clay-sm);
  color:var(--c-text);
  transition:border-color .2s;
}
.clay-input:focus{outline:none;border-color:var(--c-primary)}
.clay-input::placeholder{color:var(--c-text-dim)}

/* ═══════════════════════════════
   AURORA UI ACCENTS (10%)
   ═══════════════════════════════ */
.aurora-bg{
  position:relative;overflow:hidden;
}
.aurora-bg::before{
  content:'';position:absolute;inset:-50%;
  background:
    radial-gradient(ellipse 600px 400px at 20% 50%,hsla(210,68%,42%,.15),transparent 70%),
    radial-gradient(ellipse 500px 350px at 80% 30%,hsla(89,80%,58%,.1),transparent 70%),
    radial-gradient(ellipse 400px 500px at 60% 80%,hsla(358,55%,36%,.1),transparent 70%);
  animation:aurora-drift 18s ease-in-out infinite alternate;
  z-index:0;pointer-events:none;
}
@keyframes aurora-drift{
  0%{transform:translate(0,0) rotate(0deg)}
  33%{transform:translate(30px,-20px) rotate(2deg)}
  66%{transform:translate(-20px,30px) rotate(-1deg)}
  100%{transform:translate(10px,-10px) rotate(1deg)}
}
.aurora-bg>*{position:relative;z-index:1}

.aurora-glow{
  background:linear-gradient(135deg,hsla(210,68%,42%,.2),hsla(89,80%,58%,.1),hsla(358,55%,36%,.15));
  border:1px solid hsla(210,68%,42%,.2);
}

.aurora-text{
  background:linear-gradient(90deg,var(--c-primary-light),var(--c-accent),var(--c-primary-light));
  background-size:200% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:aurora-text 6s linear infinite;
}
@keyframes aurora-text{0%{background-position:0% center}100%{background-position:200% center}}

/* ═══════════════════════════════
   HERO / PORTADA
   ═══════════════════════════════ */
.hero{
  position:relative;
  min-height:85vh;
  display:flex;align-items:center;
  padding:3rem 0;
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 800px 500px at 15% 60%,hsla(210,68%,42%,.2),transparent 60%),
    radial-gradient(ellipse 600px 600px at 85% 20%,hsla(89,80%,58%,.08),transparent 60%),
    radial-gradient(ellipse 500px 400px at 50% 90%,hsla(358,55%,36%,.12),transparent 60%);
  animation:aurora-drift 20s ease-in-out infinite alternate;
  z-index:0;
}
.hero .container{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-content h1{margin-bottom:1rem}
.hero-content p{font-size:1.15rem;color:var(--c-text-muted);margin-bottom:2rem;max-width:500px}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-visual{position:relative}
.hero-img-wrap{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-scrap);
  transform:rotate(2deg);
}
.hero-img-wrap img{width:100%;height:auto;display:block}
.hero-img-wrap .tape{top:-11px;left:calc(50% - 40px)}

.hero-float-card{
  position:absolute;
  padding:1rem 1.2rem;
  border-radius:var(--radius-clay);
  box-shadow:var(--shadow-clay);
  font-family:var(--ff-display);font-size:.85rem;
}
.hero-float-card.card-hours{
  bottom:-20px;left:-20px;
  background:var(--c-primary);color:#fff;
}
.hero-float-card.card-delivery{
  top:20px;right:-15px;
  background:var(--c-accent-dark);color:var(--c-bg);
}

/* Selector de necesidades (noscript compatible) */
.needs-selector{
  margin-top:2.5rem;
  padding:1.5rem;
  background:var(--c-bg-card);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-scrap);
}
.needs-selector h3{font-size:1rem;margin-bottom:1rem;color:var(--c-text-muted)}
.needs-grid{display:flex;flex-wrap:wrap;gap:.6rem}
.need-chip{
  padding:.5rem 1.1rem;
  border-radius:var(--radius-clay);
  background:var(--c-bg-elevated);
  border:1px solid var(--c-border);
  font-family:var(--ff-display);font-size:.85rem;
  color:var(--c-text-muted);
  box-shadow:var(--shadow-clay-sm);
  transition:all .2s;
  text-decoration:none;
}
.need-chip:hover,.need-chip:focus{
  background:var(--c-primary);color:#fff;border-color:var(--c-primary);
  transform:translateY(-2px);
}

@media(max-width:768px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-content p{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .hero-visual{margin-top:2rem}
  .hero-float-card.card-hours{left:10px;bottom:-10px}
  .hero-float-card.card-delivery{right:10px;top:10px}
}

/* ═══════════════════════════════
   SECCIONES GENERALES
   ═══════════════════════════════ */
.section-header{text-align:center;margin-bottom:3rem}
.section-header h2{margin-bottom:.75rem}
.section-header p{color:var(--c-text-muted);max-width:600px;margin:0 auto}
.section-header .handwritten{font-size:1.1rem;margin-bottom:.5rem;display:block}

/* Cobertura y horarios */
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.coverage-card{padding:1.5rem}
.coverage-card h3{font-size:1.1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.coverage-card h3 svg{width:22px;height:22px;color:var(--c-accent)}
.coverage-card p,.coverage-card li{color:var(--c-text-muted);font-size:.95rem}
.coverage-card ul{margin-top:.5rem}
.coverage-card li{padding:.25rem 0;padding-left:1.2rem;position:relative}
.coverage-card li::before{content:'›';position:absolute;left:0;color:var(--c-accent);font-weight:700}

/* Presentación */
.about-preview{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.about-img{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-scrap);
  transform:rotate(-1.5deg);
  position:relative;
}
.about-img img{width:100%;display:block}
.about-text h2{margin-bottom:1rem}
.about-text p{color:var(--c-text-muted);margin-bottom:1rem}
.about-stats{display:flex;gap:2rem;margin-top:1.5rem}
.stat{text-align:center}
.stat-num{font-family:var(--ff-display);font-size:2rem;font-weight:800;color:var(--c-primary-light)}
.stat-label{font-size:.8rem;color:var(--c-text-dim)}

@media(max-width:768px){
  .about-preview{grid-template-columns:1fr}
  .about-img{transform:rotate(0)}
}

/* FAQ accordion */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{
  background:var(--c-bg-card);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  margin-bottom:.75rem;
  box-shadow:var(--shadow-scrap);
}
.faq-question{
  width:100%;padding:1.1rem 1.3rem;
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--ff-display);font-size:1rem;font-weight:600;
  color:var(--c-text);
  background:none;cursor:pointer;text-align:left;
}
.faq-question svg{width:20px;height:20px;transition:transform .3s;flex-shrink:0;margin-left:1rem}
.faq-question[aria-expanded="true"] svg{transform:rotate(180deg)}
.faq-answer{
  max-height:0;overflow:hidden;transition:max-height .35s ease;
}
.faq-answer-inner{padding:0 1.3rem 1.1rem;color:var(--c-text-muted);font-size:.95rem}

/* Proceso de compra */
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;counter-reset:step}
.process-step{
  position:relative;
  padding:2rem 1.5rem 1.5rem;
  counter-increment:step;
}
.process-step::before{
  content:counter(step);
  position:absolute;top:-14px;left:1.5rem;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);font-weight:800;font-size:.9rem;
  background:var(--c-accent-dark);color:var(--c-bg);
  box-shadow:var(--shadow-clay-sm);
}
.process-step h3{font-size:1rem;margin-bottom:.5rem;margin-top:.5rem}
.process-step p{font-size:.9rem;color:var(--c-text-muted)}

/* Categorías / servicios */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.cat-card{overflow:hidden;text-decoration:none;color:var(--c-text)}
.cat-card-img{height:180px;overflow:hidden;position:relative}
.cat-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cat-card:hover .cat-card-img img{transform:scale(1.05)}
.cat-card-body{padding:1.2rem}
.cat-card-body h3{font-size:1.05rem;margin-bottom:.4rem}
.cat-card-body p{font-size:.88rem;color:var(--c-text-muted)}
.cat-card-body .price{font-family:var(--ff-display);font-weight:700;color:var(--c-accent);font-size:1.1rem;margin-top:.5rem}

/* Precios */
.price-table{width:100%;border-collapse:collapse;font-size:.95rem}
.price-table th,.price-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--c-border)}
.price-table th{font-family:var(--ff-display);font-weight:600;color:var(--c-primary-light);background:var(--c-bg-elevated)}
.price-table tr:hover td{background:rgba(255,255,255,.02)}
.price-table .price-val{font-weight:700;color:var(--c-accent);white-space:nowrap}

/* ═══════════════════════════════
   CATÁLOGO
   ═══════════════════════════════ */
.catalog-controls{
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;
  margin-bottom:2rem;padding:1.2rem;
  background:var(--c-bg-card);border:1px solid var(--c-border);
  border-radius:var(--radius);box-shadow:var(--shadow-scrap);
}
.catalog-search{flex:1;min-width:200px;position:relative}
.catalog-search input{width:100%}
.catalog-search svg{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);width:16px;opacity:.4}
.catalog-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.catalog-filters select{
  padding:.5rem .8rem;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-clay);
  color:var(--c-text);font-size:.85rem;box-shadow:var(--shadow-clay-sm);
}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.product-card{overflow:hidden;position:relative}
.product-card .product-img{height:200px;overflow:hidden;background:var(--c-bg-elevated)}
.product-card .product-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.product-card:hover .product-img img{transform:scale(1.06)}
.product-card .product-body{padding:1.2rem}
.product-card .product-body h3{font-size:1rem;margin-bottom:.3rem}
.product-card .product-body .product-cat{font-size:.78rem;color:var(--c-text-dim);font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.05em}
.product-card .product-body .product-price{font-family:var(--ff-display);font-weight:700;color:var(--c-accent);font-size:1.15rem;margin-top:.5rem}
.product-card .product-body .product-cta{margin-top:.8rem}
.no-results{text-align:center;padding:3rem;color:var(--c-text-dim);font-family:var(--ff-display)}

/* ═══════════════════════════════
   BLOG
   ═══════════════════════════════ */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem}
.blog-card{overflow:hidden;text-decoration:none;color:var(--c-text);--rot:-1deg}
.blog-card:nth-child(2){--rot:0.8deg}
.blog-card:nth-child(3){--rot:-0.5deg}
.blog-card .blog-img{height:200px;overflow:hidden}
.blog-card .blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-card .blog-body{padding:1.3rem}
.blog-card .blog-meta{font-size:.78rem;color:var(--c-text-dim);font-family:var(--ff-display);margin-bottom:.5rem}
.blog-card .blog-body h3{font-size:1.1rem;margin-bottom:.5rem}
.blog-card .blog-body p{font-size:.9rem;color:var(--c-text-muted)}

.blog-article{max-width:760px;margin:0 auto}
.blog-article h1{margin-bottom:.5rem}
.blog-article .blog-article-meta{color:var(--c-text-dim);font-size:.85rem;margin-bottom:2rem;font-family:var(--ff-display)}
.blog-article .blog-article-img{margin-bottom:2rem;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-scrap)}
.blog-article .blog-article-img img{width:100%;display:block}
.blog-article p{margin-bottom:1.2rem}
.blog-article h2{margin:2rem 0 1rem;font-size:1.5rem}
.blog-article ul{margin:1rem 0;padding-left:1.5rem}
.blog-article li{margin-bottom:.5rem;color:var(--c-text-muted);position:relative;padding-left:1rem}
.blog-article li::before{content:'✿';position:absolute;left:-.5rem;color:var(--c-secondary-light)}

/* ═══════════════════════════════
   GALERÍA / LIGHTBOX
   ═══════════════════════════════ */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.gallery-item{
  overflow:hidden;cursor:pointer;
  border-radius:var(--radius);
  box-shadow:var(--shadow-scrap);
  position:relative;
}
.gallery-item:nth-child(odd){transform:rotate(-.8deg)}
.gallery-item:nth-child(even){transform:rotate(.6deg)}
.gallery-item:hover{transform:rotate(0) scale(1.03)}
.gallery-item img{width:100%;height:220px;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:.6rem .8rem;
  background:linear-gradient(transparent,rgba(0,0,0,.7));
  font-size:.82rem;color:#fff;font-family:var(--ff-display);
}

.lightbox{
  position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,.92);
  display:none;align-items:center;justify-content:center;
  padding:2rem;
}
.lightbox.active{display:flex}
.lightbox img{max-width:90%;max-height:85vh;border-radius:var(--radius);box-shadow:0 0 40px rgba(0,0,0,.6)}
.lightbox-close{
  position:absolute;top:1.5rem;right:1.5rem;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;cursor:pointer;border:none;
}

/* ═══════════════════════════════
   CONTACTO
   ═══════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.contact-form .form-group{margin-bottom:1.2rem}
.contact-form label{display:block;font-family:var(--ff-display);font-size:.85rem;font-weight:600;margin-bottom:.4rem}
.contact-form textarea.clay-input{min-height:130px;resize:vertical}
.contact-info{display:flex;flex-direction:column;gap:1.2rem}
.contact-info-item{display:flex;gap:1rem;align-items:flex-start}
.contact-info-item svg{width:22px;height:22px;color:var(--c-primary-light);flex-shrink:0;margin-top:.2rem}
.contact-info-item h4{font-size:.9rem;margin-bottom:.2rem}
.contact-info-item p,.contact-info-item a{font-size:.9rem;color:var(--c-text-muted)}
.map-wrap{margin-top:1.5rem;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-scrap);border:1px solid var(--c-border)}
.map-wrap iframe{width:100%;height:300px;border:none}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════
   PÁGINAS LEGALES
   ═══════════════════════════════ */
.legal-content{max-width:800px;margin:0 auto}
.legal-content h1{margin-bottom:1.5rem}
.legal-content h2{margin:2rem 0 .8rem;font-size:1.3rem;color:var(--c-primary-light)}
.legal-content h3{margin:1.5rem 0 .6rem;font-size:1.1rem}
.legal-content p{color:var(--c-text-muted);margin-bottom:1rem}
.legal-content ul{margin:1rem 0;padding-left:1.5rem}
.legal-content li{margin-bottom:.5rem;color:var(--c-text-muted);list-style:disc}
.legal-content strong{color:var(--c-text)}
.legal-content a{color:var(--c-primary-light)}

/* ═══════════════════════════════
   FOOTER
   ═══════════════════════════════ */
.site-footer{
  background:var(--c-bg-elevated);
  border-top:1px solid var(--c-border);
  padding:3.5rem 0 1.5rem;
  margin-top:4rem;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.footer-col h4{font-family:var(--ff-display);font-size:.95rem;font-weight:700;margin-bottom:1rem;color:var(--c-text)}
.footer-col p,.footer-col a,.footer-col li{font-size:.88rem;color:var(--c-text-muted)}
.footer-col li{margin-bottom:.4rem}
.footer-col a:hover{color:var(--c-accent)}
.footer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;text-decoration:none}
.footer-brand img,.footer-brand svg{width:36px;height:36px}
.footer-brand span{font-family:var(--ff-display);font-weight:700;color:var(--c-text)}

.footer-social{display:flex;gap:.8rem;margin-top:1rem}
.footer-social a{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  background:var(--c-bg);border:1px solid var(--c-border);
  transition:background .2s,border-color .2s;
}
.footer-social a:hover{background:var(--c-primary);border-color:var(--c-primary)}
.footer-social a svg{width:18px;height:18px}

.footer-bottom{
  border-top:1px solid var(--c-border);
  padding-top:1.2rem;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  font-size:.8rem;color:var(--c-text-dim);font-family:var(--ff-display);
}
.footer-legal-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-legal-links a{color:var(--c-text-dim);font-size:.8rem}
.footer-legal-links a:hover{color:var(--c-accent)}

@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════
   FLOATING BUTTONS
   ═══════════════════════════════ */
.float-btns{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.8rem;z-index:800}
.float-btn{
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.4);
  transition:transform .2s;border:none;
  text-decoration:none;
}
.float-btn:hover{transform:scale(1.1)}
.float-btn svg{width:26px;height:26px}
.float-btn--wa{background:#25d366;color:#fff}
.float-btn--tel{background:var(--c-primary);color:#fff}
.float-btn--chat{background:var(--c-secondary);color:#fff}

/* ═══════════════════════════════
   COOKIE CONSENT
   ═══════════════════════════════ */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1500;
  background:var(--c-bg-elevated);
  border-top:1px solid var(--c-border);
  padding:1.2rem;
  box-shadow:0 -4px 20px rgba(0,0,0,.4);
  display:none;
}
.cookie-banner.show{display:block}
.cookie-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.cookie-inner p{font-size:.88rem;color:var(--c-text-muted);flex:1}
.cookie-inner a{color:var(--c-primary-light)}
.cookie-actions{display:flex;gap:.75rem}

/* ═══════════════════════════════
   CHATBOT PANEL
   ═══════════════════════════════ */
.chatbot{
  position:fixed;bottom:6.5rem;right:1.5rem;
  width:340px;max-height:480px;
  background:var(--c-bg-elevated);
  border:1px solid var(--c-border);
  border-radius:var(--radius-clay);
  box-shadow:0 8px 32px rgba(0,0,0,.5);
  z-index:850;
  display:none;flex-direction:column;
  overflow:hidden;
}
.chatbot.open{display:flex}
.chatbot-header{
  padding:.9rem 1.2rem;
  background:var(--c-primary);
  display:flex;justify-content:space-between;align-items:center;
  color:#fff;font-family:var(--ff-display);font-weight:600;
}
.chatbot-close{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}
.chatbot-body{padding:1rem 1.2rem;overflow-y:auto;flex:1}
.chatbot-body .chat-msg{
  padding:.7rem 1rem;margin-bottom:.6rem;
  border-radius:var(--radius-clay);
  font-size:.88rem;
  background:var(--c-bg-card);
  color:var(--c-text-muted);
}
.chatbot-body .chat-msg a{color:var(--c-primary-light)}
.chatbot-footer{padding:.8rem 1.2rem;border-top:1px solid var(--c-border)}
.chatbot-footer a{display:flex;align-items:center;justify-content:center;gap:.5rem}

/* ═══════════════════════════════
   404
   ═══════════════════════════════ */
.page-404{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center}
.page-404 h1{font-size:6rem;color:var(--c-primary);margin-bottom:1rem;font-weight:800}
.page-404 p{color:var(--c-text-muted);margin-bottom:2rem;font-size:1.15rem}

/* ═══════════════════════════════
   BREADCRUMB
   ═══════════════════════════════ */
.breadcrumb{
  padding:1rem 0;font-family:var(--ff-display);font-size:.82rem;
  color:var(--c-text-dim);
}
.breadcrumb a{color:var(--c-text-dim)}
.breadcrumb a:hover{color:var(--c-accent)}
.breadcrumb span{margin:0 .4rem}

/* ═══════════════════════════════
   PAGE HEADER (inner pages)
   ═══════════════════════════════ */
.page-hero{
  padding:3.5rem 0 2.5rem;
  position:relative;
  overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 600px 300px at 30% 70%,hsla(210,68%,42%,.12),transparent),
    radial-gradient(ellipse 500px 400px at 80% 20%,hsla(358,55%,36%,.08),transparent);
  z-index:0;
}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{margin-bottom:.5rem}
.page-hero p{color:var(--c-text-muted);max-width:600px}

/* ═══════════════════════════════
   MISC
   ═══════════════════════════════ */
.divider{height:1px;background:var(--c-border);margin:3rem 0}
.text-center{text-align:center}
.mt-2{margin-top:2rem}
.mb-1{margin-bottom:1rem}
.mb-2{margin-bottom:2rem}

/* Photo disclaimer */
.img-disclaimer{font-size:.72rem;color:var(--c-text-dim);font-style:italic;margin-top:.3rem;text-align:center}

/* Payment icons area */
.payment-methods{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.payment-badge{
  padding:.4rem .9rem;border-radius:var(--radius-clay);
  background:var(--c-bg-card);border:1px solid var(--c-border);
  font-family:var(--ff-display);font-size:.82rem;font-weight:600;color:var(--c-text-muted);
  box-shadow:var(--shadow-clay-sm);
}

/* Print */
@media print{
  .main-header,.top-bar,.float-btns,.cookie-banner,.chatbot{display:none!important}
  body{background:#fff;color:#000}
  a{color:#000;text-decoration:underline}
}
