/* ORIGO — refinements after Demo Submission launch.
   Public-only mobile styles. No forms, APIs, routing or business logic changed. */
@media(max-width:900px){
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:76px; }
  body { min-width:0; }
  main,section,article,.shell,.container { min-width:0; }
  :is(h1,h2,h3,p,blockquote,a) { overflow-wrap:break-word; }
  :is(img,svg,video,iframe){max-width:100%}
  :where(a,button,input,select,textarea,[role="button"]):focus-visible{outline:3px solid #8babbc!important;outline-offset:3px}
  :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { font-size:16px; }
  :is(button,input,textarea,select){touch-action:manipulation}
  /* Keep panels clear of the mobile navigation and Safari home indicator. */
  .mobile-app-nav { padding-bottom:max(8px,env(safe-area-inset-bottom))!important; }
  body.menu-open,body.virtual-keyboard-open{overscroll-behavior-y:contain}
  .header.origo-topbar .mobile-nav:not([hidden]) { padding-bottom:calc(34px + env(safe-area-inset-bottom))!important; }
  body.page-demo .mobile-app-nav {display:none!important}
  body.page-prenota .booking-v9-shell, body.page-prenota .booking-v9-stage, body.page-prenota .booking-v9-card{min-width:0}
  body.page-prenota :is(.booking-v11-time,.booking-v11-date,.oc-v3-dedicated-option) { touch-action:manipulation; }
  body.page-prenota :is(input:not([type="checkbox"]),textarea,select){font-size:16px!important}
  body.page-prenota [id="booking-v9-steps"]{scroll-margin-top:80px}
  body.page-articoli .oe-article-body :is(pre,table){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.page-articoli .oe-article-body :is(a,code){overflow-wrap:anywhere}
  body.page-articoli .oe-search input {font-size:16px!important}
  body.page-metodo :is(.editorial-section,.process-stack,.editorial-grid){min-width:0}
  body.page-metodo :is(.editorial-hero h1,.editorial-cta h2){overflow-wrap:normal;hyphens:auto}
}
@media(max-width:600px){
  /* Comfortable tap areas; avoid altering inline editorial links. */
  :is(.mobile-nav a,.mobile-nav-cta,.header-cta,.origo-booking-aside-action,
      .oe-filters button,.oe-cta-link,.booking-v11-month-nav button,
      .booking-v11-calendar-nav button,.booking-v13-agenda-list button){min-height:44px}
  body.page-prenota .booking-v9-head {padding-inline:2px!important}
  body.page-prenota .booking-v9-stage-head h2 {line-height:1.12!important}
  body.page-prenota .origo-booking-dedicated-block {gap:12px}
  body.page-demo :is(input,textarea,select){scroll-margin-block:120px}
  body.page-articoli :is(.oe-article-header,.oe-item-body){min-width:0}
  body.page-articoli .oe-item-link {align-items:start}
  /* Long email / streaming addresses must never push the layout wider than the phone. */
  :is(.page-privacy,.page-cookie,.page-termini-e-condizioni) main a {overflow-wrap:anywhere}
}
@media(max-width:360px){
  body.page-prenota .booking-v13-agenda-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-prenota .booking-v9-head h1 {font-size:clamp(30px,9.7vw,36px)!important}
  body.page-articoli .oe-archive-hero h1{font-size:clamp(35px,11vw,45px)!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}
