/* Kani: a recognizable guide with an optional preparation flow. */
.ai-concierge{max-width:calc(100vw - 24px)}
.concierge-toggle,[data-page="photo-home"] .concierge-toggle{height:68px;min-width:194px;gap:10px;padding:6px 16px 6px 7px;border:2px solid rgba(237,195,126,.72);border-radius:18px;background:linear-gradient(135deg,#103c4c,#1c6375);box-shadow:0 16px 38px rgba(9,50,64,.26)}
.concierge-toggle>img,[data-page="photo-home"] .concierge-toggle>img{display:block;width:54px;height:54px;object-fit:cover;object-position:50% 10%;border-radius:12px;background:#e5f2f7}
.concierge-toggle b,[data-page="photo-home"] .concierge-toggle b{font-size:1rem;line-height:1.4}
.concierge-toggle small,[data-page="photo-home"] .concierge-toggle small{display:block;font-size:.875rem;line-height:1.5;color:#d6eaf1}
.concierge-panel{max-height:calc(100vh - 222px);max-height:calc(100dvh - 222px);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(223,180,111,.45);border-radius:18px;box-shadow:0 24px 64px rgba(10,51,64,.24)}
.concierge-head{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;min-height:0;padding:20px}
.concierge-head strong{margin-top:9px;font-size:1rem;line-height:1.5}
.concierge-head p{font-size:.875rem;line-height:1.6}
.concierge-head img{position:static;width:88px;height:144px;align-self:end;object-fit:contain;filter:none}
.concierge-actions a{display:grid;grid-template-columns:32px 1fr;gap:1px 9px;padding:13px 11px;border:0;border-bottom:1px solid #dce8ec;background:#fff;color:#1f4655;text-align:left;text-decoration:none}
.concierge-actions :is(button,a){min-height:66px}
.concierge-actions b{font-size:1rem;line-height:1.5}
.concierge-actions small{font-size:.875rem;line-height:1.5;color:#536b76}
.concierge-actions span{font-size:.875rem}
.concierge-actions a:hover{background:#edf7fa}
.concierge-actions :is(button,a):focus-visible,.concierge-toggle:focus-visible{outline:3px solid #2784a4;outline-offset:-3px}
.concierge-trust{font-size:.875rem;line-height:1.65;color:#536b76}
.concierge-questions{padding:14px 14px 4px;border-top:1px solid #dce8ec;background:#f7fbfc}
.concierge-questions h3{margin:0 0 9px;color:#173f4f;font-size:.95rem}
.concierge-questions details{border-top:1px solid #dce8ec}
.concierge-questions summary{min-height:44px;padding:11px 2px;cursor:pointer;color:#214b5b;font-size:.875rem;font-weight:700;line-height:1.55}
.concierge-questions summary:focus-visible{outline:3px solid #2784a4;outline-offset:2px}
.concierge-questions p{margin:0;padding:0 2px 13px;color:#47616c;font-size:.875rem;line-height:1.7}
.concierge-questions a{color:#174e65;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.modal-open .ai-concierge{visibility:hidden;pointer-events:none}
.kani-prep{border:1px solid #b7d2de;background:#f0f7fa;min-width:0}
.kani-prep summary{display:grid;gap:4px;padding:16px;cursor:pointer;list-style:none;color:#163f50}
.kani-prep summary:before{content:'＋';float:right;font-size:1.2rem;grid-column:2;grid-row:1/3;align-self:center}
.kani-prep[open] summary:before{content:'−'}
.kani-prep summary span{font-weight:700;font-size:1rem}
.kani-prep summary small{font-size:.875rem;color:#486470}
.kani-prep summary:focus-visible{outline:2px solid #286d88;outline-offset:2px}
.kani-prep-body{display:grid;gap:18px;padding:0 16px 18px}
.kani-prep-body>p{margin:0;font-size:1rem;color:#365763;line-height:1.65}
.kani-prep fieldset{min-width:0;margin:0;padding:0;border:0}
.kani-prep legend{padding:0;margin-bottom:10px;font-weight:700;color:#1c4657}
.kani-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.modal .kani-choices label{display:flex;align-items:center;gap:8px;padding:10px;min-height:48px;border:1px solid #b7cfda;background:white;font-size:.875rem;font-weight:500;line-height:1.5;cursor:pointer}
.modal .kani-choices input{width:18px;height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#245f76}
.kani-choices label:has(input:checked){border-color:#215a72;background:#dfeff5;color:#133e50}
.kani-prep fieldset>small{display:block;margin-top:9px;font-size:.875rem;color:#526b76;line-height:1.6}
.kani-preview-button{min-height:48px;padding:12px 16px;border:1px solid #245a70;background:#fff;color:#173f51;font:inherit;font-weight:600}
.kani-preparation[hidden]{display:none}
.kani-preparation{border-top:1px solid #a9c5d1;padding-top:16px;min-width:0}
.kani-preparation h3{margin:0 0 12px;font-size:1.1rem;color:#174356}
.kani-preparation pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:1rem/1.75 'Malgun Gothic','Noto Sans KR',sans-serif;color:#244653}
.kani-preparation p{margin:14px 0 0;font-size:.875rem;color:#526b76;line-height:1.65}
@media(max-width:620px){
 .ai-concierge,[data-page="photo-home"] .ai-concierge{right:12px;bottom:96px;gap:8px}
 .concierge-toggle,[data-page="photo-home"] .concierge-toggle{height:62px;min-width:182px;padding:5px 12px 5px 6px}
 .concierge-toggle>img,[data-page="photo-home"] .concierge-toggle>img{width:48px;height:48px}
 .concierge-panel{width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px)}
 .concierge-head{padding:16px;grid-template-columns:minmax(0,1fr) 72px}
 .concierge-head img{width:72px;height:124px}
 .kani-choices{grid-template-columns:minmax(0,1fr)}
}
@media print{.ai-concierge{display:none}}

.modal .modal-close{position:sticky;float:right;top:0;right:auto;margin-top:-40px;margin-right:-8px;z-index:3;width:44px;height:44px;background:#fafdfe;border:1px solid #c4d8e1;border-radius:50%;box-shadow:0 3px 12px #163c4c18}
