/* Shared outdoor reading and touch rules. Loaded after component layouts. */
:root{--field-ink:#183d39;--field-muted:#405b52;--field-paper:#f6f7f2;--field-border:#82998b}
body,button,input,select,textarea{font-family:var(--hx-font,"Avenir Next","Segoe UI",Arial,sans-serif)}
body{color:var(--field-ink)}
dialog:not(:where([data-hx], [data-hx] *)){color:var(--field-ink);background:var(--field-paper);max-height:88dvh;overflow:auto;line-height:var(--hx-leading-body)}
dialog h2{font-size:var(--hx-text-title);line-height:var(--hx-leading-head);font-weight:600}dialog h3{font-size:var(--hx-text-body);line-height:var(--hx-leading-head);font-weight:600}
dialog p,dialog label,dialog input,dialog textarea,dialog select{font-size:var(--hx-text-body);line-height:var(--hx-leading-body)}
dialog small:not(:where(.wt, .wt *)),.bookmark-distance,#places-dialog .service-results>p:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-label);line-height:var(--hx-leading-body);color:var(--field-muted)}
dialog button,dialog a,dialog summary{touch-action:manipulation}
dialog button,dialog input,dialog select,.map-controls button{min-height:48px}
dialog button:focus-visible,dialog a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lg-l-42665a,#42665a);outline-offset:3px}
#places-dialog .places-actions{display:flex;flex-wrap:wrap;gap:8px}
#places-dialog .places-actions button,#places-dialog .service-shortcuts button,#places-dialog .farm-options button{margin:0;min-height:48px;padding:10px 12px;font-size:var(--hx-text-label);font-weight:600;border-color:var(--field-border)}
#places-dialog .service-shortcuts{gap:8px}
#places-dialog .service-results article:not(:where([data-hx], [data-hx] *)){grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 0}
#places-dialog .service-results article>strong:not(:where([data-hx], [data-hx] *)){grid-column:1;grid-row:1;font-size:var(--hx-text-body);line-height:var(--hx-leading-body)}
#places-dialog .service-results article>small:not(:where([data-hx], [data-hx] *)){grid-column:1;grid-row:2;font-size:var(--hx-text-label);color:var(--field-muted);margin:0}
#places-dialog .service-results article>.service-phones:not(:where([data-hx], [data-hx] *)){grid-column:1;grid-row:3;padding-right:100px;align-self:start}
#places-dialog .service-results article>a.service-map-link:not(:where([data-hx], [data-hx] *)){grid-column:1;grid-row:3;justify-self:end;width:88px;min-height:48px;height:48px;margin:0;padding:0 12px;font-size:var(--hx-text-body);font-weight:600;border:1px solid var(--field-border);background:var(--lg-b-f6f7f2,#f6f7f2);color:var(--field-ink)}
#places-dialog .service-results .service-phone-row:not(:where([data-hx], [data-hx] *)){min-height:48px;gap:10px}
#places-dialog .service-results .service-phone-row>strong:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-body);color:var(--field-ink);font-weight:500;letter-spacing:0}
#places-dialog .service-results .service-phone-row>button:not(:where([data-hx], [data-hx] *)){min-width:64px;min-height:48px;height:48px;border:1px solid var(--field-border);font-size:var(--hx-text-body);font-weight:600;background:var(--lg-b-e8eee3,#e8eee3)}
#places-dialog .service-results .service-phone-row>button span:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-body)}
#places-dialog #place-list>div{padding:16px 0}#place-list small{margin:5px 0 8px;color:var(--field-muted)}
#handover button strong{font-size:var(--hx-text-body)}#handover button small{font-size:var(--hx-text-label);color:var(--field-muted)}
#handover>button{min-height:48px}
#mobile-search-panel .search,#mobile-search-panel #search-mode,#mobile-farm{min-height:48px;height:48px}
#mobile-search-panel #search{font-size:var(--hx-text-body)}#mobile-search-panel #search-submit{min-height:40px;width:40px}


@media(max-width:760px){
 header{gap:6px;flex-wrap:wrap}header .icon-btn,header .account-button,header .sos-button{min-width:44px;width:44px;height:44px;min-height:44px;padding:0;flex-shrink:0}
 header .account-button span{display:none}header .sensor-status button{min-width:40px;height:44px}header .sensor-status{gap:2px}
 dialog:not(:where([data-hx], [data-hx] *)){padding:18px!important;width:calc(100vw - 24px);box-sizing:border-box}
 .map-controls button{width:48px;height:48px}
}
@media(max-width:400px){
 #places-dialog .service-results article>.service-phones:not(:where([data-hx], [data-hx] *)){padding-right:0;grid-row:3}
 #places-dialog .service-results article>a.service-map-link:not(:where([data-hx], [data-hx] *)){grid-row:4;width:100%}
}
#navigation-error button{display:block;width:100%;margin-top:10px;padding:12px;font-size:var(--hx-text-body);border-radius:8px;box-sizing:border-box}
#navigation-error button:first-of-type{background:transparent;color:var(--lg-t-183d39,#183d39);border:1px solid var(--lg-l-82998b,#82998b)}
#places-dialog .service-tabs:not(:where([data-hx], [data-hx] *)){display:flex;gap:8px;margin:12px 0}
#places-dialog .service-tabs button:not(:where([data-hx], [data-hx] *)){flex:1;margin:0;padding:10px;font-size:var(--hx-text-label);min-height:48px}
#places-dialog .service-tabs button[aria-pressed=true],#places-dialog .fuel-filters button[aria-pressed=true]{border:2px solid var(--lg-l-183d39,#183d39);background:var(--lg-b-e0ead7,#e0ead7);font-weight:600}
#places-dialog .fuel-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
#places-dialog .fuel-filters button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;margin:0;padding:8px 3px;background:var(--lg-b-ffffff,white);font-size:var(--hx-text-meta);border:1px solid var(--lg-l-82998b,#82998b)}
#places-dialog .fuel-filters button:first-child{grid-column:1/-1;min-height:44px}
.fuel-logo{display:block;width:52px;height:70px;background-image:url('./assets/brands/fuel-logos.png');background-size:400% 100%;background-repeat:no-repeat}
/* Focused directory screens, following mobile list/navigation conventions. */
#places-dialog.service-page> :not(.service-results):not(#places-close){display:none!important}
#places-dialog.service-page .service-results:not(:where([data-hx], [data-hx] *)){margin:0}
#places-dialog:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-ffffff,#fff)}
#places-dialog #places-close{width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:var(--lg-b-edf1eb,#edf1eb);margin:0 0 12px 12px;font-size:var(--hx-text-title)}
#places-dialog .service-page-head:not(:where([data-hx], [data-hx] *)){display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
#places-dialog .service-page-head h3:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-title);font-weight:600;margin:0;line-height:var(--hx-leading-tight)}
#places-dialog .service-page-head .service-back:not(:where([data-hx], [data-hx] *)){align-self:flex-start;background:transparent;border:0;margin:0;padding:0 8px 0 0;min-height:44px;font-size:var(--hx-text-body);color:var(--lg-t-183d39,#183d39)}
#places-dialog .service-tabs:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-edf1eb,#edf1eb);padding:4px;border-radius:var(--hx-radius-card);gap:4px;margin-bottom:18px}
#places-dialog .service-tabs button:not(:where([data-hx], [data-hx] *)){border:0;background:transparent;border-radius:7px;font-size:var(--hx-text-label);font-weight:600}
#places-dialog .service-tabs button[aria-pressed=true]{background:var(--lg-pb-183d39,#183d39);color:var(--lg-pt-ffffff,#fff);border:0;font-weight:600}
#places-dialog .service-results article:not(:where([data-hx], [data-hx] *)){padding:18px 0;gap:8px;border-bottom:1px solid var(--lg-l-dce3da,#dce3da)}
#places-dialog .service-results article>strong:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-body);line-height:var(--hx-leading-head)}
#places-dialog .service-results article>small:not(:where([data-hx], [data-hx] *)){font-size:var(--hx-text-label);color:var(--lg-t-526157,#526157)}
#places-dialog .service-results .service-phone-row>button:not(:where([data-hx], [data-hx] *)){background:var(--lg-pb-183d39,#183d39);color:var(--lg-pt-ffffff,white);border:0}
#places-dialog .service-results .service-phone-row>button span:not(:where([data-hx], [data-hx] *)){color:var(--lg-t-ffffff,white)}
#places-dialog .service-results article>a.service-map-link:not(:where([data-hx], [data-hx] *)){background:var(--lg-b-edf1eb,#edf1eb);border:0}
#places-dialog .service-shortcuts{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--lg-l-dce3da,#dce3da);border-bottom:1px solid var(--lg-l-dce3da,#dce3da)}
#places-dialog .service-shortcuts button{display:flex;align-items:center;justify-content:space-between;min-height:56px;border:0;border-bottom:1px solid var(--lg-l-e6ebe3,#e6ebe3);border-radius:0;background:transparent;font-size:var(--hx-text-body);font-weight:600;padding:12px 4px;text-align:left}
#places-dialog .service-shortcuts button:after{content:'›';font-size:var(--hx-text-title);color:var(--lg-t-526157,#526157)}
#places-dialog .service-shortcuts button:last-child{border-bottom:0}
@media(max-width:760px){#places-dialog:not(:where([data-hx], [data-hx] *)){width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:20px!important}#places-dialog.service-page .service-result-list:not(:where([data-hx], [data-hx] *)){padding-bottom:20px}}
/* Equal contact actions and an unmistakable Back button. */
#places-dialog .service-results .service-phone-row>button:not(:where([data-hx], [data-hx] *)),#places-dialog .service-results article>a.service-map-link:not(:where([data-hx], [data-hx] *)){width:80px;min-width:80px;max-width:80px;height:48px;min-height:48px;padding:0;box-sizing:border-box;font-size:var(--hx-text-body);font-weight:600;border-radius:8px;flex:0 0 80px}
#places-dialog .service-results article>.service-phones:not(:where([data-hx], [data-hx] *)){padding-right:92px}
#places-dialog .service-page-head .service-back:not(:where([data-hx], [data-hx] *)){display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:48px;padding:0 16px;border:1px solid var(--lg-l-82998b,#82998b);border-radius:8px;background:var(--lg-b-edf1eb,#edf1eb);color:var(--lg-t-183d39,#183d39);font-size:var(--hx-text-body);font-weight:600;box-sizing:border-box}
@media(max-width:400px){#places-dialog .service-results article>.service-phones:not(:where([data-hx], [data-hx] *)){padding-right:0}}
/* Five consistent category icons, retaining screen-reader labels. */
#places-dialog .service-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 0;border:0}
#places-dialog .service-shortcuts button{display:flex;align-items:center;justify-content:center;padding:10px;min-width:0;min-height:56px;border:1px solid var(--lg-l-ccd7c9,#ccd7c9);border-radius:var(--hx-radius-card);background:var(--lg-b-edf1eb,#edf1eb)}
#places-dialog .service-shortcuts button:last-child{border-bottom:1px solid var(--lg-l-ccd7c9,#ccd7c9)}
#places-dialog .service-shortcuts button:after{content:none}
#places-dialog .service-shortcuts button svg{width:28px;height:28px;flex-shrink:0}
#places-dialog .service-shortcuts button:hover{background:var(--lg-b-dde8d6,#dde8d6);border-color:var(--lg-l-82998b,#82998b)}
#places-dialog .service-shortcuts>button,
#places-dialog .service-shortcuts>button:first-child{grid-column:auto;grid-row:auto;width:100%;height:56px;min-height:56px;margin:0;box-sizing:border-box}
#places-dialog #places-close{display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-family:Arial,sans-serif;font-size:var(--hx-text-display);box-sizing:border-box}
#places-dialog .places-more{margin:12px 0;text-align:right}
#places-dialog .places-more>summary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--lg-l-ccd7c9,#ccd7c9);border-radius:8px;cursor:pointer;font-size:var(--hx-text-label);list-style:none}
#places-dialog .places-more>summary::-webkit-details-marker{display:none}
#places-dialog .places-more .places-actions{justify-content:flex-end;padding:8px 0}
#places-dialog .office-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
#places-dialog .office-filters button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:0;padding:14px;min-height:120px;background:var(--lg-b-ffffff,white);border:1px solid var(--lg-l-82998b,#82998b);border-radius:var(--hx-radius-card);font-size:var(--hx-text-label)}
#places-dialog .office-filters button[aria-pressed=true]{border:2px solid var(--lg-l-183d39,#183d39);background:var(--lg-b-edf1eb,#edf1eb);font-weight:600}
#places-dialog .office-filters img{display:block;width:130px;max-width:100%;height:76px;object-fit:contain}
