/* Hofplatz V1.2.55: Mobile Single-Ansichten und Karussell. */
@media (max-width:760px){
  /* Elementor/Theme can constrain the shortcode to a narrow inner column. */
  body:has(.hp-restaurant-master) .elementor-location-single :is(.e-con,.e-con-inner,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container),
  body:has(.hp-restaurant-master) .site-main :is(.entry-content,.elementor-widget-container){min-width:0!important;max-width:none!important}
  body .hp-restaurant-master{box-sizing:border-box!important;width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;min-width:0!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;margin-left:0!important;margin-right:0!important}
  body .hp-restaurant-master :is(.hp-top,.hp-body,.hp-contact,.hp-grid,.hp-panel,.hp-detail,.hp-meta-row,.hp-gallery,.hp-description){box-sizing:border-box;min-width:0;max-width:100%}
  body .hp-restaurant-master :is(.hp-body,.hp-contact){padding-left:16px!important;padding-right:16px!important}
  body .hp-restaurant-master :is(.hp-top,.hp-features){gap:12px}
  body .hp-restaurant-master :is(.hp-gallery img,.hp-gallery,.hp-description){max-width:100%}
  /* Full single-card viewport; hide next card until navigated. */
  body .hpcm-reco{box-sizing:border-box!important;width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;margin-left:0!important;margin-right:0!important;padding:0!important;min-width:0!important}
  body .hpcm-reco-grid{display:flex!important;gap:0!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-padding:0!important;overscroll-behavior-x:contain}
  body .hpcm-reco-grid>.hpcm-reco-card{box-sizing:border-box!important;flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:100%!important;scroll-snap-align:start!important;scroll-snap-stop:always}
  body .hpcm-reco-photo{height:190px}
  body .hpcm-reco-title{padding-right:84px}
  /* Stable, viewport-positioned overlay even inside clipped Elementor wrappers. */
  body>.hpcm-mobile-portal{box-sizing:border-box!important;position:fixed!important;display:block!important;visibility:visible!important;opacity:1!important;left:var(--hpcm-left)!important;top:var(--hpcm-top)!important;right:auto!important;bottom:auto!important;transform:none!important;width:var(--hpcm-width)!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;z-index:2147483000!important;pointer-events:auto!important;white-space:normal!important}
  body>.hpcm-mobile-portal:before{display:none!important}
  .hpcm-weekly-hours-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px!important}
  .hpcm-weekly-hours-time,.hpcm-weekly-hours-time span{white-space:nowrap!important}
}
@media(max-width:360px){.hpcm-weekly-hours-row{grid-template-columns:1fr!important}.hpcm-weekly-hours-time{text-align:left!important}}


/* V1.2.56 – mobile click-only help, independent of all legacy hover/focus rules. */
@media(max-width:760px){
  .hpcm-price-help .hpcm-price-popover,.hpcm-tip-explain .hpcm-tip-popover,
  .hpcm-price-help:hover .hpcm-price-popover,.hpcm-price-help:focus .hpcm-price-popover,.hpcm-price-help:focus-within .hpcm-price-popover,
  .hpcm-tip-explain:hover .hpcm-tip-popover,.hpcm-tip-explain:focus .hpcm-tip-popover,.hpcm-tip-explain:focus-within .hpcm-tip-popover{display:none!important;visibility:hidden!important;}
  body>.hpcm-1256-backdrop{position:fixed!important;inset:0!important;z-index:2147483640!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important;background:rgba(16,31,22,.38)!important;isolation:isolate!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-dialog{position:relative!important;display:block!important;box-sizing:border-box!important;width:100%!important;max-width:350px!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:22px 20px!important;border-radius:14px!important;border:1px solid #ded6c9!important;background:#f7f3ec!important;color:#274e38!important;box-shadow:0 18px 55px rgba(0,0,0,.25)!important;font:400 13px/1.6 Montserrat,Arial,sans-serif!important;text-align:left!important;opacity:1!important;visibility:visible!important;transform:none!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-close{position:absolute!important;top:7px!important;right:9px!important;border:0!important;background:transparent!important;color:#274e38!important;font-size:27px!important;line-height:1!important;width:32px!important;height:32px!important;cursor:pointer!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-content{padding-right:12px!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-copy{position:static!important;display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#274e38!important;white-space:normal!important;pointer-events:auto!important;text-align:left!important;font:inherit!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-copy:before,body>.hpcm-1256-backdrop .hpcm-1256-copy:after{display:none!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-copy>b,body>.hpcm-1256-backdrop .hpcm-1256-copy>strong{display:block!important;margin:0 26px 10px 0!important;font-weight:700!important;font-size:14px!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-copy>span{display:block!important;margin:9px 0!important;}
  body>.hpcm-1256-backdrop .hpcm-1256-copy small{display:block!important;margin-top:10px!important;}
}


/* Hofplatz V1.2.57 – nur mobile Wochenstunden und Dialog-Trigger. */
@media(max-width:760px){
  .hpcm-weekly-hours-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:start!important;column-gap:8px!important;width:100%!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;padding:7px 0!important;}
  .hpcm-weekly-hours-row>span:first-child{min-width:0!important;overflow-wrap:normal!important;hyphens:auto!important;}
  .hpcm-weekly-hours-time{min-width:0!important;white-space:nowrap!important;text-align:right!important;}
  .hpcm-weekly-hours-time span{white-space:nowrap!important;}
  .hpcm-ad-info{cursor:pointer!important;touch-action:manipulation!important;}
}
@media(max-width:360px){.hpcm-weekly-hours-row{grid-template-columns:minmax(0,1fr) max-content!important}.hpcm-weekly-hours-time{text-align:right!important}}


/* V1.2.58 – only mobile opening hours and dynamic advertising note */
@media(max-width:760px){
 .hpcm-weekly-hours{margin:12px 0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
 .hpcm-weekly-hours-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;gap:8px!important;align-items:start!important;width:100%!important;}
 .hpcm-weekly-hours-row>span:first-child{min-width:0!important;hyphens:none!important;overflow-wrap:normal!important;}
 .hpcm-weekly-hours-time{white-space:nowrap!important;text-align:right!important;}
 .hpcm-trip .hp-price-note>div{display:none!important;}
 .hpcm-trip .hp-price-note[open]>div{display:none!important;}
 .hpcm-trip .hp-price-note summary{touch-action:manipulation!important;}
}
@media(hover:none) and (pointer:coarse){.hpcm-trip .hp-price-note>div{display:none!important;}}
.hp-gallery[data-hpcm-single-image="1"] .hp-gallery-arrow,.hp-gallery[data-hpcm-single-image="1"] .hp-gallery-dots{display:none!important;}

