/* Diseño 1 · estilos de la página principal */
body{margin:0;background:#F8F3EA}
a{color:#5C1A2B}a:hover{color:#84591B}
.d1,.d1 *{box-sizing:border-box}
.d1{font-family:'Figtree','Segoe UI',Arial,sans-serif;color:#2A1A1C;background:#F8F3EA;font-size:17px;line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}
.d1 img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding-left:clamp(20px,4.5vw,56px);padding-right:clamp(20px,4.5vw,56px)}
.serif{font-family:'Fraunces RN',Georgia,'Times New Roman',serif}
.eyebrow{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#84591B;display:flex;align-items:center;gap:10px}
.h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.06;font-weight:500;letter-spacing:-.015em;color:#3A0F1B;text-wrap:balance}
.h2 em,.h1 em{font-style:italic;font-weight:400;color:#84591B}
.sub{margin:18px 0 0;max-width:56ch;color:#5D4C48;font-size:18px;text-wrap:pretty}
.centro{text-align:center;display:flex;flex-direction:column;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;font-weight:600;font-size:16.5px;line-height:1;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .3s,background .3s,color .3s,box-shadow .3s}
.btn svg{transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}
.btn-vino{background:#5C1A2B;color:#FFF4E2}
.btn-vino:hover{background:#3A0F1B;color:#FFF4E2;transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(92,26,43,.6)}
.btn-linea{border-color:#5C1A2B;color:#5C1A2B;background:transparent}
.btn-linea:hover{background:#5C1A2B;color:#FFF4E2}
.btn-oro{background:#E7C98A;color:#3A0F1B}
.btn-oro:hover{background:#FFF4E2;color:#3A0F1B;transform:translateY(-2px)}
.pulso{width:10px;height:10px;border-radius:50%;background:#B9D56C;flex:none;box-shadow:0 0 0 0 rgba(185,213,108,.65)}
.aviso{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:46px;padding-top:9px;padding-bottom:9px;font-size:14.5px}
.aviso-link{margin-left:auto;color:#E7C98A;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.aviso-link:hover{color:#FFF4E2}
.cab{display:flex;align-items:center;gap:28px;min-height:108px}
.nav{display:flex;gap:30px;margin-left:auto}
.nav-a{position:relative;color:#2A1A1C;text-decoration:none;font-weight:500;font-size:16px;padding:12px 0}
.nav-a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1.5px;background:#84591B;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav-a:hover::after,.nav-a.is-on::after{transform:scaleX(1)}
.cab-acc{display:flex;align-items:center;gap:10px}
.ico-btn{position:relative;width:48px;height:48px;border-radius:50%;border:1px solid #DCCDB8;background:transparent;color:#3A0F1B;display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.ico-btn:hover{background:#5C1A2B;border-color:#5C1A2B;color:#FFF4E2}
.cuenta{position:absolute;right:-4px;top:-4px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#84591B;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.cab-entrar{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;color:#3A0F1B;text-decoration:none;font-weight:600;font-size:16px}
.burger{display:none}
.hero-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.h1{margin:0;font-size:clamp(44px,6.1vw,86px);line-height:1;font-weight:500;letter-spacing:-.025em;color:#3A0F1B;text-wrap:balance}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.datos{display:flex;flex-wrap:wrap;gap:14px 40px;margin:48px 0 0;padding:26px 0 0;list-style:none;border-top:1px solid #DCCDB8}
.datos li{display:flex;flex-direction:column;gap:2px}
.datos b{font-family:'Fraunces RN',Georgia,serif;font-weight:500;font-size:30px;line-height:1.1;color:#5C1A2B}
.datos span{font-size:14px;color:#5D4C48}
.arte{position:relative;min-height:650px}
.arco{position:absolute;right:0;top:14px;width:min(86%,440px);height:600px;border-radius:220px 220px 26px 26px;overflow:hidden;box-shadow:0 44px 70px -44px rgba(58,15,27,.6)}
.arco img{width:100%;height:100%;object-fit:cover;object-position:40% 60%}
.arco-linea{position:absolute;right:-14px;top:0;width:calc(min(86%,440px) + 28px);height:628px;border:1.5px solid #C19A4E;border-radius:234px 234px 40px 40px;pointer-events:none}
.redonda{position:absolute;left:0;top:78px;width:158px;height:158px;border-radius:50%;overflow:hidden;border:7px solid #F8F3EA;box-shadow:0 20px 32px -20px rgba(58,15,27,.65)}
.redonda img{width:100%;height:100%;object-fit:cover}
.sello{position:absolute;left:4px;bottom:0;width:152px;height:152px}
.sello-ico{position:absolute;inset:0;display:grid;place-items:center;color:#E7C98A}
.flot{position:absolute;right:-22px;bottom:70px;width:266px;display:flex;flex-direction:column;gap:8px;padding:20px 22px;background:#FFFDF8;border-radius:20px;text-decoration:none;color:#2A1A1C;box-shadow:0 30px 50px -28px rgba(58,15,27,.55);transition:transform .35s}
.flot:hover{transform:translateY(-6px);color:#2A1A1C}
.flot-top{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4E5E22}
.flot-top .pulso{background:#7E9A2F}
.flot-ver{font-size:14.5px;font-weight:600;color:#84591B;display:inline-flex;align-items:center;gap:6px}
.cinta{background:#5C1A2B;color:#F3E2C4;overflow:hidden;padding:20px 0}
.cinta-pista{display:flex;width:max-content}
.cinta-i{display:inline-flex;align-items:center;gap:40px;padding-right:40px;font-size:25px;font-style:italic;font-weight:400;white-space:nowrap}
.rombo{width:8px;height:8px;background:#C19A4E;transform:rotate(45deg);flex:none}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:24px}
.cat{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 22px 28px;background:#FFFDF8;border:1px solid #E6DACA;border-radius:24px;text-decoration:none;color:#2A1A1C;transition:transform .4s,box-shadow .4s,color .4s,border-color .4s}
.cat::before{content:"";position:absolute;inset:0;z-index:-1;background:#5C1A2B;transform:translateY(-101%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cat:hover::before{transform:none}
.cat:hover{color:#FFF4E2;transform:translateY(-8px);border-color:#5C1A2B;box-shadow:0 30px 44px -28px rgba(58,15,27,.7)}
.cat-img{width:132px;height:132px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px #F8F3EA,0 0 0 7px #DCCDB8;transition:transform .6s}
.cat-img img{width:100%;height:100%;object-fit:cover}
.cat:hover .cat-img{transform:scale(1.07) rotate(-5deg)}
.cat-n{margin-top:22px;font-size:27px;line-height:1.1;font-weight:500}
.cat-c{margin-top:6px;font-size:14.5px;opacity:.8}
.cat-go{margin-top:18px;width:44px;height:44px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;transition:transform .4s}
.cat:hover .cat-go{transform:translateX(6px)}
.tit-fila{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:44px}
.enlace{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;text-decoration:none;color:#5C1A2B;border-bottom:1.5px solid #C19A4E}
.enlace:hover{color:#84591B}
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:26px}
.prod{display:flex;flex-direction:column;background:#FFFDF8;border:1px solid #E6DACA;border-radius:22px;overflow:hidden;transition:transform .4s,box-shadow .4s}
.prod:hover{transform:translateY(-8px);box-shadow:0 34px 46px -32px rgba(58,15,27,.6)}
.prod-img{position:relative;aspect-ratio:3/2;overflow:hidden}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.prod:hover .prod-img img{transform:scale(1.09)}
.prod-badge{position:absolute;left:14px;top:14px;padding:8px 12px;border-radius:999px;background:#F8F3EA;color:#5C1A2B;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.prod-b{display:flex;flex-direction:column;flex:1;padding:20px 20px 18px}
.prod-s{display:block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6A5853;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-n{margin:8px 0 0;font-size:24px;line-height:1.14;font-weight:500;color:#3A0F1B;min-height:55px}
.prod-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;border-top:1px dashed #DCCDB8}
.precio{font-weight:700;font-size:17px;color:#5C1A2B;white-space:nowrap}
.candado{display:inline-flex;align-items:center;gap:7px;font-size:14px;line-height:1.25;color:#5D4C48}
.mas{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:#5C1A2B;color:#FFF4E2;display:grid;place-items:center;cursor:pointer;transition:transform .35s,background .35s}
.mas:hover{background:#84591B;transform:rotate(90deg)}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:38px}
.tab{min-height:52px;padding:0 22px;border-radius:999px;border:1.5px solid #D9C8B0;background:transparent;color:#3A0F1B;font-family:inherit;font-weight:600;font-size:16.5px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .3s,color .3s,border-color .3s}
.tab:hover{border-color:#5C1A2B}
.tab.is-on{background:#5C1A2B;border-color:#5C1A2B;color:#FFF4E2}
.tab-n{font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:#EFE4D2;color:#5C1A2B}
.tab.is-on .tab-n{background:#7B2D41;color:#FFE9C2}
.lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));column-gap:64px;row-gap:4px;margin-top:46px}
.fila{display:flex;align-items:center;gap:18px;padding:14px 12px;border-radius:18px;transition:background .3s}
.fila:hover{background:#F8F3EA}
.fila-img{width:78px;height:78px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 4px #FFFDF8,0 0 0 5px #DCCDB8;transition:transform .6s}
.fila:hover .fila-img{transform:scale(1.1) rotate(-6deg)}
.fila-t{flex:1;min-width:0}
.fila-l{display:flex;align-items:baseline;gap:12px}
.fila-n{margin:0;font-size:21px;line-height:1.2;font-weight:500;color:#3A0F1B}
.puntos{flex:1;min-width:18px;border-bottom:2px dotted #CDBBA4;transform:translateY(-5px)}
.fila-s{display:block;margin-top:3px;font-size:14px;color:#6A5853}
.fila-c{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;color:#84591B;white-space:nowrap}
.mas-s{width:44px;height:44px;background:transparent;color:#5C1A2B;border:1.5px solid #D9C8B0}
.mas-s:hover{background:#5C1A2B;border-color:#5C1A2B;color:#FFF4E2}
.dia{position:relative;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:56px;align-items:center;padding:60px;background:#5C1A2B;border-radius:36px;color:#F3E2C4}
.dia-plato{position:relative;width:100%;max-width:320px;aspect-ratio:1;justify-self:center}
.dia-plato img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 8px #5C1A2B,0 0 0 9.5px #C19A4E,0 40px 50px -30px rgba(0,0,0,.6)}
.dia-menus{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;margin-top:30px}
.dia-m{display:flex;flex-direction:column;gap:4px;padding:22px 24px;border-radius:20px;background:#6C2638;border:1px solid #8A4254}
.dia-k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#E7C98A}
.dia-m strong{font-family:'Fraunces RN',Georgia,serif;font-weight:500;font-size:26px;line-height:1.15;color:#FFF4E2}
.dia-m span{font-size:15px}
.dia-p{margin-top:10px;font-weight:700;color:#E7C98A}
.dia-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px}
.dia-nota{display:inline-flex;align-items:center;gap:8px;font-size:15px}
.ev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:76px;align-items:center}
.pasos{display:flex;flex-direction:column;gap:22px;margin:38px 0 0;padding:0;list-style:none}
.pasos li{display:flex;gap:18px;align-items:flex-start}
.paso-n{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid #C19A4E;display:grid;place-items:center;font-size:22px;font-weight:500;color:#5C1A2B}
.pasos strong{display:block;font-size:18.5px;color:#3A0F1B}
.pasos span{color:#5D4C48;font-size:16px}
.cal{background:#FFFDF8;border:1px solid #E6DACA;border-radius:30px;padding:30px;box-shadow:0 44px 64px -50px rgba(58,15,27,.6)}
.cal-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-mes{margin:0;font-size:27px;font-weight:500;color:#3A0F1B}
.cal-nav{display:flex;gap:8px}
.cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-d{font-size:12px;font-weight:700;letter-spacing:.1em;text-align:center;color:#6A5853;padding:8px 0}
.d{aspect-ratio:1;min-height:44px;border-radius:50%;border:0;background:transparent;font-family:inherit;font-weight:600;font-size:15.5px;color:#2A1A1C;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.d:hover{background:#EFE4D2}
.d.sel{background:#5C1A2B;color:#FFF4E2;transform:scale(1.06)}
.d.no{color:#8F7F78;text-decoration:line-through;cursor:not-allowed;background:transparent}
.leyenda{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;font-size:13.5px;color:#5D4C48}
.leyenda span{display:inline-flex;align-items:center;gap:7px}
.ley{width:12px;height:12px;border-radius:50%;display:inline-block}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:14px;margin-top:22px;padding-top:22px;border-top:1px dashed #DCCDB8}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:13.5px;font-weight:600;color:#5D4C48}
.campo input,.campo select{height:52px;border-radius:14px;border:1.5px solid #DCCDB8;background:#fff;padding:0 14px;font-family:inherit;font-size:16px;font-weight:500;color:#2A1A1C;width:100%}
.campo input:focus,.campo select:focus{outline:2px solid #C19A4E;outline-offset:2px}
.elegida{margin:20px 0 16px;font-size:15.5px;color:#5D4C48}
.elegida b{color:#3A0F1B}
.cta4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;margin-top:48px}
.c4{position:relative;padding:30px 26px 28px;background:#FFFDF8;border:1px solid #E6DACA;border-radius:22px;transition:transform .4s,border-color .4s}
.c4:hover{transform:translateY(-6px);border-color:#C19A4E}
.c4-n{font-size:54px;line-height:1;font-weight:400;font-style:italic;color:#C9B187}
.c4 h3{margin:14px 0 8px;font-size:23px;line-height:1.15;font-weight:500;color:#3A0F1B}
.c4 p{margin:0;font-size:16px;color:#5D4C48}
.pie{background:#3A0F1B;color:#E9D8C2}
.pie-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:60px 0;border-bottom:1px solid #5A2433}
.pie-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:40px;padding:56px 0}
.pie h4{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#E7C98A}
.pie ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.pie-a{display:inline-flex;align-items:center;gap:10px;min-height:40px;color:#E9D8C2;text-decoration:none;font-size:16px}
.pie-a:hover{color:#E7C98A}
.pie-fin{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:22px 0;border-top:1px solid #5A2433;font-size:14px;color:#D1BBA6}
@keyframes sube{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@keyframes giro{to{transform:rotate(360deg)}}
@keyframes corre{to{transform:translateX(-50%)}}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(185,213,108,.6)}80%,100%{box-shadow:0 0 0 12px rgba(185,213,108,0)}}
@keyframes entraP{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes entraB{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes entraD{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes entraK{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:no-preference){
.pulso{animation:pulso 1.9s ease-out infinite}
.sello > svg{animation:giro 28s linear infinite}
.cinta-pista{animation:corre 46s linear infinite}
.cinta:hover .cinta-pista{animation-play-state:paused}
.lista-p .fila{animation:entraP .55s both}
.lista-b .fila{animation:entraB .55s both}
.lista-d .fila{animation:entraD .55s both}
.lista-k .fila{animation:entraK .55s both}
.lista .fila:nth-child(2){animation-delay:.05s}.lista .fila:nth-child(3){animation-delay:.1s}.lista .fila:nth-child(4){animation-delay:.15s}
.lista .fila:nth-child(5){animation-delay:.2s}.lista .fila:nth-child(6){animation-delay:.25s}.lista .fila:nth-child(7){animation-delay:.3s}.lista .fila:nth-child(8){animation-delay:.35s}
@supports (animation-timeline:view()){
.rv{animation:sube linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
}
}
@media (max-width:1100px){.cab-cta{display:none}}
@media (max-width:900px){
.nav,.cab-entrar span{display:none}
.burger{display:grid}
.cab{min-height:84px;gap:12px}
.cab-acc{margin-left:auto}
.cab-logo img{height:68px !important}
.hero-g,.ev{grid-template-columns:minmax(0,1fr);gap:44px}
.arte{min-height:520px}
.arco{width:74%;height:470px;top:10px}
.arco-linea{width:calc(74% + 20px);height:490px;right:-10px}
.redonda{width:118px;height:118px;top:54px}
.sello{width:118px;height:118px}
.sello > svg{width:118px;height:118px}
.flot{right:0;bottom:36px;width:230px}
.dia{grid-template-columns:minmax(0,1fr);padding:36px 24px;gap:30px}
.dia-plato{max-width:220px}
.cal{padding:20px}
.aviso-det{display:none}
}
@media (max-width:600px){
.cats,.prods{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cat{padding:22px 12px 20px;border-radius:18px}
.cat-img{width:96px;height:96px}
.cat-n{font-size:21px;margin-top:16px}
.cat-go{display:none}
.prod{border-radius:18px}
.prod-b{padding:14px 14px 12px}
.prod-n{font-size:18.5px;min-height:42px}
.prod-badge{left:10px;top:10px;font-size:10px;padding:6px 9px}
.candado{font-size:13px}
.mas{width:44px;height:44px}
.fila{gap:12px;padding:12px 4px}
.fila-img{width:62px;height:62px}
.fila-n{font-size:18.5px}
.puntos{display:none}
.fila-l{justify-content:space-between}
.datos{gap:14px 26px}
.datos b{font-size:25px}
}
