@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');

:root{
  --bg:#fbf6ef;
  --paper:#fffaf5;
  --text:#302824;
  --muted:#66554e;
  --rose:#bf6861;
  --rose-dark:#9d4d49;
  --rose-soft:#f8e7e3;
  --sage:#9aa58b;
  --sage-soft:#e9eddf;
  --line:#dfb8b0;
  --footer:#bf6d66;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:118px;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Cormorant Garamond', Georgia, serif;
}

a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* CABECERA CORREGIDA */
.topbar{
  height:96px;
  background:rgba(255,250,245,.97);
  border-bottom:1px solid rgba(220,190,180,.55);
  position:sticky;
  top:0;
  z-index:1000;
  box-shadow:0 4px 18px rgba(70,45,35,.055);
}

.nav-shell{
  width:min(1290px, calc(100% - 70px));
  margin:0 auto;
  height:96px;
  display:grid;
  grid-template-columns:250px 1fr 260px;
  align-items:center;
  gap:20px;
  position:relative;
}

.brand-logo-link{
  display:flex;
  align-items:center;
  height:96px;
  position:relative;
  z-index:3;
}

.brand-logo-link img{
  width:168px;
  height:168px;
  object-fit:contain;
  margin-top:22px;
  filter:drop-shadow(0 10px 13px rgba(73,49,42,.18));
}

.main-menu{
  justify-self:center;
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:21px;
  font-weight:700;
  line-height:1;
  height:96px;
}

.main-menu a{
  position:relative;
  padding:38px 0 35px;
  white-space:nowrap;
}

.main-menu a.active::after,
.main-menu a:hover::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:25px;
  height:2px;
  background:var(--rose);
}

.email-cta{
  justify-self:end;
  align-self:center;
  min-width:232px;
  height:46px;
  padding:0 22px;
  border-radius:5px;
  background:var(--rose);
  color:white;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow:0 7px 14px rgba(191,104,97,.22);
}

/* HERO CORREGIDO */
.hero{
  min-height:502px;
  position:relative;
  display:grid;
  grid-template-columns:39% 61%;
  overflow:hidden;
  background:var(--bg);
  border-bottom:1px solid rgba(223,184,176,.45);
}

.hero-text{
  position:relative;
  z-index:2;
  padding:60px 48px 42px max(46px, calc((100vw - 1290px)/2 + 110px));
  text-align:center;
  background:linear-gradient(90deg,#fbf6ef 0%,#fbf6ef 82%,rgba(251,246,239,.2) 100%);
}

.hero-text .script{
  display:block;
  color:var(--rose);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:39px;
  line-height:1;
  transform:rotate(-4deg);
  margin-bottom:8px;
}

.hero-text h1{
  margin:0;
  font-size:54px;
  line-height:.95;
  font-weight:600;
  letter-spacing:.01em;
}

.hero-lead{
  font-family:'Montserrat', Arial, sans-serif;
  font-size:15px;
  line-height:1.6;
  color:#3d332f;
  margin:24px auto 0;
  max-width:465px;
}

.divider-heart{
  width:320px;
  max-width:100%;
  height:1px;
  background:#d8b6ad;
  margin:18px auto 16px;
  position:relative;
}

.divider-heart::after{
  content:"♥";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  color:#d29493;
  background:#fbf6ef;
  padding:0 12px;
  font-size:16px;
}

.hero-extra{
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.58;
  margin:0 auto;
  max-width:420px;
}

.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  margin-top:22px;
  height:43px;
  min-width:276px;
  background:var(--rose);
  color:#fff;
  border-radius:6px;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  font-weight:600;
  box-shadow:0 6px 15px rgba(191,104,97,.22);
}

.hero-image{
  min-height:502px;
  background:url("../img/mockup/hero.jpg") center center/cover no-repeat;
}

/* BLOQUE HECHO A MANO - SIN SOLAPES */
.love-feature{
  width:min(1290px, calc(100% - 80px));
  margin:0 auto 34px;
  min-height:98px;
  border:1px solid var(--line);
  border-radius:7px;
  background:rgba(255,250,245,.86);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  text-align:center;
  padding:16px 35px 12px;
  position:relative;
  z-index:2;
}

.love-feature .branch{
  height:64px;
  opacity:.6;
  position:relative;
}

.love-feature .branch::before{
  content:"";
  position:absolute;
  left:25%;
  right:12%;
  top:50%;
  height:1px;
  background:#d8a3a0;
  transform:rotate(10deg);
}

.love-feature .branch::after{
  content:"•  ◦  ❧  ◦";
  position:absolute;
  left:20%;
  top:18px;
  color:#d8a3a0;
  font-size:24px;
  letter-spacing:22px;
}

.love-feature .right::before{transform:rotate(-10deg)}
.love-feature .right::after{content:"◦  ❧  ◦  •"; left:6%}

.love-feature h2{
  margin:0;
  color:var(--rose);
  font-size:45px;
  line-height:1;
  font-weight:600;
  letter-spacing:.02em;
}

.love-feature p{
  margin:8px 0 0;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
}

.love-feature .heart{
  color:#d29493;
  font-size:20px;
  margin-top:4px;
}

/* PRODUCTOS - ESPACIADO CORREGIDO */
.products-section{
  padding:0 0 40px;
  position:relative;
  z-index:1;
  clear:both;
}

.section-title{
  text-align:center;
  margin:0 0 22px;
  position:relative;
  z-index:1;
}

.section-title h2{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin:0;
  font-size:36px;
  line-height:1;
  font-weight:600;
}

.section-title h2::before,
.section-title h2::after{
  content:"";
  width:95px;
  height:18px;
  background:
    radial-gradient(circle at 18px 10px, var(--sage) 0 3px, transparent 4px),
    linear-gradient(15deg, transparent 47%, var(--sage) 48% 52%, transparent 53%);
  opacity:.75;
}

.products-grid{
  width:min(1290px, calc(100% - 110px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:22px;
  align-items:start;
}

.product-card{
  border:1px solid #e2beb6;
  border-radius:7px;
  overflow:hidden;
  background:rgba(255,250,245,.92);
  min-height:205px;
  text-align:center;
  box-shadow:0 5px 13px rgba(80,55,45,.04);
}

.product-card img{
  width:100%;
  height:124px;
  object-fit:cover;
}

.product-card-body{
  padding:10px 8px 12px;
}

.product-card h3{
  margin:0;
  font-size:17px;
  line-height:1.05;
  font-weight:600;
}

.product-card p{
  margin:3px 0 0;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:10px;
  line-height:1.25;
}

.product-card .price{
  display:inline-block;
  margin-top:6px;
  color:var(--rose);
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  font-weight:700;
}

.product-card .heart{
  display:block;
  color:#d29493;
  margin-top:4px;
  font-size:14px;
}

/* VALORES - SIN SOLAPE CON FOOTER */
.value-strip{
  border-top:1px solid #efd8d2;
  border-bottom:1px solid #efd8d2;
  display:grid;
  grid-template-columns:28.5% 26.5% 45%;
  min-height:168px;
  margin-top:0;
  background:#fbf6ef;
  position:relative;
  z-index:1;
}

.value-photo{
  min-height:168px;
  background:
    linear-gradient(0deg, rgba(77,58,48,.10), rgba(77,58,48,.10)),
    url("../img/mockup/hero.jpg") 18% 62%/cover no-repeat;
  position:relative;
}

.value-copy{
  padding:26px 30px;
}

.value-copy h2{
  margin:0 0 11px;
  font-size:25px;
  line-height:1.1;
}

.value-copy p{
  margin:0;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:12px;
  line-height:1.55;
}

.value-items{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}

.value-item{
  border-left:1px dashed #e1bbb3;
  text-align:center;
  padding:20px 18px 10px;
}

.value-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  margin:0 auto 9px;
  background:#e9eddf;
  color:#6f775f;
  display:grid;
  place-items:center;
  font-size:28px;
}

.value-item strong{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}

.value-item span{
  display:block;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  line-height:1.35;
}

/* LEGAL */
.legal-page{
  width:min(980px, calc(100% - 40px));
  margin:70px auto;
  background:rgba(255,250,245,.95);
  border:1px solid #e2beb6;
  border-radius:12px;
  padding:46px;
}

.legal-page h1{
  margin-top:0;
  color:var(--rose);
  font-size:46px;
}

.legal-page h2{
  margin-top:32px;
  font-size:28px;
}

.legal-page p,.legal-page li{
  font-family:'Montserrat', Arial, sans-serif;
  color:#51443f;
  line-height:1.75;
  font-size:14px;
}

.legal-page a{
  color:var(--rose-dark);
  font-weight:700;
}

/* FOOTER */
.site-footer{
  background:var(--footer);
  color:white;
  position:relative;
  margin-top:0;
  z-index:1;
}

.footer-wave{
  height:10px;
  position:absolute;
  top:-10px;
  left:0;
  right:0;
  background:
    radial-gradient(circle at 9px 12px, transparent 12px, var(--footer) 13px) 0 -12px/26px 22px repeat-x;
}

.footer-inner{
  width:min(1120px, calc(100% - 70px));
  margin:0 auto;
  min-height:125px;
  display:grid;
  grid-template-columns:1.45fr 1.25fr 1.15fr .85fr;
  align-items:center;
  gap:32px;
  padding:18px 0;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:18px;
}

.footer-brand img{
  width:104px;
  height:104px;
  object-fit:contain;
  filter:drop-shadow(0 7px 10px rgba(75,40,35,.22));
}

.footer-brand strong{
  display:block;
  font-size:25px;
  line-height:1;
}

.footer-brand p{
  margin:7px 0 0;
  font-size:16px;
}

.footer-brand span{
  display:block;
  margin-top:7px;
  font-size:18px;
}

.footer-col h3{
  margin:0 0 9px;
  font-size:21px;
  line-height:1;
}

.footer-col p{
  margin:0;
}

.footer-col a,.footer-col p{
  display:block;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.7;
}

.socials{
  display:flex;
  gap:12px;
}

.socials a{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.82);
  display:grid;
  place-items:center;
  font-size:23px;
}

