/* Shared responsive adjustments for iPhone Safari and other small touch screens. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.meddina-site-footer{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
@media(max-width:850px){
  *,*::before,*::after{box-sizing:border-box}
  main,section,article,form,nav{min-width:0}
  h1,h2,h3,p,a{overflow-wrap:break-word}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-width:0;max-width:100%}
  button,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
  button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(0,0,0,.12)}
  .market-nav,.concierge-nav,.menu-header,.header{padding-top:max(16px,env(safe-area-inset-top,0px));height:auto;flex-wrap:wrap;gap:12px}
  .market-nav>div,.concierge-locale{min-width:0;max-width:100%;flex-wrap:wrap}
  .market-nav a,.concierge-nav a,.menu-header a,.header>a{min-height:44px;display:inline-flex;align-items:center}
  .market-nav.home-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 20px}
  .home-navigation .home-wordmark{max-width:100%;padding:0}
  .home-navigation .home-wordmark img{width:132px;max-width:100%;height:auto}
  .home-navigation .home-language{position:static;grid-column:2;grid-row:1;max-width:100%}
  .home-language select{max-width:125px}
  .market-nav.home-navigation>.home-navigation-links{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;gap:4px 16px;border-top:1px solid #eee;padding-top:8px}
  .market-nav.home-navigation>.home-navigation-links>a{width:100%;white-space:normal;font-size:14px;line-height:1.5;padding:8px 0;border:0}
  .media-hero{min-height:0;grid-template-columns:1fr}
  .media-hero>img{height:clamp(220px,60vw,350px)}
  .media-hero>div{min-width:0;padding:36px 20px}
  .media-hero h1{font-size:clamp(36px,10vw,56px);line-height:1.08;letter-spacing:-.035em}
  .market-search{min-width:0;flex-wrap:wrap;gap:8px;margin-top:24px}
  .market-search input{width:100%;flex:1 1 180px;padding:12px}
  .market-search button{flex:1 1 100px;padding:12px 18px}
  .concierge-nav .concierge-locale{margin-inline-start:auto;gap:6px}
  .concierge-locale label{min-width:0}
  .concierge-locale select{max-width:160px}
  .concierge-hero h1,.partner-hero h1{font-size:clamp(34px,9vw,48px);line-height:1.12}
  .concierge-card>p{font-size:16px}
  .concierge-results-head nav{width:100%;min-width:0}
  .concierge-results-head nav button{flex-shrink:0;font-size:14px}
  .booking-card{padding:20px;min-width:0}
  .booking-card input,.booking-card textarea{width:100%}
  .media-promise,.partner-actions,.sale-nav,.sale-section-links,.sale-tour-controls{flex-wrap:wrap;gap:12px}
  .sale-section-links a,.sale-tour-controls a,.sale-nav a{display:inline-flex;align-items:center;min-height:44px}
  .sale-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sale-facts dd{margin-inline-start:0}
  .account-page article,.admin-main>header{flex-wrap:wrap;gap:12px}
  .admin-main,.workspace{min-width:0}
  .header.wrap{justify-content:flex-start;gap:10px 16px}
  .header nav{order:5;width:100%;overflow-x:auto;gap:14px;flex-wrap:nowrap}
  .header nav button{flex-shrink:0;white-space:nowrap;padding:10px 3px}
  .header .saved-button{margin-inline-start:auto}
  .header [data-site-language]{margin-inline-start:0!important}
  .search{display:grid;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .search>label,.search>label>span{min-width:0}
  .search input,.search select{width:100%}
  .search-location{grid-column:1/-1}
  .menu-header .menu-wordmark{flex:1 1 135px;margin:0}
  .menu-header .menu-marketplace,.menu-header .customer-login{margin:0;white-space:normal}
  .menu-header{justify-content:space-between}
  .menu-section .ai-menu-tools label{min-width:0;max-width:100%}
  .menu-section .ai-menu-tools select{width:100%}
  .menu-section .ai-menu-tools button{white-space:normal}
  .dish-control-label{white-space:normal;overflow-wrap:anywhere}
  .dish-media-tabs button,.menu-item .dish-media-links button{min-height:58px}
  dialog{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
  .dish-media-modal{height:calc(100vh - 24px);height:calc(100dvh - 24px);padding-bottom:env(safe-area-inset-bottom,0px)}
  .dish-media-visual{height:38vh;height:38dvh;min-height:180px}
  .dish-media-visual model-viewer{min-height:180px}
  .dish-media-copy{padding:20px}
  .dish-media-close,.dialog-close,#close-basket{width:44px;height:44px;min-width:44px}
  .full-immersive-link{white-space:normal;line-height:1.5}
  .media-tabs{flex-wrap:wrap}
  .media-tabs button{min-width:0;min-height:44px;font-size:14px}
  .detail-footer{flex-wrap:wrap}
  .detail-footer small{max-width:100%;font-size:14px}
  #basket{max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:60px 20px calc(24px + env(safe-area-inset-bottom,0px))}
  #basket:not(.open){visibility:hidden;pointer-events:none}
  #toast,.toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));overflow-wrap:anywhere}
}
@media(max-width:400px){
 .concierge-nav .concierge-locale{width:100%;margin:0;justify-content:space-between}
 .concierge-locale select{max-width:155px}
 .market-nav.home-navigation{column-gap:8px}
 .home-language{padding:4px}
 .home-language select{max-width:112px}
 .sale-facts{grid-template-columns:1fr;gap:12px}
 .menu-header{gap:8px 12px}
 .menu-header .menu-wordmark{flex-basis:100%}
 .menu-section .ai-menu-tools label{grid-template-columns:1fr;gap:6px}
}
@media(max-height:500px) and (orientation:landscape){
 .dish-media-modal[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .dish-media-visual{height:100%;min-height:180px}
 .dish-media-copy{padding:54px 20px 20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#basket,.experience-art>img,.concierge-card img{transition:none}}

@media(max-width:480px){.search{grid-template-columns:minmax(0,1fr)}body>header:not(.menu-header):not(.header){height:auto;flex-wrap:wrap;gap:12px}.account-panel{min-width:0;max-width:100%}.account-panel nav{flex-wrap:wrap}.dialog-body{padding:24px 18px}}

/* Senegal marketplace and menu layouts */
@media(max-width:850px){.sn-nav{position:relative;display:flex;flex-wrap:wrap}.sn-nav>div{display:flex;width:100%;order:3;gap:8px 18px;flex-wrap:wrap}.sn-nav>a.sn-account{margin-left:auto}.sn-nav>div a{font-size:14px}.sn-search{max-width:calc(100% - 32px)}.sn-selection>header{flex-wrap:wrap}.sn-card-copy small{white-space:normal}.sn-card-arrow{min-width:44px}.sn-card-image .sn-heart{width:44px;height:44px}.detail-content{grid-template-columns:minmax(0,1fr)}.digital-section article{gap:12px;flex-wrap:wrap}.digital-section article>div{min-width:0;flex:1 1 190px}.ai-menu-tools{display:grid;grid-template-columns:1fr}.ai-menu-tools label{display:flex;align-items:center;gap:12px}.ai-menu-tools select{flex:1}.digital-card>header h1{font-size:clamp(32px,9vw,52px)}.digital-card>header{padding:28px 20px}.digital-card{min-height:0}.menu-qr{min-width:0}.dish-copy nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dish-copy nav button{min-width:0;white-space:normal;font-size:14px}}
.sn-categories span,.sn-card-detail,.sn-card-copy small{font-size:14px}.sn-card-image .sn-card-arrow{top:50%;height:44px;width:44px}.sn-card-image .sn-heart{top:auto;bottom:12px}.sn-card-image .sn-image-price{max-width:calc(100% - 76px);font-size:16px}.ai-menu-tools{padding:16px;background:#f5f5f5;border:1px solid #ddd;border-radius:12px}.ai-menu-tools button{background:#171717;color:#fff}.ai-menu-tools label{color:#171717}.sn-nav>a:first-child img{width:140px;height:auto}
