:root{
  --ancho:1250px;
  --navy:#10132b;
  --texto:#38324a;
  --vino:#8c0b21;
  --rosa:#ed7c94;
  --rosa-txt:#d84a70;
  --rosa-link:#df5977;
  --rosa-top:#fddee2;
  --rosa-panel:#fef1f2;
  --rosa-circ:#fdedf0;
  --rosa-btn:#fbdbe1;
  --borde-circ:#ebcab7;
  --script:#ab5856;
  --serif-cap:'Cinzel', 'Trajan Pro', serif;
  --serif:'Libre Caslon Text', Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{display:block;max-width:100%}
.container{max-width:var(--ancho);margin-inline:auto;padding-inline:1.25rem}

/* Placeholder: color plano, sin texto ni efectos */
.ph{background:#f1f1f1;font-size:0;line-height:0;overflow:hidden;display:block}

/* Topbar */
.topbar{background:var(--rosa-top);color:var(--vino);font-size:14px;font-weight:500}
.topbar-in{display:flex;align-items:center;height:46px}
.tb-list{display:flex;gap:62px;padding-left:30px}
.tb-list li,.tb-contact{display:flex;align-items:center;gap:7px}
.ic-tb{width:17px;height:17px;flex:none}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:22px;padding-right:12px}
.tb-contact{margin-right:24px}
.ic-soc{width:20px;height:20px}

/* Header */
.header{background:#fff}
.header-in{display:flex;align-items:center;height:122px}
.logo{display:block;padding-left:36px}
.logo-ph{width:180px;height:100px}
.nav{display:flex;gap:39px;margin-left:216px;font-size:15px;font-weight:500}
.nav a:hover{color:var(--rosa-txt)}
.h-icons{margin-left:auto;display:flex;align-items:center;gap:34px;padding-right:6px}
.ic-h{width:28px;height:28px}
.cart{position:relative}
.cart-n{position:absolute;top:-9px;right:-10px;width:19px;height:19px;border-radius:50%;background:#f0506a;color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center}

/* Hero (hero-split-degradado: la foto cubre todo el bloque) */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#fcece9}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-ph{position:absolute;inset:0}
/* El degradado rosa que funde foto y texto viene en la imagen final (no se pinta en CSS). */
.hero-inner{min-height:410px;display:flex;flex-direction:column;justify-content:center;padding-top:28px;padding-bottom:20px}
.hero-inner>*{margin-left:66px}
.hero h1{font-family:var(--serif-cap);font-weight:400;font-size:45px;line-height:1.2;letter-spacing:.035em;text-transform:uppercase;color:var(--navy)}
.hero-sub{font-family:var(--serif-cap);font-size:22px;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa-txt);margin-top:8px}
.btn-hero{align-self:flex-start;margin-top:34px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:236px;height:54px;border-radius:999px;background:var(--rosa);color:#fff;font-size:17px;font-weight:500;box-shadow:0 8px 20px -10px rgba(237,124,148,.7)}
.btn-hero:hover{background:#e56b85}

/* Categorías con icono */
.cats{padding:20px 0 0}
.cats-row{display:flex;justify-content:center}
.cat{width:180px;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:15px;font-weight:600;line-height:1.25;color:var(--navy)}
.circ{width:86px;height:86px;border-radius:50%;background:var(--rosa-circ);border:1px solid var(--borde-circ);display:grid;place-items:center;margin-bottom:12px;transition:transform .2s}
.cat:hover .circ{transform:translateY(-3px)}
.ic-c{width:44px;height:44px}

/* Beneficios */
.benef{padding-top:34px}
.benef-panel{background:var(--rosa-panel);border-radius:14px;height:97px;display:flex;align-items:center;justify-content:space-between;padding:0 34px 0 43px;box-shadow:0 2px 8px -4px rgba(216,74,112,.18)}
.bf{display:flex;align-items:center;gap:26px}
.ic-b{width:48px;height:48px;flex:none}
.bf p{display:flex;flex-direction:column;gap:5px;font-size:15px;line-height:1.2}
.bf strong{font-weight:600;color:var(--navy)}
.bf span{color:var(--texto)}

/* Secciones con título */
.sec{padding-top:26px}
.sec-col{padding-top:44px;padding-bottom:10px}
.sec-head{display:flex;align-items:center;justify-content:space-between;height:46px;margin-bottom:2px}
.sec-head h2{display:flex;align-items:center;gap:16px;font-family:var(--serif);font-weight:700;font-size:27px;color:var(--navy);letter-spacing:-.005em}
.ic-star{width:26px;height:26px}
.ver{font-size:15px;color:var(--rosa-link);display:flex;gap:6px;align-items:center}

/* Tarjetas de categorías */
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.card{background:#fff;border:1px solid #f6eef0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;align-items:center;height:292px;box-shadow:0 2px 10px -6px rgba(16,19,43,.12)}
.card-img{width:100%;height:178px}
.card h3{font-size:18px;font-weight:600;text-align:center;line-height:1.2;flex:1;display:flex;align-items:center;padding:6px 8px 4px}
.btn-card{margin-bottom:14px;width:146px;height:40px;border-radius:999px;background:var(--rosa-btn);display:grid;place-items:center;font-size:14px;font-weight:500;color:var(--navy);flex:none}
.btn-card:hover,.btn-col:hover{filter:brightness(.97)}

/* Colecciones (foto de fondo, título y botón encima) */
.cols{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.col{position:relative;isolation:isolate;height:208px;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 12px 16px;text-align:center}
.col-bg{position:absolute;inset:0;z-index:-1}
.col h3{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;color:#fff;text-shadow:0 1px 8px rgba(40,20,30,.45);margin-bottom:14px}
.btn-col{width:136px;height:36px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:13.5px;font-weight:500;color:var(--navy);box-shadow:0 4px 10px -6px rgba(0,0,0,.35)}

/* Banda final */
.final{position:relative;isolation:isolate;background:var(--rosa-panel);text-align:center;height:124px;display:grid;place-items:center;margin-top:10px}
.final-bg{position:absolute;inset:0;z-index:-1}
.script{font-family:'Pinyon Script',cursive;font-size:42px;color:var(--script);line-height:1.1}
.brand{font-family:var(--serif-cap);font-size:15px;letter-spacing:.5em;text-transform:uppercase;color:#a45a4d;margin-top:6px}

/* Responsive */
@media(max-width:1100px){
  .nav{margin-left:60px}
  .tb-list{gap:28px;padding-left:0}
  .tb-list li:nth-child(2){display:none}
  .benef-panel{height:auto;flex-wrap:wrap;gap:18px;padding:22px}
  .bf{width:calc(50% - 10px)}
}
@media(max-width:820px){
  .tb-list li:not(:first-child),.tb-contact{display:none}
  .tb-list{margin:auto}
  .tb-right{display:none}
  .header-in{height:84px}
  .logo{padding-left:0;margin:auto}
  .logo-ph{width:130px;height:70px}
  .nav{display:none}
  .h-icons{position:absolute;right:1.25rem;gap:16px}
  .h-icons a:nth-child(2){display:none}
  .header-in{position:relative}
  .hero-inner{min-height:340px}
  .hero-inner>*{margin-left:0}
  .hero h1{font-size:26px}
  .hero-sub{font-size:14px}
  .btn-hero{width:190px;height:46px;font-size:15px;margin-top:24px}
  .cats-row{flex-wrap:wrap;row-gap:18px}
  .cat{width:33.33%;font-size:13px}
  .circ{width:66px;height:66px}
  .ic-c{width:36px;height:36px}
  .bf{width:100%}
  .sec-head h2{font-size:21px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .card:last-child{display:none}
  .cols{grid-template-columns:1fr}
  .script{font-size:32px}
}

/* Fotos montadas */
.logo-ph{object-fit:contain}
.hero-ph{width:100%;height:100%;object-fit:cover;object-position:right center}
.card-img,.col-bg,.final-bg{object-fit:cover;width:100%;height:100%}
.card-img{height:178px}
.col-bg{position:absolute;inset:0}
.final-bg{position:absolute;inset:0}

/* Iconos SVG */
.ic-tb,.ic-soc,.ic-h,.ic-c,.ic-b{flex:none}
.ic-soc{color:var(--navy)}
.ic-h{color:var(--navy)}
.ic-c{color:#3a1626;width:46px;height:46px}
.ic-b{color:#3a1626}
.ic-star{width:26px;height:26px;flex:none}

/* Logo en HTML/SVG (nítido a cualquier tamaño) */
.logo-mark{display:flex;flex-direction:column;align-items:center;width:180px;line-height:1}
.logo-const{width:62px;height:35px;margin-bottom:2px}
.logo-u{font-family:var(--serif-cap);font-size:12.5px;letter-spacing:.32em;color:#9a5a52;text-transform:uppercase;margin-right:-.32em}
.logo-a{font-family:var(--serif-cap);font-size:34px;letter-spacing:.09em;color:#b07a4a;text-transform:uppercase;margin-top:4px;margin-right:-.09em}
@media(max-width:820px){.logo-mark{width:140px}.logo-const{width:46px;height:26px}.logo-u{font-size:10px}.logo-a{font-size:26px}}

/* Logo original (imagen del diseño) + títulos del hero más gruesos */
.logo-img{display:block;width:180px;height:auto}
.hero h1{font-weight:500}
.hero-sub{font-weight:500}
@media(max-width:820px){.logo-img{width:140px}}

/* ===== Ficha de producto ===== */
.nav a.on{position:relative;color:var(--navy)}
.nav a.on::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;border-radius:2px;background:var(--rosa)}
.header{border-bottom:1px solid #f0eef0}
.prod{padding-top:26px}
.bread{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:#3d3a4f;margin-bottom:22px}
.bread em{font-style:normal}.bread a:hover{color:var(--rosa-txt)}
.pgrid{display:grid;grid-template-columns:106px minmax(0,580px) minmax(0,1fr);gap:22px 20px;align-items:start}
.thumbs{display:flex;flex-direction:column;gap:12px;align-items:center}
.th{width:106px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;cursor:pointer;line-height:0}
.th img{width:100%;aspect-ratio:106/118;object-fit:cover}
.th.on{border-color:#f39aac;box-shadow:0 0 0 2px #fde3e8}
.th-more{width:32px;height:32px;border-radius:50%;border:0;background:var(--rosa-circ);color:var(--rosa-txt);display:grid;place-items:center;cursor:pointer}
.th-more svg,.chev{width:18px;height:18px}
.pmain img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}
.pinfo{padding-left:14px}
.pcat{font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--rosa-txt)}
.pinfo h1{font-family:'Cormorant Garamond',var(--serif);font-weight:500;font-size:36px;line-height:1.08;color:var(--navy);margin-top:2px}
.ptipo{font-size:16px;letter-spacing:.24em;text-transform:uppercase;color:#4a4860;margin-top:12px}
.prow{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-bottom:20px;border-bottom:1px solid #ece8ec}
.pprecio{font-size:31px;font-weight:700;color:var(--navy)}
.pstars{font-size:15px;color:#6b6878}.pstars span{color:#e0a85a;letter-spacing:1px}
.plead{margin-top:20px;font-size:15.5px;color:#4d4a5f}
.plead.lead-it{font-style:italic}
.pdesc{margin-top:8px;font-size:15.5px;line-height:1.62;color:#4d4a5f}
.pdesc b{color:var(--navy);font-weight:600}
.pbuy{display:flex;gap:20px;margin-top:28px}
.qty{display:flex;align-items:center;justify-content:space-between;width:124px;height:54px;border:1px solid #ece3e6;border-radius:999px;padding:0 14px}
.qty button{border:0;background:none;font-size:22px;color:var(--navy);cursor:pointer;width:22px}
.qty input{width:30px;border:0;text-align:center;font:inherit;font-size:15px;color:var(--navy);background:none}
.btn-cart{flex:1;height:54px;border:0;border-radius:999px;background:#f8a4b3;color:var(--navy);font:inherit;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.btn-cart:hover{background:#f493a5}
.btn-cart svg,.btn-add svg{width:20px;height:20px}
.pbenef{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;padding-bottom:26px;border-bottom:1px solid #ece8ec;text-align:center}
.pb{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;line-height:1.4;color:#4d4a5f}
.pb .ic-b{width:36px;height:36px;color:var(--navy)}
.acc details{border-bottom:1px solid #ece8ec}
.acc summary{list-style:none;display:flex;align-items:center;gap:18px;padding:0 6px 0 14px;height:50px;font-size:15px;font-weight:500;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc .chev{margin-left:auto;transition:transform .2s;color:#555}
.acc details[open] .chev{transform:rotate(180deg)}
.ic-acc{width:24px;height:24px;color:var(--navy);flex:none}
.acc p{padding:0 14px 16px 56px;font-size:14.5px;line-height:1.6;color:#4d4a5f}
.relsec{padding:44px 0 30px}
.relh{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-weight:400;font-size:25px;margin-bottom:22px}
.relh .ic-star{width:32px;height:32px}
.rels{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rel{border:1px solid #f3ecee;border-radius:10px;overflow:hidden;background:#fff}
.rel img{width:100%;aspect-ratio:1/0.8;object-fit:cover}
.rel-b{padding:14px 16px 18px}
.rel-t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa-txt)}
.rel h3{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.25;margin:6px 0 8px}
.rel-p{font-weight:700;font-size:18px}
.btn-add{margin-top:12px;width:100%;height:42px;border:0;border-radius:999px;background:var(--rosa-btn);font:inherit;font-size:14px;font-weight:500;color:var(--navy);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
@media(max-width:1100px){
  .pgrid{grid-template-columns:90px 1fr}
  .pinfo{grid-column:1/-1;padding-left:0}
  .rels{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .pgrid{grid-template-columns:1fr}
  .thumbs{flex-direction:row;order:2;justify-content:center}.th{width:70px}.th-more{display:none}
  .pinfo h1{font-size:30px}
  .pbenef{grid-template-columns:repeat(2,1fr);row-gap:18px}
  .pbuy{gap:10px}
}

/* ===== Páginas internas ===== */
.pband{position:relative;isolation:isolate;background:var(--rosa-panel);overflow:hidden}
.pband-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.pband-in{padding-top:26px;padding-bottom:40px;text-align:center}
.pband .bread{justify-content:center}
.pband h1{font-family:var(--serif-cap);font-weight:500;font-size:42px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.pband p{font-family:var(--serif-cap);font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa-txt);margin-top:8px}
.bigcats{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:30px}
.bigcat{display:flex;align-items:center;gap:30px;background:var(--rosa-panel);border-radius:12px;padding:16px 40px 16px 110px;min-height:96px}
.bigcat .circ{margin:0;background:#fff;width:76px;height:76px}
.bigcat strong{display:block;font-family:var(--serif);font-weight:400;font-size:25px}
.bigcat em{font-style:normal;font-size:15px;color:#4d4a5f}
.bc-go{margin-left:auto;width:54px;height:54px;border-radius:50%;background:var(--rosa-btn);display:grid;place-items:center;font-size:20px}
.hcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hcard{display:grid;grid-template-columns:1fr;background:var(--rosa-panel);border-radius:10px;overflow:hidden}
.hcard img{width:100%;aspect-ratio:1/0.85;object-fit:cover}
.hcard-b{padding:20px 22px 24px;display:flex;flex-direction:column;justify-content:center}
.hcard h3{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.25}
.hp{font-size:24px;font-weight:700;margin-top:10px}
.cols-big .col{height:300px}
.cols-big{grid-template-columns:repeat(3,1fr);gap:18px}
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;padding-top:50px;padding-bottom:20px}
.about-k{font-family:'Pinyon Script',cursive;font-size:34px;color:var(--script)}
.about h2{font-family:var(--serif-cap);font-weight:500;font-size:34px;line-height:1.2;margin:10px 0 18px}
.about p{font-size:17px;line-height:1.6;color:#4d4a5f}
.about .btn-hero{margin-top:26px}
.about-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:40px}
.ccard{background:var(--rosa-panel);border-radius:12px;padding:34px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.ccard .circ{background:#fff;margin-bottom:6px}.ccard svg{width:40px;height:40px;color:#3a1626}
.ccard strong{font-family:var(--serif);font-weight:400;font-size:22px}
.ccard em{font-style:normal;font-size:15px;color:#4d4a5f;word-break:break-word}
@media(max-width:820px){
  .pband h1{font-size:28px}
  .bigcats,.hcards,.about,.ccards{grid-template-columns:1fr}
  .bigcat{padding:16px 20px}
  .hcard{grid-template-columns:1fr}
  .cols-big{grid-template-columns:1fr}
}

/* ===== Carrito ===== */
.btn-add[disabled],.btn-cart[disabled]{opacity:.55;cursor:not-allowed}
.carro-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:14px 22px;border-radius:999px;font-size:14.5px;opacity:0;pointer-events:none;transition:.25s;z-index:50;max-width:calc(100% - 32px);text-align:center}
.carro-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.carro-toast a{color:#ffd0da;font-weight:600;margin-left:8px;text-decoration:underline}
.carro{padding:36px 1.25rem 50px}
.carro h2{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:16px}
.carro-vacio,.carro-ok{text-align:center;max-width:620px;margin:0 auto;padding:30px 0}
.carro-vacio p,.carro-ok p{color:#4d4a5f;margin:6px 0 22px;line-height:1.6}
.carro-vacio .btn-hero,.carro-ok .btn-hero{margin:10px auto 0;display:inline-flex}
.cr-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:34px;align-items:start}
.cr-item{display:grid;grid-template-columns:76px 1fr auto 90px 30px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #ece8ec}
.cr-item img{width:76px;height:76px;object-fit:cover;border-radius:8px}
.cr-nom{font-weight:600;display:block}.cr-pu{font-size:14px;color:#6b6878}
.cr-tot{font-weight:700;text-align:right}
.cr-quitar{border:0;background:none;font-size:22px;color:#8a8696;cursor:pointer}
.cr-item .qty{width:110px;height:42px}
.cr-form{background:var(--rosa-panel);border-radius:14px;padding:26px}
.cr-form label{display:block;font-size:14px;font-weight:500;margin-bottom:12px}
.cr-form input,.cr-form textarea{display:block;width:100%;margin-top:5px;padding:11px 14px;border:1px solid #ead9de;border-radius:10px;font:inherit;font-size:15px;background:#fff}
.cr-trampa{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.cr-pago{display:grid;gap:4px;font-size:14px;color:#4d4a5f;margin:6px 0 16px;line-height:1.5}
.cr-pago strong{color:var(--navy);margin-top:6px}
.cr-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ead9de;padding-top:14px;margin-bottom:16px;font-size:17px}
.cr-total b{font-size:24px}
.cr-error{color:#c0264b;font-size:14px;margin-bottom:12px}
.cr-form .btn-cart{width:100%}
.cr-banco{background:var(--rosa-panel);border-radius:14px;padding:22px 26px;text-align:left;margin:10px 0 20px}
.cr-banco h3{font-family:var(--serif);font-weight:400;font-size:20px;margin-bottom:12px}
.cr-banco dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:15px}
.cr-banco dt{color:#6b6878}.cr-banco p{margin:14px 0 0;font-size:14px}
@media(max-width:820px){
  .cr-grid{grid-template-columns:1fr}
  .cr-item{grid-template-columns:60px 1fr 30px;grid-template-areas:"img info x" "img qty tot"}
  .cr-item>a{grid-area:img}.cr-info{grid-area:info}.cr-quitar{grid-area:x}.cr-item .qty{grid-area:qty}.cr-tot{grid-area:tot}
  .cr-item img{width:60px;height:60px}
}