/* Cookies */
.cookie-banner{
  position:fixed;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2000;
  background:#fffaf5;
  border:1px solid var(--line);
  border-radius:12px;
  padding:17px 19px;
  box-shadow:0 14px 36px rgba(70,45,35,.18);
  display:none;
  align-items:center;
  gap:22px;
}

.cookie-banner.show{display:flex}

.cookie-banner strong{font-size:24px}

.cookie-banner p{
  margin:3px 0 0;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.45;
}

.cookie-actions{
  margin-left:auto;
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}

.cookie-actions button,.cookie-panel button{
  border:1px solid #ddb8b0;
  background:#fff;
  color:#3b302c;
  border-radius:999px;
  padding:10px 15px;
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:700;
  cursor:pointer;
}

.cookie-actions .accept,.cookie-panel button{
  background:var(--rose);
  color:white;
  border-color:var(--rose);
}

.cookie-panel{
  position:fixed;
  right:22px;
  bottom:125px;
  z-index:2001;
  width:min(420px, calc(100% - 44px));
  background:#fffaf5;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 14px 36px rgba(70,45,35,.18);
  padding:22px;
  display:none;
}

.cookie-panel.show{display:block}

.cookie-panel h3{
  margin:0 0 10px;
  font-size:27px;
}

.cookie-panel p,.cookie-panel label{
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.55;
}

.cookie-panel label{
  display:flex;
  gap:8px;
  margin:10px 0;
}

/* Admin */
.admin-body{
  background:var(--bg);
  min-height:100vh;
}

.admin-wrap{
  width:min(1050px, calc(100% - 40px));
  margin:45px auto;
}

.admin-card{
  background:#fffaf5;
  border:1px solid #e2beb6;
  border-radius:12px;
  padding:28px;
  box-shadow:0 14px 34px rgba(80,55,45,.09);
}

.admin-logo{
  width:150px;
  margin:0 auto 8px;
}

.admin-card h1{
  margin-top:0;
  color:var(--rose);
}

.form-row{margin-bottom:15px}

.form-row label{
  display:block;
  margin-bottom:6px;
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:700;
}

.form-row input,.form-row textarea,.form-row select{
  width:100%;
  border:1px solid #dcb8b0;
  border-radius:8px;
  padding:12px 13px;
  font-family:'Montserrat', Arial, sans-serif;
}

.btn-admin,.admin-card button,.admin-card .btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:var(--rose);
  color:white;
  padding:12px 18px;
  border-radius:7px;
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:700;
  cursor:pointer;
}

.btn-light{
  background:#fff;
  color:#3b302c;
  border:1px solid #dcb8b0;
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
}

.admin-table th,.admin-table td{
  border-bottom:1px solid #ead2cb;
  text-align:left;
  padding:12px 8px;
}

.admin-table img{
  width:70px;
  height:52px;
  object-fit:cover;
  border-radius:6px;
}

.admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.notice,.error{
  border-radius:8px;
  padding:12px 14px;
  font-family:'Montserrat', Arial, sans-serif;
  margin-bottom:16px;
}

