.eco-chat{--chat-accent:#0879f9;--chat-accent-hover:#0065d7;--chat-launcher-shadow:#0075ef42;--chat-text:#152235;--chat-panel-bg:#f5f7fa;--chat-border:#d8e1ed;--chat-panel-shadow:#07192b30;--chat-header-bg:#111e30;--chat-header-text:#fff;--chat-header-muted:#c1d0e4;--chat-close-bg:#ffffff12;--chat-muted:#536984;--chat-white:#fff;--chat-message-out:#e1edff;--chat-meta:#506981;--chat-label:#3b516d;--chat-input-border:#c5d1df;--chat-phone:#0871d9;--chat-link:#086dc5;--chat-hint:#61758d;--chat-focus:#69b8ff;--chat-telegram-bg:#e9f2ff;--chat-telegram-border:#c5d9f5;--chat-telegram-text:#3b516e;--chat-telegram-primary:#0866be;--chat-telegram-primary-hover:#06559f;--chat-telegram-secondary:#13568e;--chat-telegram-secondary-border:#8daecb;--chat-telegram-secondary-hover:#dceafa;--chat-blue:var(--chat-accent);font-family:Manrope,sans-serif;font-size:14px;line-height:1.5;color:var(--chat-text);position:fixed;right:24px;bottom:24px;z-index:900}.eco-chat *{box-sizing:border-box}.eco-chat [hidden]{display:none!important}.eco-chat-launcher{width:62px;height:62px;margin-left:auto;display:grid;place-items:center;border:0;border-radius:50%;background:var(--chat-blue);color:var(--chat-white);box-shadow:0 8px 28px var(--chat-launcher-shadow);cursor:pointer}.eco-chat-glyph{width:31px;height:25px;border:2px solid currentColor;border-radius:9px;font-size:27px;line-height:9px;position:relative;letter-spacing:1px;padding-left:2px}.eco-chat-glyph:after{content:'';position:absolute;bottom:-5px;left:5px;width:8px;height:8px;border-left:2px solid currentColor;transform:skewY(-35deg);background:var(--chat-blue)}.eco-chat-panel{position:absolute;right:0;bottom:78px;width:390px;max-height:min(740px,calc(100dvh - 122px));display:flex;flex-direction:column;background:var(--chat-panel-bg);border:1px solid var(--chat-border);border-radius:20px;box-shadow:0 15px 65px var(--chat-panel-shadow);overflow:hidden}.eco-chat-header{background:var(--chat-header-bg);color:var(--chat-header-text);padding:20px;display:flex;justify-content:space-between;gap:12px;align-items:start;flex:0 0 auto}.eco-chat-header strong{font-size:18px;font-weight:600;letter-spacing:-.03em}.eco-chat-header p{font-size:12px;color:var(--chat-header-muted);margin:5px 0 0}.eco-chat-close{border:0;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--chat-close-bg);color:var(--chat-header-text);font-size:25px;line-height:1;cursor:pointer}.eco-chat-content{padding:18px;overflow-y:auto;overscroll-behavior:contain}.eco-chat-status{font-size:13px;line-height:1.6;color:var(--chat-muted);margin:0 0 14px}.eco-chat-fallback{padding:16px;border-radius:10px;background:var(--chat-white)}.eco-chat-fallback p{margin:0 0 12px;font-size:14px}.eco-chat-phone{display:inline-flex;color:var(--chat-phone);font-size:20px;font-weight:600;text-decoration:none}.eco-chat-messages{padding:0;margin:0 0 14px;list-style:none;display:flex;flex-direction:column;gap:12px}.eco-chat-message{max-width:95%;padding:12px 14px;border-radius:14px;overflow-wrap:anywhere}.eco-chat-message p{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.6}.eco-chat-out{background:var(--chat-message-out);align-self:flex-end;border-bottom-right-radius:4px}.eco-chat-in{background:var(--chat-white);align-self:flex-start;border-bottom-left-radius:4px}.eco-chat-message-meta{display:block;font-size:11px;line-height:1.6;margin-top:7px;color:var(--chat-meta)}.eco-chat-identity{border:0;padding:0;margin:0 0 18px;min-width:0}.eco-chat-identity legend{font-size:15px;font-weight:600;margin-bottom:10px}.eco-chat-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:12px;color:var(--chat-label)}.eco-chat-form input:not([type=checkbox]),.eco-chat-form textarea{width:100%;min-height:43px;background:var(--chat-white);border:1px solid var(--chat-input-border);border-radius:8px;padding:10px 12px;color:var(--chat-text);font:14px Manrope,sans-serif}.eco-chat-form textarea{resize:vertical;max-height:190px;min-height:90px}.eco-chat-form .eco-chat-consent{display:flex;flex-direction:row;align-items:start;gap:9px;margin:14px 0 0;font-size:11px;line-height:1.6}.eco-chat-consent input{margin-top:3px;flex:0 0 16px;width:16px;height:16px;accent-color:var(--chat-blue)}.eco-chat a{color:var(--chat-link);text-decoration:underline;text-underline-offset:3px}.eco-chat-send{display:block;width:100%;min-height:46px;border:0;border-radius:24px;background:var(--chat-blue);color:var(--chat-white);font:600 14px Manrope,sans-serif;padding:11px 20px;cursor:pointer}.eco-chat-send:disabled{opacity:.6;cursor:wait}.eco-chat-hint{font-size:11px;line-height:1.6;color:var(--chat-hint);margin:12px 0 0}.eco-chat :focus-visible{outline:3px solid var(--chat-focus);outline-offset:3px}.eco-chat .eco-chat-phone{text-decoration:none}.eco-chat-launcher:hover,.eco-chat-send:hover{background:var(--chat-accent-hover)}.eco-chat-launcher:hover .eco-chat-glyph:after{background:var(--chat-accent-hover)}@media(max-width:520px){.eco-chat{right:16px;bottom:16px}.eco-chat-launcher{width:56px;height:56px}.eco-chat-panel{position:fixed;inset:auto 12px 88px;width:auto;max-height:calc(100dvh - 106px);border-radius:17px}.eco-chat-header{padding:17px}.eco-chat-content{padding:16px}.eco-chat-close{min-width:36px;min-height:36px}.eco-chat-form input:not([type=checkbox]),.eco-chat-form textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){.eco-chat *{scroll-behavior:auto}}
/* R86: only the station page has a fixed mobile purchase bar. */
.eco-chat-telegram{background:var(--chat-telegram-bg);border:1px solid var(--chat-telegram-border);border-radius:12px;padding:14px;margin:0 0 18px;overflow-wrap:anywhere}.eco-chat-telegram>strong{display:block;font-size:14px;color:var(--chat-text)}.eco-chat-telegram-copy,.eco-chat-telegram-notice{font-size:12px;line-height:1.6;color:var(--chat-telegram-text);margin:7px 0 10px}.eco-chat-telegram-notice:empty{display:none}.eco-chat-telegram-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6;color:var(--chat-telegram-text);margin:10px 0}.eco-chat-telegram-consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:var(--chat-blue)}.eco-chat .eco-chat-telegram-action,.eco-chat .eco-chat-telegram-secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;white-space:normal;text-align:center;border:1px solid var(--chat-telegram-primary);border-radius:10px;padding:10px 12px;font:600 13px/1.5 Manrope,sans-serif;cursor:pointer;text-decoration:none;margin-top:9px;background:var(--chat-telegram-primary);color:var(--chat-white)}.eco-chat .eco-chat-telegram-secondary{background:transparent;color:var(--chat-telegram-secondary);border-color:var(--chat-telegram-secondary-border)}.eco-chat .eco-chat-telegram-action:disabled,.eco-chat .eco-chat-telegram-secondary:disabled{opacity:.6;cursor:default}.eco-chat .eco-chat-telegram-action:hover:not(:disabled){background:var(--chat-telegram-primary-hover)}.eco-chat .eco-chat-telegram-secondary:hover:not(:disabled){background:var(--chat-telegram-secondary-hover)}
@media(max-width:640px){
 body:has(.mobile-bottom) .eco-chat{bottom:calc(80px + env(safe-area-inset-bottom))}
 body:has(.mobile-bottom) .eco-chat-panel{max-height:calc(100dvh - 176px - env(safe-area-inset-bottom))}
}
@media(max-width:520px){
 body:has(.mobile-bottom) .eco-chat-panel{bottom:calc(152px + env(safe-area-inset-bottom));max-height:calc(100dvh - 170px - env(safe-area-inset-bottom))}
}

