/* AquaSystem v6: real map, compact cart, chronological project explorer. */
.header-phone.phone-link { gap:7px; }
.header-phone.phone-link>span { width:22px; height:24px; flex:0 0 22px; background:none; }
.header-phone.phone-link .icon { width:18px; height:18px; }
.mini-cart-panel { display:flex; flex-direction:column; overflow:hidden; }
.mini-cart-panel[hidden] { display:none; }
.mini-cart-heading { flex-shrink:0; }
.mini-cart-panel .aqua-mini-cart-content { min-height:0; display:flex; flex-direction:column; }
.mini-cart-panel ul.cart_list { min-height:0; flex:0 1 auto; overflow:auto; overscroll-behavior:contain; max-height:235px; scrollbar-width:thin; }
.mini-cart-panel ul.cart_list li { min-height:94px; padding-block:15px; }
.mini-cart-panel .mini-cart-more { flex-shrink:0; margin:13px 0 0; font-size:12px; font-weight:500; color:var(--blue); }
.mini-cart-more a { display:block; padding:5px 0; }
.mini-cart-panel .woocommerce-mini-cart__total { flex-shrink:0; padding-top:16px; margin-top:10px; font-size:18px; }
.mini-cart-panel .woocommerce-mini-cart__buttons { flex-shrink:0; }
.mini-cart-panel .mini-empty { overflow:auto; }
.site-footer { border-top:1px solid var(--line); }
.site-footer .footer-bottom { display:block; padding-block:25px; }
.footer-legal-links { display:flex; flex-wrap:wrap; gap:15px 26px; align-items:center; padding-bottom:23px; font-size:12px; }
.site-footer .footer-bottom>.footer-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; }
.footer-credit { display:inline-flex; align-items:center; gap:13px; flex-shrink:0; font-size:11px; color:#607784; }
.lead-mark { width:66px; height:26.08px; position:relative; display:inline-block; overflow:hidden; }
.lead-mark img { position:absolute; width:102.4%; max-width:none; height:auto; left:-1.8%; top:-14.6%; filter:brightness(0); }
.footer-credit:hover { color:var(--ink); }
.guarantee-dialog { margin:auto; width:min(760px,calc(100vw - 32px)); max-height:92svh; padding:25px; border:1px solid var(--line); border-radius:23px; background:white; color:var(--ink); overflow:auto; box-shadow:0 25px 90px #143e6330; }
.guarantee-dialog::backdrop { background:#143e6366; backdrop-filter:blur(4px); }
.guarantee-dialog-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; position:sticky; top:-25px; background:white; padding:0 0 20px; z-index:1; }
.guarantee-dialog-heading h2 { font-size:25px; margin:0; line-height:1.25; font-weight:700; }
.guarantee-dialog-heading .icon-button { flex-shrink:0; width:34px; height:34px; }
.guarantee-notice-image { display:block; width:595px; max-width:100%; margin:auto; }
.guarantee-notice-image img { display:block; width:100%; height:auto; }
.guarantee-dialog-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; padding-top:20px; font-size:12px; color:var(--blue); }
.shop-guarantee,.product-guarantee,.checkout-guarantee { display:flex; gap:10px; align-items:center; font-size:13px; color:#526d7d; }
.shop-guarantee { margin:30px 0; }
.product-guarantee { margin:20px 0 0; }
.checkout-guarantee { margin:18px 0 10px; }
.shop-guarantee>.icon,.product-guarantee>.icon,.checkout-guarantee>.icon { flex-shrink:0; width:20px; height:20px; color:var(--blue); }
.guarantee-link { text-decoration:underline; text-underline-offset:3px; }
.legal-notice-page { display:grid; justify-items:start; gap:25px; }
.page-content .legal-notice-full { display:block; max-width:700px; width:100%; }
.page-content .legal-notice-full img { width:100%; margin:0; border-radius:0; }
.legal-notice-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; font-size:14px; }
.research-explorer { margin:20px 0 65px; }
.research-years { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:relative; padding:0 36px; }
.research-years::after { content:''; position:absolute; bottom:8px; left:72px; right:72px; height:2px; background:#d4e6ef; z-index:-1; }
.research-years>button { display:flex; flex-direction:column; align-items:center; gap:6px; padding:10px 15px 0; border:0; background:none; color:#607784; position:relative; }
.research-tab-year { font-size:36px; font-weight:700; letter-spacing:-.05em; line-height:1.2; }
.research-tab-name { font-size:14px; font-weight:500; }
.research-tab-dot { margin-top:18px; width:18px; height:18px; border:5px solid white; border-radius:50%; background:#b9d5e5; box-shadow:0 0 0 2px #d4e6ef; }
.research-years>button[aria-selected=true] { color:var(--blue); }
.research-years>button[aria-selected=true] .research-tab-dot { background:var(--blue); box-shadow:0 0 0 2px var(--blue); }
.research-panels { margin-top:33px; border-radius:30px; background:var(--fog); overflow:hidden; }
.research-panel { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:35px; padding:46px 48px; }
.research-panel[hidden] { display:none; }
.page-content .research-panel h2 { font-size:36px; line-height:1.18; margin:0 0 23px; max-width:600px; }
.page-content .research-panel p { font-size:16px; line-height:1.85; margin:0 0 28px; color:#526d7d; max-width:58ch; }
.research-panel dl { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; }
.research-panel dt { font-size:12px; color:#607784; margin-bottom:6px; }
.research-panel dd { font-size:14px; font-weight:600; color:var(--ink); margin:0; }
.research-panel-visual { border-radius:25px; background:#eaf5fa; }
.page-content .research-panel-visual img { display:block; width:100%; height:auto; margin:0; border-radius:0; }
.location-section { margin-top:50px; }
.location-map { position:relative; border-radius:28px; background:#edf5f7; isolation:isolate; }
.aqua-map-canvas { width:100%; height:520px; background:#edf5f7; font-family:General Sans,Arial,sans-serif; z-index:0; }
.map-toolbar { position:absolute; bottom:25px; left:25px; z-index:500; }
.map-toolbar .button { box-shadow:0 5px 24px #143e6314; font-size:12px; }
.aqua-ready .map-controls,.map-controls { z-index:500; }
.map-attribution { z-index:500; font-size:10px; }
.location-map .leaflet-container { font-family:General Sans,Arial,sans-serif; background:#edf5f7; }
.location-map .leaflet-marker-icon { background:none; border:0; }
.aqua-map-pin { width:32px; height:32px; border:7px solid white; border-radius:50%; background:var(--blue); box-shadow:0 0 0 12px #0879bc18,0 5px 17px #143e6333; }
.location-map .leaflet-tooltip.aqua-map-label { background:white; border:0; color:var(--ink); border-radius:16px; padding:15px 22px; text-align:center; box-shadow:0 8px 30px #143e6314; }
.aqua-map-label strong { font-size:22px; font-weight:700; display:block; line-height:1.3; letter-spacing:-.03em; }
.aqua-map-label span { font-size:13px; color:#526d7d; }
.location-map .leaflet-tooltip-top.aqua-map-label::before { border-top-color:white; }
.map-road-label { background:none; border:0; font-size:11px; color:#6f8793; white-space:nowrap; text-align:center; pointer-events:none; text-shadow:1px 1px white,-1px -1px white,1px -1px white,-1px 1px white; }
.map-road-label.major-road { font-size:12px; color:#526d7d; font-weight:500; }
.aqua-map-canvas:focus-visible { outline:2px solid var(--blue); outline-offset:-3px; }
.map-load-status { position:absolute; top:20px; left:20px; z-index:500; margin:0; font-size:13px; padding:10px 15px; background:white; border-radius:12px; }
.map-load-status[hidden] { display:none; }
@media(max-width:1050px) {
  .research-panel { gap:25px; padding:35px; }
  .page-content .research-panel h2 { font-size:30px; }
  .page-content .research-panel p { font-size:15px; }
}
@media(max-width:767px) {
  .site-footer .footer-bottom>.footer-meta { flex-direction:column; align-items:flex-start; gap:21px; }
  .footer-legal-links { flex-direction:column; align-items:flex-start; gap:13px; padding-bottom:26px; font-size:12px; }
  .footer-credit { gap:12px; }
  .guarantee-dialog { padding:18px; border-radius:18px; }
  .guarantee-dialog-heading { top:-18px; padding-bottom:16px; }
  .guarantee-dialog-heading h2 { font-size:21px; }
  .guarantee-dialog-links { flex-direction:column; font-size:12px; }
  .research-years { padding:0 5px; }
  .research-years::after { left:35px; right:35px; }
  .research-tab-year { font-size:30px; }
  .research-tab-name { font-size:10px; }
  .research-years>button { padding-inline:4px; }
  .research-tab-dot { margin-top:15px; }
  .research-panels { margin-top:27px; border-radius:22px; }
  .research-panel { grid-template-columns:1fr; gap:28px; padding:28px 24px; }
  .page-content .research-panel h2 { font-size:29px; }
  .page-content .research-panel p { font-size:14px; }
  .research-panel dl { gap:15px; }
  .research-panel dd { font-size:12px; }
  .research-panel-visual { max-width:400px; }
  .research-explorer { margin-bottom:40px; }
  .aqua-map-canvas { height:450px; }
  .map-toolbar { left:15px; bottom:35px; }
  .map-toolbar .button { padding:12px 16px; min-height:42px; font-size:11px; }
  .location-map .leaflet-tooltip.aqua-map-label { padding:13px 17px; }
  .aqua-map-label strong { font-size:19px; }
  .aqua-map-label span { font-size:11px; }
  .mini-cart-panel { max-height:calc(100svh - 95px); }
  .mini-cart-panel ul.cart_list { max-height:min(210px,calc(100svh - 325px)); }
}
