:root{--ink:#34231c;--ink-2:#5e4b40;--cream:#fcfaf5;--paper:#f5efe6;--sand:#e7d8c4;--gold:#d7a660;--terracotta:#ad5438;--dark:#2d201a;--line:rgba(65,43,31,.14);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}p{margin:0 0 1.2rem}.wrap{width:min(1180px,calc(100% - 42px));margin-inline:auto}.skip{position:absolute;top:-100px;left:15px;background:white;z-index:99;padding:10px 14px}.skip:focus{top:15px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e69b40;outline-offset:3px}.topbar{background:var(--dark);color:#e9d6c4;font-size:.74rem;letter-spacing:.035em}.topbar-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar a{color:#f4d9a2;font-weight:650}.header{position:sticky;top:0;z-index:30;background:rgba(252,250,245,.95);backdrop-filter:blur(14px);box-shadow:0 2px 22px rgba(45,32,26,.08)}.nav-wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:inline-flex;gap:12px;align-items:center;min-width:0}.brand-mark{width:52px;height:52px;border:1.5px solid #c99450;border-radius:50%;display:grid;place-items:center;color:#8d6439;background:#f4e9d8;flex-shrink:0}.brand-mark svg{width:40px;height:40px}.brand-type{display:flex;flex-direction:column;line-height:1.2}.brand-type strong{font:700 clamp(.97rem,1.5vw,1.2rem)/1.25 var(--serif);letter-spacing:.055em;white-space:nowrap}.brand-type small{font-size:.58rem;font-weight:800;letter-spacing:.23em;color:var(--terracotta);margin-top:3px}.nav{display:flex;align-items:center;gap:clamp(13px,2vw,27px)}.nav>a:not(.btn){font-size:.83rem;font-weight:640;transition:color .2s}.nav>a:not(.btn):hover{color:var(--terracotta)}.btn{border:1px solid transparent;border-radius:3px;display:inline-flex;justify-content:center;align-items:center;gap:14px;padding:13px 20px;text-align:center;line-height:1.3;font-size:.85rem;font-weight:780;letter-spacing:.02em;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--terracotta);color:white}.btn-primary:hover{background:#8e3e29;box-shadow:0 12px 22px #7a352426}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:#e6b87a}.btn-ghost{color:white;border-color:#ffffff76;background:#ffffff0d}.btn-ghost:hover{background:#ffffff24}.btn-outline{border-color:#ad5438;color:var(--terracotta);background:transparent}.nav-toggle{display:none;border:0;background:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-toggle span{display:block;width:23px;height:2px;background:var(--ink)}.hero{min-height:670px;height:calc(100svh - 124px);max-height:940px;position:relative;color:white;overflow:hidden;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center 52%}.hero-shade{background:linear-gradient(90deg,rgba(26,18,14,.90),rgba(33,22,17,.60) 56%,rgba(33,22,17,.18)),linear-gradient(0deg,rgba(22,16,13,.65),transparent 45%)}.hero-inner{position:relative;padding:88px 0 78px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.19em;color:var(--terracotta);display:inline-block;margin-bottom:19px}.eyebrow.light{color:#f4c98a}.dot{width:6px;height:6px;display:inline-block;background:#e3aa62;border-radius:50%;margin-right:6px;vertical-align:2px}.hero h1{font:700 clamp(3.3rem,7.5vw,6.5rem)/1.03 var(--serif);letter-spacing:-.04em;max-width:970px;margin:0 0 28px}.hero h1 em{color:#f4c78d;font-weight:400}.hero-description{max-width:555px;color:#f7efe2;font-size:clamp(.98rem,1.6vw,1.16rem);line-height:1.8}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.hero-caption{margin-top:74px;font-size:.65rem;letter-spacing:.26em;color:#f5e0be;font-weight:700}.hero-scroll{position:absolute;right:5%;bottom:34px;color:#f7e6cf;font-size:2rem;animation:bob 2.4s infinite}@keyframes bob{50%{transform:translateY(8px)}}.feature-strip{background:#efe5d6;border-bottom:1px solid #dccbb5}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr)}.feature-grid>div{padding:22px 25px;display:flex;align-items:center;gap:17px;border-right:1px solid #d9c4a9}.feature-grid>div:first-child{border-left:1px solid #d9c4a9}.feature-icon{font-size:1.6rem;color:var(--terracotta)}.feature-grid strong,.feature-grid small{display:block}.feature-grid strong{font:700 .98rem var(--serif)}.feature-grid small{font-size:.77rem;color:#705d4e}.section{padding:110px 0;position:relative}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center}.intro-visual{position:relative;padding:0 45px 42px 0}.intro-image{margin:0;aspect-ratio:4/4.1;overflow:hidden;border-radius:2px;box-shadow:20px 20px 0 #eee0cb}.intro-image img{width:100%;height:100%;object-fit:cover}.intro-image figcaption{position:absolute;bottom:17px;left:10px;background:var(--dark);color:#f5e9d7;padding:12px 18px;font:italic 1rem var(--serif)}.seal{position:absolute;right:-9px;top:11%;border:3px double #ad7b42;background:#faf0e0;border-radius:50%;width:130px;height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);box-shadow:0 5px 20px #0002}.seal strong,.seal small{font-size:.6rem;letter-spacing:.11em}.seal span{font-size:2.3rem;color:var(--terracotta);line-height:1.3}h2{font:700 clamp(2.5rem,4.4vw,4.1rem)/1.13 var(--serif);letter-spacing:-.035em;margin:0 0 24px}h2 em{font-weight:400;color:var(--terracotta)}.intro-copy p{color:var(--ink-2);max-width:560px}.gold-line{width:70px;height:3px;background:var(--gold);margin:4px 0 30px}.text-link{font-size:.88rem;font-weight:800;color:var(--terracotta);border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:13px;margin-top:13px}.menu-section{background:var(--paper);background-image:radial-gradient(#bba58a 0.55px,transparent 0.55px);background-size:27px 27px}.section-heading{max-width:690px;margin-bottom:48px}.section-heading.centered{text-align:center;margin-inline:auto}.section-heading p{color:var(--ink-2)}.menu-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:36px}.tab{border:1px solid #e2cdb4;background:#fffaf3;color:#584333;border-radius:40px;padding:11px 21px;font-size:.85rem;font-weight:700;transition:all .2s}.tab:hover{border-color:#b57e45}.tab.is-active{background:var(--dark);color:#fff;border-color:var(--dark)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.menu-item{background:#fffdfa;border:1px solid #e7d9c9;box-shadow:0 4px 10px #34231c05;padding:25px;border-radius:5px;transition:box-shadow .2s,transform .2s}.menu-item:hover{transform:translateY(-2px);box-shadow:0 9px 22px #34231c16}.menu-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}.menu-item h3{font:700 1.21rem/1.32 var(--serif);margin:0}.price{color:#a45135;font-size:.85rem;font-weight:800;white-space:nowrap}.menu-item p{color:#76665a;font-size:.82rem;margin:0}.menu-note{font-size:.76rem;color:#705c4b;margin:27px auto 0;text-align:center;max-width:700px}.events-section{background:var(--dark);color:#fff;overflow:hidden}.events-section::after{content:'';position:absolute;inset:0;opacity:.06;pointer-events:none;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:18px 18px}.events-section .wrap{position:relative;z-index:1}.events-section .section-heading{max-width:820px}.events-section h2 em{color:#e5bc84}.events-section .section-heading p{color:#cfbeaf;max-width:670px}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:42px 0 35px}.event-card{border:1px solid #755847;background:#3a2a22;padding:37px 30px 40px;min-height:230px}.event-card span{font-size:.66rem;letter-spacing:.16em;color:#e3b67d;font-weight:800}.event-card h3{font:700 1.67rem/1.23 var(--serif);margin:25px 0 13px}.event-card p{color:#d7c7b9;font-size:.85rem;margin:0}.town-section{background:var(--cream)}.town-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.town-card-large{grid-column:1/-1;height:370px}.town-card{height:460px;position:relative;overflow:hidden;margin:0;background:#69503f}.town-card img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.town-card:hover img{transform:scale(1.04)}.town-card::after{position:absolute;inset:0;content:'';background:linear-gradient(transparent 42%,#1e1612e8)}.town-card figcaption{position:absolute;z-index:1;bottom:0;padding:28px;color:#fff}.town-card figcaption span{font-size:.63rem;font-weight:800;letter-spacing:.16em;color:#ecc48d}.town-card figcaption strong{font:700 1.6rem var(--serif);display:block;margin-top:5px}.town-card figcaption p{font-size:.78rem;margin:3px 0 0;color:#f7e9d6}.photo-notice{font-size:.75rem;text-align:center;color:#76655c;margin:24px 0 0}.photo-notice a{color:#a45135;text-decoration:underline}.bookings-section{background:var(--paper)}.booking-grid{display:grid;grid-template-columns:.87fr 1.15fr;gap:9%;align-items:start}.booking-copy p{color:var(--ink-2)}.booking-warning{background:#f1e3ce;border-left:3px solid #b17b3c;padding:18px 20px;margin:28px 0;color:#574432;font-size:.85rem}.booking-panel{background:white;padding:35px;box-shadow:0 20px 50px #34231c12;border:1px solid #e5d5c2}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:.77rem;font-weight:760;letter-spacing:.01em}input,textarea,select{display:block;width:100%;background:#faf6ee;border:1px solid #deceba;border-radius:3px;padding:12px 13px;margin-top:6px;color:var(--ink);outline-offset:1px}textarea{resize:vertical}.booking-panel form>label{margin-top:15px}.form-button{width:100%;margin-top:20px}.booking-result{margin-top:24px;background:#f9f0e3;border:1px solid #dfbc89;padding:18px}.booking-result p{font-size:.8rem;color:#654c3b}.booking-result textarea{font-size:.78rem}.copy-status{font-size:.78rem;margin:10px 0 0}.location-section{background:var(--cream)}.location-grid{display:grid;grid-template-columns:.87fr 1.13fr;gap:8%;align-items:center}.location-grid>div:first-child>p{color:var(--ink-2)}.address{display:flex;gap:15px;align-items:flex-start;margin:30px 0 20px}.address>span{font-size:2.1rem;color:var(--terracotta)}.address strong{font:700 1.17rem var(--serif)}.address p{font-size:.86rem;color:#6f5b4a;margin:4px 0}.location-note{font-size:.8rem!important;margin-bottom:24px}.location-visual{position:relative;min-height:400px;height:470px}.location-visual img{height:100%;width:100%;object-fit:cover}.location-badge{position:absolute;bottom:-20px;left:-20px;background:#34231c;color:#f8e7cd;font:700 1.4rem/1.4 var(--serif);padding:24px 27px}.location-badge small{display:block;font:700 .6rem/1.6 var(--sans);letter-spacing:.15em;margin-top:8px}.footer{background:#241b17;color:#f4e8d9;padding:58px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:40px}.footer-name{font:700 1.7rem var(--serif);letter-spacing:.07em}.footer-main p{font-size:.83rem;color:#b9a79a;margin:11px 0 0}.footer-main nav{display:flex;gap:25px;flex-wrap:wrap;font-size:.81rem;font-weight:650}.footer-main nav a:hover,.footer-bottom a:hover{color:#e5bc84}.footer-bottom{border-top:1px solid #57483d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:22px;color:#bba99b;font-size:.72rem}.simple-page{min-height:65vh;padding:95px 0;background:var(--cream)}.simple-page article{max-width:820px}.simple-page h1{font:700 clamp(2.6rem,6vw,4rem) var(--serif);margin:0 0 20px}.simple-page li{padding:6px 0}.simple-page a{text-decoration:underline;color:#9c4e33}@media(max-width:1020px){.nav{gap:14px}.nav>a:not(.btn){font-size:.77rem}.nav-cta{padding:11px 13px}.town-grid{grid-template-columns:1fr 1fr}.town-card-large{grid-column:1/-1;height:340px}.town-card{height:370px}.intro-grid,.booking-grid,.location-grid{gap:5%}.intro-visual{padding-right:22px}}@media(max-width:790px){.topbar-inner{font-size:.66rem}.nav-toggle{display:flex}.nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 23px;background:var(--cream);box-shadow:0 18px 20px #0002}.nav.is-open{display:flex}.nav a:not(.btn){padding:13px 5px;border-bottom:1px solid #e6dccc;font-size:.95rem}.nav-cta{margin-top:14px}.hero{height:auto;min-height:710px}.hero-inner{padding:95px 0 55px}.hero-caption{margin-top:95px}.feature-grid>div{padding:17px 12px}.feature-grid{gap:0}.feature-icon{font-size:1.15rem}.feature-grid strong{font-size:.83rem}.feature-grid small{font-size:.68rem}.section{padding:80px 0}.intro-grid,.booking-grid,.location-grid{grid-template-columns:1fr;gap:52px}.intro-visual{max-width:500px}.intro-image{aspect-ratio:4/3.2}.events-grid{grid-template-columns:1fr}.event-card{min-height:unset}.location-visual{height:380px}.town-grid{grid-template-columns:1fr 1fr}}@media(max-width:550px){.wrap{width:min(100% - 34px,1180px)}.topbar-inner{min-height:39px}.topbar-inner>span{font-size:.59rem}.topbar a{font-size:.66rem;white-space:nowrap}.brand-mark{height:45px;width:45px}.brand-type strong{font-size:.92rem}.brand-type small{font-size:.49rem}.nav-wrap{min-height:73px}.hero{min-height:685px}.hero-photo{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#241711d9,#241711b5)}.hero h1{font-size:clamp(3.12rem,13.6vw,4.5rem)}.hero-description{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch;max-width:320px}.hero-caption{margin-top:57px}.hero-scroll{display:none}.feature-grid{grid-template-columns:1fr}.feature-grid>div,.feature-grid>div:first-child{border-left:0;border-right:0;border-bottom:1px solid #d9c4a9;padding:11px 5px}.feature-grid small{font-size:.75rem}.feature-grid strong{font-size:.96rem}.feature-icon{width:30px;text-align:center}.intro-visual{padding-right:15px}.intro-image{box-shadow:12px 12px 0 #eee0cb}.intro-image figcaption{font-size:.8rem;left:0;bottom:16px}.seal{width:89px;height:89px;right:-10px}.seal strong,.seal small{font-size:.46rem}.seal span{font-size:1.65rem}.menu-grid,.field-grid,.town-grid{grid-template-columns:1fr}.town-card-large{grid-column:auto;height:380px}.town-card{height:350px}.menu-tabs{justify-content:flex-start}.tab{padding:10px 14px;font-size:.78rem}.menu-item{padding:21px}.menu-item-top{display:block}.price{display:block;margin-top:6px}.booking-panel{padding:23px}.location-badge{left:0;bottom:0}.footer-main{flex-direction:column}.footer-main nav{gap:16px}.footer-bottom{flex-direction:column}.section{padding:70px 0}h2{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Identidad audiovisual de El Consaburense */
.brand-logo{width:100%;height:100%;object-fit:contain;border-radius:50%}.brand-mark svg{display:none}.hero-video{object-fit:cover;object-position:center center;background:#302018}.hero-video-logo{position:absolute;z-index:2;top:34px;right:5%;width:clamp(85px,13vw,160px);filter:drop-shadow(0 10px 22px #0008);pointer-events:none}.hero-video-logo img{width:100%;height:auto;border-radius:50%}.hero-shade{pointer-events:none}.food-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 34px}.food-gallery figure{margin:0;position:relative;height:230px;background:#ddcbb5;border-radius:5px;overflow:hidden}.food-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.food-gallery figure:hover img{transform:scale(1.04)}.food-gallery figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#211813dd);color:#fff;padding:34px 18px 13px;font:700 1.13rem Georgia,serif}.food-gallery small{display:block;font:500 .68rem system-ui,sans-serif;color:#edd9c0;margin-top:4px}@media(max-width:790px){.hero-video-logo{top:18px;right:18px;width:85px}.food-gallery{grid-template-columns:1fr 1fr}.food-gallery figure:last-child{grid-column:1/-1}}@media(max-width:550px){.food-gallery{grid-template-columns:1fr}.food-gallery figure:last-child{grid-column:auto}.food-gallery figure{height:210px}.hero-video-logo{width:70px;top:15px;right:15px}}@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero{background:#3b2c20 url('https://upload.wikimedia.org/wikipedia/commons/e/e0/Windmills_and_castle_of_Consuegra_(7079301421).jpg') center/cover no-repeat}}


/* Galería editorial de platos: deslizamiento táctil, botones y acceso por teclado */
.food-showcase{margin:0 0 36px}
.food-showcase-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}
.food-showcase-heading .eyebrow{margin:0 0 9px;color:#9f6f44;font-size:.65rem}
.food-showcase-heading h3{font:700 clamp(1.6rem,2.9vw,2.55rem)/1.2 var(--serif);letter-spacing:-.03em;margin:0}
.food-showcase-heading h3 em{font-weight:400;color:var(--terracotta)}
.food-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.food-arrow{border:1px solid #d3b897;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;background:#fffaf4;color:#72462e;font-size:1.3rem;transition:background .2s,transform .2s}
.food-arrow:hover:not(:disabled){background:#34231c;color:white;transform:translateY(-2px)}
.food-arrow:disabled{opacity:.36;cursor:default}
.food-count{font-size:.66rem;letter-spacing:.1em;font-weight:800;color:#846b5c;white-space:nowrap}
.food-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 38px)/3);gap:19px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;scrollbar-width:none;touch-action:pan-x pan-y;padding:3px 2px 10px;position:relative}
.food-track::-webkit-scrollbar{display:none}
.food-card{scroll-snap-align:start;position:relative;height:355px;border-radius:8px;overflow:hidden;margin:0;background:#4b3224;box-shadow:0 4px 18px #44342417;isolation:isolate}
.food-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.food-card:hover img{transform:scale(1.055)}
.food-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(25,15,11,.93),rgba(27,19,15,.34) 42%,transparent 73%);pointer-events:none}
.food-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 23px 23px;display:grid;gap:6px;color:#fff;z-index:1}
.food-category{color:#f7c78d;font-size:.64rem;font-weight:800;letter-spacing:.16em}
.food-card figcaption strong{font:700 clamp(1.25rem,2vw,1.75rem)/1.2 var(--serif);text-wrap:balance}
.food-card figcaption small{font-size:.74rem;color:#f2e3d5}
.food-disclaimer{font-size:.72rem;color:#826a59;margin:14px 2px 0}
.food-disclaimer a,.reviews-note a{color:#994a32;text-decoration:underline;text-underline-offset:3px}
.food-image-error{opacity:0}
@media(max-width:1000px){.food-track{grid-auto-columns:calc((100% - 20px)/2)}.food-card{height:360px}}
@media(max-width:600px){.food-track{grid-auto-columns:84%;gap:13px}.food-card{height:350px}.food-showcase-heading{align-items:end}.food-showcase-heading h3{font-size:1.64rem}.food-controls{gap:8px}.food-arrow{width:35px;height:35px}.food-count{display:none}}
/* Testimonios verificados con referencia pública */
.reviews-section{background:#fffaf2;border-top:1px solid #e7d8c4;border-bottom:1px solid #e7d8c4}
.reviews-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.reviews-top h2{max-width:680px}.reviews-top p{color:#6e5c4d;max-width:670px}
.reviews-all{white-space:nowrap;margin-bottom:10px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review-card{padding:33px 30px 29px;border:1px solid #e8d8bf;border-radius:7px;background:#fff;box-shadow:0 9px 28px rgba(53,34,24,.04);display:flex;flex-direction:column;min-height:238px}
.review-stars{color:#b57e37;font-size:1.05rem;letter-spacing:.14em;margin-bottom:22px}
.review-card blockquote{font:italic 500 clamp(1.07rem,1.5vw,1.28rem)/1.55 var(--serif);margin:0 0 24px;color:#463026;flex:1}
.review-author{display:flex;flex-direction:column;gap:4px;border-top:1px solid #f0e6d7;padding-top:16px}
.review-author strong{font-size:.79rem}.review-author span{font-size:.69rem;color:#836d5b}
.reviews-note{font-size:.74rem;color:#867160;margin-top:22px;margin-bottom:0}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}.review-card:last-child{grid-column:1/-1}.reviews-top{align-items:start;flex-direction:column;gap:5px}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}.review-card:last-child{grid-column:auto}.review-card{min-height:unset;padding:26px}.reviews-top{margin-bottom:24px}}

/* Guía enológica de Consuegra y Castilla-La Mancha */
.wine-section{background:#271c20;color:#f6ede1;padding-bottom:98px;position:relative;overflow:hidden}
.wine-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 95% 0%,rgba(153,78,73,.2),transparent 45%);pointer-events:none}
.wine-section .wrap{position:relative;z-index:1}
.wine-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end;margin-bottom:22px}
.wine-intro .eyebrow{color:#d8ac74}
.wine-intro h2{color:#fff7ed;margin:15px 0 0;max-width:670px}
.wine-intro h2 em{color:#e0b583;font-weight:400}
.wine-intro>p{color:#e2ccc1;max-width:440px;line-height:1.8;margin:0 0 5px}
.wine-grape-accent{color:#cba97e;font-size:.7rem;letter-spacing:.22em;display:flex;gap:16px;align-items:center;margin:24px 0 30px}
.wine-grape-accent:before,.wine-grape-accent:after{content:"";height:1px;background:linear-gradient(90deg,#9b7461,transparent);flex:1}
.wine-grape-accent:before{max-width:60px}
.wine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.wine-card{background:#fff9f0;border-radius:7px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 14px 28px #0804052c;transition:transform .3s,box-shadow .3s}
.wine-card:hover{transform:translateY(-4px);box-shadow:0 22px 34px #08040540}
.wine-image{height:237px;position:relative;background:#745348;overflow:hidden}
.wine-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.83);transition:transform .7s}
.wine-card:hover .wine-image img{transform:scale(1.06)}
.wine-ribbon{position:absolute;bottom:15px;left:15px;background:#341c24e8;border:1px solid #cba97e55;color:#fce3bc;padding:9px 12px;font-size:.69rem;font-weight:700;letter-spacing:.08em}
.wine-card-body{padding:25px 23px 24px;color:#372a25;display:flex;flex-direction:column;flex:1}
.wine-origin{font-size:.69rem;font-weight:800;letter-spacing:.13em;color:#99563f;margin-bottom:11px}
.wine-card h3{font:700 clamp(1.23rem,1.9vw,1.55rem)/1.25 var(--serif);margin:0 0 12px;color:#352720}
.wine-card p{font-size:.81rem;line-height:1.7;color:#67554a;margin:0 0 25px;flex:1}
.wine-card-bottom{border-top:1px solid #eadccc;padding-top:15px;display:flex;flex-direction:column;align-items:start;gap:9px}
.wine-card-bottom>span{font-size:.71rem;color:#846e60}
.wine-card-bottom a{color:#924b39;font-size:.76rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.wine-disclaimer{color:#d1b8b1;margin:24px 0 0;font-size:.73rem;line-height:1.8;max-width:1000px}
.wine-disclaimer strong{font-weight:700;color:#f6e7ce}
.wine-disclaimer a{color:#f0c99c;text-decoration:underline}
@media(max-width:1000px){.wine-intro{grid-template-columns:1fr;gap:18px}.wine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.wine-section{padding-top:70px;padding-bottom:75px}.wine-grid{grid-template-columns:1fr}.wine-image{height:250px}.wine-intro h2{font-size:2.3rem}.wine-grape-accent{letter-spacing:.1em}}

/* Contacto y reservas telefónicas - nov 2026 */
.topbar-actions{display:flex;align-items:center;gap:20px;white-space:nowrap}.topbar-phone{font-weight:800!important}.booking-warning a,.location-phone a{color:#8e4a28;font-weight:800;text-decoration:underline;text-underline-offset:3px}.location-phone{font-size:1.06rem!important;font-weight:700;color:#423027;margin:20px 0}.booking-call{display:inline-flex;margin:12px 0 0;max-width:100%;text-align:center;justify-content:center}.booking-result .booking-call{color:#fff}
@media(max-width:600px){.topbar-actions{gap:10px}.topbar-inner>span{display:none}.topbar-inner{justify-content:space-between}.topbar-phone{font-size:.76rem}.booking-call{width:100%}}

/* Teléfono visible y accesible en contacto y pie de página */
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:23px}
.contact-actions .btn{white-space:nowrap}
.footer-phone{display:inline-flex;align-items:center;gap:10px;margin-top:19px;color:#f4d7a6;font:700 1.1rem var(--sans);letter-spacing:.02em;text-decoration:none}
.footer-phone:hover,.footer-phone:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:550px){.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .btn{text-align:center;justify-content:center}}


/* GUÍA LOCAL: EL PLAN EN EL PUEBLO Y LA MESA EN EL CONSABURENSE */
.agenda-section{background:#f5efe5;position:relative;overflow:hidden}
.agenda-section::before{content:"";position:absolute;inset:0 0 auto;height:450px;background:radial-gradient(ellipse at 90% 5%,#ebd5b775,transparent 63%);pointer-events:none}
.agenda-section>.wrap{position:relative;z-index:1}
.agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:44px;margin-bottom:35px}
.agenda-heading-copy{max-width:710px}
.agenda-heading .eyebrow{color:#985943}
.agenda-heading h2{margin:0 0 21px;font-size:clamp(2.65rem,4.6vw,4.5rem);line-height:1.1}
.agenda-heading h2 em{font-weight:400;color:#a5543a}
.agenda-heading-copy>p{font-size:1.02rem;line-height:1.84;color:#675347;max-width:680px;margin:0}
.agenda-municipal-btn{background:#30251f;color:#fff8eb;white-space:nowrap;flex-shrink:0;margin-bottom:5px}
.agenda-municipal-btn:hover{background:#4d392b}
.agenda-showcase{display:grid;grid-template-columns:1.05fr 1fr;min-height:440px;background:#3a2625;color:#fff3e3;overflow:hidden;border-radius:7px;box-shadow:0 22px 48px #3e281828}
.agenda-showcase-photo{position:relative;min-height:400px;background:#625046;overflow:hidden}
.agenda-showcase-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(32,20,17,.7))}
.agenda-showcase-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.82)}
.agenda-photo-label{position:absolute;bottom:24px;left:28px;z-index:1;font-size:.65rem;letter-spacing:.2em;font-weight:800;color:#fff3d9}
.agenda-showcase-message{padding:clamp(30px,4.1vw,60px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.agenda-showcase-kicker,.agenda-label,.fair-day-overline{color:#dba96a;font-size:.65rem;font-weight:800;letter-spacing:.18em}
.agenda-showcase-message h3{font:700 clamp(2.4rem,4vw,3.9rem)/1.09 var(--serif);letter-spacing:-.035em;margin:24px 0}
.agenda-showcase-message h3 em{font-weight:400;color:#e9bd84}
.agenda-showcase-message p{font-size:.95rem;line-height:1.8;color:#f0ddd0;margin-bottom:25px}
.agenda-showcase-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}
.agenda-showcase-menu{font-size:.81rem;font-weight:700;border-bottom:1px solid #ddb98b;padding-block:7px}
.agenda-showcase-menu:hover{color:#edc894}
.agenda-showcase-message small{color:#cfbbaa;font-size:.72rem;margin-top:18px;line-height:1.6}
.agenda-events-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:69px 0 24px}
.agenda-events-heading .agenda-label{color:#a4593c}
.agenda-events-heading h3{font:700 clamp(2rem,3.4vw,3.1rem)/1.15 var(--serif);margin:12px 0 0;letter-spacing:-.025em}
.agenda-events-heading h3 em{color:#ae583d;font-weight:400}
.agenda-events-heading>p{font-size:.78rem;color:#796458;max-width:340px;line-height:1.65;margin:0}
.agenda-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.agenda-card{background:#fffaf3;border:1px solid #e1cdb4;box-shadow:0 8px 27px #6241210a;border-radius:7px;display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:transform .2s,box-shadow .2s}
.agenda-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px #57392120}
.agenda-card[hidden],.agenda-no-events[hidden]{display:none!important}
.agenda-card-featured{border-color:#b87a4d}
.agenda-card-date{padding:25px 25px 16px;display:flex;gap:10px;align-items:baseline;background:linear-gradient(110deg,#482d2a,#604038);color:#fae4c5}
.agenda-card-date strong{font:700 clamp(2rem,3vw,3.25rem)/1 var(--serif);letter-spacing:-.04em}
.agenda-card-date span{font-size:.73rem;font-weight:800;letter-spacing:.17em}
.agenda-card-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.agenda-card-top{display:flex;flex-direction:column;align-items:start;gap:8px;margin-bottom:11px}
.agenda-card-category{font-size:.61rem;letter-spacing:.14em;color:#93583f;font-weight:850}
.agenda-card-badge{color:#754d34;background:#f1e3cd;border-radius:30px;padding:3px 10px;font-size:.65rem;font-weight:700}
.agenda-card h4{font:700 clamp(1.34rem,2vw,1.78rem)/1.2 var(--serif);margin:5px 0 14px;letter-spacing:-.025em}
.agenda-when{font-size:.74rem;font-weight:800;color:#975535;margin:0 0 15px}
.agenda-card-description{font-size:.82rem;line-height:1.76;color:#665348;margin:0 0 22px;flex:1}
.agenda-card-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;border-top:1px solid #e9dbcb;padding-top:16px}
.agenda-card-book{color:#a34a31;font-weight:800;font-size:.76rem}
.agenda-card-book:hover,.agenda-card-source:hover{text-decoration:underline;text-underline-offset:4px}
.agenda-card-source{font-size:.74rem;font-weight:700;color:#655347}
.agenda-no-events{padding:28px;border:1px dashed #c7a783;background:#fffaf3}
.agenda-no-events p{color:#654c40}
.fair-archive{margin-top:44px;background:#fffaf3;border:1px solid #dfc7ab;border-radius:7px;overflow:hidden}
.fair-archive>summary{cursor:pointer;list-style:none;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.fair-archive>summary::-webkit-details-marker{display:none}
.fair-archive>summary:hover{background:#fdf4e7}
.fair-archive-summary{display:flex;flex-direction:column;gap:7px}
.fair-archive-summary small{color:#9a573e;font-size:.66rem;font-weight:800;letter-spacing:.14em}
.fair-archive-summary strong{font:700 clamp(1.48rem,2.45vw,2.25rem)/1.3 var(--serif);color:#36251f}
.fair-archive-summary>span{color:#6b594c;font-size:.81rem}
.fair-archive-symbol{display:grid;place-items:center;border:1px solid #ccb199;color:#7d4b30;width:39px;height:39px;border-radius:50%;flex-shrink:0}
.fair-archive-symbol:before{content:"+";font-weight:700;font-size:1.35rem}
.fair-archive[open] .fair-archive-symbol:before{content:"−"}
.fair-archive-body{border-top:1px solid #e6d3be;padding:25px 30px 28px}
.fair-archive-note{display:flex;align-items:center;gap:15px;margin-bottom:23px}
.fair-archive-note>span{font-size:.63rem;letter-spacing:.12em;font-weight:800;border-radius:4px;background:#f0e1ce;color:#7d4c32;padding:8px 10px;white-space:nowrap}
.fair-archive-note p{font-size:.77rem;color:#775f51;line-height:1.5;margin:0}
.fair-days{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:28px}
.fair-day{border:1px solid #dfc8ae;border-radius:5px;background:#f6efe4;padding:13px 3px;display:flex;flex-direction:column;align-items:center;color:#614834;line-height:1.2;transition:background .2s,color .2s,transform .2s}
.fair-day span{font-size:.65rem;font-weight:800;letter-spacing:.12em;margin-bottom:6px}
.fair-day strong{font:700 1.8rem var(--serif)}
.fair-day small{font-size:.58rem;font-weight:800;letter-spacing:.12em;margin-top:5px}
.fair-day:hover{transform:translateY(-2px);background:#e9d6ba}
.fair-day.is-active{background:#4a2d2a;color:#fff2de;border-color:#4a2d2a}
.fair-day-panel{display:grid;grid-template-columns:.85fr 1.5fr;gap:45px;border-top:1px solid #eadbcb;padding-top:29px;min-height:190px}
.fair-day-overline{color:#975d43}
.fair-day-panel h4{font:700 clamp(1.65rem,2.8vw,2.5rem)/1.25 var(--serif);margin:10px 0 0}
.fair-day-panel ol{list-style:none;padding:0;margin:0}
.fair-activity{display:flex;gap:18px;align-items:baseline;padding:10px 0;border-bottom:1px solid #f0e4d5;font-size:.81rem;line-height:1.55;color:#604c42}
.fair-activity time{min-width:89px;font-size:.77rem;font-weight:800;color:#ac5d3b;white-space:nowrap}
.fair-archive-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;margin-top:17px;border-top:1px solid #eddfcf}
.fair-archive-footer span{font-size:.71rem;color:#887061;line-height:1.5}
.fair-archive-footer a{font-size:.76rem;font-weight:800;color:#a04e36;text-decoration:underline;text-underline-offset:3px}
.agenda-closeout{margin-top:34px;border-radius:6px;padding:26px 31px;background:#e8d8c2;display:flex;gap:30px;align-items:center;justify-content:space-between}
.agenda-closeout p{font-size:.84rem;max-width:500px;line-height:1.75;margin:0;color:#584333}
.agenda-closeout>div{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.agenda-agency-secondary{border:1px solid #b89a7a;color:#5c4234;background:#fff7eb}
.agenda-agency-secondary:hover{background:#f5e5d1}
@media(max-width:1100px){.agenda-heading{gap:20px}.agenda-municipal-btn{padding-inline:14px}.nav{gap:clamp(8px,1.2vw,17px)}.nav>a:not(.btn){font-size:.78rem}}
@media(max-width:860px){.agenda-heading{flex-direction:column;align-items:flex-start}.agenda-municipal-btn{align-self:flex-start}.agenda-events-heading{flex-direction:column;align-items:flex-start}.agenda-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-showcase{grid-template-columns:1fr}.agenda-showcase-photo{height:290px;min-height:0}.agenda-closeout{flex-direction:column;align-items:flex-start}.agenda-closeout>div{justify-content:flex-start}}
@media(max-width:620px){.agenda-heading h2{font-size:2.8rem}.agenda-heading-copy>p{font-size:.91rem}.agenda-showcase-photo{height:245px}.agenda-showcase-message{padding:29px 24px 34px}.agenda-showcase-message h3{font-size:2.7rem}.agenda-next-grid{grid-template-columns:1fr}.agenda-events-heading{margin-top:51px}.agenda-card-date{padding:19px 23px 13px}.agenda-card-copy{padding:21px}.fair-archive>summary{padding:23px 20px}.fair-archive-body{padding:20px}.fair-archive-note{align-items:start;flex-direction:column;gap:8px}.fair-days{grid-template-columns:repeat(3,1fr);gap:7px}.fair-day{padding-block:12px}.fair-day-panel{grid-template-columns:1fr;gap:19px}.fair-day-panel h4{font-size:1.9rem}.fair-archive-footer{flex-direction:column;align-items:flex-start}.agenda-closeout{padding:24px 21px}.agenda-closeout>div{width:100%;flex-direction:column}.agenda-closeout>div .btn{width:100%}.agenda-municipal-btn{white-space:normal}}



/* Galería patrimonial de Consuegra: dos panorámicas + iglesia y castillo */
.town-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.town-gallery .town-card{margin:0;height:390px;position:relative;isolation:isolate}
.town-gallery .town-card.town-card-large{grid-column:1/-1;height:420px}
.town-gallery .town-card:after{pointer-events:none;z-index:1;inset:0}
.town-photo-open{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;overflow:hidden;background:#5a4433;cursor:zoom-in;text-align:left}
.town-photo-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease;filter:saturate(.93)}
.town-card:hover .town-photo-open img{transform:scale(1.035)}
.town-photo-open:focus-visible{outline:4px solid #f7b965;outline-offset:-4px}
.town-zoom{position:absolute;right:17px;top:17px;background:rgba(28,21,17,.75);color:#fff1e0;padding:8px 12px;font-size:.69rem;letter-spacing:.04em;font-weight:750;border:1px solid #ffffff42;border-radius:30px;backdrop-filter:blur(5px)}
.town-gallery .town-card figcaption{z-index:2;bottom:0;right:0;left:0;padding:26px 28px 25px;pointer-events:none}
.town-gallery .town-card figcaption strong{font-size:clamp(1.5rem,2.3vw,2.15rem);line-height:1.14;text-shadow:0 2px 12px #0008}
.town-gallery .town-card figcaption p{font-size:.81rem;line-height:1.55;max-width:580px}
.town-more{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:.76rem;line-height:1.3;font-weight:800;letter-spacing:.02em;color:#ffe1ae;border:1px solid #ffe1ae8a;padding:9px 13px;border-radius:3px;pointer-events:auto;background:rgba(25,16,12,.5)}
.town-more:hover,.town-more:focus-visible{background:#ffe1ae;color:#36231b;outline-offset:3px}
.town-lightbox{max-width:min(96vw,1460px);width:max-content;max-height:94dvh;padding:0;margin:auto;border:1px solid #bd9971;border-radius:8px;background:#201915;color:#fff4e3;box-shadow:0 32px 85px #000a;overflow:hidden}
.town-lightbox::backdrop{background:rgba(12,8,7,.89);backdrop-filter:blur(7px)}
.town-lightbox-shell{position:relative;display:flex;flex-direction:column;max-height:94dvh;width:min(94vw,1380px)}
.town-lightbox-close{position:absolute;z-index:2;right:14px;top:14px;width:44px;height:44px;border:1px solid #fff8;border-radius:50%;color:#fff;background:#1a110ed9;font-size:1.2rem;display:grid;place-items:center}
.town-lightbox-close:hover{background:#78412f}
.town-lightbox #town-lightbox-image{display:block;width:100%;height:auto;max-height:calc(94dvh - 102px);min-height:190px;object-fit:contain;background:#100c0a}
.town-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px;padding:18px 27px;background:#241a17}
.town-lightbox-footer>div{display:flex;flex-direction:column;gap:4px}
.town-lightbox-footer span{color:#d8a670;font-size:.6rem;letter-spacing:.15em;font-weight:800}
.town-lightbox-footer strong{font:700 clamp(1.2rem,2.4vw,1.8rem)/1.2 var(--serif)}
.town-lightbox-more{display:inline-flex;align-items:center;gap:10px;color:#ffe2b4;font-size:.77rem;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.town-lightbox-more:hover{color:#fff}
@media(max-width:790px){.town-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.town-gallery .town-card{height:315px}.town-gallery .town-card.town-card-large{height:350px}.town-gallery .town-card figcaption{padding:22px}.town-gallery .town-card figcaption strong{font-size:1.45rem}}
@media(max-width:550px){.town-gallery{grid-template-columns:1fr;gap:14px}.town-gallery .town-card{height:300px}.town-gallery .town-card.town-card-large{grid-column:auto;height:340px}.town-gallery .town-card figcaption{padding:18px 20px}.town-gallery .town-card figcaption strong{font-size:1.5rem}.town-gallery .town-card figcaption p{font-size:.75rem}.town-lightbox{max-width:98vw}.town-lightbox-shell{width:96vw}.town-lightbox-footer{padding:15px 17px;flex-direction:column;align-items:start;gap:8px}.town-lightbox #town-lightbox-image{max-height:calc(94dvh - 136px)}.town-zoom{font-size:.64rem;right:11px;top:11px}}
@media(prefers-reduced-motion:reduce){.town-photo-open img{transition:none}}


/* Control accesible del carrusel gastronómico automático */
.food-autoplay-toggle{height:38px;width:38px;display:grid;place-items:center;flex-shrink:0;border:1px solid #c9b293;border-radius:50%;background:#fff9f0;color:#744729;font-size:1.03rem;font-weight:800;transition:background .2s,color .2s}
.food-autoplay-toggle:hover{background:#34231c;color:white}
.food-autoplay-toggle[aria-pressed="true"]{background:#e8d8c2;color:#573725}
@media(max-width:600px){.food-autoplay-toggle{height:35px;width:35px;font-size:.9rem}}

/* WhatsApp Business: enlace oficial y reservas de dos pasos */
.btn-whatsapp{background:#166b45;color:#fff;border-color:#166b45}
.btn-whatsapp:hover{background:#105436;border-color:#105436;box-shadow:0 12px 22px #134c3026;color:#fff}
.topbar-whatsapp{color:#b5efce!important;font-weight:800!important}
.booking-direct{margin:2px 0 12px}
.booking-shortcut{font-size:.81rem;margin:0 0 10px!important}
.booking-privacy{font-size:.76rem;line-height:1.6;color:#66584d;margin:13px 0 0}
.booking-privacy a{text-decoration:underline;text-underline-offset:3px}
.booking-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.booking-result-actions .btn{flex:1 1 205px;min-width:0}
.booking-result-note{margin:14px 0 4px!important}
.booking-result .booking-call{display:inline-block;color:#8c482f;font-weight:750;text-decoration:underline;text-underline-offset:3px;margin-top:6px}
.footer-whatsapp{display:inline-block;color:#a7e5bd;margin-top:8px;text-decoration:underline;text-underline-offset:3px;font-size:.84rem;font-weight:700}
.footer-whatsapp:hover{color:#fff}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;align-items:center;gap:9px;background:#166b45;color:#fff;box-shadow:0 7px 26px #173d2c52;border:1px solid #d7f4dd88;border-radius:99px;padding:13px 19px;font-size:.84rem;font-weight:800;line-height:1.3;transition:transform .2s,background-color .2s}
.whatsapp-float:hover{transform:translateY(-3px);background:#105436;color:#fff}
.whatsapp-float span[aria-hidden]{font-size:1.1rem}
@media(max-width:600px){.topbar-map{display:none}.whatsapp-float{right:12px;bottom:12px;padding:10px 14px;font-size:.78rem}.booking-result-actions{flex-direction:column}.booking-result-actions .btn{width:100%;flex:initial}.booking-direct{width:100%}}

/* Reservas directas: WhatsApp abre el chat sin formularios */
.events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.event-card{display:flex;flex-direction:column;min-height:245px}
.event-card h3{margin:16px 0 12px}
.event-card p{margin-bottom:24px}
.event-contact{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;padding:8px 0;color:#f6cb90;font-size:.84rem;font-weight:800;border-bottom:1px solid currentColor}
.event-contact:hover,.event-contact:focus-visible{color:#fff}
.events-availability{color:#cebfb2;font-size:.79rem;line-height:1.6;margin:21px 0 20px}
.events-main-cta{max-width:100%}
.booking-heading{max-width:800px;margin-bottom:39px}
.booking-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.booking-quick-card{display:flex;flex-direction:column;align-items:flex-start;background:#fffdfa;border:1px solid #e0cbb5;border-radius:8px;box-shadow:0 15px 36px #34231c0c;padding:clamp(26px,4vw,46px);min-width:0}
.booking-quick-primary{background:#fffcf6;border-color:#d9b88e}
.booking-quick-kicker{font-size:.7rem;letter-spacing:.14em;font-weight:800;color:#a05b37}
.booking-quick-card h3{font:700 clamp(1.8rem,2.8vw,2.5rem)/1.2 var(--serif);margin:18px 0 15px;color:#34231c}
.booking-quick-card p{font-size:.92rem;line-height:1.75;color:#675347;margin-bottom:29px}
.booking-quick-btn{margin-top:auto;max-width:100%}
.booking-quick-footer{text-align:center;max-width:830px;margin:25px auto 0;color:#645348}
.booking-quick-footer p{font-size:.8rem;line-height:1.7;margin:0 0 7px}
.booking-quick-footer a{text-decoration:underline;text-underline-offset:3px;color:#8e482c;font-weight:800}
@media(max-width:790px){.events-grid,.booking-quick-grid{grid-template-columns:1fr}.booking-heading{margin-bottom:25px}}
@media(max-width:550px){.booking-quick-card{padding:26px 23px}.booking-quick-btn,.events-main-cta{width:100%;white-space:normal;text-align:center}.event-card{min-height:unset}}

/* Sol, anfitriona virtual: guía accesible, sin sugerir respuestas automáticas */
.sol-assistant{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.sol-assistant .whatsapp-float{position:static;right:auto;bottom:auto;z-index:auto}
.sol-launcher{border:1px solid #eadfc9;cursor:pointer;padding:8px 14px 8px 7px;display:flex;gap:10px;background:#fff;color:#203329;box-shadow:0 8px 34px #182e2733}
.sol-launcher:hover,.sol-launcher:focus-visible{background:#f9f6ee;color:#1a4434;box-shadow:0 12px 38px #182e2745}
.sol-launcher-avatar{width:55px;height:55px;display:block;position:relative;flex:none}
.sol-avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;background:#ece5dc}
.sol-online{position:absolute;right:0;bottom:2px;width:13px;height:13px;border-radius:50%;background:#35b97d;border:2px solid #fff}
.sol-launcher-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.sol-launcher-copy strong{font-size:1rem;font-weight:800;line-height:1.2}
.sol-launcher-copy small{font-size:.72rem;color:#5b6b60;font-weight:600}
.sol-launcher-arrow{color:#27895b;font-size:1rem}
.sol-panel{width:min(352px,calc(100vw - 24px));border:1px solid #e6d8c6;border-radius:21px;overflow:hidden;background:#fffdfa;color:#28342c;box-shadow:0 15px 60px #19292242}
.sol-panel[hidden]{display:none}
.sol-panel-head{display:flex;align-items:center;gap:12px;padding:18px;background:linear-gradient(125deg,#f1e9dd,#fffdf9)}
.sol-panel-avatar{width:58px;height:58px;flex:none;border:3px solid #fff}
.sol-panel-identity{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.sol-panel-identity strong{font-size:1.35rem;color:#263a2e}
.sol-panel-identity strong span{font-size:.85rem;color:#b18c56}
.sol-panel-identity small{font-size:.69rem;color:#697267;line-height:1.4}
.sol-close{font-size:1.55rem;line-height:1;cursor:pointer;border:0;background:transparent;color:#5d665c;padding:6px 10px}
.sol-panel-body{padding:20px 19px 22px}
.sol-panel-body p{font-size:.87rem;line-height:1.6;color:#435245;margin:0 0 12px}
.sol-panel-body .sol-greeting{font-weight:800;color:#1e392d;font-size:1.02rem}
.sol-suggestions{display:grid;gap:8px;margin:17px 0}
.sol-suggestions a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dfd5c5;border-radius:11px;background:#faf7f0;font-weight:700;font-size:.78rem;color:#304436}
.sol-suggestions a:hover,.sol-suggestions a:focus-visible{background:#e9f2e9;border-color:#89ab8a}
.sol-talk{display:flex;align-items:center;justify-content:center;gap:10px;background:#126442;color:#fff;padding:14px;border-radius:99px;font-size:.87rem;font-weight:800;text-align:center}
.sol-talk:hover,.sol-talk:focus-visible{background:#0c5237;color:#fff}
.sol-note{display:block;font-size:.66rem;color:#79786f;line-height:1.55;margin-top:12px;text-align:center}
/* Carta de cocina casera y pedidos para llevar */
.takeaway-section{padding:38px 0;background:linear-gradient(125deg,#681624,#872332,#4e1721);color:#fff7eb}
.takeaway-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
.takeaway-identity h2{font:700 clamp(2rem,4vw,3.15rem)/1.16 var(--serif);margin:13px 0;color:#fff}
.takeaway-identity h2 em{color:#f7d7ae}
.takeaway-action{display:flex;flex-wrap:wrap;gap:13px 19px;align-items:center}
.takeaway-action p{font-size:.93rem;line-height:1.65;width:100%;margin:0;color:#fff4e2}
.takeaway-action a:not(.btn){color:#fff9ef;text-decoration:underline;text-underline-offset:3px;font-size:.8rem}
.takeaway-action strong{font-size:1.12rem;letter-spacing:.02em}
.menu-tabs{flex-wrap:wrap}
@media(max-width:790px){.takeaway-inner{grid-template-columns:1fr}.takeaway-section{padding:32px 0}}
@media(max-width:600px){.sol-assistant{right:10px;bottom:10px}.sol-launcher{padding:6px 12px 6px 6px}.sol-launcher-avatar{width:44px;height:44px}.sol-launcher-copy strong{font-size:.87rem}.sol-launcher-copy small{font-size:.65rem}.sol-panel{max-height:calc(100dvh - 105px);overflow-y:auto}.sol-panel-head{padding:14px}.sol-panel-body{padding:15px}}
@media(prefers-reduced-motion:reduce){.sol-launcher,.sol-talk{transition:none}}
