img{max-width:100%;height:auto}
.vg-highlight{text-align:center;font-weight:700;color:#fff;margin:14px 0 0}
.vg-contact{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:900;display:flex;gap:10px}
.vg-contact a{display:inline-block;padding:12px 20px;border-radius:999px;font:700 15px/1 system-ui,sans-serif;text-decoration:none;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.vg-contact .vg-call{background:#1f7690}.vg-contact .vg-wa{background:#1a7f45}
.vg-contact a:focus-visible,.vg-legal a:focus-visible,.vg-legal button:focus-visible{outline:3px solid #1d2b30;outline-offset:2px}
.vg-legal{text-align:center;padding:22px 4% 96px;font:14px/1.8 system-ui,sans-serif;color:#55646a;background:#fff}
.vg-legal a,.vg-legal button{color:#55646a;background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer;margin:0 8px}
@media(max-width:768px){.vg-contact{left:14px;right:14px}.vg-contact a{flex:1;text-align:center}}
/* Miniaturas uniformes: mantienen la proporción indicada en width/height y recortan en vez de deformar */
img[width][height]{object-fit:cover}
img[width="300"][height="250"]{aspect-ratio:300/250}
img[width="400"][height="300"]{aspect-ratio:4/3}
img[width="400"][height="400"]{aspect-ratio:1/1}

/* ===== Tipografía única y mejor contraste (todas las páginas) ===== */
body,h1,h2,h3,h4,h5,h6,p,a,li,button,input,textarea{font-family:Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body{font-weight:400;color:#1d2b30}
.text_column{font-weight:400;color:#3d4b51}
.thumbnail p,.gallery .thumbnail p{color:#55646a;font-weight:400}
.gallery .thumbnail h4{color:#1f7690}

/* ===== Portada: hero con foto ===== */
.vg-hero{position:relative;display:flex;align-items:center;min-height:min(80vh,600px);color:#fff;background:#1d2b30 url(/images/hero-cuina.webp) center/cover no-repeat}
.vg-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,43,48,.9) 0%,rgba(29,43,48,.6) 60%,rgba(29,43,48,.35) 100%)}
.vg-hero-in{position:relative;max-width:720px;padding:clamp(40px,8vw,80px) 6%}
.vg-hero h2{font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.1;font-weight:700;margin:0 0 18px;color:#fff;text-align:left}
.vg-hero p{font-size:clamp(1rem,2vw,1.2rem);line-height:1.55;margin:0 0 28px;max-width:52ch;color:#e6eef0;text-align:left}
.vg-btns{display:flex;flex-wrap:wrap;gap:12px}
.vg-btn{display:inline-block;padding:14px 26px;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid #fff}
.vg-btn-p{background:#52bad5;border-color:#52bad5;color:#10262d}
.vg-btn-p:hover{background:#7ccde2;border-color:#7ccde2}
.vg-btn-s{background:transparent;color:#fff}
.vg-btn-s:hover{background:rgba(255,255,255,.15)}
.vg-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* ===== Portada: servicios en una sola rejilla ===== */
.vg-services{padding:clamp(40px,6vw,72px) 5%;background:#fff}
.vg-services h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 28px;color:#1d2b30;text-align:left}
.vg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.vg-card{display:flex;flex-direction:column;background:#f4f8f9;border-radius:10px;overflow:hidden}
.vg-card a.vg-card-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.vg-card h3{margin:16px 18px 6px;font-size:1.2rem;text-align:left}
.vg-card h3 a{color:#1d2b30;text-decoration:none}
.vg-card h3 a:hover{color:#1f7690;text-decoration:underline}
.vg-card p{flex:1;margin:0 18px 12px;color:#3d4b51;font-size:1rem;line-height:1.55;text-align:left}
.vg-card .vg-more{margin:0 18px 18px;font-weight:700;color:#1f7690;text-decoration:none}
.vg-card .vg-more::after{content:" \2192"}
.vg-card .vg-more:hover{text-decoration:underline}

/* ===== Galerías: rejilla con más aire, sin borde grueso ===== */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px;padding:36px 4%}
.gallery .thumbnail{width:auto;float:none;margin:0;padding:0 0 18px;border-bottom:0;border-radius:10px;overflow:hidden;background:#f4f8f9;text-align:left}
.gallery .thumbnail a img{display:block;width:100%;height:auto;cursor:zoom-in}
.gallery .thumbnail h2,.gallery .thumbnail h3,.gallery .thumbnail h4{margin:14px 18px 4px;padding:0;font-size:1.15rem;text-align:left}
.gallery .thumbnail p{margin:0 18px;padding:0;text-align:left;font-size:.98rem;line-height:1.5}

/* ===== Visor de fotos ===== */
.vg-lb{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:60px 72px;background:rgba(10,18,21,.93)}
.vg-lb[hidden]{display:none}
.vg-lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.vg-lb img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:4px}
.vg-lb figcaption{margin-top:12px;color:#e6eef0;font:15px/1.4 Roboto,system-ui,sans-serif;text-align:center}
.vg-lb button{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font:28px/1 system-ui,sans-serif;cursor:pointer}
.vg-lb button:hover{background:rgba(255,255,255,.3)}
.vg-lb button:focus-visible{outline:3px solid #52bad5;outline-offset:2px}
.vg-lb-x{top:12px;right:12px}
.vg-lb-p{left:12px;top:50%;margin-top:-24px}
.vg-lb-n{right:12px;top:50%;margin-top:-24px}
@media(max-width:700px){.vg-lb{padding:64px 8px 90px}.vg-lb-p,.vg-lb-n{top:auto;bottom:16px;margin-top:0}.vg-lb-p{left:calc(50% - 60px)}.vg-lb-n{right:calc(50% - 60px)}}

/* ===== Páginas secundarias: misma estética que la portada ===== */
body{background:#f2f2f2;margin:0}
/* Ancho fluido: ocupa todo el ancho de la ventana, sin límite fijo */
.container{width:100%;max-width:none;margin-left:0;margin-right:0;height:auto;min-height:100vh;background:#fff;box-sizing:border-box}
.vg-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:14px 28px;background:#52bad5;border-bottom:1px solid #3fa6c0}
.vg-brand{color:#fff;font-weight:700;letter-spacing:.1em;text-decoration:none;font-size:clamp(1.1rem,2.6vw,1.8rem);line-height:1.2}
.vg-top nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.vg-top nav a{color:#fff;font-weight:700;letter-spacing:.06em;text-decoration:none}
.vg-top nav a:hover{text-decoration:underline}
.vg-lang{display:inline-flex;gap:2px;border:1px solid rgba(255,255,255,.7);border-radius:6px;overflow:hidden}
.vg-top .vg-lang a{padding:3px 9px;font-size:.85rem;letter-spacing:.04em}
.vg-top .vg-lang a[aria-current]{background:#fff;color:#1f6f87;text-decoration:none}
.vg-top a:focus-visible{outline:3px solid #1d2b30;outline-offset:2px}
.vg-page-hero{background:linear-gradient(115deg,#1d2b30 0%,#1f5f73 100%);color:#fff}
.vg-page-in{max-width:860px;padding:clamp(32px,6vw,64px) 6%}
.vg-page-in h1{margin:10px 0 10px;font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.12;font-weight:700;color:#fff;text-align:left}
.vg-page-in p{margin:0;max-width:60ch;font-size:clamp(1rem,2vw,1.15rem);line-height:1.55;color:#e6eef0;text-align:left}
.vg-back{color:#cfe9f1;font-weight:700;text-decoration:none}
.vg-back:hover{color:#fff;text-decoration:underline}
.vg-foot{background:#1d2b30;color:#fff;padding:clamp(32px,5vw,56px) 6%}
.vg-foot h2{margin:0 0 8px;font-size:1.6rem;color:#fff;text-align:left}
.vg-foot p{margin:0 0 20px;color:#cfdadd;text-align:left}
.copyright{padding:16px;text-align:center;font-size:.9rem;color:#55646a;background:#fff}
@media(max-width:600px){.vg-top{padding:12px 16px}.vg-brand{letter-spacing:.05em}}
.gallery{box-sizing:border-box;width:100%}
.vg-top{box-sizing:border-box;width:100%}
.vg-legal{box-sizing:border-box;width:100%;position:static}

/* ===== Menú desplegable de servicios ===== */
.vg-dd{position:relative;list-style:none;display:inline-block}
.vg-dd-btn{background:none;border:0;padding:0;margin:0;color:#fff;font:inherit;font-weight:700;letter-spacing:.08em;cursor:pointer}
.vg-top .vg-dd-btn{letter-spacing:.06em}
.vg-dd-btn:hover{text-decoration:underline}
.vg-dd-btn:focus-visible{outline:3px solid #1d2b30;outline-offset:3px}
.vg-chev{display:inline-block;font-size:.8em;transition:transform .15s}
.vg-dd.open .vg-chev{transform:rotate(180deg)}
.vg-dd-menu{display:none;position:absolute;top:calc(100% + 12px);left:0;z-index:1000;min-width:250px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid #cfdadd;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18);text-align:left}
.vg-dd-right .vg-dd-menu{left:auto;right:0}
.vg-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.vg-dd.open .vg-dd-menu{display:block}
@media(hover:hover) and (min-width:769px){.vg-dd:hover .vg-dd-menu{display:block}.vg-dd:hover .vg-chev{transform:rotate(180deg)}}
nav .vg-dd-menu li{display:block;margin:0;padding:0}
nav .vg-dd-menu a{display:block;padding:10px 22px;color:#1d2b30;font-weight:400;letter-spacing:0;text-decoration:none;white-space:nowrap}
nav .vg-dd-menu a:hover,nav .vg-dd-menu a:focus-visible{background:#e8f5f9;color:#1f6f87;text-decoration:none;outline:0}
nav .vg-dd-menu a[aria-current]{font-weight:700;color:#1f6f87}
@media(max-width:768px){.vg-dd{display:block;width:100%}.vg-dd-menu{position:static;box-shadow:none;border-radius:6px;margin-top:8px}.vg-dd-menu::before{display:none}}
/* El menú desplegable gana a las reglas antiguas de la portada (ul li:hover a, nav ul li) */
header nav .vg-dd .vg-dd-menu li{font-size:15px;font-weight:400;letter-spacing:0;color:#1d2b30}
header nav .vg-dd .vg-dd-menu li a,header nav .vg-dd:hover .vg-dd-menu li a{color:#1d2b30;font-weight:400;letter-spacing:0}
header nav .vg-dd .vg-dd-menu li a:hover,header nav .vg-dd .vg-dd-menu li a:focus-visible{color:#1f6f87;background:#e8f5f9}
header nav .vg-dd .vg-dd-menu li a[aria-current]{color:#1f6f87;font-weight:700}
.vg-brand{font-size:clamp(1.05rem,2.4vw,1.6rem);letter-spacing:.08em}
