/* Shared main-map composer: one stable action row above one query line. */
body #search-line #search-stack .search-mode-surface{border:1px solid #e3e7e6;border-radius:22px;background:#fff;box-shadow:0 5px 22px #183e4708;backdrop-filter:none;-webkit-backdrop-filter:none;}
body #search-line #search-stack .search-mode-surface:has([data-search-mode="ai"]){background:#fff;border-color:#d2cddd;box-shadow:0 5px 22px #183e4708;}
body #search-line #search-stack .search-mode-surface #search-row,
body #search-line #search-stack .search-mode-surface .map-ai-searchbox.has-photos #search-row,
body #search-line #search-stack .search-mode-surface #search-row:has(#region-menu-wrap),
body #search-line #search-stack .search-mode-surface #search-row:has(#search-input:placeholder-shown){display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;grid-template-rows:44px 44px;align-items:center;gap:0;min-height:0;padding:8px 12px 9px;border:0;border-radius:22px;background:transparent;box-shadow:none;position:relative;}
body #search-line #search-stack .search-mode-surface #search-row :is(#search-input,.map-ai-query-wrap){grid-row:2;grid-column:2 / 4;display:flex;align-items:center;box-sizing:border-box;width:100%;min-width:0;height:36px;min-height:36px;padding:0;margin:0;background:transparent;}
body #search-line #search-stack .search-mode-surface #search-row #search-input{display:block;padding:4px 2px;color:#183e47;font-size:16px;line-height:28px;white-space:nowrap;text-overflow:ellipsis;border:0;}
body #search-line #search-stack .search-mode-surface #search-row #search-input::placeholder{font-size:14px;color:#929c9e;opacity:1;}
body #search-line #search-stack .search-mode-surface #search-row:not(:has(#search-input:placeholder-shown)) :is(#search-input,.map-ai-query-wrap){padding-right:36px;}
body #search-line #search-stack .search-mode-surface #search-row .map-ai-query-wrap #search-input{padding:4px 2px;}
body #search-line #search-stack .search-mode-surface #search-row #region-menu-wrap{grid-row:1;grid-column:1 / 3;align-self:center;width:80px;max-width:80px;min-width:0;margin:0;padding:0;}
body #search-line #search-stack .search-mode-surface #search-row #region-picker-trigger,
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode="ai"] #region-picker-trigger{height:44px;min-height:44px;width:80px;max-width:80px;padding:0 4px;gap:4px;border:0;border-radius:8px;background:transparent;color:#4f6268;box-shadow:none;}
body #search-line #search-stack .search-mode-surface #search-row #region-picker-trigger .region-picker-trigger-icon{display:none;}
body #search-line #search-stack .search-mode-surface #search-row #region-picker-trigger .region-picker-trigger-label{font-size:14px;font-weight:600;text-align:left;}
body #search-line #search-stack .search-mode-surface #search-row #search-photo-add{display:grid!important;place-items:center;position:static;grid-row:2;grid-column:1;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:#334e55;}
body #search-line #search-stack .search-mode-surface #search-row #search-photo-add svg{width:18px;height:18px;}
body #search-line #search-stack .search-mode-surface #search-row #search-photo-add:disabled{opacity:.28;cursor:default;}
body #search-line #search-stack .search-mode-surface #search-row .search-provider-mark{grid-row:1;grid-column:4;display:grid;place-items:center;justify-self:center;width:28px;height:44px;pointer-events:none;}
.search-provider-mark>svg{display:block;width:24px;height:24px;}
body #search-line #search-stack .search-mode-surface #search-row #search-submit{grid-row:2;grid-column:4;position:relative;inset:auto;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:white;transform:none;}
body #search-line #search-stack .search-mode-surface #search-row #search-submit::before{content:'';position:absolute;inset:6px;background:#24393f;border-radius:50%;}
body #search-line #search-stack .search-mode-surface #search-row #search-submit svg{position:relative;width:19px;height:19px;}
body #search-line #search-stack .search-mode-surface #search-row #clear-search{grid-row:2;grid-column:3;justify-self:end;position:static;width:32px;min-width:32px;height:36px;min-height:36px;padding:0;background:transparent;color:#65797d;transform:none;}
body #search-line #search-stack .search-mode-surface #search-row:has(#search-input:placeholder-shown) #clear-search{display:none;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode{grid-row:1;grid-column:2 / 4;justify-self:end;position:static;display:flex;align-items:center;width:154px;max-width:none;height:44px;margin:0;padding:0;gap:0;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode>button{display:flex;flex-direction:row;align-items:center;justify-content:center;width:110px;min-width:110px;height:44px;min-height:44px;padding:0;gap:6px;background:transparent;border:0;box-shadow:none;color:#66767b;}
#search-ai-mode .search-ai-toggle-icon{display:none;}
#search-ai-mode [data-mode-label]{font:600 12px/18px system-ui;white-space:nowrap;}
.search-ai-switch-state{display:flex;align-items:center;gap:4px;position:relative;width:56px;height:18px;flex:0 0 56px;}
.search-ai-switch-track{display:block;position:relative;width:32px;height:18px;border-radius:10px;background:#a4afb1;}
.search-ai-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 2px #183e4726;transition:transform .15s;}
.search-ai-switch-word{position:static;width:20px;font:650 10px/18px system-ui;color:#66767b;}
#search-ai-mode [aria-checked="true"] .search-ai-switch-track{background:#655b81;}
#search-ai-mode [aria-checked="true"] .search-ai-switch-thumb{transform:translateX(14px);}
#search-ai-mode [aria-checked="true"] .search-ai-switch-word{color:#655b81;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode summary{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:9px;background:transparent;box-shadow:none;transform:none;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode summary svg{width:13px;height:13px;transform:none;color:#75868b;background:transparent;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode .search-ai-help{top:calc(100% + 8px);left:auto;right:0;width:min(330px,100%);max-height:50dvh;border-radius:14px;background:#fffefa;}
body #search-line #search-stack .search-mode-surface .map-ai-searchbox{border-radius:22px;}
body #search-line #search-stack .search-mode-surface .map-ai-header-photos{padding-top:4px;}
@media(prefers-reduced-motion:reduce){.search-ai-switch-thumb{transition:none;}}

body #search-line #search-stack .search-mode-surface #search-row #region-picker-trigger{padding-inline:2px;gap:2px;}
body #search-line #search-stack .search-mode-surface #search-row #region-picker-trigger .region-picker-trigger-caret{width:12px;min-width:12px;flex:0 0 12px;font-size:10px;}

/* Reserve the input end for the provider mark; clear sits immediately before it. */
body #search-line #search-stack .search-mode-surface #search-row:has(#search-input:placeholder-shown) :is(#search-input,.map-ai-query-wrap){padding-right:0px;}
body #search-line #search-stack .search-mode-surface #search-row .map-ai-query-wrap #search-input{padding:4px 2px;}
/* Both modes use identical country geometry, including the chevron's own SVG. */
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger{padding-inline:2px;gap:2px;}
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger .region-picker-trigger-caret{display:grid;place-items:center;width:12px;height:18px;min-width:12px;flex:0 0 12px;margin:0;padding:0;color:#648394;background:transparent;transform:none;}
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger .region-picker-trigger-caret svg{display:block;width:12px;height:12px;transform:none;}

/* The wrapper reserves logo/clear space once; its nested input keeps normal padding. */
body #search-line #search-stack .search-mode-surface #search-row:has(#search-input) .map-ai-query-wrap #search-input{padding:4px 2px;}

/* At narrow phone widths keep every target usable and shorten only the visible label. */
@media(max-width:359px){
body #search-line #search-stack .search-mode-surface #search-row,
body #search-line #search-stack .search-mode-surface .map-ai-searchbox.has-photos #search-row,
body #search-line #search-stack .search-mode-surface #search-row:has(#region-menu-wrap),
body #search-line #search-stack .search-mode-surface #search-row:has(#search-input:placeholder-shown){grid-template-columns:44px minmax(0,1fr) 44px 44px;}
body #search-line #search-stack .search-mode-surface #search-row #region-menu-wrap,
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger{width:60px;max-width:60px;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode{width:112px;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode>button{width:68px;min-width:68px;gap:4px;}
#search-ai-mode [data-mode-label]{font-size:0;line-height:18px;}
#search-ai-mode [data-mode-label]::after{content:'AI';font:600 13px/18px system-ui;}
.search-ai-switch-state{width:50px;flex-basis:50px;gap:4px;}.search-ai-switch-track{width:30px;}.search-ai-switch-word{width:16px;font-size:9px;}
#search-ai-mode [aria-checked="true"] .search-ai-switch-thumb{transform:translateX(12px);}
}

/* Country and mode above; photo, query and submit below. Keep the photo slot stable. */
body #search-line #search-stack .search-mode-surface #search-row:not([data-search-mode="ai"]) #search-photo-add{visibility:hidden;pointer-events:none;}
body #search-line #search-stack .search-mode-surface #search-row #search-ai-mode>details{order:-1;}

/* Catalogue mode uses the photo slot for text. Country remains a clear button without a caret. */
body #search-line #search-stack .search-mode-surface #search-row:not([data-search-mode="ai"]) :is(#search-input,.map-ai-query-wrap){grid-column:1 / 4;}
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger{width:80px;max-width:80px;padding-inline:10px;justify-content:center;background:#edf3f1;border-radius:10px;gap:0;}
body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger .region-picker-trigger-caret{display:none;}
@media(max-width:359px){body #search-line #search-stack .search-mode-surface #search-row[data-search-mode] #region-picker-trigger{width:60px;max-width:60px;padding-inline:6px;}}
