/* V16 - móvil primero. No cambia el diseño ni el layout de escritorio. */
.mobile-daybar,.mobile-bottom-nav{display:none}
@media(max-width:850px){
 html{scroll-padding-top:128px}
 body{padding-bottom:calc(73px + env(safe-area-inset-bottom,0px));overflow-x:clip}
 .container{width:calc(100% - 28px)}
 .topbar{height:58px!important;min-height:58px!important;position:sticky;top:0;z-index:1100;display:flex;flex-wrap:nowrap;padding:7px 14px;gap:8px}
 .topbar .main-nav{display:none!important}
 .brand-logo{width:38px!important;height:38px!important;font-size:21px!important}
 .brand-label{font-size:15px!important;line-height:1.05!important}
 .brand-label small{font-size:8px!important;letter-spacing:.8px!important;margin-top:4px!important}
 .mobile-daybar{display:flex;position:sticky;top:58px;z-index:1090;height:61px;align-items:center;gap:7px;padding:6px 12px;color:#1b3334;background:#f1e5d0;box-shadow:0 3px 13px #102a2b26;border-bottom:1px solid #d3b888}
 .mobile-day-arrow{width:45px;min-width:45px;height:46px;border:1px solid #c4a774;border-radius:8px;background:#fffaf0;color:#173737;font-size:30px;line-height:1;font-weight:800}
 .mobile-day-arrow:disabled{opacity:.3;cursor:default}
 .mobile-day-current{flex:1;min-width:0;text-decoration:none;text-align:center;display:flex;flex-direction:column;justify-content:center;line-height:1.15;gap:4px;min-height:46px}
 .mobile-day-current span{font-size:11px;font-weight:800;color:#74582e;letter-spacing:.08em}
 .mobile-day-current strong{font:800 clamp(14px,4vw,18px)/1.16 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:1200;background:#101f23;color:#f1f2ed;min-height:65px;padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -5px 25px #001b1d35;border-top:1px solid #547267}
 .mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#f0eee8;gap:1px;min-height:56px;font-size:12px;font-weight:800;line-height:1.12;border-radius:8px}
 .mobile-bottom-nav a span{font-size:23px;line-height:1.2;color:#edc487;font-weight:800}
 .mobile-bottom-nav a:focus-visible,.mobile-bottom-nav a:active{background:#31504c}
 #etapas,#mapa,#paradas,#descargas,#plan,#comer,#hoteles,#informacion{scroll-margin-top:130px}
 .intro{padding-top:40px;padding-bottom:40px}
 .section-heading{gap:12px;margin-bottom:21px}
 .section-heading h2{font-size:clamp(32px,8vw,43px);line-height:1.03}
 .section-heading>p{font-size:14px;line-height:1.55}
 .hero{min-height:unset!important}
 .hero-content{padding-top:47px!important;padding-bottom:36px!important}
 .hero-kicker{margin-top:25px!important;font-size:10px!important;letter-spacing:.085em!important}
 .hero h1{font-size:clamp(56px,14.4vw,89px)!important;line-height:.88!important;letter-spacing:-.01em!important;margin:18px 0 24px!important}
 .hero-sub{font-size:15px!important;line-height:1.6!important;max-width:530px}
 .hero-buttons .btn{min-height:48px;padding:12px 17px;font-size:13px}
 .hero-facts{margin-top:36px;gap:15px;flex-wrap:wrap}
 .hero-facts small{font-size:9px!important;letter-spacing:.02em!important}
 .day-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .day-tab{min-height:144px;padding:13px!important;touch-action:manipulation}
 .day-tab .tab-date{font-size:33px!important}
 .day-tab .tab-route{font-size:13px!important}
 .day-tab .tab-open{font-size:11px;margin-top:10px}
 #mapa{padding:38px 0 43px!important}
 #mapa .map-heading{display:block;margin-bottom:20px}
 #mapa .current-day-inline{margin:12px 0 0;color:#e9c08b;font-size:15px}
 #mapa .map-layout.container{display:flex!important;flex-direction:column!important;width:calc(100% - 20px)!important;min-height:0!important;gap:13px!important}
 #mapa .map-wrapper{width:100%!important;height:clamp(410px,64dvh,660px)!important;min-height:410px!important;max-height:660px!important;overflow:hidden}
 #mapa .map-wrapper #route-map{flex:1;height:auto!important;min-height:0!important;width:100%}
 #mapa .map-toolbar{height:auto!important;min-height:61px!important;padding:8px!important}
 #mapa .map-controls{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 #mapa .map-chip{font-size:13px!important;min-height:46px!important;padding:9px 7px!important;white-space:normal}
 #mapa .map-aside{width:100%;min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
 #mapa .aside-top{padding:18px 17px 13px}
 #mapa .aside-top h3{font-size:29px!important}
 #mapa .aside-top>p:not(.aside-caption){font-size:14px}
 #mapa .side-explain{font-size:13px;margin:12px 16px}
 #mapa .aside-label{font-size:14px;padding:13px 16px}
 #mapa .aside-stops{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:0}
 #mapa .aside-stop{min-height:69px!important;padding:10px 16px!important;touch-action:manipulation}
 #mapa .aside-stop b{font-size:15px!important}
 #mapa .aside-stop small{font-size:12px!important}
 #mapa .aside-stop .marker{width:35px;height:35px;font-size:16px}
 #mapa .stop-open{font-size:12px!important}
 #mapa .map-downloads{width:100%;min-height:0!important;height:auto!important}
 #mapa .download-side-head{padding:16px}
 #mapa .download-side-head h3{font-size:27px}
 #mapa .download-side-head p{font-size:13px}
 #mapa .download-link-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #mapa .file-download{min-height:64px!important;font-size:13px!important;padding:10px!important;line-height:1.3}
 #mapa .file-download span:first-child{font-size:23px}
 #mapa .download-all{font-size:14px}
 .leaflet-popup-content{min-width:0;max-width:min(285px,calc(100vw - 85px));margin:13px}
 .stop-popup h3{font-size:25px}
 .stop-popup p{font-size:14px;line-height:1.5}
 .popup-buttons>*{min-height:44px!important;display:inline-flex;align-items:center;justify-content:center;font-size:13px!important;padding:10px 12px!important}
 #plan{padding-top:48px;padding-bottom:52px}
 .plan-intro{padding:20px 17px;gap:10px}
 .plan-intro h3{font-size:32px}
 .plan-stop{scroll-margin-top:128px}
 .plan-stop summary{min-height:83px;padding:13px 12px!important;gap:11px}
 .plan-number{width:37px!important;height:37px!important;font-size:17px!important}
 .plan-summary-body strong{font-size:17px!important}
 .plan-time{font-size:12px}
 .plan-show-label{font-size:12px!important;white-space:normal;text-align:right;max-width:73px}
 .plan-stop-body{display:flex!important;flex-direction:column!important;gap:14px;padding:17px!important}
 .plan-copy{width:100%;min-width:0}
 .plan-copy p{font-size:15px;line-height:1.65}
 .plan-buttons .action-link{min-height:49px;font-size:14px}
 .real-photo-gallery{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px}
 .trip-photo{min-height:0}
 .trip-photo img{height:158px}
 .stage-gallery .real-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .recommend-section{padding:48px 0!important}
 .recommend-grid{grid-template-columns:1fr!important;gap:18px}
 .rec-photo-strip{height:225px;min-height:225px}
 .rec-card-body{padding:19px!important}
 .rec-card h3{font-size:30px}
 .rec-card p{font-size:14px;line-height:1.6}
 .rec-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .rec-link{min-height:49px;padding:11px 7px;font-size:13px;justify-content:center;text-align:center}
 .hotel-group-title{padding:17px 16px;margin:16px 0 2px}
 .hotel-group-title h3{font-size:1.3rem}
 .hotel-group-title p{font-size:14px}
 .info-section{padding:50px 0}
 .resource-footer{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
 .footer{padding-bottom:18px}
 .leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;font-size:21px!important}
}
@media(max-width:375px){
 .mobile-day-current strong{font-size:13px}
 .hero-buttons .btn{font-size:12px;padding:10px}
 .hero h1{font-size:clamp(48px,14vw,65px)!important}
 .rec-links{grid-template-columns:1fr}
 .real-photo-gallery{grid-template-columns:1fr!important}
 .trip-photo img{height:200px}
 .mobile-bottom-nav a{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
