/* Partner-specific contact container. No CILT chat styles or state. */
.theme-stlc .stlc-contact { position:fixed; right:max(24px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:90; width:132px; text-align:left; font-family:var(--p-font-body); }
.theme-stlc .stlc-contact-trigger { display:flex; flex-direction:column; align-items:center; width:132px; min-height:112px; padding:0 6px 4px; list-style:none; cursor:pointer; border-radius:8px; user-select:none; -webkit-tap-highlight-color:transparent; }
.theme-stlc .stlc-contact-trigger::-webkit-details-marker { display:none; }
.theme-stlc .stlc-contact-trigger::marker { content:''; }
.theme-stlc .stlc-contact-container { width:120px; height:80px; overflow:visible; }
.theme-stlc .stlc-contact-shell { fill:var(--p-brand); stroke:var(--p-white); stroke-width:2.5; }
.theme-stlc .stlc-contact-door { fill:var(--p-brand); stroke:var(--p-mist); stroke-width:1.3; transition:transform .3s ease; }
.theme-stlc .stlc-contact-door-left { transform-origin:15px 33px; }
.theme-stlc .stlc-contact-door-right { transform-origin:117px 33px; }
.theme-stlc .stlc-contact-ribs { fill:none; stroke:var(--p-muted); stroke-width:2; }
.theme-stlc .stlc-contact-lock { fill:none; stroke:var(--p-mist); stroke-width:1.8; }
.theme-stlc .stlc-contact-plate { fill:var(--p-brand); stroke:none; }
.theme-stlc .stlc-contact-container text { font-family:Arial,sans-serif!important; fill:var(--p-white); font-size:13px; font-weight:700; letter-spacing:1.2px; }
.theme-stlc .stlc-contact-load { transition:transform .3s ease; }
.theme-stlc .stlc-contact-platform { fill:var(--p-ink); stroke:var(--p-mist); stroke-width:2; }
.theme-stlc .stlc-contact-wheel { fill:var(--p-ink); stroke:var(--p-white); stroke-width:2; transition:transform .4s ease; }
.theme-stlc .stlc-contact-wheel-left { transform-origin:29px 70px; }
.theme-stlc .stlc-contact-wheel-right { transform-origin:103px 70px; }
.theme-stlc .stlc-contact-rail { fill:none; stroke:var(--p-muted); stroke-width:2; stroke-linecap:round; }
.theme-stlc .stlc-contact-caption { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 12px; min-height:32px; border:1px solid var(--p-rule); border-radius:4px; background:var(--p-white); color:var(--p-brand); font-size:12px; font-weight:700; line-height:1.2; box-shadow:0 3px 12px rgba(29,25,28,.1); }
.theme-stlc .stlc-contact-caption svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.5; transition:transform .25s ease; }
.theme-stlc .stlc-contact[open] .stlc-contact-caption svg { transform:rotate(180deg); }
.theme-stlc .stlc-contact[open] .stlc-contact-door-left { transform:translateX(-4px) rotate(-3deg); }
.theme-stlc .stlc-contact[open] .stlc-contact-door-right { transform:translateX(4px) rotate(3deg); }
.theme-stlc .stlc-contact-panel { position:fixed; right:max(24px,env(safe-area-inset-right)); bottom:calc(max(20px,env(safe-area-inset-bottom)) + 124px); width:min(352px,calc(100% - 48px)); max-height:calc(100dvh - 164px); overflow:auto; overscroll-behavior:contain; border:1px solid var(--p-rule); border-top:3px solid var(--p-brand); border-radius:12px; background:var(--p-white); color:var(--p-ink); box-shadow:0 10px 30px rgba(29,25,28,.15); }
.theme-stlc .stlc-contact[open] .stlc-contact-panel { animation:stlc-contact-reveal .25s ease-out; }
.theme-stlc .stlc-contact-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:20px 18px 16px; background:var(--p-white); position:sticky; top:0; z-index:1; }
.theme-stlc .stlc-contact-head>div>span { display:block; font-size:12px; line-height:1.4; color:var(--p-text); }
.theme-stlc .stlc-contact-head h2 { margin-top:3px; font-family:var(--p-font-display)!important; font-size:32px; line-height:1.15; font-weight:600; letter-spacing:-.02em; color:var(--p-ink); }
.theme-stlc .stlc-contact-close { display:none; flex:none; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--p-rule); border-radius:50%; background:var(--p-white); color:var(--p-text); cursor:pointer; }
.theme-stlc .stlc-contact.is-enhanced .stlc-contact-close { display:flex; }
.theme-stlc .stlc-contact-close svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.5; }
.theme-stlc .stlc-contact-actions { display:grid; padding:0 10px 10px; }
.theme-stlc .stlc-contact-actions a { display:flex; align-items:center; gap:12px; min-height:70px; padding:12px 10px; border-radius:6px; color:var(--p-ink); border-top:1px solid var(--p-paper); transition:background .18s ease; }
.theme-stlc .stlc-contact-actions a:hover { background:var(--p-paper); }
.theme-stlc .stlc-contact-actions b { display:block; font-size:15px; font-weight:600; line-height:1.35; }
.theme-stlc .stlc-contact-actions small { display:block; color:var(--p-text); font-size:12px; line-height:1.4; margin-top:3px; }
.theme-stlc .stlc-contact-icon { display:flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; background:var(--p-paper); color:var(--p-brand); border-radius:6px; }
.theme-stlc .stlc-contact-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.theme-stlc .stlc-contact-arrow { margin-left:auto; font-size:18px; color:var(--p-brand); }
.theme-stlc .stlc-contact :is(summary,button,a):focus-visible { outline:3px solid var(--p-brand); outline-offset:3px; }
@keyframes stlc-contact-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(hover:hover) and (pointer:fine) {
  .theme-stlc .stlc-contact-trigger:hover .stlc-contact-load { transform:translateY(-3px); }
  .theme-stlc .stlc-contact-trigger:hover .stlc-contact-wheel { transform:rotate(90deg); }
}
@media(max-width:600px) {
  .theme-stlc .stlc-contact { right:max(16px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); width:112px; }
  .theme-stlc .stlc-contact-trigger { width:112px; min-height:98px; padding-inline:0; }
  .theme-stlc .stlc-contact-container { width:104px; height:66px; }
  .theme-stlc .stlc-contact-panel { right:max(16px,env(safe-area-inset-right)); bottom:calc(max(12px,env(safe-area-inset-bottom)) + 110px); width:min(352px,calc(100% - 32px)); max-height:calc(100dvh - 138px); }
}
@media(prefers-reduced-motion:reduce) {
  .theme-stlc .stlc-contact *, .theme-stlc .stlc-contact *::before, .theme-stlc .stlc-contact *::after { animation:none!important; transition:none!important; }
  .theme-stlc .stlc-contact .stlc-contact-load, .theme-stlc .stlc-contact .stlc-contact-wheel, .theme-stlc .stlc-contact .stlc-contact-door { transform:none!important; }
}