/* Phase14: a closed disclosure stays one line; its consent flow remains explicit. */
.eco-chat-content{min-height:0;scroll-behavior:auto}
.eco-chat-telegram{padding:0;margin-bottom:14px}
.eco-chat-telegram-summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px;list-style:none;cursor:pointer;font-size:13px;line-height:1.4;color:var(--chat-text)}
.eco-chat-telegram-summary::-webkit-details-marker{display:none}
.eco-chat-telegram-summary:after{content:'⌄';margin-left:auto;flex:0 0 auto;font-size:18px;line-height:1}
.eco-chat-telegram[open]>.eco-chat-telegram-summary:after{transform:rotate(180deg)}
.eco-chat-telegram-body{border-top:1px solid var(--chat-telegram-border);padding:2px 12px 12px}
.eco-chat-telegram-summary>strong{font-size:13px;font-weight:600}

/* Phase16: scoped media controls; keep shop section/button rules outside the widget. */
.eco-chat .eco-chat-panel{padding:0}
.eco-chat .eco-chat-attachment-tools{display:flex;align-items:center;gap:10px;margin:-2px 0 12px}
.eco-chat .eco-chat-attach{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;margin:0;padding:8px 12px;border:1px solid var(--chat-input-border);border-radius:10px;background:var(--chat-white);color:var(--chat-link);font:600 12px/1.4 Manrope,sans-serif;cursor:pointer;text-transform:none;letter-spacing:normal}
.eco-chat .eco-chat-attach:hover:not(:disabled){border-color:var(--chat-link)}
.eco-chat .eco-chat-attach:disabled,.eco-chat .eco-chat-remove-file:disabled{opacity:.6;cursor:default}
.eco-chat .eco-chat-clip{font-size:18px;line-height:1}
.eco-chat .eco-chat-attachment-limit{font-size:11px;line-height:1.4;color:var(--chat-hint)}
.eco-chat .eco-chat-selected{display:flex;align-items:center;gap:10px;padding:10px;margin:0 0 12px;border:1px solid var(--chat-input-border);border-radius:10px;background:var(--chat-white);min-width:0}
.eco-chat .eco-chat-selected-copy{flex:1;min-width:0;font-size:12px;line-height:1.5;color:var(--chat-text);overflow-wrap:anywhere}
.eco-chat .eco-chat-selected-image{display:block;flex:0 0 auto;width:48px;height:48px;object-fit:contain;border-radius:5px;background:var(--chat-panel-bg)}
.eco-chat .eco-chat-remove-file{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin:0;padding:0;border:1px solid var(--chat-input-border);border-radius:50%;background:var(--chat-white);color:var(--chat-text);font:24px/1 Manrope,sans-serif;cursor:pointer}
.eco-chat .eco-chat-file-notice{font-size:12px;line-height:1.5;color:var(--chat-text);margin:0 0 12px;overflow-wrap:anywhere}
.eco-chat .eco-chat-attachment{max-width:100%;min-width:0;margin-top:7px}
.eco-chat .eco-chat-attachment-preview{display:block;max-width:250px}
.eco-chat .eco-chat-attachment-image{display:block;width:auto;max-width:100%;height:auto;max-height:220px;object-fit:contain;border-radius:8px;background:var(--chat-panel-bg)}
.eco-chat .eco-chat-attachment-link{display:block;margin-top:6px;font-size:12px;line-height:1.5;font-weight:600;color:var(--chat-link);overflow-wrap:anywhere}
.eco-chat .eco-chat-attachment-name{display:block;font-size:12px;line-height:1.5;font-weight:600;color:var(--chat-text);overflow-wrap:anywhere}
.eco-chat .eco-chat-attachment-note{font-size:11px;line-height:1.5;color:var(--chat-meta);margin:5px 0 0;white-space:normal}

