/* Shared mobile app shell; desktop layouts remain on their page styles. */
html{-webkit-text-size-adjust:100%;scroll-padding-top:85px}body{min-height:100dvh}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{touch-action:manipulation}button:disabled{cursor:not-allowed}img{max-width:100%}a,button{overflow-wrap:anywhere}main,.detail>*{min-width:0}[hidden]{display:none!important}.app-install-banner{max-width:1168px;margin:12px auto 0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9edde;border:1px solid #d6dfc8;border-radius:10px;padding:12px 16px;color:#233b32;font:13px/1.4 system-ui}.app-install-banner strong{display:block;font-size:14px}.app-install-banner button{flex:none;border:0;border-radius:7px;background:#345d49;color:white;font:600 13px system-ui;padding:11px 16px;cursor:pointer;min-height:44px}.app-install-dialog{color:#233b32;background:#faf9f3;max-width:470px;width:calc(100% - 28px);padding:24px;border:0;border-radius:15px;font:16px/1.55 system-ui}.app-install-dialog::backdrop{background:#14241cb3}.app-install-dialog h2{font:29px/1.2 Georgia,serif;margin:10px 0 16px}.app-install-dialog button{background:#345d49;color:white;border:0;border-radius:7px;padding:12px 18px;font:inherit;cursor:pointer}.app-install-dialog ol{padding-left:23px}.app-install-dialog li{margin:12px 0}.app-install-dialog p{font-size:14px;color:#66735d}.mobile-app-nav{display:none}.connection-indicator{background:#fff1d0;color:#6a4c12;padding:10px 16px;font:13px/1.4 system-ui;text-align:center}.app-cart-badge{font-size:10px;background:#345d49;color:white;border-radius:20px;min-width:17px;padding:1px 5px;position:absolute;top:4px;right:calc(50% - 28px)}
@media(max-width:800px){
 body{margin:0;padding-bottom:calc(86px + env(safe-area-inset-bottom));font-size:15px;line-height:1.5;overflow-x:clip}
 main{width:100%;padding:20px 16px!important}h1{overflow-wrap:anywhere}h2{font-size:29px}input,select,textarea{font-size:16px!important;max-width:100%;min-height:46px}button,.btn,.button{min-height:44px}label{font-size:14px!important}a{touch-action:manipulation}header{gap:12px}
 body[data-page="catalogue"]>header{position:sticky;top:0;z-index:30;background:#f6f4ebf5;backdrop-filter:blur(12px);padding:calc(12px + env(safe-area-inset-top)) 16px 12px!important;display:flex;flex-wrap:nowrap;min-height:66px;border-bottom:1px solid #d9dfd1}
 body[data-page="catalogue"]>header .brand{font-size:27px;white-space:nowrap}body[data-page="catalogue"]>header>nav{display:none}
 .mobile-header-label{font:12px system-ui;color:#63735c;text-align:right}.app-install-banner{margin:12px 16px 0;padding:11px 12px;border-radius:10px}.app-install-banner .app-install-extra{display:none}
 body[data-page="catalogue"] .hero{padding:19px 0 28px;display:block}body[data-page="catalogue"] .hero h1{font-size:clamp(38px,10.4vw,56px);line-height:1.08;margin:14px 0 16px;letter-spacing:-1px}body[data-page="catalogue"] .hero .lead{font-size:14px;line-height:1.6;margin:0 0 18px}body[data-page="catalogue"] .hero-art{display:none}.eyebrow{font-size:10px;letter-spacing:1.5px}
 body[data-page="catalogue"] .delivery{display:grid;grid-template-columns:1fr;padding:15px 0;gap:12px}body[data-page="catalogue"] .delivery>div{display:grid;gap:1px}.delivery b{font-size:14px}.delivery p{font-size:12px}
 body[data-page="catalogue"] .section-head{margin:30px 0 17px;align-items:center;gap:10px}.section-head h2{font-size:28px;margin-top:7px}.section-head #count{white-space:nowrap;font-size:12px}.tools{gap:8px;margin-bottom:14px}.tools input{width:100%;flex-basis:100%;min-width:0}.tools select{width:100%}#filters{flex-wrap:nowrap;overflow-x:auto;padding:3px 1px 9px;scrollbar-width:thin}#filters .filter{white-space:nowrap;flex:none;padding:8px 15px;font-size:13px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.card h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.card .category{font-size:10px;margin:11px 0 4px}.card .price{font-size:23px;margin:6px 0}.card .meta{font-size:11px;line-height:1.5}.card .more{font-size:13px;min-height:40px}.photo img{height:clamp(185px,56vw,280px);object-fit:cover}.badge{top:8px;left:7px;padding:4px 8px;font-size:10px}.info{display:block!important;padding:22px 18px!important;margin:32px 0 16px}.info>div+div{margin-top:18px}.info h2{font-size:27px}.info p,.info li{font-size:14px}
 body[data-page="catalogue"] dialog:not(.app-install-dialog){position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 body[data-page="catalogue"] dialog>.close{position:sticky;top:0;z-index:3;float:right;background:#faf9f3;border:1px solid #d0dac3;width:44px;height:44px;margin:0 0 12px 8px;font-size:26px;box-shadow:0 3px 12px #233b3210}
 .detail{display:flex;flex-direction:column;gap:21px;clear:both}.detail>div{width:100%}.detail #large{max-height:43dvh;min-height:230px;object-fit:contain;border-radius:9px}.thumbs{overflow-x:auto;padding-bottom:4px}.thumbs img{height:65px;width:56px}.detail h2{font-size:30px;line-height:1.15}.detail .price{font-size:29px}.detail .meta{font-size:13px}.detail .button{display:block;width:100%;padding:13px;font-size:16px}.payment-box{padding:15px}.payment-actions button{min-height:49px;font-size:15px;padding:13px}.payment-box select{font-size:16px}.cart-item{grid-template-columns:58px minmax(0,1fr);gap:11px;padding:14px 0}.cart-item img{width:58px;height:76px;grid-row:span 2}.cart-item h3{font-size:14px;line-height:1.4}.cart-item button{grid-column:2;justify-self:start;min-height:38px;padding:0 8px 0 0}.cart-total{display:block;font-size:18px}.cart-total b:last-child{display:block;font-size:27px;margin-top:6px}.cart-group{padding:15px}.cart-group h3{font-size:24px}#basket>h2{font-size:32px;padding-right:50px}#basket-continue{width:100%;font-size:15px}
 .mobile-app-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:#fafbf6f7;backdrop-filter:blur(16px);padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #d6dfcc;box-shadow:0 -4px 22px #233b320a;z-index:40;color:#6b7866}.mobile-app-nav a,.mobile-app-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;border:0;background:none;color:inherit;border-radius:10px;font:11px/1.2 system-ui;padding:8px 2px;min-height:54px;min-width:0;cursor:pointer}.mobile-app-nav .is-active{background:#e8edde;color:#345d49;font-weight:650}.mobile-app-nav svg{width:22px;height:22px;display:block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 body[data-page="planning"] .layout{grid-template-columns:minmax(0,1fr)}body[data-page="planning"] header{flex-direction:column;align-items:flex-start}body[data-page="planning"] h1{font-size:35px;margin:12px 0}body[data-page="planning"] .toolbar{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}body[data-page="planning"] .toolbar>select{grid-column:1/-1;width:100%}body[data-page="planning"] .toolbar button{font-size:13px;padding:11px 9px}body[data-page="planning"] #future{grid-column:1/-1}body[data-page="planning"] .panel{padding:17px 12px;border-radius:12px}body[data-page="planning"] .calendar{gap:4px;margin-top:13px}body[data-page="planning"] .day{padding:8px 2px;min-height:52px;font-size:14px}body[data-page="planning"] .month-title{font-size:23px}body[data-page="planning"] .weekday{font-size:10px}.slot .row{flex-wrap:wrap}.slot h3{font-size:17px}.fields,.columns{grid-template-columns:1fr!important;gap:0!important}.fields>*,.columns>*{min-width:0}body[data-page="planning"] .actions button{flex:1}.editor h2{font-size:28px}#form>p>button{margin-top:8px}
 body[data-page="gestion"] header{align-items:flex-start;flex-direction:column}body[data-page="gestion"] header>div:last-child{font-size:13px}body[data-page="gestion"] section{padding:20px 16px;margin:20px 0}body[data-page="gestion"] h1{font-size:34px}body[data-page="gestion"] #new{width:100%}body[data-page="gestion"] .item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:start}body[data-page="gestion"] .item img{width:58px;height:76px;grid-row:span 2}body[data-page="gestion"] .item>button{grid-column:2;justify-self:start;font-size:13px;padding:9px 16px}.photos{gap:10px}.photos img{border-radius:5px}.photos button{min-height:38px}fieldset{border:1px solid #d7dfcf;border-radius:7px;padding:12px}fieldset label{display:flex!important;align-items:center;gap:10px;min-height:40px}fieldset input[type=checkbox]{width:21px;height:21px;flex:none}
 body[data-page="checkout"] h1{font-size:34px}body[data-page="checkout"] section{padding:20px 15px}body[data-page="checkout"] section h2{font-size:26px}.line{font-size:14px;align-items:flex-start;gap:14px}.line>span:first-child{min-width:0}.line>b,.line>span:last-child{flex-shrink:0;max-width:50%;text-align:right}.line.total{font-size:18px}.line.total>span:last-child{font-size:17px}body[data-page="checkout"] #review{width:100%;min-height:50px;font-size:15px}body[data-page="checkout"] .payments button{min-height:51px;font-size:15px}.steps{font-size:12px}
 footer{padding:20px 16px!important;display:block;font-size:11px}.app-install-dialog{padding:22px;width:calc(100% - 28px);max-height:85dvh;overflow-y:auto}.app-install-dialog button{width:100%;min-height:46px}
}
@media(max-width:350px){.grid{grid-template-columns:1fr}.photo img{height:300px}.mobile-app-nav a,.mobile-app-nav button{font-size:10px}.app-install-banner{align-items:flex-start}.app-install-banner strong{font-size:12px}.app-install-banner button{padding:10px;font-size:12px}.day{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
