/* Dachmi — Estilos exclusivos del Home */

  /* ============ HERO ============ */
  .hero{
    position:relative; min-height:78vh; display:flex; align-items:center;
    color:var(--white); overflow:hidden;
  }
  .hero-bg{ position:absolute; inset:0; }
  .hero-bg::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(33,26,20,0.72) 0%, rgba(33,26,20,0.42) 42%, rgba(33,26,20,0.08) 68%);
  }
  .hero-bg .ph{ position:absolute; inset:0; border:none; }
  .hero-content{ position:relative; z-index:2; max-width:640px; padding-top:48px; }
  .hero .eyebrow{ color:var(--gold); }
  .hero h1{ color:var(--white); margin:16px 0 0; }
  .hero .lede{ color:rgba(255,255,255,0.88); margin-top:24px; max-width:48ch; }
  .hero-ctas{ display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; }
  .trust-list{ display:flex; flex-wrap:wrap; gap:24px 30px; margin-top:32px; }
  .trust-list li{ display:flex; align-items:center; gap:9px; font-size:0.92rem; font-weight:500; color:rgba(255,255,255,0.92); }
  .trust-list svg{ width:17px; height:17px; color:var(--gold); flex-shrink:0; }
  .scroll-indicator{
    position:absolute; bottom:18px; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:6px; z-index:2;
    color:rgba(255,255,255,0.8);
  }
  .scroll-indicator svg{ width:18px; height:18px; animation:bob 2.1s ease-in-out infinite; }
  @keyframes bob{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(7px);} }

  @media (max-width:767px){
    .hero{ min-height:100svh; align-items:flex-end; padding-bottom:64px; }
    .hero-content{ padding-top:130px; }
    .hero-ctas{ flex-direction:column; }
    .hero-ctas .btn{ width:100%; }
  }

  /* ============ SECTIONS shared ============ */
  section{ padding:80px 0; position:relative; }
  @media (max-width:1023px){ section{ padding:64px 0; } }
  @media (max-width:767px){ section{ padding:48px 0; } }
  .section-head{ max-width:640px; margin:0 auto 56px; text-align:center; }
  .section-head p{ margin-top:14px; margin-left:auto; margin-right:auto; }
  .section-head .eyebrow{ margin-bottom:16px; }

  /* ============ CATEGORÍAS ============ */
  .categorias{ background:var(--cream-soft); padding:64px 0; }
  .cat-grid{ display:grid; grid-template-columns:35fr 65fr; gap:40px; align-items:start; }
  .cat-card{
    background:var(--forest); color:var(--cream); border-radius:var(--radius-lg);
    padding:40px 34px; display:flex; flex-direction:column; gap:16px;
  }
  .cat-card .ph{ aspect-ratio:1/1; border-radius:var(--radius-md); background:linear-gradient(160deg, rgba(217,164,65,0.22), rgba(255,255,255,0.06)); border-color:rgba(255,255,255,0.14); }
  .cat-card .ph-label{ color:rgba(246,241,231,0.75); }
  .cat-card h3{ color:var(--cream); margin-top:6px; }
  .cat-card p{ color:rgba(246,241,231,0.75); font-size:0.94rem; }
  .cat-card .btn{ margin-top:auto; align-self:flex-start; }

  .prod-preview{ display:flex; flex-direction:column; gap:24px; }
  .prod-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
  .product-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md);
    overflow:hidden; transition:transform 220ms ease, box-shadow 220ms ease;
  }
  .product-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lift); }
  .product-card .ph{ aspect-ratio:4/2; border-radius:0; }
  .product-card .ph svg{ transition:transform 260ms ease; }
  .product-card:hover .ph svg{ transform:scale(1.08); }
  .product-body{ padding:14px 14px 16px; display:flex; flex-direction:column; gap:8px; }
  .product-body h3{ font-size:1rem; }
  .presentation-chips{ display:flex; gap:6px; flex-wrap:wrap; }
  .chip{
    font-size:12px; font-weight:600; padding:6px 11px; border-radius:100px;
    border:1.5px solid var(--line); color:var(--ink-soft); min-width:40px; min-height:32px;
    display:flex; align-items:center; justify-content:center; transition:all 180ms ease;
  }
  .chip.is-active, .chip:hover{ border-color:var(--forest); color:var(--forest); background:rgba(46,70,50,0.06); }
  .product-footer{ display:flex; align-items:center; justify-content:space-between; margin-top:4px; }
  .price{ font-family:var(--font-display); font-weight:600; font-size:1.15rem; color:var(--forest); transition:opacity 180ms ease; }
  .add-btn{
    width:38px; height:38px; border-radius:50%; background:var(--forest); color:var(--white);
    display:flex; align-items:center; justify-content:center; transition:background 200ms ease, transform 200ms ease;
  }
  .add-btn:hover{ background:var(--terracotta); transform:scale(1.06); }
  .add-btn svg{ width:17px; height:17px; }
  .add-btn.is-confirmed{ background:var(--gold); }

  .prod-preview-cta{ text-align:center; }

  .coming-card{
    margin-top:64px; background:var(--cream-deep); border-radius:var(--radius-lg);
    padding:40px 44px; display:flex; align-items:center; gap:32px; flex-wrap:wrap;
  }
  .coming-card .ph{ width:180px; aspect-ratio:16/9; border-radius:var(--radius-sm); flex-shrink:0; }
  .coming-text h3{ margin-bottom:6px; }
  .coming-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
  .coming-tags span{ font-size:12.5px; font-weight:600; color:var(--forest); background:rgba(46,70,50,0.08); padding:6px 12px; border-radius:100px; }

  @media (max-width:1023px){
  .cat-grid{ grid-template-columns:1fr; }
  .prod-grid{ grid-template-columns:repeat(3,1fr); gap:24px; }
}
  @media (max-width:767px){
  .prod-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .coming-card{ flex-direction:column; text-align:center; }
  .coming-card .ph{ width:100%; }
}


  /* ============ NUESTRA PROMESA ============ */
  .promesa-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .promesa-img .ph{ aspect-ratio:4/5; border-radius:var(--radius-lg); }
  .principles{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
  .principle-card{
    padding:24px; border-radius:var(--radius-md); background:var(--cream-soft); border:1px solid var(--line);
    transition:transform 220ms ease, box-shadow 220ms ease;
  }
  .principle-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); }
  .principle-icon{ width:42px; height:42px; border-radius:12px; background:rgba(193,99,59,0.1); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .principle-icon svg{ width:21px; height:21px; color:var(--terracotta); }
  .principle-card h3{ font-size:1.02rem; margin-bottom:6px; }
  .principle-card p{ font-size:0.9rem; }

  @media (max-width:1023px){
    .promesa-grid{ grid-template-columns:1fr; gap:40px; }
  }
  @media (max-width:767px){
    .principles{ grid-template-columns:1fr; }
  }

  /* ============ CONSIÉNTELO MEJOR ============ */
  .consientelo{ background:var(--cream-soft); }
  .moments-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .moment-card{
    background:var(--white); border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--line);
    transition:transform 220ms ease, box-shadow 220ms ease;
  }
  .moment-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); }
  .moment-card .ph{ aspect-ratio:4/3; border-radius:0; }
  .moment-body{ padding:22px 24px 26px; }
  .moment-body h3{ margin-bottom:6px; }
  .moment-body p{ font-size:0.92rem; }

  @media (max-width:767px){
    .moments-grid{ grid-template-columns:1fr; }
  }

  /* ============ OPINIONES ============ */
  .testimonials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .t-card{
    background:var(--cream-soft); border:1px solid var(--line); border-radius:var(--radius-md);
    padding:28px 26px; display:flex; flex-direction:column; gap:16px;
    transition:transform 220ms ease, box-shadow 220ms ease;
  }
  .t-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); }
  .stars{ display:flex; gap:3px; }
  .stars svg{ width:15px; height:15px; color:var(--gold); }
  .t-quote{ font-size:0.95rem; color:var(--ink); }
  .t-person{ display:flex; align-items:center; gap:12px; margin-top:auto; }
  .t-avatar{
    width:44px; height:44px; border-radius:50%; background:var(--cream-deep); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .t-avatar svg{ width:20px; height:20px; color:var(--ink-soft); }
  .t-name{ font-weight:700; font-size:0.9rem; color:var(--forest); }
  .t-dog{ font-size:0.82rem; color:var(--ink-soft); }
  .opiniones-cta{ text-align:center; margin-top:48px; }

  @media (max-width:1023px){
    .testimonials-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width:767px){
    .testimonials-grid{ grid-template-columns:1fr; }
  }

  /* ============ CTA FINAL ============ */
  .cta-final{ text-align:center; padding-top:96px; padding-bottom:96px; }
  .cta-final .ph{ width:70%; margin:0 auto; aspect-ratio:16/9; border-radius:var(--radius-lg); }
  .cta-final h2{ margin-top:40px; max-width:16ch; margin-left:auto; margin-right:auto; }
  .cta-final .lede{ margin:24px auto 0; }
  .cta-final .hero-ctas{ justify-content:center; margin-top:40px; }

  @media (max-width:767px){
    .cta-final .ph{ width:100%; }
    .cta-final .hero-ctas{ flex-direction:column; }
    .cta-final .hero-ctas .btn{ width:100%; }
  }

