:root{--bg:#2E2A2B;--paper:#F6EFE7;--wine:#64152F;--wine2:#64152F;--wine-accent:#9B3A4A;--rose:#D9B7A3;--gold:#C7A56A;--ink:#2E2A2B;--muted:#746a64;--space-sm:12px;--space-md:20px;--space-lg:32px;--section-space:clamp(48px,6vw,72px);--font-serif:"Times New Roman",Times,Georgia,serif;--font-sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:white;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1120px,calc(100% - 32px));margin:auto}.topbar{height:68px;border-bottom:1px solid #d9b7a326;position:-webkit-sticky;position:sticky;top:0;background:#2e2a2bfa;z-index:20}.topbar,.topbarInner{display:flex;align-items:center;justify-content:space-between}.topbarInner{gap:20px}.brand{display:inline-flex;align-items:center;min-height:36px;font-family:var(--font-serif);font-size:24px;white-space:nowrap}.brand span{margin-left:.18em;color:var(--gold)}.headerActions{display:flex;align-items:center;gap:10px}.btn,.menuBtn{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:700}.menuBtn{background:#ffffff10;color:white}.btn{background:var(--wine);color:white;transition:background .2s ease,transform .2s ease}.btn:hover{background:var(--wine-accent)}.btn.secondary,.heroSecondary{background:var(--ink)}.heroSecondary{border:1px solid #d9b7a370;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.heroSecondary:hover{background:#2e2a2be8}.heroCarousel{position:relative;height:76vh;min-height:540px;max-height:760px;overflow:hidden;background:var(--ink);isolation:isolate;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.heroSlide,.heroSlides{position:absolute;inset:0}.heroSlide{display:flex;align-items:center;opacity:0;pointer-events:none;background-image:var(--hero-image);background-position:var(--hero-position,center);background-size:cover;transition:opacity .9s ease}.heroSlide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2e2a2bf2,#2e2a2bd9 34%,#2e2a2b66 58%,#2e2a2b00 80%)}.heroSlide.isActive{opacity:1;pointer-events:auto;z-index:1}.heroContent{position:relative;z-index:1;padding-top:56px;padding-bottom:56px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:800}.light .eyebrow{color:var(--wine-accent)}h1,h2,h3{font-family:var(--font-serif);margin:0}h1{font-size:clamp(52px,7vw,88px);max-width:800px;line-height:.96;letter-spacing:-.035em}.heroCarousel h1{text-wrap:balance;font-size:clamp(44px,5.2vw,66px);max-width:650px;margin-top:12px;line-height:1.08;letter-spacing:-.03em}.heroCarousel p{font-size:19px;color:var(--rose);max-width:54ch;margin:20px 0;line-height:1.55}.heroActions{display:flex;gap:10px;flex-wrap:wrap}.heroActions .btn{display:inline-flex}.carouselArrow,.heroActions .btn{align-items:center;justify-content:center}.carouselArrow{display:flex;padding:0;line-height:0}.carouselArrow svg{display:block;flex:none}.heroArrow{position:absolute;z-index:4;top:50%;width:42px;height:42px;transform:translateY(-50%);border:1px solid #d9b7a35c;border-radius:50%;background:#2e2a2b73;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transition:background .2s ease,border-color .2s ease}.heroArrow:hover{background:var(--wine);border-color:#d9b7a399}.heroArrowPrev{left:22px}.heroArrowNext{right:22px}.heroDots{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%)}.carouselDots,.heroDots{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.carouselDots button,.heroDots button{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.carouselDots button:before,.heroDots button:before{content:"";width:8px;height:8px;border:1px solid #f6efe7b3;border-radius:999px;transition:width .2s ease,background .2s ease}.carouselDots button.isActive:before,.heroDots button.isActive:before{width:22px;background:var(--rose)}.section{padding:var(--section-space) 0}.light{background:var(--paper);color:var(--ink)}.section h2{text-wrap:balance;line-height:1.1;font-size:clamp(36px,5vw,58px);margin-top:7px}.sectionIntro{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:70px;gap:70px;align-items:center}.sectionIntro>p{margin:0;color:#685f59;line-height:1.75;font-size:17px}.serviceCards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-top:38px}.serviceCards article{padding:30px;border:1px solid #d9b7a370;border-radius:20px;background:#ffffff80;min-height:245px}.serviceCards article>span{display:block;color:var(--wine);font-weight:900;font-size:12px;letter-spacing:.12em;margin-bottom:44px}.serviceCards h3{font-size:27px}.serviceCards p{color:#6b625c;line-height:1.65;margin-bottom:0}#propuesta{padding-block:var(--section-space)}#propuesta .sectionIntro{gap:52px}#propuesta .sectionIntro h2{font-size:clamp(30px,3.5vw,41px)}#propuesta .sectionIntro>p{font-size:16px;line-height:1.65}#propuesta .serviceCards{margin-top:24px}#propuesta .serviceCards article{padding:24px;min-height:0}#propuesta .serviceCards article>span{font-size:10px;letter-spacing:.1em;margin-bottom:17px;opacity:.78}#propuesta .serviceCards h3{font-size:22px}#propuesta .serviceCards p{font-size:15px;line-height:1.65}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;margin-top:32px;align-items:stretch}.card{display:flex;flex-direction:column;height:100%;border-radius:22px;overflow:hidden;background:var(--ink);border:1px solid #d9b7a333;box-shadow:0 18px 45px #0003;transition:transform .25s ease,border-color .25s ease}.card:hover{border-color:#d9b7a373}.light .card{background:white;border-color:#00000010}.cardBody{display:flex;flex:1 1;flex-direction:column;padding:24px;gap:4px}.card h3{font-size:28px;line-height:1.15;text-wrap:balance}.cardImageLink{display:block;position:relative;width:100%;aspect-ratio:4/5;flex:none;overflow:hidden;border-radius:21px 21px 0 0;background:var(--ink)}.cardImage{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--card-image-position,center);transition:transform .5s ease;filter:saturate(.9)}@media(hover:hover){.card:hover .cardImage{transform:scale(1.025)}}.cardDate{position:absolute;left:16px;bottom:16px;padding:8px 12px;border-radius:999px;background:#2e2a2be8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.meta{color:var(--rose);line-height:1.5;margin:10px 0}.light .meta{color:#6f6660}.pill{display:inline-block;background:#ffffff12;border:1px solid #ffffff25;padding:6px 10px;border-radius:999px;font-size:12px;margin:8px 6px 0 0}.availability{font-weight:800;color:var(--gold);margin-bottom:16px}.cardAvailability.isLow{color:#e2b461}.cardAvailability.isSoldOut{align-self:flex-start;padding:6px 10px;border:1px solid #9b3a4a73;border-radius:999px;background:#9b3a4a24;color:var(--rose);font-size:13px}.cardBody .btn{align-self:flex-start;margin-top:auto}.tastingCarousel{position:relative;margin-top:24px}.tastingCarouselControls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.tastingCarouselControls button{width:44px;height:44px;border:1px solid #d9b7a35c;border-radius:50%;background:#ffffff0b;color:var(--paper);cursor:pointer;opacity:1;visibility:visible;transition:background .2s ease,border-color .2s ease,opacity .2s ease,visibility 0s}.tastingCarouselControls button:hover:not(:disabled){background:var(--wine);border-color:#d9b7a399}.tastingCarouselControls button:disabled{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s .2s}.tastingCarouselViewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;cursor:-webkit-grab;cursor:grab;touch-action:pan-x pan-y}.tastingCarouselViewport.isDragging{cursor:-webkit-grabbing;cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tastingCarouselViewport::-webkit-scrollbar{display:none}.tastingCarouselTrack{display:flex;align-items:stretch;gap:22px}.tastingCarouselSlide{display:flex;flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 44px)/3);scroll-snap-align:start;scroll-snap-stop:always}.tastingCarouselSlide .card{width:100%}.tastingCarouselDots{margin-top:16px}.viewAllTastings{display:block;width:max-content;margin:18px auto 0;color:var(--rose);font-size:13px;font-weight:800}.drawerBackdrop{inset:0;background:#050303b8;z-index:40;opacity:0;transition:opacity .2s ease,visibility 0s .2s}.drawer,.drawerBackdrop{position:fixed;visibility:hidden;pointer-events:none}.drawer{left:0;top:0;bottom:0;width:480px;max-width:100vw;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9b7a34d transparent;background:linear-gradient(160deg,#64152f47 0,var(--ink) 62%);z-index:41;padding:20px 26px 18px;display:flex;flex-direction:column;box-shadow:30px 0 80px #000a;border-right:1px solid #d9b7a326;transform:translateX(-100%);transition:transform .28s ease,visibility 0s .28s}.drawer::-webkit-scrollbar{width:5px}.drawer::-webkit-scrollbar-thumb{border-radius:999px;background:#d9b7a34d}.drawerHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid #ffffff17}.drawerHeader .brand{font-size:20px}.drawerClose{width:44px;height:44px;display:grid;flex:none;place-items:center;border:1px solid #ffffff20;border-radius:50%;background:#ffffff0c;color:#fff;font-size:17px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.drawerClose:focus-visible,.drawerClose:hover{background:#ffffff16;border-color:#d9b7a370}.drawerBackdrop.isOpen{opacity:1}.drawer.isOpen,.drawerBackdrop.isOpen{visibility:visible;pointer-events:auto;transition-delay:0s}.drawer.isOpen{transform:translateX(0)}.drawerNav{display:flex;flex-direction:column;margin-top:11px}.drawerNavItem{display:grid;width:100%;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:13px;gap:13px;padding:9px 4px;border:0;border-bottom:1px solid #d9b7a31f;background:transparent;color:#fff;text-align:left;font-family:var(--font-serif);font-size:22px;line-height:1.2;cursor:pointer;transition:color .2s ease,background .2s ease}.drawerNavItem:focus-visible,.drawerNavItem:hover{color:var(--gold);background:#ffffff05}.drawerNavDisabled{cursor:default;color:#ffffff85}.drawerNavDisabled:hover{padding-left:4px;color:#ffffff85;background:transparent}.drawerNumber{font-family:var(--font-sans);font-size:10px;color:var(--gold);letter-spacing:.12em}.drawerLabel{min-width:0}.drawerAction{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;color:var(--gold);font-family:var(--font-sans);font-size:9px;font-weight:800;line-height:1.2;letter-spacing:.1em;text-align:right;text-transform:uppercase;white-space:nowrap}.drawerAction span{font-size:14px;font-weight:400;line-height:1}.drawerCatas{position:relative;box-shadow:inset 2px 0 var(--wine-accent);background:#64152f1f}.drawerCatas .drawerLabel{color:#f0c980;font-weight:700}.drawerPriority{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #d9b7a316}.drawerChevron{color:var(--gold);font-size:25px;font-weight:300}.drawerChevron,.drawerSeason{font-family:var(--font-sans);line-height:1}.drawerSeason{padding:4px 7px;border:1px solid #d9b7a33d;border-radius:999px;color:var(--rose);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.drawerSubmenu{padding-top:15px}.drawerBack{min-height:40px;margin-left:-7px;padding:7px;border:0;background:transparent;color:var(--rose);font-size:13px;font-weight:800;cursor:pointer}.drawerBack:focus-visible,.drawerBack:hover{color:var(--gold)}.drawerSubmenu>.eyebrow{margin-top:16px}.drawerSubmenu h2{margin:5px 0 14px;font-size:38px}.drawerSubnav{display:flex;flex-direction:column;border-top:1px solid #d9b7a31f}.drawerSubItem{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:13px 3px;border:0;border-bottom:1px solid #d9b7a31f;background:transparent;color:#fff;text-align:left;font-family:var(--font-serif);font-size:21px}.drawerSubItem span{font-family:var(--font-sans);font-size:9px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}.drawerSubItem:disabled{color:#ffffff73;cursor:not-allowed}.drawerSubItem:disabled span{color:#d9b7a35c}.drawerViewAll{margin-top:7px;color:var(--gold);font-weight:700;transition:padding-left .2s ease,color .2s ease}.drawerViewAll:focus-visible,.drawerViewAll:hover{padding-left:9px;color:#fff}.drawerFooter{margin-top:auto;padding-top:15px;border-top:1px solid #d9b7a326}.drawerFooter p{color:var(--rose);line-height:1.45;font-size:12px;margin:6px 0 9px}.adminMenuLink{font-size:12px;color:#d9b7a3b8;text-decoration:underline;text-underline-offset:3px}@keyframes drawerIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes drawerPanelIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.formCard{width:100%;background:var(--paper);color:var(--ink);padding:20px;border-radius:22px;max-width:820px;margin:25px auto 0}.formGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 14px;gap:12px 14px;margin-top:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #d9b7a38a;padding:10px 12px;border-radius:11px;background:#ffffffbf;color:var(--ink)}.field textarea{min-height:72px;resize:vertical}.reservationSubmit{grid-column:1/-1;justify-self:start;min-width:240px}.adminShell{min-height:100vh;background:#f5f2ed;color:#201b19}.adminNav{padding:18px 0;background:#241a19;color:white}.adminContent{padding:32px 0 80px}.adminTable{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.adminTable td,.adminTable th{padding:13px;border-bottom:1px solid #eee;text-align:left}.adminTable th{background:#f1ece6}.actions{display:flex;gap:8px;flex-wrap:wrap}.loginWrap{min-height:100vh;display:grid;place-items:center;background:#171413}.loginCard{width:min(420px,calc(100% - 32px));background:white;color:#222;padding:28px;border-radius:22px}.loginRecoveryLink{display:block;margin:14px auto 0;padding:4px;border:0;background:transparent;color:var(--wine);font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.loginRecoveryLink:disabled{cursor:wait;opacity:.6}.resetPasswordCard h1{margin-top:5px;font-size:38px;line-height:1.05}.authFullButton{display:flex;width:100%;align-items:center;justify-content:center;margin-top:18px}.authMessage{margin-top:16px;padding:11px 13px;border-radius:10px;background:#efe8df;color:#665d57;font-size:14px;line-height:1.45}.authMessage.isSuccess{border:1px solid #7ca889;background:#e2f0e6;color:#176a35}.authMessage.isError{border:1px solid #c89191;background:#f5e5e5;color:#7b2636}.authInvalidState,.authSuccessState{margin-top:18px}.authInvalidState .authMessage,.authSuccessState .authMessage{margin-top:0}.notice{padding:12px 14px;background:#efe6d6;border-radius:10px;margin:14px 0}.formIntro{color:#6d635e;line-height:1.5;margin:7px 0 0}.reservationCreated{margin-top:14px}.reservationCreated>h4{font-family:var(--font-serif);font-size:clamp(24px,3vw,30px);line-height:1.15;text-wrap:balance;margin:0 0 6px;color:var(--wine)}.reservationCreated>p{margin:0;color:#6d635e}.paymentSummary{margin-top:14px;padding:16px 18px;border-radius:16px;background:var(--ink);color:#fff}.paymentSummary h4{margin:0 0 7px;font-size:16px}.paymentRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff17}.paymentRow strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.paymentSummary .depositRow{color:#f0c980;font-size:17px}.paymentSummary p{line-height:1.5;margin:14px 0 6px}.paymentSummary .testModeNotice{padding:12px 14px;border:1px dashed #c7a56a88;border-radius:10px;color:#e6c98f}.paymentSummary small{color:#c9bdb6}.whatsappButton{display:inline-flex;align-items:center;justify-content:center;margin:7px 0 14px;padding:11px 17px;border-radius:999px;background:#25d366;color:#092c16;font-weight:900}.whatsappButton:hover{background:#41df7b}.paymentSummary .reservationNextStep{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;margin-top:16px;padding:0;border:0}.reservationNextStep .whatsappButton{margin:0}.reservationDeadline{margin-left:auto;line-height:1.5}.reservationList{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.reservationCard{background:#fff;border:1px solid #e9e2da;border-radius:18px;padding:22px;box-shadow:0 10px 30px #3e27100b}.reservationCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #eee7e0}.reservationCardHeader h3{font-family:Arial,Helvetica,sans-serif;font-size:23px;margin-top:5px}.reservationCode{letter-spacing:.1em;color:#806f64}.reservationCode,.statusBadge{font-size:12px;font-weight:900}.statusBadge{flex:none;padding:7px 11px;border-radius:999px;background:#eee7df;text-transform:uppercase;letter-spacing:.05em}.status-confirmed{background:#dcefe2;color:#176a35}.status-pending_payment{background:#fff0cc;color:#795609}.status-cancelled,.status-expired{background:#eee;color:#666}.status-refunded{background:#e5e2f5;color:#51428b}.reservationInfoGrid{display:grid;grid-template-columns:1.4fr 2fr repeat(4,1fr);grid-gap:18px;gap:18px;padding:18px 0}.reservationInfoGrid div{display:flex;flex-direction:column;gap:4px;min-width:0}.reservationInfoGrid small{color:#7e736d;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.reservationInfoGrid span,.reservationInfoGrid strong{overflow-wrap:anywhere}.reservationNotes{margin:0 0 18px;padding:12px 14px;border-left:3px solid var(--gold);background:#f8f4ef;color:#665b55}.reservationStatusForm{display:flex;flex-direction:column;gap:9px}.reservationStatusForm small{display:block}.quickActions{display:flex;gap:8px;flex-wrap:wrap}.quickActions a,.quickActions button{border:0;border-radius:999px;padding:11px 15px;font-weight:900;cursor:pointer}.whatsappAdminButton{background:#25d366;color:#092c16}.quickConfirm{background:#1f713d;color:#fff}.quickCancel{background:#f0e8e5;color:#7b2636}.quickActions form{margin:0}.reservationDetailedForm{padding-top:10px;border-top:1px solid #eee7e0}.reservationDetailedForm>.actions input{min-width:220px}.reservationDetailedForm>.actions input,.reservationDetailedForm>.actions select{padding:10px;border:1px solid #d6d1cc;border-radius:8px}.emptyState{padding:32px;background:#fff;border-radius:16px;color:#756a64}.actionSuccess{color:#17733a;font-weight:800}.actionError{color:#a32222;font-weight:800;max-width:520px}.imageFieldPreview{margin-top:8px;display:flex;align-items:center;gap:14px;padding:10px;background:#f2ede7;border-radius:14px}.imageFieldPreview img{width:150px;height:90px;object-fit:cover;border-radius:10px}.textButton{border:0;background:none;color:var(--wine);font-weight:800;cursor:pointer}.field small,.fieldMessage{font-size:13px;color:#756d68}.adminFormFeedback{margin-top:14px;padding:10px 13px;border-radius:10px;font-size:14px;font-weight:800}.adminFormFeedback.isSuccess{border:1px solid #7ca889;background:#e2f0e6;color:#176a35}.adminFormFeedback.isError{border:1px solid #c89191;background:#f5e5e5;color:#7b2636}.tastingDetailHero{position:relative;min-height:520px;display:flex;align-items:flex-end;padding:108px 0 54px;background-image:linear-gradient(90deg,#2e2a2bf5 0,#2e2a2bde 46%,#2e2a2b4d 75%),var(--tasting-image);background-size:cover;background-position:50%}.detailIntro{max-width:720px}.detailIntro h1{font-size:clamp(44px,6vw,68px);margin-top:8px}.detailIntro p{font-size:17px;max-width:660px;line-height:1.55;color:#ded4cf;margin:14px 0}.detailFacts{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 14px}.detailFacts span{padding:8px 12px;border:1px solid #ffffff2b;border-radius:999px;background:#0e0b0a88;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;font-weight:700}.detailIntro>.availability{margin-bottom:0}.detailLowAvailability{color:#e2b461}.detailSoldOut{display:inline-block;padding:7px 11px;border:1px solid #d9b7a35c;border-radius:999px;background:#9b3a4a59;color:var(--paper)}.reservationSection{padding:0 0 64px;background:var(--ink)}.reservationSection .formCard{position:relative;margin:-22px auto 0;box-shadow:0 18px 45px #0005}.soldOutNotice{padding:28px}.soldOutNotice .eyebrow{color:var(--wine-accent)}.soldOutNotice h2{margin-top:6px;font-size:36px}.soldOutNotice p{max-width:620px;margin:10px 0 20px;color:#6d635e;line-height:1.55}.categorySection{padding:64px 0;background:linear-gradient(145deg,var(--wine),var(--ink) 78%)}.categoryIntro{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:70px;gap:70px;align-items:end}.categoryIntro h2{font-size:clamp(36px,5vw,54px);margin-top:7px}.categoryIntro>p{max-width:520px;margin:0;color:var(--rose);font-size:16px;line-height:1.65}.categoryGrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid #d9b7a33d;border-left:1px solid #d9b7a33d}.categoryItem{display:flex;min-height:210px;flex-direction:column;padding:25px;border-right:1px solid #d9b7a33d;border-bottom:1px solid #d9b7a33d;scroll-margin-top:88px}.categoryItem>span{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.categoryItem h3{margin-top:11px;font-size:29px}.categoryItem p{margin:10px 0 18px;color:var(--rose);font-size:14px;line-height:1.5}.categoryItem a{color:var(--gold)}.categoryItem a,.categoryLinkDisabled{margin-top:auto;font-size:13px;font-weight:800}.categoryLinkDisabled{color:var(--rose);opacity:.7}.priceListAccess{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:18px 20px;border:1px solid #d9b7a33d;border-radius:16px;background:#ffffff08}.priceListAccess>div{display:flex;flex-direction:column;gap:5px}.priceListAccess strong{font-family:var(--font-serif);font-size:21px}.priceListAccess span{color:var(--rose);font-size:14px}.priceListButton{flex:none;background:var(--ink);border:1px solid #d9b7a35c;font-size:13px}.priceListButton.isDisabled{cursor:not-allowed;opacity:.58}.visitInfo h2{font-size:clamp(40px,5vw,64px);margin-top:10px}.visitSection{padding:64px 0 34px;background:var(--paper);color:var(--ink)}.visitLayout{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:54px;gap:54px;align-items:stretch}.visitInfo{padding:12px 0}.visitInfo .eyebrow{color:var(--wine-accent)}.visitInfo address{display:flex;flex-direction:column;gap:5px;margin:26px 0 18px;font-style:normal;font-size:19px}.visitInfo address strong{font-family:var(--font-serif);font-size:29px}.visitInfo>p{color:#6c625d;line-height:1.7;max-width:520px}.contactActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.contactButton{display:inline-flex;align-items:center;gap:8px;padding:11px 16px}.contactButton svg{flex:none}.secondaryLight{background:var(--ink)}.directionsLink{padding:12px 8px;color:var(--wine);font-weight:900}.contactDetails{display:flex;flex-direction:column;gap:9px;margin-top:22px;font-weight:700}.contactDetails a{display:flex;align-items:center;gap:9px;width:max-content}.contactDetails svg{color:var(--wine);flex:none}.mapFrame{min-height:440px;overflow:hidden;border-radius:22px;background:#ddd;box-shadow:0 18px 45px #4e332218}.mapFrame iframe{display:block;width:100%;height:100%;min-height:440px;border:0}.visitDetails{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;margin-top:34px;padding-top:24px;border-top:1px solid #d9b7a3}.visitDetailBlock{padding:0 34px}.visitDetailBlock:first-child{padding-left:0}.visitDetailBlock+.visitDetailBlock{padding-right:0;border-left:1px solid #d9b7a3}.visitDetailHeading{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:var(--wine)}.visitDetailHeading:after,.visitDetailHeading:before{content:"";height:1px;flex:1 1;background:#d9b7a3}.visitDetailHeading h3{margin:0;font-family:var(--font-sans);font-size:12px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;color:var(--wine)}.visitDetailHeading svg{flex:none}.openingHours{display:grid;grid-gap:0;gap:0;margin:0}.openingHours>div{display:grid;grid-template-columns:minmax(180px,.9fr) 1.1fr;grid-gap:20px;gap:20px;padding:11px 0;border-bottom:1px dashed #d9b7a3}.openingHours>div:last-child{padding-bottom:0;border-bottom:0}.openingHours dt{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:16px;font-weight:700}.openingHours dt svg{color:var(--wine);flex:none}.openingHours dd{margin:0;color:#665d57;line-height:1.45}.paymentMethods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px 34px;gap:20px 34px;margin:0;padding:10px 0 0;list-style:none;color:#504945}.paymentMethods li{display:flex;align-items:center;gap:11px;font-family:var(--font-serif);font-size:16px;line-height:1.35}.paymentMethods li svg{color:var(--wine);flex:none}.siteFooter{padding:32px 0;background:var(--ink);border-top:1px solid #d9b7a326;color:var(--rose)}.footerLayout{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:14px;text-align:center;line-height:1.5}.footerLayout .brand{color:#fff;font-size:28px;line-height:1.2}.footerCopyright{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;padding-inline:54px}.footerSocials{display:flex;align-items:center;gap:12px}.footerSocials a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #c7a56a66;border-radius:50%;color:var(--gold);transition:background .2s ease,color .2s ease}.footerSocials a:hover{background:var(--wine);color:#fff}.floatingWhatsapp{position:fixed;right:28px;bottom:28px;z-index:30;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 12px 35px #0007;transition:transform .2s ease,background .2s ease}.floatingWhatsapp:hover{transform:translateY(-2px);background:#41df7b}@media(max-width:1024px){.drawer{width:66vw;max-width:none}.tastingCarouselSlide{flex-basis:calc((100% - 22px)/2)}}@media(max-width:600px){.drawer{width:100vw;max-width:none;padding:18px 20px 16px}.drawerHeader{padding-bottom:13px}.drawerNavItem{padding:10px 3px;font-size:21px}.drawerSubmenu h2{font-size:34px}}@media(max-height:650px) and (min-width:601px){.drawer{padding-top:14px;padding-bottom:13px}.drawerHeader{padding-bottom:9px}.drawerNav{margin-top:6px}.drawerNavItem{padding-top:6px;padding-bottom:6px;font-size:20px}.drawerFooter{padding-top:9px}.drawerFooter p{margin:4px 0 6px}}@media(max-width:800px){.formGrid,.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.adminTable{display:block;overflow-x:auto}.heroCarousel{height:66svh;min-height:520px;max-height:650px}.heroSlide{align-items:flex-end;background-position:var(--hero-mobile-position,var(--hero-position,center))}.heroSlide:after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.68) 35%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.9))}.heroContent{padding-top:56px;padding-bottom:64px}.heroCarousel h1{font-size:clamp(38px,10.5vw,46px);max-width:440px}.heroCarousel p{font-size:16px;margin:15px 0;line-height:1.5}.heroActions{width:min(100%,280px);flex-direction:column;align-items:stretch}.heroActions .btn{width:100%}.heroArrow{display:none}.heroArrowPrev{left:9px}.heroArrowNext{right:9px}.heroDots{bottom:15px}.cardImageLink{aspect-ratio:4/3}.tastingCarouselSlide{flex-basis:100%}.tastingCarouselControls{display:none}.tastingDetailHero{min-height:520px;padding:94px 0 48px;background-image:linear-gradient(180deg,#2e2a2b66 0,#2e2a2bda 48%,#2e2a2bfc 78%),var(--tasting-image);background-position:50%}.detailIntro h1{font-size:clamp(39px,12vw,56px)}.detailIntro p{font-size:16px}.detailFacts{flex-direction:column;align-items:flex-start}.reservationSection{padding-bottom:48px}.reservationSection .formCard{margin-top:-18px;padding:18px 16px}.reservationSubmit,.whatsappButton{width:100%;min-width:0}.imageFieldPreview{align-items:flex-start;flex-direction:column}.categoryIntro,.sectionIntro,.visitLayout{grid-template-columns:1fr;gap:30px}#propuesta .sectionIntro{gap:24px}.serviceCards{grid-template-columns:1fr}#propuesta .serviceCards article,.serviceCards article{min-height:0}.serviceCards article>span{margin-bottom:25px}.categorySection{padding:52px 0}.categoryGrid{grid-template-columns:1fr;margin-top:28px}.categoryItem{min-height:0;padding:22px}.priceListAccess{align-items:flex-start;flex-direction:column;padding:18px}.priceListButton{width:100%;text-align:center}.mapFrame,.mapFrame iframe{min-height:390px}.visitDetails{grid-template-columns:1fr;gap:26px;margin-top:30px;padding-top:24px}.visitDetailBlock,.visitDetailBlock:first-child{padding:0}.visitDetailBlock+.visitDetailBlock{padding-top:26px;border-top:1px solid #d9b7a3;border-left:0}.openingHours>div{grid-template-columns:minmax(0,1fr) auto;gap:12px}.paymentMethods{grid-template-columns:1fr;gap:10px}.siteFooter{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.footerCopyright{padding-inline:42px}.paymentSummary .reservationNextStep{flex-direction:column;align-items:stretch;gap:14px}.reservationDeadline{text-align:right}.floatingWhatsapp{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:46px;height:46px}.reservationCard{padding:18px}.reservationCardHeader{flex-direction:column}.quickActions,.reservationInfoGrid{grid-template-columns:1fr 1fr}.quickActions{display:grid}.whatsappAdminButton{grid-column:1/-1;text-align:center}.reservationDetailedForm>.actions{display:grid;grid-template-columns:1fr}.reservationDetailedForm>.actions button,.reservationDetailedForm>.actions input,.reservationDetailedForm>.actions select{width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){.drawer,.drawerBackdrop,.heroDots button,.heroSlide,.tastingCarouselControls button{transition:none}}@media(max-width:480px){.topbarInner{gap:8px}.brand{font-size:19px}.headerActions{gap:6px}.menuBtn,.topbar .btn{padding:10px 12px;font-size:14px}.drawer{padding:16px 18px 14px}.drawerNav{margin-top:9px}.drawerNavItem{gap:10px;padding:9px 2px;font-size:20px}.drawerAction{gap:3px;font-size:8px;letter-spacing:.06em}.drawerFooter{padding-top:12px}}.adminShell h1,.adminShell h2,.adminShell h3,.loginCard h2{font-family:Georgia,serif}.fieldError{font-size:13px;color:var(--wine)}.field input[aria-invalid=true]{border-color:var(--wine)}.field{min-width:0}.field input,.field textarea{min-width:0;max-width:100%}@media(max-width:800px){.container{width:calc(100% - 40px)}.heroContent{padding-left:0;padding-right:0}}.topbar:has(.drawer.isOpen){z-index:40}.floatingWhatsapp:focus-visible,:is(.topbar,main,.section,.reservationSection,.siteFooter) :is(a,button,input,textarea):focus-visible{outline:3px solid var(--gold);outline-offset:4px}.reservationSection :is(input,textarea):focus-visible{outline-color:var(--wine);outline-offset:2px}:is(.topbar,main,.section,.reservationSection) .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.3}.menuBtn{min-height:44px}:is(.topbar,main,.section,.reservationSection) .btn:disabled{cursor:wait;opacity:.65}.reservationTitle{font-size:32px;line-height:1.15}.reservationSection .formCard{padding:var(--space-lg)}.reservationSection .formGrid{gap:20px;margin-top:24px}.reservationSection .field label{font-size:14px;font-weight:700}.reservationSection .field input,.reservationSection .field textarea{min-height:46px;font-size:16px}.reservationSection .paymentSummary{padding:24px;margin-top:24px}.reservationSection .paymentSummary h4{margin-bottom:12px}#propuesta,#visitanos{scroll-margin-top:88px}@media(max-width:800px){.reservationSection .formCard{padding:24px 16px}.reservationSection .paymentSummary{padding:20px 16px}.paymentRow,.paymentSummary .depositRow{font-size:15px;line-height:1.5}.reservationTitle{font-size:30px}.cardBody{padding:20px}}@media(max-width:360px){.topbar .brand{font-size:17px}.menuBtn,.topbar .btn{padding-inline:9px}.footerLayout .brand{font-size:25px}}@media(prefers-reduced-motion:reduce){.card,.cardImage,.carouselDots button:before,.floatingWhatsapp,.footerSocials a,.heroDots button:before{transition:none}.card:hover .cardImage,.floatingWhatsapp:hover{transform:none}}