.notice{background:#e9eddf;color:#4e5f43}
.error{background:#f8e0dc;color:#954944}

/* RESPONSIVE */
@media(max-width:1200px){
  .nav-shell{
    grid-template-columns:200px 1fr 235px;
    width:calc(100% - 42px);
  }

  .brand-logo-link img{
    width:145px;
    height:145px;
  }

  .main-menu{
    gap:24px;
    font-size:20px;
  }

  .hero{
    grid-template-columns:40% 60%;
  }

  .hero-text{
    padding-left:70px;
  }
}

@media(max-width:980px){
  .topbar{
    height:auto;
    position:relative;
  }

  .nav-shell{
    height:auto;
    min-height:0;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 0 18px;
  }

  .brand-logo-link{
    justify-content:center;
    height:auto;
  }

  .brand-logo-link img{
    width:130px;
    height:130px;
    margin:0;
  }

  .main-menu{
    height:auto;
    flex-wrap:wrap;
    gap:18px;
    font-size:19px;
  }

  .main-menu a{
    padding:8px 0 10px;
  }

  .main-menu a.active::after,
  .main-menu a:hover::after{
    bottom:2px;
  }

  .email-cta{
    justify-self:center;
    display:inline-flex;
  }

  .hero{
    grid-template-columns:1fr;
  }

  .hero-text{
    padding:42px 24px 36px;
  }

  .hero-image{
    min-height:340px;
  }

  .love-feature{
    width:calc(100% - 34px);
    grid-template-columns:1fr;
    margin-bottom:32px;
  }

  .love-feature .branch{
    display:none;
  }

  .products-grid{
    width:calc(100% - 50px);
    grid-template-columns:repeat(3,1fr);
  }

  .value-strip{
    grid-template-columns:1fr;
  }

  .value-photo{
    min-height:230px;
  }

  .footer-inner{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:720px){
  .products-grid{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
  }

  .product-card img{
    height:185px;
  }

  .hero-text h1{
    font-size:42px;
  }

  .hero-text .script{
    font-size:32px;
  }

  .love-feature h2{
    font-size:34px;
  }

  .section-title h2{
    font-size:32px;
  }

  .section-title h2::before,
  .section-title h2::after{
    display:none;
  }

  .footer-inner{
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-brand{
    justify-content:center;
  }

  .socials{
    justify-content:center;
  }

  .cookie-banner{
    flex-direction:column;
    align-items:flex-start;
  }

  .cookie-actions{
    margin-left:0;
  }
}


/* AJUSTE FINAL FOOTER / VALORES */
.value-strip{
  margin-bottom:22px;
}

.value-icon{
  background:#e9eddf !important;
  color:#6f775f !important;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:31px !important;
  line-height:1;
}

.site-footer{
  margin-top:22px !important;
  padding-top:18px;
}

.footer-wave{
  top:-8px !important;
  height:8px !important;
  opacity:.72;
  background:
    radial-gradient(circle at 8px 10px, transparent 10px, var(--footer) 11px) 0 -10px/32px 18px repeat-x !important;
}

.footer-inner{
  min-height:136px;
  padding:26px 0 28px !important;
  align-items:center;
}

.footer-brand{
  align-items:center;
}

.footer-brand-clean{
  gap:18px;
}

.footer-brand img{
  display:none !important;
}

.footer-mark{
  width:82px;
  height:82px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.55);
  color:#fff;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:24px;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.08);
}

.footer-brand strong{
  font-size:27px;
}

.footer-brand p{
  font-size:17px;
}

.footer-col h3{
  font-size:22px;
}

.footer-col a,
.footer-col p{
  font-size:14px;
}

@media(max-width:720px){
  .site-footer{
    margin-top:18px !important;
    padding-top:14px;
  }

  .footer-brand-clean{
    flex-direction:column;
    text-align:center;
  }

  .footer-mark{
    width:74px;
    height:74px;
    font-size:22px;
  }
}


/* FOTO INFERIOR CORREGIDA */
.value-photo::after{
  content:"Puntada a puntada";
  position:absolute;
  left:26px;
  bottom:18px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,250,245,.88);
  color:#8f5b56;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:22px;
  font-weight:600;
  letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(70,45,35,.10);
}

.value-strip{
  margin-bottom:28px !important;
}

@media(max-width:980px){
  .value-photo{
    min-height:260px;
    background:
      linear-gradient(0deg, rgba(77,58,48,.10), rgba(77,58,48,.10)),
      url("../img/mockup/hero.jpg") 22% 62%/cover no-repeat !important;
  }
}

@media(max-width:720px){
  .value-photo{
    min-height:220px;
  }
  .value-photo::after{
    left:18px;
    bottom:14px;
    font-size:19px;
    padding:7px 12px;
  }
}


/* AJUSTE FINAL DE CENTRADO GENERAL */
.hero{
  width:min(1290px, calc(100% - 70px));
  margin:0 auto;
  grid-template-columns:34% 66%;
  border-left:1px solid rgba(223,184,176,.35);
  border-right:1px solid rgba(223,184,176,.35);
}

.hero-text{
  padding:60px 42px 42px 42px !important;
  background:#fbf6ef !important;
}

.hero-image{
  background-position:center center !important;
}

.love-feature{
  width:min(1290px, calc(100% - 70px)) !important;
}

.products-grid{
  width:min(1290px, calc(100% - 70px)) !important;
}

.value-strip{
  width:min(1290px, calc(100% - 70px));
  margin-left:auto;
  margin-right:auto;
  border-left:1px solid #efd8d2;
  border-right:1px solid #efd8d2;
}

@media(max-width:980px){
  .hero{
    width:100%;
    grid-template-columns:1fr;
    border-left:0;
    border-right:0;
  }

  .love-feature,
  .products-grid,
  .value-strip{
    width:calc(100% - 34px) !important;
  }
}

@media(max-width:720px){
  .hero{
    width:100%;
  }

  .love-feature,
  .products-grid,
  .value-strip{
    width:calc(100% - 24px) !important;
  }
}


/* REDES SOCIALES */
.socials a{
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:700;
}


/* CATEGORÍAS, TIENDA Y ADMIN */
.section-subtitle{margin:10px auto 0;max-width:620px;font-family:'Montserrat',Arial,sans-serif;font-size:13px;color:#6c5a53;line-height:1.55}
.center-actions{text-align:center;margin-top:24px}
.category-chip{display:inline-block;margin-bottom:5px;color:#9d615c;font-family:'Montserrat',Arial,sans-serif;font-size:9px;line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:.05em}

.shop-hero{width:min(1290px,calc(100% - 70px));margin:0 auto;padding:58px 34px 46px;text-align:center;background:linear-gradient(0deg,rgba(251,246,239,.84),rgba(251,246,239,.84)),url("../img/mockup/hero.jpg") center 52%/cover no-repeat;border-left:1px solid rgba(223,184,176,.35);border-right:1px solid rgba(223,184,176,.35);border-bottom:1px solid rgba(223,184,176,.45)}
.shop-hero .script{display:block;color:var(--rose);font-family:"Brush Script MT","Segoe Script",cursive;font-size:38px;line-height:1;transform:rotate(-3deg);margin-bottom:8px}
.shop-hero h1{margin:0;font-size:55px;line-height:1}
.shop-hero p{margin:16px auto 0;max-width:720px;font-family:'Montserrat',Arial,sans-serif;font-size:14px;line-height:1.65}

.shop-layout{width:min(1290px,calc(100% - 70px));margin:34px auto 46px;display:grid;grid-template-columns:285px 1fr;gap:32px;align-items:start}
.category-panel{position:sticky;top:118px;background:rgba(255,250,245,.94);border:1px solid #e2beb6;border-radius:12px;padding:22px;box-shadow:0 8px 22px rgba(80,55,45,.045)}
.category-panel h2{margin:0 0 14px;font-size:30px;color:var(--rose)}
.category-all,.category-level1,.category-level2{display:block;border-radius:999px;transition:.18s ease}
.category-all,.category-level1{padding:10px 14px;font-size:20px;font-weight:700}
.category-all{background:#f8e7e3;color:#8f504b;margin-bottom:12px}
.category-group{border-top:1px solid #edd4ce;padding-top:10px;margin-top:10px}
.category-level1:hover,.category-level1.active,.category-all.active{background:var(--rose);color:#fff}
.category-level2-list{padding:6px 0 0 14px}
.category-level2{font-family:'Montserrat',Arial,sans-serif;font-size:13px;padding:7px 12px;margin:3px 0;color:#6b5851}
.category-level2:hover,.category-level2.active{background:#e9eddf;color:#566048;font-weight:700}

.shop-title{margin-bottom:18px;text-align:left}
.shop-title .eyebrow{display:block;font-family:'Montserrat',Arial,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#9d615c;font-weight:700}
.shop-title h2{margin:4px 0 0;font-size:40px;line-height:1}
.shop-grid{width:100%!important;grid-template-columns:repeat(3,1fr)!important}
.shop-grid .product-card{min-height:245px}
.shop-grid .product-card img{height:155px}
.empty-products{background:rgba(255,250,245,.95);border:1px solid #e2beb6;border-radius:12px;padding:34px;text-align:center}
.empty-products h3{margin:0 0 8px;font-size:30px}
.empty-products p{margin:0 auto 18px;max-width:560px;font-family:'Montserrat',Arial,sans-serif;font-size:14px;line-height:1.65}

.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;background:rgba(255,250,245,.94);border:1px solid #e2beb6;border-radius:12px;padding:20px 24px;box-shadow:0 10px 26px rgba(80,55,45,.06)}
.admin-topbar h1{margin:0;color:var(--rose);font-size:38px;line-height:1}
.admin-topbar p{margin:6px 0 0;font-family:'Montserrat',Arial,sans-serif;font-size:13px;color:#6c5a53}
.admin-topbar nav{display:flex;gap:10px;flex-wrap:wrap}
.admin-topbar nav a{display:inline-flex;padding:9px 13px;border-radius:999px;border:1px solid #dcb8b0;font-family:'Montserrat',Arial,sans-serif;font-size:13px;font-weight:700;background:#fff}
.admin-card{margin-bottom:22px}
.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
.admin-card-head h2,.admin-card h2{margin-top:0;font-size:31px}
.admin-card-head p,.admin-card>p{margin-top:-8px;font-family:'Montserrat',Arial,sans-serif;font-size:13px;color:#6c5a53}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.checkbox-row{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 20px;font-family:'Montserrat',Arial,sans-serif;font-size:14px}
.admin-inline-form{display:grid;grid-template-columns:1.2fr 1.6fr .6fr auto auto;gap:10px;align-items:center;margin:18px 0 20px}
.admin-inline-form input,.admin-inline-form select,.admin-table input,.admin-table select{width:100%;border:1px solid #dcb8b0;border-radius:8px;padding:9px 10px;font-family:'Montserrat',Arial,sans-serif;font-size:13px;background:#fff}
.admin-table small{color:#6c5a53}

@media(max-width:980px){
  .shop-layout{width:calc(100% - 34px);grid-template-columns:1fr}
  .category-panel{position:relative;top:auto}
  .shop-grid{grid-template-columns:repeat(2,1fr)!important}
  .admin-topbar,.admin-card-head{flex-direction:column}
  .admin-inline-form,.form-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .shop-hero,.shop-layout{width:calc(100% - 24px)}
  .shop-hero h1{font-size:42px}
  .shop-grid{grid-template-columns:1fr!important}
}


/* VENTANA FLOTANTE DE PRODUCTO */
body.modal-open{
  overflow:hidden;
}

.product-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
}

.product-modal.show{
  display:block;
}

.product-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(52,38,32,.54);
  backdrop-filter:blur(4px);
}

.product-modal-dialog{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(980px, calc(100% - 36px));
  max-height:calc(100vh - 44px);
  overflow:auto;
  background:#fffaf5;
  border:1px solid #e2beb6;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(45,28,22,.32);
}

.product-modal-close{
  position:absolute;
  top:14px;
  right:16px;
  z-index:4;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,250,245,.92);
  color:#8f504b;
  font-size:31px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(70,45,35,.16);
}

.product-modal-grid{
  display:grid;
  grid-template-columns:42% 58%;
}

.product-modal-image-wrap{
  min-height:560px;
  background:#f5e8e0;
}

.product-modal-image-wrap img{
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
}

.product-modal-content{
  padding:42px 44px 38px;
}

.product-modal-category{
  display:inline-block;
  margin-bottom:10px;
  padding:7px 12px;
  border-radius:999px;
  background:#f8e7e3;
  color:#9d615c;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.product-modal-content h2{
  margin:0;
  font-size:44px;
  line-height:1;
  color:#302824;
}

.product-modal-price{
  display:inline-block;
  margin-top:15px;
  padding:9px 14px;
  border-radius:999px;
  background:#e9eddf;
  color:#566048;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  font-weight:800;
}

.product-modal-section{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #edd4ce;
}

.product-modal-section h3{
  margin:0 0 8px;
  color:#bf6861;
  font-size:25px;
}

.product-modal-section p{
  margin:0;
  white-space:pre-line;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.72;
  color:#5b4a43;
}

.product-modal-email{
  display:inline-flex;
  margin-top:28px;
  min-height:43px;
  padding:0 21px;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:var(--rose);
  color:#fff;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  font-weight:700;
  box-shadow:0 7px 16px rgba(191,104,97,.24);
}

@media(max-width:820px){
  .product-modal-dialog{
    width:calc(100% - 24px);
  }

  .product-modal-grid{
    grid-template-columns:1fr;
  }

  .product-modal-image-wrap,
  .product-modal-image-wrap img{
    min-height:270px;
    max-height:330px;
  }

  .product-modal-content{
    padding:30px 24px 28px;
  }

  .product-modal-content h2{
    font-size:35px;
  }
}


/* AJUSTE FINAL FOTOS PRODUCTO FORMATO INSTAGRAM */
.product-card{
  display:flex;
  flex-direction:column;
}

.product-card a{
  display:flex;
  flex-direction:column;
  height:100%;
}

.product-card img{
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  width:100%;
  object-fit:contain !important;
  object-position:center center !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,250,245,.96), rgba(248,231,227,.82));
  padding:8px;
}

.shop-grid .product-card img{
  aspect-ratio:1 / 1 !important;
  height:auto !important;
}

.product-card-body{
  flex:1;
}

/* En la ventana flotante, mostrar la foto completa sin cortar */
.product-modal-image-wrap{
  background:
    radial-gradient(circle at 50% 45%, rgba(255,250,245,.98), rgba(248,231,227,.86)) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.product-modal-image-wrap img{
  width:100%;
  height:100%;
  max-height:560px;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border-radius:12px;
}

@media(max-width:820px){
  .product-modal-image-wrap{
    min-height:320px;
  }

  .product-modal-image-wrap img{
    min-height:0;
    max-height:320px;
  }
}


/* AJUSTE FINAL FOOTER LOGO + ESPACIADO ENTRE BLOQUES */
.footer-brand.footer-brand-clean img.footer-logo-img{
  display:block !important;
  width:82px !important;
  height:82px !important;
  object-fit:contain;
  padding:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 4px 10px rgba(70,45,35,.10);
}

.footer-mark{
  display:none !important;
}

.footer-brand-clean{
  gap:16px !important;
}

.love-feature{
  margin:18px auto 38px !important;
}

@media(max-width:720px){
  .footer-brand.footer-brand-clean img.footer-logo-img{
    width:74px !important;
    height:74px !important;
  }

  .love-feature{
    margin:16px auto 28px !important;
  }
}


/* ENCARGOS PERSONALIZADOS + IDEAS PARA REGALAR + TEXTOS SEO */
.custom-hero,
.gift-hero{
  width:min(1290px, calc(100% - 70px));
  margin:0 auto;
  padding:66px 34px 58px;
  text-align:center;
  background:
    linear-gradient(0deg, rgba(251,246,239,.86), rgba(251,246,239,.86)),
    url("../img/mockup/hero.jpg") center 54%/cover no-repeat;
  border-left:1px solid rgba(223,184,176,.35);
  border-right:1px solid rgba(223,184,176,.35);
  border-bottom:1px solid rgba(223,184,176,.45);
}

.custom-hero .script,
.gift-hero .script{
  display:block;
  color:var(--rose);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:38px;
  line-height:1;
  transform:rotate(-3deg);
  margin-bottom:8px;
}

.custom-hero h1,
.gift-hero h1{
  margin:0;
  font-size:56px;
  line-height:1;
}

.custom-hero p,
.gift-hero p{
  margin:16px auto 24px;
  max-width:780px;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.75;
  color:#4f413b;
}

.custom-steps,
.gift-ideas-section,
.home-seo-block,
.shop-seo-copy{
  width:min(1290px, calc(100% - 70px));
  margin:38px auto;
}

.steps-grid,
.gift-grid,
.home-seo-block{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.step-card,
.gift-card,
.seo-card,
.shop-seo-copy{
  background:rgba(255,250,245,.94);
  border:1px solid #e2beb6;
  border-radius:14px;
  padding:26px;
  box-shadow:0 8px 22px rgba(80,55,45,.045);
}

.step-card span{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f8e7e3;
  color:#9d615c;
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:800;
  margin-bottom:14px;
}

.step-card h3,
.gift-card h2,
.seo-card h2,
.shop-seo-copy h2{
  margin:0 0 10px;
  color:#302824;
  font-size:27px;
  line-height:1.08;
}

.step-card p,
.gift-card p,
.seo-card p,
.shop-seo-copy p{
  margin:0;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.7;
  color:#5b4a43;
}

.gift-card a,
.seo-card a{
  display:inline-flex;
  margin-top:16px;
  color:#bf6861;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  font-weight:800;
}

.custom-info-block{
  width:min(1290px, calc(100% - 70px));
  margin:38px auto 48px;
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:24px;
  align-items:stretch;
}

.custom-info-block > div{
  background:rgba(255,250,245,.94);
  border:1px solid #e2beb6;
  border-radius:14px;
  padding:30px;
  box-shadow:0 8px 22px rgba(80,55,45,.045);
}

.custom-info-block h2,
.custom-note h3{
  margin:0 0 12px;
  color:#bf6861;
  font-size:34px;
  line-height:1;
}

.custom-info-block p,
.custom-info-block li{
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.75;
  color:#5b4a43;
}

.custom-info-block ul{
  margin:14px 0 0;
  padding-left:20px;
}

.custom-note{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.gift-copy-block{
  width:min(970px, calc(100% - 70px));
  margin:10px auto 52px;
  text-align:center;
  background:rgba(255,250,245,.94);
  border:1px solid #e2beb6;
  border-radius:14px;
  padding:32px 42px;
}

.gift-copy-block h2{
  margin:0 0 10px;
  color:#bf6861;
  font-size:38px;
}

.gift-copy-block p{
  margin:0;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.75;
  color:#5b4a43;
}

.home-seo-block{
  grid-template-columns:1fr 1fr;
  margin-top:8px;
  margin-bottom:38px;
}

.shop-seo-copy{
  text-align:center;
  max-width:980px;
  margin-bottom:52px;
}

@media(max-width:980px){
  .custom-hero,
  .gift-hero,
  .custom-steps,
  .gift-ideas-section,
  .home-seo-block,
  .shop-seo-copy,
  .custom-info-block,
  .gift-copy-block{
    width:calc(100% - 34px);
  }

  .steps-grid,
  .gift-grid,
  .home-seo-block,
  .custom-info-block{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .custom-hero,
  .gift-hero,
  .custom-steps,
  .gift-ideas-section,
  .home-seo-block,
  .shop-seo-copy,
  .custom-info-block,
  .gift-copy-block{
    width:calc(100% - 24px);
  }

  .custom-hero h1,
  .gift-hero h1{
    font-size:42px;
  }

  .step-card,
  .gift-card,
  .seo-card,
  .shop-seo-copy,
  .custom-info-block > div,
  .gift-copy-block{
    padding:22px;
  }
}


/* TARJETAS DE PRODUCTO: MISMA ALTURA Y TEXTOS CORTADOS CON ... */
.products-grid{
  align-items:stretch !important;
}

.product-card{
  height:100% !important;
  min-height:390px !important;
  display:flex;
  flex-direction:column;
}

.product-card a{
  display:flex;
  flex-direction:column;
  height:100%;
}

.product-card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:12px 12px 12px !important;
}

.category-chip{
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:2.5em;
  max-height:2.5em;
  margin:0 0 8px !important;
  font-size:10px !important;
  line-height:1.25 !important;
}

.product-card h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:2.2em;
  max-height:2.2em;
  margin:0 0 6px !important;
  font-size:18px !important;
  line-height:1.1 !important;
}

.product-card p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:5.2em;
  max-height:5.2em;
  margin:0 !important;
  font-size:12px !important;
  line-height:1.3 !important;
}

.product-card .price{
  margin-top:auto !important;
  padding-top:10px;
  font-size:14px !important;
}

.product-card .heart{
  margin-top:5px !important;
}

@media(max-width:980px){
  .product-card{
    min-height:370px !important;
  }
}

@media(max-width:720px){
  .product-card{
    min-height:350px !important;
  }

  .product-card h3{
    font-size:17px !important;
  }

  .product-card p{
    font-size:11px !important;
  }
}


/* BLOQUE PORTADA: ENFOQUE COMERCIAL CON ESTILO */
.love-feature-expanded{
  min-height:auto !important;
  padding:24px 34px 22px !important;
  align-items:center;
}

.love-feature-expanded .love-content{
  width:min(820px, 100%);
}

.love-feature-expanded h2{
  margin-bottom:6px !important;
}

.love-feature-expanded .love-intro{
  margin:0 auto 18px !important;
  max-width:680px;
}

.love-focus-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  margin-top:12px;
}

.love-focus-grid article{
  background:rgba(255,250,245,.82);
  border:1px solid rgba(226,190,182,.8);
  border-radius:12px;
  padding:15px 13px 14px;
  box-shadow:0 6px 16px rgba(80,55,45,.035);
}

.love-focus-grid span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#f8e7e3;
  color:#9d615c;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  font-weight:800;
  margin-bottom:8px;
}

.love-focus-grid h3{
  margin:0 0 6px;
  font-size:21px;
  line-height:1.05;
  color:#302824;
}

.love-focus-grid p{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.45 !important;
  color:#5b4a43;
}

.love-feature-expanded .heart{
  margin-top:12px !important;
}

@media(max-width:980px){
  .love-feature-expanded{
    padding:26px 22px !important;
  }

  .love-focus-grid{
    grid-template-columns:1fr;
  }

  .love-focus-grid article{
    padding:16px;
  }
}


/* MEJORA VISUAL DEL BLOQUE "HECHO A MANO CON AMOR" */
.love-feature-expanded{
  width:min(1290px, calc(100% - 70px)) !important;
  margin:26px auto 44px !important;
  padding:28px 34px 22px !important;
  justify-content:center !important;
  text-align:center;
}

.love-feature-expanded .love-content{
  width:100%;
  max-width:1020px;
  margin:0 auto;
}

.love-feature-expanded h2{
  margin:0 0 8px !important;
}

.love-feature-expanded .love-intro{
  margin:0 auto 22px !important;
  max-width:760px;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.65;
  color:#5b4a43;
}

.love-focus-grid{
  width:100%;
  max-width:940px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

.love-card{
  background:rgba(255,250,245,.94);
  border:1px solid rgba(226,190,182,.85);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(80,55,45,.045);
  display:flex;
  flex-direction:column;
  min-height:290px;
}

.love-card-photo{
  height:138px;
  background:#f5e8e0;
}

.love-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.love-card-copy{
  padding:16px 16px 18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  flex:1;
}

.love-card-copy h3{
  margin:0 0 8px !important;
  font-size:24px;
  line-height:1.08;
  color:#302824;
}

.love-card-copy p{
  margin:0 !important;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px !important;
  line-height:1.55 !important;
  color:#5b4a43;
}

.love-feature-expanded .heart{
  margin-top:14px !important;
}

@media(max-width:980px){
  .love-feature-expanded{
    width:calc(100% - 34px) !important;
    padding:26px 22px 20px !important;
  }

  .love-focus-grid{
    grid-template-columns:1fr;
    max-width:560px;
  }

  .love-card{
    min-height:auto;
  }
}

@media(max-width:720px){
  .love-feature-expanded{
    width:calc(100% - 24px) !important;
    padding:22px 16px 18px !important;
  }

  .love-card-photo{
    height:150px;
  }

  .love-card-copy h3{
    font-size:22px;
  }
}


/* AJUSTE DE FOTOS DEL BLOQUE COMERCIAL DE PORTADA */
.love-focus-grid{
  max-width:980px !important;
}

.love-card{
  min-height:304px !important;
}

.love-card-photo{
  height:148px !important;
  background:#f7eee9 !important;
  border-bottom:1px solid rgba(226,190,182,.55);
}

.love-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
}

.love-card-copy{
  padding:18px 18px 20px !important;
}

.love-card-copy h3{
  font-size:22px !important;
}

.love-card-copy p{
  font-size:13px !important;
  line-height:1.58 !important;
}

@media(max-width:720px){
  .love-card-photo{
    height:160px !important;
  }
}


/* BLOQUE PORTADA REHECHO SIN FOTOS */
.love-feature-elegant{
  width:min(1290px, calc(100% - 70px)) !important;
  margin:26px auto 44px !important;
  padding:28px 34px 24px !important;
  justify-content:center !important;
  text-align:center;
}

.love-feature-elegant .love-content{
  width:100%;
  max-width:1080px;
  margin:0 auto;
}

.love-feature-elegant h2{
  margin:0 0 10px !important;
}

.love-feature-elegant .love-intro{
  margin:0 auto 24px !important;
  max-width:760px;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.65;
  color:#5b4a43;
}

.love-feature-elegant .love-focus-grid{
  width:100%;
  max-width:1040px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

.love-feature-elegant .love-card-elegant{
  min-height:0 !important;
  background:linear-gradient(180deg, rgba(255,250,245,.98), rgba(251,242,238,.94));
  border:1px solid rgba(226,190,182,.9);
  border-radius:16px;
  padding:24px 20px 20px;
  box-shadow:0 10px 24px rgba(80,55,45,.045);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  overflow:visible;
  position:relative;
}

.love-feature-elegant .love-card-elegant::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg, #eac0b8, #d89c93, #eac0b8);
}

.love-feature-elegant .love-card-photo,
.love-feature-elegant .love-card-copy,
.love-feature-elegant .baby-card .love-card-photo,
.love-feature-elegant .gift-card-home .love-card-photo,
.love-feature-elegant .bag-card .love-card-photo{
  display:none !important;
}

.love-feature-elegant .love-card-icon{
  width:62px;
  height:62px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:6px auto 14px;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.85), rgba(248,231,227,.95));
  border:1px solid rgba(226,190,182,.9);
  color:#c97f76;
  font-size:28px;
  line-height:1;
  box-shadow:0 6px 18px rgba(80,55,45,.05);
}

.love-feature-elegant .love-card-elegant h3{
  margin:0 0 10px !important;
  color:#302824;
  font-size:22px !important;
  line-height:1.12 !important;
}

.love-feature-elegant .love-card-elegant p{
  margin:0 0 12px !important;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px !important;
  line-height:1.6 !important;
  color:#5b4a43;
}

.love-feature-elegant .love-example{
  display:block;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(226,190,182,.55);
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  line-height:1.55;
  color:#9d615c;
}

.love-feature-elegant .heart{
  margin-top:14px !important;
}

@media(max-width:980px){
  .love-feature-elegant{
    width:calc(100% - 34px) !important;
    padding:26px 22px 20px !important;
  }

  .love-feature-elegant .love-focus-grid{
    max-width:620px;
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .love-feature-elegant{
    width:calc(100% - 24px) !important;
    padding:22px 16px 18px !important;
  }

  .love-feature-elegant .love-card-elegant{
    padding:22px 16px 18px;
  }

  .love-feature-elegant .love-card-elegant h3{
    font-size:21px !important;
  }
}


/* CORRECCIÓN DEFINITIVA DEL BLOQUE "HECHO A MANO CON AMOR" */
.love-feature-elegant{
  overflow:visible !important;
  margin:28px auto 56px !important;
  padding:30px 34px 30px !important;
}

.love-feature-elegant .love-focus-grid{
  align-items:stretch !important;
}

.love-feature-elegant .love-card-elegant{
  min-height:300px !important;
  height:auto !important;
  padding:24px 22px 22px !important;
  overflow:hidden !important;
}

.love-feature-elegant .love-card-elegant p{
  flex:0 0 auto !important;
  min-height:76px;
}

.love-feature-elegant .love-example,
.love-feature-elegant .love-focus-grid span{
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

.love-feature-elegant .love-example{
  display:none !important;
}

.love-example-line{
  display:block !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:14px !important;
  border-top:1px solid rgba(226,190,182,.55);
  color:#9d615c;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}

.love-feature-elegant .heart{
  margin-top:18px !important;
}

.products-section{
  clear:both !important;
  position:relative !important;
  z-index:1 !important;
}

@media(max-width:980px){
  .love-feature-elegant{
    margin-bottom:44px !important;
  }

  .love-feature-elegant .love-card-elegant{
    min-height:auto !important;
  }

  .love-feature-elegant .love-card-elegant p{
    min-height:0;
  }
}


/* AJUSTE CABECERA: LOGO INTEGRADO SIN QUEDAR PEQUEÑO */
.topbar{
  height:132px !important;
}

.nav-shell{
  height:132px !important;
  grid-template-columns:230px 1fr 260px !important;
  align-items:center !important;
}

.brand-logo-link{
  height:132px !important;
  align-items:center !important;
}

.brand-logo-link img{
  width:132px !important;
  height:132px !important;
  margin-top:0 !important;
  object-fit:contain !important;
  filter:drop-shadow(0 8px 12px rgba(73,49,42,.14)) !important;
}

.main-menu{
  height:132px !important;
  align-items:center !important;
}

.main-menu a{
  padding:56px 0 51px !important;
}

.main-menu a.active::after,
.main-menu a:hover::after{
  bottom:42px !important;
}

.email-cta{
  align-self:center !important;
}

html{
  scroll-padding-top:150px !important;
}

.category-panel{
  top:154px !important;
}

@media(max-width:980px){
  .topbar{
    height:auto !important;
  }

  .nav-shell{
    height:auto !important;
    grid-template-columns:1fr !important;
  }

  .brand-logo-link{
    height:auto !important;
  }

  .brand-logo-link img{
    width:130px !important;
    height:130px !important;
  }

  .main-menu{
    height:auto !important;
  }

  .main-menu a{
    padding:8px 0 10px !important;
  }

  .main-menu a.active::after,
  .main-menu a:hover::after{
    bottom:2px !important;
  }

  .category-panel{
    top:auto !important;
  }
}


/* REFINADO CABECERA: MENOS EFECTO "CUADRO" EN EL LOGO */
.topbar{
  height:122px !important;
}

.nav-shell{
  height:122px !important;
  grid-template-columns:165px 1fr 255px !important;
  gap:18px !important;
}

.brand-logo-link{
  width:145px !important;
  height:122px !important;
  justify-self:start !important;
  align-items:flex-start !important;
  padding-top:6px !important;
}

.brand-logo-link img{
  width:112px !important;
  height:112px !important;
  margin-top:0 !important;
  margin-left:0 !important;
  object-fit:contain !important;
  filter:drop-shadow(0 7px 11px rgba(73,49,42,.10)) !important;
}

.main-menu{
  height:122px !important;
}

.main-menu a{
  padding:50px 0 46px !important;
}

.main-menu a.active::after,
.main-menu a:hover::after{
  bottom:36px !important;
}

.email-cta{
  min-width:230px !important;
}

html{
  scroll-padding-top:138px !important;
}

.category-panel{
  top:142px !important;
}

@media(max-width:980px){
  .topbar{
    height:auto !important;
  }

  .nav-shell{
    height:auto !important;
    grid-template-columns:1fr !important;
  }

  .brand-logo-link{
    width:auto !important;
    height:auto !important;
    justify-self:center !important;
    padding-top:10px !important;
  }

  .brand-logo-link img{
    width:118px !important;
    height:118px !important;
  }

  .main-menu{
    height:auto !important;
  }

  .main-menu a{
    padding:8px 0 10px !important;
  }

  .main-menu a.active::after,
  .main-menu a:hover::after{
    bottom:2px !important;
  }

  .category-panel{
    top:auto !important;
  }
}


/* AJUSTE FINAL LOGO CABECERA CON PNG RECORTADO Y FONDO LIMPIO */
.brand-logo-link{
  width:160px !important;
  height:122px !important;
  justify-self:start !important;
  align-items:center !important;
  padding-top:0 !important;
  overflow:visible !important;
}

.brand-logo-link img{
  width:126px !important;
  height:126px !important;
  margin:0 !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:drop-shadow(0 6px 10px rgba(73,49,42,.10)) !important;
}

.footer-brand.footer-brand-clean img.footer-logo-img{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

@media(max-width:980px){
  .brand-logo-link{
    width:auto !important;
    height:auto !important;
    justify-self:center !important;
  }

  .brand-logo-link img{
    width:128px !important;
    height:128px !important;
  }
}


/* LOGO HORIZONTAL SOLO PARA CABECERA */
.topbar{
  height:108px !important;
}

.nav-shell{
  height:108px !important;
  grid-template-columns:300px 1fr 255px !important;
  gap:20px !important;
  align-items:center !important;
}

.brand-logo-link.brand-logo-horizontal{
  display:flex !important;
  align-items:center !important;
  gap:14px;
  width:300px !important;
  height:108px !important;
  justify-self:start !important;
  padding:0 !important;
  overflow:visible !important;
}

.brand-logo-link.brand-logo-horizontal img{
  width:84px !important;
  height:84px !important;
  object-fit:contain !important;
  margin:0 !important;
  flex:0 0 auto;
  background:transparent !important;
  filter:drop-shadow(0 6px 10px rgba(73,49,42,.10)) !important;
}

.brand-logo-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1;
}

.brand-logo-text strong{
  display:block;
  color:#302824;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:34px;
  font-weight:700;
  letter-spacing:.01em;
  line-height:.95;
}

.brand-logo-text small{
  display:block;
  margin-top:6px;
  color:#bf6861;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.main-menu{
  height:108px !important;
}

.main-menu a{
  padding:44px 0 40px !important;
}

.main-menu a.active::after,
.main-menu a:hover::after{
  bottom:29px !important;
}

html{
  scroll-padding-top:126px !important;
}

.category-panel{
  top:130px !important;
}

@media(max-width:1180px){
  .nav-shell{
    grid-template-columns:260px 1fr 235px !important;
    gap:14px !important;
  }

  .brand-logo-link.brand-logo-horizontal{
    width:260px !important;
  }

  .brand-logo-link.brand-logo-horizontal img{
    width:74px !important;
    height:74px !important;
  }

  .brand-logo-text strong{
    font-size:29px;
  }

  .brand-logo-text small{
    font-size:10px;
    letter-spacing:.20em;
  }
}

@media(max-width:980px){
  .topbar{
    height:auto !important;
  }

  .nav-shell{
    height:auto !important;
    grid-template-columns:1fr !important;
  }

  .brand-logo-link.brand-logo-horizontal{
    width:auto !important;
    height:auto !important;
    justify-self:center !important;
    padding-top:10px !important;
  }

  .brand-logo-link.brand-logo-horizontal img{
    width:78px !important;
    height:78px !important;
  }

  .brand-logo-text strong{
    font-size:28px;
    text-align:left;
  }

  .brand-logo-text small{
    font-size:10px;
  }

  .main-menu{
    height:auto !important;
  }

  .main-menu a{
    padding:8px 0 10px !important;
  }

  .main-menu a.active::after,
  .main-menu a:hover::after{
    bottom:2px !important;
  }

  .category-panel{
    top:auto !important;
  }
}

@media(max-width:640px){
  .brand-logo-link.brand-logo-horizontal{
    gap:10px;
  }

  .brand-logo-link.brand-logo-horizontal img{
    width:70px !important;
    height:70px !important;
  }

  .brand-logo-text strong{
    font-size:24px;
  }

  .brand-logo-text small{
    letter-spacing:.16em;
  }
}


/* PÁGINA CONTACTO */
.contact-page{
  width:min(1120px, calc(100% - 70px));
  margin:42px auto 72px;
}

.contact-card-main{
  display:grid;
  grid-template-columns:1.5fr .9fr;
  gap:26px;
  align-items:stretch;
  margin-bottom:50px;
}

.contact-card-copy,
.contact-info-box,
.contact-social-card{
  background:rgba(255,250,245,.96);
  border:1px solid rgba(223,184,176,.75);
  border-radius:18px;
  box-shadow:0 12px 28px rgba(70,45,35,.055);
}

.contact-card-copy{
  padding:34px 36px;
}

.contact-card-copy .eyebrow{
  display:inline-block;
  color:var(--rose);
  font-family:'Montserrat', Arial, sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.contact-card-copy h2{
  margin:0 0 12px;
  font-size:38px;
  line-height:1;
}

.contact-card-copy p{
  max-width:680px;
  margin:0 0 24px;
  color:#5c4c45;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.7;
}

.primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 24px;
  border-radius:999px;
  background:var(--rose);
  color:white;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(191,104,97,.23);
}

.contact-info-box{
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.contact-info-box h3{
  margin:0 0 12px;
  font-size:28px;
}

.contact-info-box a{
  color:var(--rose-dark);
  font-family:'Montserrat', Arial, sans-serif;
  font-size:15px;
  font-weight:800;
  word-break:break-word;
}

.contact-info-box p{
  margin:14px 0 0;
  color:#66554e;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.6;
}

.contact-social-section{
  text-align:center;
}

.contact-social-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:26px;
}

.contact-social-card{
  padding:28px 18px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform .2s ease, box-shadow .2s ease;
}

.contact-social-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(70,45,35,.08);
}

.contact-social-card .social-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  background:var(--rose-soft);
  border:1px solid rgba(223,184,176,.85);
  color:var(--rose-dark);
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:28px;
  font-weight:800;
}

.contact-social-card strong{
  display:block;
  font-size:25px;
  line-height:1;
}

.contact-social-card small{
  margin-top:8px;
  color:#715e56;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:12px;
}

.socials a[aria-label*="Pinterest"]{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:800;
}

@media(max-width:820px){
  .contact-page{
    width:calc(100% - 32px);
    margin:30px auto 54px;
  }

  .contact-card-main{
    grid-template-columns:1fr;
  }

  .contact-card-copy{
    padding:28px 22px;
  }

  .contact-social-grid{
    grid-template-columns:1fr;
  }
}


/* CABECERA CONTACTO IGUALADA AL RESTO DE PÁGINAS */
.contact-hero,
.page-hero.contact-hero,
.simple-hero.contact-hero{
  min-height:285px !important;
  width:100% !important;
  margin:0 !important;
  padding:62px 24px 58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background:
    linear-gradient(rgba(251,246,239,.86), rgba(251,246,239,.88)),
    url('assets/img/mockup/hero.jpg') center center/cover no-repeat !important;
  border-bottom:1px solid rgba(223,184,176,.45) !important;
  overflow:hidden !important;
}

.contact-hero > div{
  width:min(760px, 100%) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
}

.contact-hero .script{
  display:block !important;
  margin:0 auto 8px !important;
  color:var(--rose) !important;
  font-family:"Brush Script MT","Segoe Script",cursive !important;
  font-size:38px !important;
  line-height:1 !important;
  transform:rotate(-4deg) !important;
}

.contact-hero h1{
  margin:0 !important;
  color:#302824 !important;
  font-size:56px !important;
  line-height:.95 !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
}

.contact-hero p{
  max-width:680px !important;
  margin:20px auto 0 !important;
  color:#3d332f !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-size:15px !important;
  line-height:1.65 !important;
}

@media(max-width:720px){
  .contact-hero,
  .page-hero.contact-hero,
  .simple-hero.contact-hero{
    min-height:250px !important;
    padding:48px 20px 44px !important;
  }

  .contact-hero .script{
    font-size:32px !important;
  }

  .contact-hero h1{
    font-size:44px !important;
  }

  .contact-hero p{
    font-size:14px !important;
  }
}


/* CONTACTO: CABECERA EXACTAMENTE COMO TIENDA / ENCARGOS / IDEAS */
.page-hero.contact-hero,
.page-hero-photo.contact-hero,
.simple-hero.contact-hero{
  width:min(1290px, calc(100% - 70px)) !important;
  min-height:292px !important;
  margin:0 auto !important;
  padding:58px 42px 50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background:
    linear-gradient(rgba(251,246,239,.76), rgba(251,246,239,.80)),
    url('assets/img/mockup/hero.jpg') center center/cover no-repeat !important;
  border-left:1px solid rgba(223,184,176,.45) !important;
  border-right:1px solid rgba(223,184,176,.45) !important;
  border-bottom:1px solid rgba(223,184,176,.45) !important;
  border-top:0 !important;
  overflow:hidden !important;
}

.page-hero.contact-hero > div,
.page-hero-photo.contact-hero > div,
.simple-hero.contact-hero > div{
  width:min(760px, 100%) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
}

.page-hero.contact-hero .script,
.page-hero-photo.contact-hero .script,
.simple-hero.contact-hero .script{
  display:block !important;
  margin:0 auto 9px !important;
  color:var(--rose) !important;
  font-family:"Brush Script MT","Segoe Script",cursive !important;
  font-size:39px !important;
  line-height:1 !important;
  transform:rotate(-4deg) !important;
}

.page-hero.contact-hero h1,
.page-hero-photo.contact-hero h1,
.simple-hero.contact-hero h1{
  margin:0 !important;
  color:#302824 !important;
  font-size:54px !important;
  line-height:.95 !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
}

.page-hero.contact-hero p,
.page-hero-photo.contact-hero p,
.simple-hero.contact-hero p{
  max-width:760px !important;
  margin:23px auto 0 !important;
  color:#3d332f !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

@media(max-width:720px){
  .page-hero.contact-hero,
  .page-hero-photo.contact-hero,
  .simple-hero.contact-hero{
    width:calc(100% - 24px) !important;
    min-height:252px !important;
    padding:46px 20px 42px !important;
  }

  .page-hero.contact-hero .script,
  .page-hero-photo.contact-hero .script,
  .simple-hero.contact-hero .script{
    font-size:32px !important;
  }

  .page-hero.contact-hero h1,
  .page-hero-photo.contact-hero h1,
  .simple-hero.contact-hero h1{
    font-size:44px !important;
  }

  .page-hero.contact-hero p,
  .page-hero-photo.contact-hero p,
  .simple-hero.contact-hero p{
    font-size:14px !important;
  }
}


/* CONTACTO: CABECERA CON EL MISMO FONDO REAL QUE TIENDA Y ENCARGOS */
.page-hero.contact-hero-fixed,
.page-hero-photo.contact-hero-fixed{
  width:min(1290px, calc(100% - 70px)) !important;
  min-height:292px !important;
  margin:0 auto !important;
  padding:58px 42px 50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background:
    linear-gradient(rgba(251,246,239,.76), rgba(251,246,239,.80)),
    url('../img/mockup/hero.jpg') center center/cover no-repeat !important;
  border-left:1px solid rgba(223,184,176,.45) !important;
  border-right:1px solid rgba(223,184,176,.45) !important;
  border-bottom:1px solid rgba(223,184,176,.45) !important;
  border-top:0 !important;
  overflow:hidden !important;
}

.page-hero.contact-hero-fixed > div,
.page-hero-photo.contact-hero-fixed > div{
  width:min(760px, 100%) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
}

.page-hero.contact-hero-fixed .script,
.page-hero-photo.contact-hero-fixed .script{
  display:block !important;
  margin:0 auto 9px !important;
  color:var(--rose) !important;
  font-family:"Brush Script MT","Segoe Script",cursive !important;
  font-size:39px !important;
  line-height:1 !important;
  transform:rotate(-4deg) !important;
}

.page-hero.contact-hero-fixed h1,
.page-hero-photo.contact-hero-fixed h1{
  margin:0 !important;
  color:#302824 !important;
  font-size:54px !important;
  line-height:.95 !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
}

.page-hero.contact-hero-fixed p,
.page-hero-photo.contact-hero-fixed p{
  max-width:760px !important;
  margin:23px auto 0 !important;
  color:#3d332f !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

@media(max-width:720px){
  .page-hero.contact-hero-fixed,
  .page-hero-photo.contact-hero-fixed{
    width:calc(100% - 24px) !important;
    min-height:252px !important;
    padding:46px 20px 42px !important;
  }

  .page-hero.contact-hero-fixed .script,
  .page-hero-photo.contact-hero-fixed .script{
    font-size:32px !important;
  }

  .page-hero.contact-hero-fixed h1,
  .page-hero-photo.contact-hero-fixed h1{
    font-size:44px !important;
  }

  .page-hero.contact-hero-fixed p,
  .page-hero-photo.contact-hero-fixed p{
    font-size:14px !important;
  }
}


/* CONTACTO: TARJETAS ALINEADAS CON LOS LATERALES DE LA CABECERA */
.contact-page{
  width:min(1290px, calc(100% - 70px)) !important;
  margin:42px auto 72px !important;
}

.contact-card-main{
  width:100% !important;
  grid-template-columns:1.55fr 1fr !important;
  gap:26px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact-social-section{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact-social-grid{
  width:100% !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

@media(max-width:820px){
  .contact-page{
    width:calc(100% - 32px) !important;
  }

  .contact-card-main{
    grid-template-columns:1fr !important;
  }

  .contact-social-grid{
    grid-template-columns:1fr !important;
  }
}


/* PORTADA: PASTILLAS ENCARGOS / IDEAS PARA REGALAR */
.home-promo-grid{
  align-items:stretch !important;
}

.home-promo-card{
  display:flex !important;
  flex-direction:column !important;
}

.home-promo-card p{
  margin-bottom:16px !important;
}

.home-promo-card a{
  margin-top:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  color:var(--rose) !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:800 !important;
  font-size:13px !important;
}

.home-promo-card a:hover{
  color:var(--rose-dark) !important;
}

@media(max-width:820px){
  .home-promo-card a{
    width:auto !important;
  }
}


/* PORTADA: PASTILLAS CORREGIDAS ENCARGOS / IDEAS */
.home-promo-grid{
  align-items:stretch !important;
}

.home-promo-card{
  display:flex !important;
  flex-direction:column !important;
}

.home-promo-card p{
  margin-bottom:16px !important;
}

.home-promo-card a{
  margin-top:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  color:var(--rose) !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-weight:800 !important;
  font-size:13px !important;
}

.home-promo-card a:hover{
  color:var(--rose-dark) !important;
}


/* TIENDA: BLOQUE INFERIOR CENTRADO Y ALINEADO */
.shop-info-box,
.tienda-info-box,
.store-info-box,
.category-bottom-box,
.seo-shop-box,
.shop-seo-box{
  width:min(980px, calc(100% - 70px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Fallback para el bloque final de texto de tienda */
.tienda-page .seo-card,
.shop-page .seo-card,
.tienda-main .seo-card{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Bloque concreto de cierre en Nuestra tienda */
main .seo-card:has(h2){
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:820px){
  .shop-info-box,
  .tienda-info-box,
  .store-info-box,
  .category-bottom-box,
  .seo-shop-box,
  .shop-seo-box{
    width:calc(100% - 32px) !important;
  }
}


.shop-closing-card{
  width:min(980px, calc(100% - 70px)) !important;
  margin:46px auto 44px !important;
  text-align:center !important;
  display:block !important;
}

.shop-closing-card h2,
.shop-closing-card p{
  text-align:center !important;
}

@media(max-width:820px){
  .shop-closing-card{
    width:calc(100% - 32px) !important;
    margin:34px auto 34px !important;
  }
}


/* TIENDA: BLOQUE FINAL ALINEADO DE VERDAD */
.shop-closing-section{
  width:min(1290px, calc(100% - 70px)) !important;
  margin:38px auto 48px !important;
  padding:0 !important;
}

.shop-closing-section .shop-closing-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:30px 42px !important;
  text-align:center !important;
  background:rgba(255,250,245,.96) !important;
  border:1px solid rgba(223,184,176,.75) !important;
  border-radius:14px !important;
  box-shadow:0 12px 28px rgba(70,45,35,.045) !important;
}

.shop-closing-section .shop-closing-card h2{
  margin:0 0 14px !important;
  text-align:center !important;
  font-size:30px !important;
  line-height:1.1 !important;
}

.shop-closing-section .shop-closing-card p{
  max-width:820px !important;
  margin:5px auto 0 !important;
  text-align:center !important;
  color:#51443f !important;
  font-family:'Montserrat', Arial, sans-serif !important;
  font-size:14px !important;
  line-height:1.65 !important;
}

@media(max-width:820px){
  .shop-closing-section{
    width:calc(100% - 32px) !important;
    margin:30px auto 38px !important;
  }

  .shop-closing-section .shop-closing-card{
    padding:24px 18px !important;
  }

  .shop-closing-section .shop-closing-card h2{
    font-size:25px !important;
  }
}


/* IDEAS PARA REGALAR: BLOQUE FINAL CENTRADO Y ALINEADO */
.gift-copy-block{
  width:min(1290px, calc(100% - 70px)) !important;
  max-width:none !important;
  margin:12px auto 52px !important;
  text-align:center !important;
  padding:34px 42px !important;
}

.gift-copy-block h2,
.gift-copy-block p{
  text-align:center !important;
}

.gift-copy-block p{
  max-width:860px !important;
  margin:0 auto !important;
}

@media(max-width:980px){
  .gift-copy-block{
    width:calc(100% - 34px) !important;
  }
}

@media(max-width:720px){
  .gift-copy-block{
    width:calc(100% - 24px) !important;
    padding:22px !important;
  }
}


/* PORTADA: CÓMO HACER UN PEDIDO */
.how-order-section{
  width:min(1290px, calc(100% - 70px));
  margin:16px auto 46px;
  text-align:center;
}

.how-order-section .section-heading{
  margin-bottom:24px;
}

.how-order-section .section-heading h2{
  margin:0;
  font-size:42px;
  line-height:1;
}

.how-order-section .section-heading p{
  max-width:760px;
  margin:14px auto 0;
  color:#5b4a43;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.65;
}

.how-order-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  align-items:stretch;
}

.how-order-card{
  background:rgba(255,250,245,.94);
  border:1px solid #e2beb6;
  border-radius:14px;
  padding:28px 24px 26px;
  box-shadow:0 8px 22px rgba(80,55,45,.045);
  text-align:center;
}

.how-order-card span{
  width:48px;
  height:48px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--rose-soft);
  color:var(--rose-dark);
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:800;
  font-size:16px;
}

.how-order-card h3{
  margin:0 0 10px;
  color:#302824;
  font-size:25px;
  line-height:1.08;
}

.how-order-card p{
  margin:0;
  color:#5b4a43;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  line-height:1.7;
}

/* IDEAS PARA REGALAR COMO GUÍA */
.gift-guide-intro{
  text-align:center;
  margin:0 auto 24px;
}

.gift-guide-intro h2{
  margin:0 0 10px;
  color:#302824;
  font-size:38px;
  line-height:1;
}

.gift-guide-intro p{
  max-width:760px;
  margin:0 auto;
  color:#5b4a43;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:14px;
  line-height:1.65;
}

.gift-guide-section .gift-card{
  display:flex;
  flex-direction:column;
}

.gift-guide-section .gift-card p{
  margin-bottom:16px;
}

.gift-guide-section .gift-card a{
  margin-top:auto;
}

.email-cta{
  min-width:188px !important;
}

@media(max-width:980px){
  .how-order-section{
    width:calc(100% - 34px);
  }

  .how-order-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .how-order-section{
    width:calc(100% - 24px);
  }

  .how-order-section .section-heading h2,
  .gift-guide-intro h2{
    font-size:33px;
  }
}


/* BUSCADOR TIENDA */
.shop-search-section{
  width:min(1290px, calc(100% - 70px));
  margin:30px auto 22px;
}

.shop-search-form{
  background:rgba(255,250,245,.96);
  border:1px solid rgba(223,184,176,.75);
  border-radius:14px;
  padding:20px 22px;
  box-shadow:0 8px 22px rgba(80,55,45,.045);
}

.shop-search-form label{
  display:block;
  margin:0 0 10px;
  color:#302824;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:26px;
  font-weight:700;
  line-height:1;
  text-align:center;
}

.shop-search-row{
  display:flex;
  gap:10px;
  align-items:center;
}

.shop-search-row input{
  flex:1;
  min-width:0;
  height:46px;
  border:1px solid rgba(223,184,176,.95);
  border-radius:999px;
  padding:0 18px;
  background:#fff;
  color:#302824;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  outline:none;
}

.shop-search-row input:focus{
  border-color:var(--rose);
  box-shadow:0 0 0 3px rgba(191,104,97,.12);
}

.shop-search-row button,
.shop-search-clear{
  height:46px;
  border:0;
  border-radius:999px;
  padding:0 20px;
  background:var(--rose);
  color:#fff;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

.shop-search-clear{
  background:#fff;
  color:var(--rose-dark);
  border:1px solid rgba(223,184,176,.95);
}

.shop-search-status{
  margin:8px 0 0 !important;
  color:#66554e;
  font-family:'Montserrat', Arial, sans-serif;
  font-size:13px;
  text-align:center;
}

@media(max-width:760px){
  .shop-search-section{
    width:calc(100% - 24px);
  }

  .shop-search-row{
    flex-direction:column;
    align-items:stretch;
  }

  .shop-search-row input,
  .shop-search-row button,
  .shop-search-clear{
    width:100%;
  }
}
