/* Part 02 — local assistant and service finder */
.finder-hero{padding-bottom:38px;text-align:right}
.finder-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px}
.finder-hero h1{font-size:clamp(2.2rem,5vw,4.4rem)}
.finder-hero p{margin:14px 0 0;max-width:720px;font-size:1.06rem}
.finder-hero img{width:min(100%,340px);justify-self:center;filter:drop-shadow(0 18px 36px rgba(11,59,122,.16))}
.local-assistant-badge{
    display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:9px 13px;border-radius:999px;
    background:#edfaff;color:#0a5c82;border:1px solid #bfe7f4;font-weight:800;font-size:.84rem
}
.finder-section{padding-top:42px}
.finder-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.finder-form{padding:clamp(22px,4vw,38px)}
.finder-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:26px}
.finder-progress span{
    position:relative;padding:10px;border-radius:12px;background:var(--blue-50);color:var(--muted);font-size:.8rem;text-align:center
}
.finder-progress span.is-active{background:var(--navy-800);color:#fff}
.client-choice-field{border:0;padding:0;margin:0}
.client-choice-field legend{font-weight:800;color:var(--navy-900);margin-bottom:8px}
.segmented-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.segmented-options input{position:absolute;opacity:0;pointer-events:none}
.segmented-options span{
    min-height:64px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid var(--line);
    border-radius:14px;background:#fff;color:var(--navy-700);font-weight:800;cursor:pointer
}
.segmented-options input:checked+span{border-color:var(--navy-600);background:var(--blue-50);box-shadow:0 0 0 3px rgba(31,107,194,.1)}
.segmented-options input:focus-visible+span{outline:3px solid rgba(31,107,194,.4)}
.finder-help{display:flex;flex-direction:column;gap:14px}
.finder-help article{
    background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-sm)
}
.finder-help article>.icon{width:34px;height:34px;color:var(--accent-500);margin-bottom:10px}
.finder-help h2{font-size:1.08rem}
.finder-help p{font-size:.86rem;margin-top:6px}
.finder-results-section{padding-top:48px}
.assistant-result-header{max-width:760px;margin-bottom:26px}
.assistant-result-header p{margin-top:8px}
.assistant-match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.assistant-match-card{
    position:relative;display:grid;grid-template-columns:74px 1fr;gap:15px;background:#fff;border:1px solid var(--line);
    border-radius:21px;padding:20px;box-shadow:var(--shadow-sm)
}
.assistant-match-card.is-best{border-color:var(--accent-400);box-shadow:0 18px 45px rgba(17,201,237,.13)}
.match-score{
    width:70px;height:70px;display:grid;place-content:center;text-align:center;border-radius:50%;
    background:conic-gradient(var(--navy-600) var(--score,80%),#e6eef7 0);position:relative
}
.match-score::before{content:"";position:absolute;inset:6px;background:#fff;border-radius:50%}
.match-score strong,.match-score span{position:relative;z-index:1;display:block}
.match-score strong{color:var(--navy-800);font-size:1.05rem}
.match-score span{font-size:.68rem;color:var(--muted)}
.best-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8faff;color:#0a5c82;font-size:.7rem;font-weight:800}
.assistant-match-card h3{font-size:1.05rem;margin:7px 0}
.assistant-match-card p{font-size:.83rem}
.match-meta{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}
.match-meta span{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--navy-700)}
.match-reasons{display:flex;flex-direction:column;gap:4px;margin:10px 0}
.match-reasons li{display:flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:.76rem}
.match-reasons .icon{color:var(--success);margin-top:2px}
.assistant-match-card .service-actions{align-items:stretch}
.assistant-match-card .service-actions .button{flex:1;font-size:.76rem;padding-inline:8px}
.assistant-guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:18px}
.assistant-guidance-grid article,.assistant-summary{
    background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow-sm)
}
.assistant-guidance-grid h3,.assistant-summary h3{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin-bottom:12px}
.assistant-guidance-grid h3 .icon,.assistant-summary h3 .icon{color:var(--accent-500)}
.check-list{display:flex;flex-direction:column;gap:7px}
.check-list li{position:relative;padding-right:20px;color:var(--ink);font-size:.88rem}
.check-list li::before{content:"✓";position:absolute;right:0;color:var(--success);font-weight:900}
.question-list li::before{content:"؟";color:var(--accent-500)}
.assistant-summary{margin-top:18px}
.assistant-summary textarea{
    width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;resize:vertical;background:var(--blue-50);
    color:var(--ink);margin-bottom:10px
}
.assistant-result>.empty-state{background:#fff}
.assistant-inline-form{display:grid;gap:12px}
.assistant-inline-form textarea{min-height:120px}
.assistant-inline-status{min-height:24px;color:var(--muted);font-size:.85rem}

/* Responsive */
@media (max-width:1024px){
    .catalog-filters{grid-template-columns:repeat(2,1fr)}
    .authority-filters{grid-template-columns:repeat(2,1fr)}
    .authority-room-grid,.service-detail-hero-grid{grid-template-columns:1fr}
    .service-detail-layout{grid-template-columns:1fr}
    .service-detail-nav{display:none}
    .assistant-match-grid{grid-template-columns:1fr}
    .assistant-match-card{grid-template-columns:82px 1fr}
}
@media (max-width:820px){
    .authority-map-grid,.detail-columns,.document-grid,.structured-list,.assistant-guidance-grid{grid-template-columns:1fr}
    .finder-layout{grid-template-columns:1fr}
    .finder-help{display:grid;grid-template-columns:repeat(3,1fr)}
    .finder-hero-grid{grid-template-columns:1fr;text-align:center}
    .finder-hero p{margin-inline:auto}
    .authority-room-description{order:2}
}
@media (max-width:680px){
    .catalog-filters,.authority-filters{grid-template-columns:1fr;padding:16px}
    .catalog-filters .field-full{grid-column:auto}
    .catalog-search-control{grid-template-columns:22px 1fr}
    .catalog-search-control .button{grid-column:1/-1;width:100%}
    .catalog-toolbar,.split-cta{align-items:flex-start;flex-direction:column}
    .authority-map-grid{grid-template-columns:1fr}
    .authority-map-card{grid-template-columns:54px 1fr;padding:18px}
    .authority-icon{width:54px;height:54px;border-radius:16px}
    .authority-icon .icon{width:25px;height:25px}
    .authority-title-row{align-items:flex-start}
    .authority-large-icon{width:58px;height:58px;flex:none}
    .service-detail-hero{text-align:center}
    .service-detail-meta,.service-hero-actions{justify-content:center}
    .service-command-card{text-align:right}
    .service-command-card dl>div{flex-direction:column;gap:3px}
    .service-command-card dd{text-align:right}
    .segmented-options{grid-template-columns:1fr}
    .finder-help{grid-template-columns:1fr}
    .finder-progress{font-size:.72rem}
    .assistant-match-card{grid-template-columns:1fr;text-align:center}
    .match-score{margin-inline:auto}
    .match-meta,.assistant-match-card .service-actions{justify-content:center}
    .match-reasons{text-align:right}
    .pagination-arrow span{display:none}
    .final-cta{align-items:stretch;text-align:center;flex-direction:column}
}
@media (max-width:420px){
    .service-detail-meta>a,.service-detail-meta>span,.service-detail-meta>em{font-size:.72rem}
    .service-hero-actions .button{width:100%}
    .document-grid article{grid-template-columns:36px 1fr}
    .document-grid article>.icon{width:36px;height:36px}
    .assistant-result{overflow-wrap:anywhere}
}
@media (prefers-reduced-motion:reduce){
    .authority-map-card,.catalog-service-card{transition:none}
    .authority-map-card:hover{transform:none}
}


/* Assistant 8.3.1 — contextual drawer and full-page experience */
.assistant-page-hero{padding-bottom:32px}
.assistant-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:center;gap:32px}
.assistant-page-hero-grid img{width:100%;height:auto;filter:drop-shadow(0 24px 42px rgba(10,42,99,.16))}
.assistant-page-section{padding-top:24px}
.assistant-launcher{position:fixed;inset-inline-start:20px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));z-index:880;display:flex;align-items:center;gap:9px;min-width:148px;min-height:52px;padding:10px 17px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:linear-gradient(135deg,#0a2a63,#0b5db3);color:#fff;box-shadow:0 18px 42px rgba(10,42,99,.24);font:inherit;font-weight:900;cursor:pointer}
.assistant-launcher .icon{width:22px;height:22px}.assistant-launcher:hover{transform:translateY(-2px)}.assistant-launcher:disabled{opacity:.65;cursor:wait}
.assistant-backdrop{position:fixed;inset:0;z-index:890;background:rgba(10,25,48,.46);backdrop-filter:blur(4px)}
.assistant-drawer{position:fixed;z-index:900;inset-block:16px;inset-inline-start:16px;width:min(460px,calc(100vw - 32px));overflow:hidden;border-radius:30px;box-shadow:0 28px 80px rgba(6,29,69,.28)}
.assistant-drawer[hidden],.assistant-backdrop[hidden]{display:none}
html.assistant-is-open,body.assistant-is-open{overflow:hidden;overscroll-behavior:none}
.smart-chat{display:flex;flex-direction:column;max-width:900px;min-height:620px;margin:auto;overflow:hidden;border:1px solid #d6e1ea;border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(10,42,99,.12);color:#151719}
.smart-chat-drawer{height:100%;min-height:0;border:0;border-radius:inherit;box-shadow:none}
.smart-chat header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;padding:16px 18px;background:linear-gradient(135deg,#0a2a63,#0b5db3);color:#fff}
.assistant-heading{display:flex;align-items:center;gap:11px;min-width:0}.assistant-heading>div{min-width:0}.assistant-heading strong,.assistant-heading small{display:block}.assistant-heading strong{font-size:1rem}.assistant-heading small{margin-top:2px;opacity:.86;font-size:.72rem;white-space:normal}
.assistant-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:15px;background:rgba(255,255,255,.13)}
.assistant-close,.assistant-end{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:rgba(255,255,255,.1);color:#fff;font:inherit;cursor:pointer}.assistant-end{padding-inline:13px}
.chat-privacy{flex:none;padding:10px 18px;border-bottom:1px solid #d6e1ea;background:#f6f9fc;color:#566475;font-size:.82rem;line-height:1.65}
.chat-log{display:flex;flex:1 1 auto;min-height:260px;max-height:58vh;overflow:auto;overscroll-behavior:contain;padding:18px;scrollbar-gutter:stable;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fff 0,#fbfdff 100%)}
.smart-chat-drawer .chat-log{max-height:none}
.chat-message{display:flex}.chat-message.is-user{justify-content:flex-start}.chat-bubble{max-width:min(84%,660px);padding:12px 15px;border:1px solid #d8e4ee;border-radius:18px 18px 6px 18px;background:#f0f6fb;color:#151719;line-height:1.75;overflow-wrap:anywhere}.chat-message.is-user .chat-bubble{border-color:#0a2a63;border-radius:18px 18px 18px 6px;background:#0a2a63;color:#fff}.chat-message.is-warning .chat-bubble{border-color:#f1c871;background:#fff8e9;color:#5e4515}.chat-message.is-result .chat-bubble{border-color:#84cfea;background:#edfaff}
.chat-options{display:flex;flex:none;gap:8px;flex-wrap:wrap;padding:0 18px 12px}.chat-option,.chat-actions button,.chat-actions a,.chat-feedback button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #b8cee0;border-radius:999px;background:#fff;color:#0a2a63;padding:9px 14px;text-decoration:none;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.chat-option:hover,.chat-actions button:hover,.chat-actions a:hover{border-color:#0b5db3;background:#edf6fc}
.chat-inline-form{flex:none;padding:0 18px}.assistant-tracking-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:14px;border:1px solid #d6e1ea;border-radius:18px;background:#f6f9fc}.assistant-tracking-form label{display:grid;gap:6px}.assistant-tracking-form label span{font-size:.78rem;font-weight:800;color:#33465a}.assistant-tracking-form input{width:100%;min-height:46px;border:1px solid #b8cee0;border-radius:12px;background:#fff;padding:10px 12px;color:#151719;font:inherit}.assistant-upload-note{margin:0 0 10px;padding:11px 13px;border-radius:14px;background:#edfaff;color:#264a5c;font-size:.82rem}
.smart-chat>form{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:none;gap:10px;padding:14px 18px;border-top:1px solid #d6e1ea;background:#fff}.smart-chat textarea{width:100%;min-height:50px;max-height:150px;resize:vertical;border:1px solid #b8cee0;border-radius:15px;padding:12px 14px;background:#fff;color:#151719;font:inherit;line-height:1.55}.smart-chat textarea:focus,.assistant-tracking-form input:focus{border-color:#0b5db3;outline:3px solid rgba(17,201,237,.18)}.smart-chat textarea:disabled{background:#eef2f6;color:#78838e}
.chat-actions{display:flex;flex:none;gap:7px;flex-wrap:wrap;padding:0 18px 13px}.chat-actions button,.chat-actions a{font-size:.76rem;padding-inline:11px}
.chat-feedback{display:flex;align-items:center;gap:8px;flex:none;padding:0 18px 8px;color:#566475;font-size:.8rem}.chat-feedback[hidden]{display:none}.chat-feedback button{min-width:54px;padding:6px 10px}
.chat-status{min-height:24px;flex:none;margin:0;padding:0 18px 12px;color:#566475;font-size:.8rem}.chat-status.is-error{color:#a42323}.chat-status.is-success{color:#0b6d50}.chat-status.is-info{color:#0b5db3}
.smart-chat.is-busy .chat-log::after{content:"";align-self:flex-start;width:34px;height:14px;border-radius:999px;background:radial-gradient(circle,#0b5db3 2px,transparent 3px) 0 50%/11px 11px repeat-x;animation:assistant-dots .8s linear infinite}
.assistant-result-card,.assistant-tracking-card{margin:2px 0;padding:17px;border:1px solid #c9dce9;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(10,42,99,.07)}.assistant-result-card h3,.assistant-tracking-card h3{margin:0 0 13px;color:#0a2a63}.assistant-result-card dl{display:grid;gap:8px;margin:0}.assistant-result-card dl>div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding-bottom:8px;border-bottom:1px dashed #d6e1ea}.assistant-result-card dt{font-weight:900;color:#405163}.assistant-result-card dd{margin:0}.assistant-result-card h4{margin:15px 0 7px;font-size:.92rem}.assistant-result-card ul,.assistant-tracking-card ol{display:grid;gap:6px;margin:0;padding-right:20px}.assistant-result-note{margin:15px 0;padding:10px 12px;border-radius:12px;background:#fff8e9;color:#5e4515;font-size:.82rem}.assistant-result-card .button{margin-top:12px}.assistant-tracking-card p{margin:7px 0}.assistant-tracking-card strong{color:#0a2a63}
@keyframes assistant-dots{to{background-position:11px 50%}}
@media (max-width:820px){.assistant-page-hero-grid{grid-template-columns:1fr;text-align:center}.assistant-page-hero-grid p{margin-inline:auto}.assistant-page-hero-grid img{width:min(72vw,300px);margin-inline:auto}.assistant-tracking-form{grid-template-columns:1fr}.assistant-drawer{inset:auto 0 0;width:100%;height:min(92dvh,820px);border-radius:28px 28px 0 0}.assistant-launcher{inset-inline-start:14px;bottom:max(88px,calc(env(safe-area-inset-bottom) + 78px));min-width:0;padding-inline:14px}.no-mobile-dock .assistant-launcher{bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}.assistant-launcher span{display:none}.smart-chat-drawer{min-height:0}.chat-log{max-height:none}.smart-chat>form{grid-template-columns:1fr auto}.smart-chat>form .button{min-width:74px}.assistant-result-card dl>div{grid-template-columns:1fr;gap:3px}}
@media (max-width:480px){.smart-chat-page{min-height:70dvh;border-radius:22px}.smart-chat header{padding:13px 14px}.assistant-heading small{font-size:.66rem}.chat-privacy,.chat-log,.chat-options,.chat-inline-form,.smart-chat>form,.chat-actions,.chat-feedback,.chat-status{padding-inline:13px}.chat-bubble{max-width:90%;font-size:.9rem}.chat-options{gap:7px}.chat-option{flex:1 1 calc(50% - 7px);padding-inline:8px}.smart-chat>form{grid-template-columns:1fr}.smart-chat>form .button{width:100%}.chat-actions button,.chat-actions a{flex:1 1 calc(50% - 7px)}.assistant-launcher{width:52px;height:52px;padding:0;justify-content:center}}
@media (prefers-reduced-motion:reduce){.assistant-launcher,.smart-chat.is-busy .chat-log::after{transition:none;animation:none}.assistant-backdrop{backdrop-filter:none}}

.assistant-backdrop[hidden],.assistant-drawer[hidden]{display:none!important}