/* Japan4You: primary #D60202 and white header from the live shop.
   Darker hover and neutral message surfaces are chosen for readable controls. */
.eco-chat {
  --chat-accent: #d60202;
  --chat-accent-hover: #b80202;
  --chat-launcher-shadow: #d6020238;
  --chat-text: #151515;
  --chat-panel-bg: #f8f8f8;
  --chat-border: #dedede;
  --chat-panel-shadow: #15151526;
  --chat-header-bg: #ffffff;
  --chat-header-text: #151515;
  --chat-header-muted: #646464;
  --chat-close-bg: #f1f1f1;
  --chat-muted: #5c5c5c;
  --chat-white: #ffffff;
  --chat-message-out: #fff0f0;
  --chat-meta: #646464;
  --chat-label: #444444;
  --chat-input-border: #b8b8b8;
  --chat-phone: #d60202;
  --chat-link: #c00000;
  --chat-hint: #646464;
  --chat-focus: #d60202;
  --chat-telegram-bg: #ffffff;
  --chat-telegram-border: #dedede;
  --chat-telegram-text: #444444;
  --chat-telegram-primary: #d60202;
  --chat-telegram-primary-hover: #b80202;
  --chat-telegram-secondary: #b80202;
  --chat-telegram-secondary-border: #c9c9c9;
  --chat-telegram-secondary-hover: #fff0f0;
}

/* Isolate the chat dialog from the shop's section spacing. */
.eco-chat .eco-chat-panel { padding: 0; }
