/* V172: navegación y páginas públicas adaptadas a teléfonos */
.public-menu-toggle{display:none}
@media(max-width:780px){
 html,body{max-width:100%;overflow-x:hidden}
 body .sitebar{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;align-items:center!important;gap:12px!important;min-height:0!important;padding:14px 18px!important;border-bottom:2px solid var(--decorative)!important}
 body .sitebar .brand{min-width:0!important;font-size:17px!important;line-height:1.2!important;white-space:normal!important}
 body .sitebar .brand-icon{flex:none!important}
 .public-menu-toggle{display:grid!important;place-content:center;gap:5px;width:46px;height:42px;padding:0;border:1px solid #ffffff45;border-radius:12px;background:#ffffff12!important;box-shadow:none!important}
 .public-menu-toggle span{display:block;width:22px;height:2px;border-radius:3px;background:#fff;transition:.2s}
 body.public-nav-open .public-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 body.public-nav-open .public-menu-toggle span:nth-child(2){opacity:0}
 body.public-nav-open .public-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 body .sitebar #publicNav{display:none!important;grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;max-width:none!important;padding:12px 0 3px!important;overflow:visible!important}
 body.public-nav-open .sitebar #publicNav{display:grid!important}
 body .sitebar #publicNav>a{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:44px!important;padding:9px 8px!important;border:1px solid #ffffff26!important;border-radius:11px!important;background:#ffffff0c!important;box-shadow:none!important;font-size:13px!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
 body .sitebar #publicNav>a.is-current{background:var(--site-active)!important;color:#172343!important}
 body .sitebar .language-picker{grid-column:1/-1!important;width:100%!important}
 body .sitebar .language-trigger{width:100%!important;justify-content:center!important;min-height:42px!important}
 body .sitebar .language-menu{left:0!important;right:0!important;width:100%!important;box-sizing:border-box!important}

 body .hero,body .hero-slider{min-height:560px!important;height:calc(100svh - 72px)!important;max-height:720px!important}
 body .hero-content{left:0!important;right:0!important;bottom:auto!important;top:50%!important;transform:translateY(-42%)!important;width:auto!important;max-width:none!important;padding:24px!important}
 body .hero-content .eyebrow{font-size:10px!important;letter-spacing:1.6px!important}
 body .hero-content h1{margin:10px 0 14px!important;font-size:clamp(36px,11vw,52px)!important;line-height:1.02!important}
 body .hero-content p{margin:0!important;font-size:17px!important;line-height:1.5!important}
 body .hero-content .actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:24px!important}
 body .hero-content .actions .button{width:auto!important;min-width:0!important;padding:12px 17px!important;border-radius:999px!important;font-size:14px!important}

 body .canteen-hero{display:block!important;padding:24px 18px!important}
 body .canteen-hero>div:first-child{margin-bottom:18px!important}
 body .canteen-hero h1{font-size:34px!important;line-height:1.02!important}
 body .canteen-schedule-public{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px 12px!important;width:100%!important;max-width:none!important;padding:16px!important;border-radius:16px!important}
 body .schedule-public-icon{width:38px!important;height:38px!important;font-size:19px!important}
 body .canteen-schedule-public h2{font-size:25px!important}
 body .schedule-public-date{font-size:13px!important}
 body .schedule-public-hours{font-size:18px!important;white-space:normal!important}
 body .canteen-schedule-public>p{font-size:12px!important;padding-top:10px!important}
 body .canteen-page{padding:24px 16px!important}
 body .canteen-tabs{display:flex!important;gap:8px!important;width:100%!important;padding:0 0 8px!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none}
 body .canteen-tabs::-webkit-scrollbar{display:none}
 body .canteen-tabs button{flex:0 0 auto!important;min-width:0!important;padding:10px 15px!important;font-size:13px!important;scroll-snap-align:start}
 body .canteen-layout{display:block!important}
 body .product-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
 body .product-card{overflow:hidden!important;border-radius:16px!important}
 body .product-photo{height:220px!important;min-height:0!important}
 body .product-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
 body .product-copy{padding:16px!important}
 body .product-copy h2{font-size:21px!important}
 body .product-copy footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
 body .product-copy footer button{width:auto!important;min-width:96px!important;padding:10px 14px!important;font-size:13px!important}
 body .cart-panel{position:static!important;width:auto!important;margin-top:20px!important;padding:18px!important;border-radius:16px!important}
 body .site-footer{overflow:hidden!important}
}
@media(max-width:390px){body .sitebar #publicNav{grid-template-columns:1fr!important}body .hero-content{padding:20px!important}body .hero-content h1{font-size:36px!important}}

/* V175: portada completa y correctamente encajada en teléfonos */
@media(max-width:780px){
 html{width:100%!important;overflow-x:hidden!important}
 body{width:100%!important;min-width:0!important;overflow-x:hidden!important}
 body .sitebar{position:sticky!important;top:0!important;width:100%!important;min-height:72px!important;margin:0!important;padding:max(13px,env(safe-area-inset-top)) 16px 13px!important;grid-template-columns:minmax(0,1fr) 44px!important;box-sizing:border-box!important}
 body .sitebar .brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;max-width:none!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.25!important;overflow:visible!important}
 body .sitebar .brand>span:last-child{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
 body .sitebar .brand-icon{font-size:15px!important}
 body .public-menu-toggle{width:44px!important;height:42px!important;margin:0!important}

 body .hero.hero-slider{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;height:auto!important;min-height:520px!important;max-height:none!important;margin:0!important;padding:42px 22px 48px!important;overflow:hidden!important;box-sizing:border-box!important}
 body .hero-slider .hero-slides,body .hero-slider .hero-slide,body .hero-slider .hero-overlay{inset:0!important;width:100%!important;height:100%!important}
 body .hero-slider .hero-slide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
 body .hero-content{position:relative!important;z-index:3!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:520px!important;margin:0!important;padding:0!important}
 body .hero-content:before{width:58px!important;height:4px!important;margin:0 0 14px!important}
 body .hero-content .eyebrow{display:block!important;margin:0 0 8px!important;font-size:9px!important;line-height:1.25!important;letter-spacing:1.5px!important}
 body .hero-content h1{display:block!important;margin:0 0 13px!important;max-width:100%!important;font-size:clamp(34px,10vw,46px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
 body .hero-content p{display:block!important;margin:0!important;max-width:100%!important;font-size:16px!important;line-height:1.45!important}
 body .hero-content .actions{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:9px!important;margin:21px 0 0!important}
 body .hero-content .actions .button{width:auto!important;min-width:0!important;margin:0!important;padding:11px 15px!important;border-radius:999px!important;font-size:13px!important;line-height:1.2!important}
 body main{width:100%!important;max-width:100%!important;overflow:hidden!important}
}
@media(max-width:420px){
 body .hero.hero-slider{min-height:500px!important;padding:34px 19px 40px!important}
 body .hero-content h1{font-size:34px!important}
 body .hero-content p{font-size:15px!important}
 body .hero-content .actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
 body .hero-content .actions .button{text-align:center!important;padding:11px 10px!important}
}
@media(max-width:350px){body .hero-content .actions{grid-template-columns:1fr!important}}
