/* Parcours national : la carte et les choix tactiles passent en premier. */
.user-location{width:15px;height:15px;border-radius:50%;background:#3579a8;border:3px solid white;box-shadow:0 0 0 6px #3579a82b;pointer-events:none!important}
:root{font-size:18px}.compact-intro{display:flex;justify-content:space-between;gap:28px;align-items:center;margin:22px 0 18px}.compact-intro h1{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.18;margin:4px 0 9px}.compact-intro .lede{font-size:1rem;max-width:760px}.compact-summary{background:#eaf3e9;border:1px solid #d5e4d7;padding:15px 20px;border-radius:15px;font-size:.9rem;max-width:270px;flex-shrink:0}.compact-summary strong{font-size:1.5rem;color:var(--green);margin-right:5px}.availability-note{font-size:.88rem;padding:12px 16px;margin-bottom:22px}.map-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.map-instruction{font-weight:650;font-size:.92rem}.map-controls{display:flex;flex-wrap:wrap;gap:8px;margin:0}.map-controls .button{font-size:.9rem;min-height:48px;padding:10px 16px}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8rem;max-width:none;margin-bottom:12px}.legend span{display:flex;align-items:center;gap:6px;white-space:normal}.legend i{width:12px;height:12px;flex:none;border-radius:50%}.grey-dot{background:#d1dcd6;border:1px solid #7d9487}.stale-dot{background:#ded6b5;border:1px solid #a99b6a}#map{height:min(65vh,620px);min-height:400px;border-radius:18px;border:1px solid #c5d5c9;overflow:hidden;isolation:isolate}.maplibregl-canvas{outline:none}.maplibregl-ctrl-group button{width:44px;height:44px}.maplibregl-ctrl-attrib{font-size:11px}.maplibregl-ctrl-attrib a{color:#345546}.postcode-form{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:16px 0 9px}.postcode-form label{font-size:.94rem;font-weight:650}.postcode-inputs{display:flex;gap:8px;flex:1;min-width:240px}.postcode-inputs input{font-size:1rem;min-height:49px;border:1px solid #b9cbc0;border-radius:10px;padding:9px 12px;width:145px;min-width:0;flex:1;max-width:220px;background:#fffefb}.postcode-inputs .button{font-size:.9rem;min-height:49px}.map-status{font-size:.82rem;color:var(--muted);min-height:1.6em;margin:4px 0 12px}.map-bottom{display:flex;flex-direction:column;gap:4px;font-size:.79rem;margin:0;padding:12px 0;border-top:1px solid var(--line)}.map-bottom strong{font-size:.9rem}.sidebar{padding:20px;align-self:start;min-width:0}.sidebar h2{font-size:1.12rem}.search-label{font-size:.9rem}#search{font-size:.96rem;min-height:50px}.tabs{grid-template-columns:1.1fr 1.1fr .8fr;gap:7px}.tabs button{font-size:.8rem;min-height:47px}.tabs button>span:last-child{font-size:.75rem}.sync-status,.result-count{font-size:.8rem}.pharmacy-list{max-height:580px}.list-card{padding:14px;min-height:88px}.list-card h3{font-size:1rem}.list-card p{font-size:.85rem}.list-card .list-status{font-size:.81rem}.list-card small{display:block;font-size:.76rem;margin-top:6px}.list-card.stale{background:#f8f6eb;border-color:#dcd3b5}.list-card.stale .list-status{color:#7b7049}.list-card.stale .list-status:before{background:#a99b6a}.filters{font-size:.85rem}.filters input{min-height:45px}.more{font-size:.88rem;min-height:48px}.detail-card h2{font-size:1.3rem}.detail-card .address{font-size:.95rem}.detail-actions .button{font-size:.9rem}.confirmation p{font-size:.87rem}.confirmation small{font-size:.77rem}.confirmation.stale{background:#f3eedb}.help{font-size:.9rem;line-height:1.65}.help summary{min-height:40px}.call-script{font-size:.93rem}footer{font-size:.81rem}.dialog-head h2{font-size:1.4rem}.report-pharmacy{font-size:1.13rem;margin:15px 0 4px}#reportPharmacyAddress{font-size:.92rem}#reportLatest .confirmation{padding:12px 14px;margin-bottom:12px}#reportLatest .confirmation p{margin-top:4px}.publication-note{font-size:.88rem;margin:12px 0;color:var(--muted)}.stock-buttons{display:grid;gap:10px}.stock-answer{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:3px;border-radius:12px;border:1px solid var(--line);min-height:70px;padding:12px 16px;color:var(--ink);width:100%}.stock-answer strong{font-size:1.04rem}.stock-answer span{font-size:.8rem}.stock-answer.plenty{background:#e2f2e5;border-color:#a7cdb1}.stock-answer.limited{background:#f0f6df;border-color:#c5d8a4}.stock-answer.none{background:#faebef;border-color:#dfbfcb}.stock-answer:hover{filter:brightness(.97)}.method-options{font-size:.85rem;margin-top:15px}.method-options summary{cursor:pointer;min-height:36px}.method-options fieldset{border:0;padding:10px 0 0}.method-options legend{font-weight:600}.method-options label{display:inline-flex;gap:8px;align-items:center;min-height:44px;margin-right:14px}.method-options input{width:22px;height:22px;accent-color:var(--green)}.automatic-time{font-size:.78rem;margin:13px 0 8px;padding:10px 12px}.text-button{font-size:.84rem;min-height:42px}.history{font-size:.78rem}.history div{padding:8px 0;border-bottom:1px solid #cfddce}.dialog-note{font-size:.82rem}#chooseList{margin-top:15px}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:18px}.compact-summary{max-width:230px}.map-controls .button{padding:9px 12px}}
@media(max-width:800px){.compact-intro{display:block;margin-top:18px}.compact-intro h1{font-size:1.95rem}.compact-intro .lede{font-size:.95rem}.compact-summary{max-width:none;margin-top:14px;padding:10px 14px;font-size:.85rem}.compact-summary strong{font-size:1.15rem}.workspace{display:flex;flex-direction:column}.sidebar,.map-section{width:100%}#map{height:56vh;min-height:380px}.pharmacy-list{max-height:540px}.availability-note{font-size:.85rem}.legend{font-size:.78rem}.map-instruction{font-size:.9rem}.tabs button{font-size:.85rem}.map-bottom{font-size:.78rem}.postcode-form label{font-size:.92rem}.map-status{font-size:.82rem}}
@media(max-width:480px){.page-header,.workspace,footer{padding-left:14px;padding-right:14px}.masthead{align-items:center;padding:14px 0}.brand{font-size:.79rem;max-width:220px}.masthead>.button{font-size:.8rem;min-height:44px;padding:8px 11px}.compact-intro h1{font-size:1.7rem}.compact-intro .lede{font-size:.93rem}.availability-note{font-size:.82rem}.map-top{align-items:stretch}.map-controls{margin-left:0;width:100%}.map-controls .button{font-size:.9rem;flex:1}.legend{display:grid;grid-template-columns:1fr 1fr;font-size:.76rem;gap:7px 10px}.legend span{margin:0}.legend span:nth-child(3){grid-column:1/-1}.map-status{font-size:.8rem}.postcode-form{gap:7px}.postcode-form label{width:100%}.postcode-inputs{min-width:0;width:100%;gap:8px}.postcode-inputs input{max-width:none}.postcode-inputs .button{font-size:.88rem;padding:9px 12px}.map-bottom{font-size:.76rem}dialog{padding:19px 16px;width:calc(100% - 22px);max-height:calc(100dvh - 22px)}.dialog-head h2{font-size:1.32rem}.report-pharmacy{font-size:1.07rem}#reportPharmacyAddress{font-size:.86rem}.stock-answer{min-height:66px;padding:11px 14px}.stock-answer strong{font-size:1.02rem}.stock-answer span{font-size:.8rem}.phone{font-size:1.15rem}.publication-note{font-size:.85rem}.confirmation small{font-size:.76rem}.dialog-note{font-size:.8rem}.method-options{font-size:.82rem}.tabs{grid-template-columns:1.1fr 1.1fr .8fr}.tabs button{font-size:.78rem}.sidebar{padding:17px 14px}.sidebar h2{font-size:1.15rem}.list-card h3{font-size:1rem}.list-card p{font-size:.85rem}.detail-actions .button{width:100%;font-size:.9rem}.toast{font-size:.82rem}footer{font-size:.78rem}.help{font-size:.86rem}}

.account-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0;font-size:.85rem}.account-bar .button{font-size:.82rem;min-height:44px}.login-panel{background:#ecf3ec;border:1px solid #bfd3c0;border-radius:12px;padding:15px;margin:12px 0;font-size:.88rem}.login-panel .button{width:100%;font-size:.88rem;min-height:48px}.login-panel p{margin:6px 0 10px}.fallback-cluster{border-radius:50%;background:#dce5df;border:2px solid #9caea4;display:flex!important;align-items:center;justify-content:center;color:#345546;font-size:14px;font-weight:700}#map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}#map .leaflet-tooltip{font-family:inherit;font-size:14px;max-width:250px;white-space:normal}
