/*
Theme Name:        Qeshmineh
Theme URI:         https://pasargadmarketing.com
Description:       قالب اختصاصی قشمینه. طراحی و توسعه: کانون تبلیغات پاسارگاد.
Author:            کانون تبلیغات پاسارگاد
Author URI:        https://pasargadmarketing.com
Version:           1.1.132
Requires at least: 6.4
Requires PHP:      8.0
Text Domain:       qi-directory-theme
License:           GPL v2 or later
*/
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/vazirmatn-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/vazirmatn-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/vazirmatn-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
* { font-family: 'Vazirmatn', 'Tahoma', sans-serif; box-sizing: border-box; }
html { direction: rtl; }
:root { color-scheme: light; }
body { margin: 0; background: var(--qd-bb92796, oklch(0.98 0.004 90)); color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); }
a { color: inherit; text-decoration: none; }
a:hover.underline-hover { text-decoration: underline; }
button { font-family: inherit; }
img { max-width: 100%; }
.alignright { float: right; margin: 4px 0 14px 20px; }
.alignleft { float: left; margin: 4px 20px 14px 0; }
.aligncenter { display: block; float: none; margin: 14px auto; }
.alignnone { margin: 14px 0; }
img.alignright, img.alignleft, img.aligncenter, img.alignnone { height: auto; }
img.alignright, img.alignleft { max-width: 50%; }
.wp-caption { max-width: 100%; }
.wp-caption.alignright { float: right; margin: 4px 0 14px 20px; }
.wp-caption.alignleft { float: left; margin: 4px 20px 14px 0; }
.wp-caption.aligncenter { margin: 14px auto; }
.wp-caption img { display: block; max-width: 100%; height: auto; }
.wp-caption .wp-caption-text { font-size: 12px; color: var(--qd-ff24d95, oklch(0.55 0.01 90)); text-align: center; padding: 6px 4px 0; margin: 0; }
@keyframes logo-flip {
  0%, 83.3% { transform: rotateY(0deg); }
  89% { transform: rotateY(220deg); }
  95.8% { transform: rotateY(340deg); }
  100% { transform: rotateY(360deg); }
}
@keyframes chat-pulse { 0% { transform: scale(1); opacity: 0.55; } 100% { transform: scale(1.9); opacity: 0; } }
@keyframes chat-bounce { 0%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-8px); } }
@keyframes progress-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
header.site-header { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-bottom: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); position: sticky; top: 0; z-index: 10; overflow-anchor: none; }
.header-pad { position: relative; max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: 14px 28px; transition: padding 0.25s ease, gap 0.25s ease; }
header.scrolled .header-pad { gap: 24px; padding: 8px 28px; }
.brand-link { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.logo-box { width: 46px; height: 46px; perspective: 400px; transition: width 0.25s ease, height 0.25s ease; }
header.scrolled .logo-box { width: 36px; height: 36px; }
.logo-box img { width: 100%; height: 100%; object-fit: contain; display: block; animation: logo-flip 6s infinite; transform-style: preserve-3d; }
.brand-title { font-size: 22px; font-weight: 800; line-height: 1; transition: font-size 0.25s ease; }
header.scrolled .brand-title { font-size: 18px; }
.tagline { font-size: 12px; font-weight: 500; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); line-height: 1; opacity: 1; max-height: 14px; overflow: hidden; transition: font-size 0.25s ease, opacity 0.2s ease, max-height 0.25s ease; }
header.scrolled .tagline { font-size: 10px; opacity: 0; max-height: 0; }
nav.main-nav { flex: 1; min-width: 0; display: flex; justify-content: center; padding: 0 40px; transition: padding 0.25s ease; }
header.scrolled nav.main-nav { padding: 0 12px; }
.nav-item { position: relative; }
.nav-link { position: relative; display: block; padding: 8px 4px; margin: 0 6px; font-size: 13.5px; font-weight: 600; color: var(--qd-f0c63dd, oklch(0.32 0.01 90)); white-space: nowrap; transition: font-size 0.25s ease, padding 0.25s ease, color 0.15s ease; }
header.scrolled .nav-link { font-size: 12.5px; padding: 6px 4px; }
.nav-link .underline { position: absolute; right: 0; left: 0; bottom: -6px; height: 2px; background: oklch(0.4 0.09 195); transform: scaleX(0); transition: transform 0.2s ease; }
.nav-item:hover .nav-link { color: var(--qd-f14fc63, oklch(0.4 0.09 195)); }
.nav-item:hover .nav-link .underline { transform: scaleX(1); }
.dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); opacity: 0; pointer-events: none; transition: opacity 0.18s ease; }
.nav-item:hover .dropdown, .nav-item.qi-nav-open .dropdown { opacity: 1; pointer-events: auto; }
.dropdown-inner { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 14px; box-shadow: 0 16px 36px oklch(0.3 0.05 195 / 0.15); padding: 20px; display: grid; gap: 6px; }
.dropdown-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 10px; }
.dropdown-item:hover { background: var(--qd-b1382ff, oklch(0.95 0.02 195)); }
.dropdown-dot { width: 8px; height: 8px; border-radius: 999px; background: oklch(0.52 0.17 45); flex-shrink: 0; margin-top: 6px; }
.dropdown-label { font-size: 14.5px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); line-height: 1.4; }
.dropdown-desc { font-size: 12px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); line-height: 1.6; }
.header-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.search-btn { flex-shrink: 0; width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px oklch(0.5 0.05 195 / 0.18), 0 1px 2px oklch(0.2 0.02 195 / 0.12); transition: width 0.25s ease, height 0.25s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
header.scrolled .search-btn { width: 32px; height: 32px; }
.search-btn:hover { background: var(--qd-b98219f, oklch(0.94 0.03 195)); border-color: var(--qd-b636442, oklch(0.75 0.06 195)); box-shadow: 0 4px 12px oklch(0.5 0.08 195 / 0.25), 0 1px 3px oklch(0.2 0.02 195 / 0.15); }
.qi-theme-btn { color: var(--qd-fa4b353, oklch(0.38 0.05 195)); }
.qi-theme-btn .qi-ic-sun, :root[data-theme="dark"] .qi-theme-btn .qi-ic-moon { display: none; }
:root[data-theme="dark"] .qi-theme-btn .qi-ic-sun { display: block; }
.phone-link { display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: var(--qd-f14fc63, oklch(0.4 0.09 195)); background: oklch(0.4 0.09 195 / 0.1); border-radius: 999px; padding: 6px 11px; white-space: nowrap; direction: ltr; transition: font-size 0.2s ease, padding 0.2s ease, background 0.15s ease; }
header.scrolled .phone-link { font-size: 10.5px; padding: 5px 9px; }
.phone-link:hover { background: oklch(0.4 0.09 195 / 0.16); }
.mobile-btn { display: none; width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
.mobile-panel { display: none; position: absolute; top: 100%; right: 0; left: 0; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-top: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); box-shadow: 0 16px 24px oklch(0.3 0.05 195 / 0.12); max-height: calc(100vh - 60px); overflow-y: auto; padding: 8px 16px 16px; flex-direction: column; gap: 2px; }
.mobile-panel.open { display: flex; }
.mobile-row { display: flex; flex-direction: column; border-bottom: 1px solid var(--qd-b5cfbec, oklch(0.95 0.006 90)); }
.mobile-row-top { display: flex; align-items: center; gap: 8px; padding: 12px 4px; }
.mobile-row-top a { flex: 1; font-size: 15px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.mobile-caret { cursor: pointer; font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); padding: 6px; display: inline-block; transition: transform 0.15s ease; }
.mobile-caret.open { transform: rotate(-90deg); }
.mobile-children { display: none; flex-direction: column; gap: 2px; padding: 0 4px 10px 20px; }
.mobile-children.open { display: flex; }
.mobile-children a { font-size: 13.5px; font-weight: 600; color: var(--qd-f9283c9, oklch(0.42 0.02 90)); padding: 8px 0; }
.mobile-phone { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--qd-f14fc63, oklch(0.4 0.09 195)); direction: ltr; justify-content: flex-end; }
@media (max-width: 900px) {
  nav.main-nav { display: none; }
  .phone-link { display: none; }
  .mobile-btn { display: flex; }
}
.top-btn { position: fixed; bottom: 28px; left: 28px; width: 46px; height: 46px; border-radius: 999px; border: none; background: oklch(0.4 0.09 195); box-shadow: 0 6px 18px oklch(0.3 0.05 195 / 0.35); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 30; opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity 0.25s ease, transform 0.25s ease; }
.top-btn.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.chat-wrap { position: fixed; bottom: 28px; right: 28px; z-index: 30; display: flex; align-items: center; gap: 12px; direction: ltr; }
.chat-bubble { direction: rtl; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 12px; padding: 10px 16px; font-size: 13.5px; font-weight: 600; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); box-shadow: 0 6px 16px oklch(0.3 0.05 195 / 0.12); white-space: nowrap; text-align: right; }
.chat-btn-holder { position: relative; width: 56px; height: 56px; flex-shrink: 0; }
.chat-pulse { position: absolute; inset: 0; border-radius: 999px; background: oklch(0.68 0.15 45 / 0.6); animation: chat-pulse 2s ease-out infinite; }
.chat-pulse.delay { animation-delay: 1s; }
.chat-btn { position: relative; width: 56px; height: 56px; border-radius: 999px; border: none; background: oklch(0.68 0.15 45); box-shadow: 0 6px 18px oklch(0.55 0.13 45 / 0.4); display: flex; align-items: center; justify-content: center; cursor: pointer; animation: chat-bounce 2.4s ease-in-out infinite; }
.chat-btn:hover { background: oklch(0.63 0.15 45); }
.chat-menu { direction: rtl; position: absolute; bottom: 68px; right: 0; width: 220px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-radius: 14px; box-shadow: 0 16px 36px oklch(0.3 0.05 195 / 0.2); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); padding: 10px; display: flex; flex-direction: column; gap: 4px; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity 0.2s ease, transform 0.2s ease; }
.chat-menu.open { opacity: 1; pointer-events: auto; transform: translateY(0); }
.chat-menu-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); text-align: right; }
.chat-menu-item:hover { background: var(--qd-b1382ff, oklch(0.95 0.02 195)); }
.chat-icon-circle { width: 28px; height: 28px; border-radius: 999px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.hero { position: relative; width: 100%; height: 72vh; min-height: 480px; max-height: 760px; overflow: hidden; background: oklch(0.25 0.03 195); }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; z-index: 1; background-size: cover; background-position: center; }
.hero-slide.active { opacity: 1; z-index: 2; }
.hero-slide .stripes { position: absolute; inset: 0; }
.hero-slide .label-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.hero-slide .label-wrap span { font-family: 'Courier New', monospace; font-size: 14px; color: oklch(1 0 0 / 0.55); background: oklch(0 0 0 / 0.18); padding: 6px 14px; border-radius: 4px; letter-spacing: 0.5px; }
.hero-slide .overlay { position: absolute; inset: 0; background: linear-gradient(0deg, oklch(0.15 0.02 195 / 0.88) 0%, oklch(0.15 0.02 195 / 0.35) 45%, oklch(0.15 0.02 195 / 0.15) 70%, oklch(0.15 0.02 195 / 0.05) 100%); }
.hero-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 0 96px 90px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; z-index: 3; }
.hero-eyebrow { font-size: 15px; font-weight: 700; color: oklch(0.8 0.14 45); letter-spacing: 0.5px; }
.hero-title { margin: 0; font-size: clamp(30px, 5vw, 56px); font-weight: 800; color: oklch(0.99 0.003 90); line-height: 1.2; max-width: 780px; text-align: right; }
.hero-subtitle { margin: 0; font-size: clamp(15px, 1.6vw, 19px); font-weight: 500; color: oklch(0.93 0.01 90 / 0.9); max-width: 620px; text-align: right; }
.hero-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 999px; border: 1px solid oklch(1 0 0 / 0.3); background: oklch(0.15 0.02 195 / 0.35); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 4; }
.hero-arrow:hover { background: oklch(0.68 0.15 45 / 0.85); border-color: oklch(0.68 0.15 45); }
.hero-arrow.prev { right: 24px; }
.hero-arrow.next { left: 24px; }
.hero-dots { position: absolute; right: 64px; bottom: 40px; display: flex; gap: 10px; z-index: 4; }
.hero-dot { width: 10px; height: 6px; border-radius: 999px; border: none; padding: 0; background: oklch(1 0 0 / 0.3); cursor: pointer; overflow: hidden; position: relative; }
.hero-dot.active { width: 38px; transition: width 0.3s ease; }
.hero-dot .fill { display: block; position: absolute; inset: 0; background: transparent; }
.hero-dot.active .fill { transform-origin: right center; background: oklch(0.68 0.15 45); animation: progress-fill 5s linear; }
@media (max-width: 700px) { .hero-caption { padding: 0 20px 76px; } .hero-arrow { width: 40px; height: 40px; top: auto; bottom: 26px; transform: none; } .hero-arrow.prev { right: auto; left: 68px; } .hero-arrow.next { left: 20px; } .hero-dots { right: 20px; bottom: 40px; } }
.section-inner { max-width: 1280px; margin: 0 auto; padding: 0 28px; display: flex; flex-direction: column; }
.section-head { display: flex; flex-direction: column; gap: 8px; text-align: center; }
.eyebrow { font-size: 14px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); letter-spacing: 0.5px; }
.section-title { margin: 0; font-size: clamp(24px, 3vw, 34px); font-weight: 800; color: var(--qd-f6242ab, oklch(0.3 0.02 90)); }
section.categories { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); padding: 56px 0; }
section.categories .section-inner { gap: 40px; }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; }
.cat-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding: 32px 20px; border-radius: 16px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); background: var(--qd-b4fb744, oklch(1 0 0)); transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
.cat-card:hover { border-color: oklch(0.4 0.09 195 / 0.4); box-shadow: 0 12px 28px oklch(0.3 0.05 195 / 0.12); transform: translateY(-3px); }
.cat-icon { width: 64px; height: 64px; border-radius: 999px; background: oklch(0.4 0.09 195 / 0.1); display: flex; align-items: center; justify-content: center; }
.cat-title { font-size: 17px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.cat-desc { font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); line-height: 1.6; }
section.magazine { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); padding: 8px 0 80px; }
section.magazine .section-inner { gap: 64px; }
.row-head { display: flex; align-items: baseline; justify-content: space-between; }
.row-title { margin: 0; font-size: 22px; font-weight: 700; color: var(--qd-f6242ab, oklch(0.3 0.02 90)); }
.row-link { font-size: 14px; font-weight: 600; color: var(--qd-f14fc63, oklch(0.4 0.09 195)); }
.row-link:hover { text-decoration: underline; }
.weather-box { background: linear-gradient(135deg, oklch(0.4 0.08 195), oklch(0.26 0.05 205)); border-radius: 16px; padding: 8px; display: flex; flex-direction: column; }
.weather-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); grid-auto-rows: 1fr; }
.weather-stat { display: flex; align-items: flex-start; gap: 14px; padding: 22px 20px; border-left: 1px solid oklch(1 0 0 / 0.1); border-bottom: 1px solid oklch(1 0 0 / 0.1); }
.weather-dot { width: 10px; height: 10px; flex-shrink: 0; margin-top: 8px; border-radius: 999px; background: oklch(0.75 0.14 45); }
.weather-label { font-size: 12.5px; font-weight: 600; color: oklch(0.88 0.02 195 / 0.85); }
.weather-value { font-size: 19px; font-weight: 800; color: oklch(0.99 0.003 90); line-height: 1.3; }
.weather-sub { font-size: 12px; color: oklch(0.85 0.02 195 / 0.7); }
.weather-tip { display: flex; align-items: flex-start; gap: 12px; margin: 16px; background: oklch(0.68 0.15 45 / 0.18); border: 1px solid oklch(0.68 0.15 45 / 0.4); border-radius: 10px; padding: 14px 16px; }
.weather-tip span { font-size: 14px; font-weight: 500; color: oklch(0.96 0.01 90); line-height: 1.7; }
.weather-updated { font-size: 12px; color: oklch(0.85 0.02 195 / 0.75); padding: 0 16px 12px; }
.news-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; align-items: stretch; }
.news-featured { display: flex; flex-direction: column; gap: 16px; border-radius: 14px; overflow: hidden; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); transition: box-shadow 0.15s ease; background: var(--qd-b4fb744, oklch(1 0 0)); }
.news-featured:hover { box-shadow: 0 10px 24px oklch(0.3 0.05 195 / 0.12); }
.news-img { height: 260px; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.5 0.08 195) 0px, oklch(0.5 0.08 195) 16px, oklch(0.42 0.08 195) 16px, oklch(0.42 0.08 195) 32px); }
.news-body { padding: 0 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.tag { font-size: 12px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); width: fit-content; }
.news-body-title { font-size: 20px; font-weight: 800; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); line-height: 1.5; }
.news-excerpt { font-size: 14px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); line-height: 1.6; }
.news-date { font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.news-side { display: grid; grid-template-rows: repeat(3, 1fr); height: 100%; }
.news-side-item { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); transition: background 0.15s ease; padding: 8px; }
.news-side-item:hover { background: oklch(0.97 0.01 195 / 0.5); }
.news-side-thumb { width: 72px; height: 72px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.5 0.08 195) 0px, oklch(0.5 0.08 195) 10px, oklch(0.42 0.08 195) 10px, oklch(0.42 0.08 195) 20px); }
.news-side-title { font-size: 15px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); line-height: 1.4; }
.events-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-top: 8px; }
.events-line { position: absolute; top: 15px; right: 16.66%; left: 16.66%; height: 2px; background: var(--qd-ba63bcb, oklch(0.85 0.02 195 / 0.4)); z-index: 0; }
.event-card { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; transition: opacity 0.15s ease; }
.event-card:hover { opacity: 0.85; }
.event-dot { width: 16px; height: 16px; border-radius: 999px; background: oklch(0.4 0.09 195); box-shadow: 0 0 0 5px var(--qd-b34a04f, oklch(0.99 0.003 90)), 0 0 0 6px oklch(0.4 0.09 195 / 0.2); }
.event-date { font-size: 13px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.event-img { width: 100%; height: 140px; border-radius: 12px; overflow: hidden; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.6 0.1 45) 0px, oklch(0.6 0.1 45) 14px, oklch(0.5 0.11 45) 14px, oklch(0.5 0.11 45) 28px); }
.event-title { font-size: 15.5px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); line-height: 1.5; }
.event-loc { font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.articles-featured { position: relative; display: flex; align-items: flex-end; height: 280px; border-radius: 14px; overflow: hidden; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.52 0.08 195) 0px, oklch(0.52 0.08 195) 16px, oklch(0.44 0.08 195) 16px, oklch(0.44 0.08 195) 32px); transition: opacity 0.15s ease; }
.articles-featured:hover { opacity: 0.95; }
.articles-featured .overlay { position: absolute; inset: 0; background: linear-gradient(0deg, oklch(0.15 0.02 195 / 0.88) 0%, oklch(0.15 0.02 195 / 0.2) 60%, transparent 100%); }
.articles-featured .content { position: relative; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.articles-featured .content .tag { color: oklch(0.78 0.14 45); }
.articles-featured .content .title { font-size: 24px; font-weight: 800; color: oklch(0.99 0.003 90); line-height: 1.5; }
.articles-featured .content .teaser { font-size: 14px; color: oklch(0.92 0.01 90 / 0.85); line-height: 1.7; max-width: 560px; }
.articles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.article-card { display: flex; align-items: center; gap: 14px; border-radius: 12px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); padding: 14px; overflow: hidden; transition: box-shadow 0.15s ease; background: var(--qd-b4fb744, oklch(1 0 0)); }
.article-card:hover { box-shadow: 0 8px 20px oklch(0.3 0.05 195 / 0.12); }
.article-thumb { width: 68px; height: 68px; flex-shrink: 0; border-radius: 8px; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.52 0.08 195) 0px, oklch(0.52 0.08 195) 12px, oklch(0.44 0.08 195) 12px, oklch(0.44 0.08 195) 24px); }
.article-title { font-size: 14.5px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); line-height: 1.4; }
.article-time { font-size: 12px; font-weight: 600; color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
@media (max-width: 800px) { .news-grid { grid-template-columns: 1fr; } .events-grid { grid-template-columns: 1fr; } .events-line { display: none; } }
section.latest-biz { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); padding: 8px 0 96px; }
section.latest-biz .section-inner { gap: 24px; }
.biz-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.biz-card { display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); background: var(--qd-b4fb744, oklch(1 0 0)); transition: box-shadow 0.15s ease; }
.biz-card:hover { box-shadow: 0 10px 24px oklch(0.3 0.05 195 / 0.12); }
.biz-img { position: relative; height: 150px; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.5 0.08 195) 0px, oklch(0.5 0.08 195) 14px, oklch(0.42 0.08 195) 14px, oklch(0.42 0.08 195) 28px); }
.biz-badge { position: absolute; top: 12px; right: 12px; background: oklch(0.68 0.15 45); color: oklch(0.99 0.003 90); font-size: 11px; font-weight: 700; border-radius: 999px; padding: 4px 12px; }
.biz-body { padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.biz-cat { font-size: 12px; font-weight: 700; color: var(--qd-f14fc63, oklch(0.4 0.09 195)); width: fit-content; background: oklch(0.4 0.09 195 / 0.1); border-radius: 6px; padding: 3px 8px; }
.biz-name { font-size: 16px; font-weight: 700; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); line-height: 1.5; }
.biz-loc { font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); display: flex; align-items: center; gap: 5px; }
footer.site-footer { background: oklch(0.22 0.025 195); color: oklch(0.88 0.01 195); }
.footer-grid { max-width: 1280px; margin: 0 auto; padding: 56px 28px 32px; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 48px; }
.footer-col { display: flex; flex-direction: column; gap: 16px; }
.footer-brand { font-size: 20px; font-weight: 800; line-height: 1; }
.footer-desc { margin: 0; font-size: 14px; line-height: 1.9; color: oklch(0.8 0.01 195); text-align: justify; }
.footer-link { display: flex; align-items: center; gap: 4px; font-size: 13.5px; font-weight: 700; color: oklch(0.72 0.15 45); width: fit-content; }
.footer-link:hover { text-decoration: underline; }
.footer-heading { font-size: 15px; font-weight: 700; color: oklch(0.97 0.005 195); }
.footer-row { display: flex; align-items: flex-start; gap: 10px; }
.footer-contact { display: flex; align-items: center; gap: 10px; width: fit-content; }
.footer-contact:hover { color: oklch(0.72 0.15 45); }
.footer-socials { display: flex; align-items: center; gap: 12px; }
.social-btn { width: 36px; height: 36px; border-radius: 999px; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 8px oklch(0.15 0.02 195 / 0.3); transition: filter 0.15s ease, transform 0.15s ease; }
.social-btn:hover { filter: brightness(1.08); transform: translateY(-2px); }
.license-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; max-width: 180px; }
.license-item { aspect-ratio: 1; border-radius: 8px; background: oklch(0.3 0.03 195); border: 1px solid oklch(0.4 0.03 195); transition: border-color 0.15s ease; }
.license-item:hover { border-color: oklch(0.72 0.15 45); }
.footer-bottom { border-top: 1px solid oklch(0.32 0.03 195); padding: 18px 28px; display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; text-align: center; }
.footer-bottom span { font-size: 12.5px; color: oklch(0.65 0.01 195); }
.footer-bottom a { color: oklch(0.72 0.15 45); font-weight: 600; }
.footer-bottom a:hover { text-decoration: underline; }
@media (max-width: 800px) { .footer-grid { grid-template-columns: 1fr; gap: 32px; } }
.qch-breadcrumb { position: relative; padding: 72px clamp(20px, 5vw, 64px) 90px; overflow: hidden; background: oklch(0.25 0.03 195); text-align: center; }
.qch-breadcrumb .stripes { position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, oklch(0.3 0.03 195) 0px, oklch(0.3 0.03 195) 26px, oklch(0.27 0.03 195) 26px, oklch(0.27 0.03 195) 52px); opacity: 0.5; }
.qch-breadcrumb .inner { position: relative; z-index: 1; }
.qch-crumbs { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 18px; font-size: 14px; color: oklch(0.75 0.01 195); flex-wrap: wrap; }
.qch-crumbs a:hover { color: oklch(0.8 0.14 45); }
.qch-h1 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 48px); font-weight: 800; color: oklch(0.99 0.003 90); }
.qch-lead { margin: 0; font-size: 16px; color: oklch(0.85 0.01 195); font-weight: 500; max-width: 580px; margin-inline: auto; }
.qch-tabbar { display: flex; gap: 10px; flex-wrap: wrap; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 14px; padding: 10px; box-shadow: 0 10px 28px oklch(0.2 0.04 195 / 0.08); }
.qch-tab { padding: 9px 18px; border-radius: 999px; border: none; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: all 0.15s; background: transparent; color: var(--qd-f9b7005, oklch(0.4 0.02 90)); text-decoration: none; display: inline-block; }
.qch-tab.active { background: oklch(0.52 0.17 45); color: white; }
.qch-page-btn { width: 36px; height: 36px; border-radius: 8px; border: 1.5px solid var(--qd-bdc116c, oklch(0.9 0.008 90)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-fef7b67, oklch(0.35 0.02 90)); font-size: 13.5px; font-weight: 700; cursor: pointer; transition: all 0.15s; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.qch-page-btn.active { border-color: oklch(0.52 0.17 45); background: oklch(0.52 0.17 45); color: white; }
.qch-card:hover { box-shadow: 0 10px 24px oklch(0.3 0.05 195 / 0.1); }
.qch-featured:hover { box-shadow: 0 12px 28px oklch(0.3 0.05 195 / 0.12); }
.qch-event-hero:hover { box-shadow: 0 20px 44px oklch(0.2 0.04 195 / 0.22) !important; }
.qch-input, .qch-select, .qch-textarea { padding: 13px 16px; border: 1.5px solid var(--qd-bdc116c, oklch(0.9 0.008 90)); border-radius: 10px; font-size: 14.5px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-fe0af22, oklch(0.2 0.01 195)); outline: none; transition: border-color 0.2s; width: 100%; }
.qch-input:focus, .qch-select:focus, .qch-textarea:focus { border-color: oklch(0.52 0.17 45); }
.qch-submit:hover { background: oklch(0.45 0.16 45); transform: translateY(-1px); }
.qch-maplink:hover { background: var(--qd-b5b4543, oklch(0.96 0.006 90)); }
.qch-social:hover { filter: brightness(1.1); transform: translateY(-2px); }
.qch-chip { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 52px; padding: 10px 6px; border-radius: 10px; border: 1.5px solid var(--qd-bdc116c, oklch(0.9 0.008 90)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-fef7b67, oklch(0.35 0.02 90)); cursor: pointer; transition: all 0.15s; }
.qch-chip.active { border-color: oklch(0.52 0.17 45); background: oklch(0.52 0.17 45); color: white; }
.qch-scroll::-webkit-scrollbar { width: 6px; }
.qch-scroll::-webkit-scrollbar-thumb { background: var(--qd-bd492e2, oklch(0.88 0.008 90)); border-radius: 999px; }
.qch-biz-card:hover { box-shadow: 0 10px 24px oklch(0.3 0.05 195 / 0.12); }
.qch-sort-btn { padding: 7px 16px; border-radius: 999px; border: none; font-size: 12.5px; font-weight: 600; cursor: pointer; background: var(--qd-bc30a30, oklch(0.94 0.008 90)); color: var(--qd-f9b7005, oklch(0.4 0.02 90)); text-decoration: none; display: inline-block; }
.qch-sort-btn.active { background: oklch(0.52 0.17 45); color: white; }
.qch-filter-input { width: 100%; box-sizing: border-box; border: 1px solid var(--qd-bdc116c, oklch(0.9 0.008 90)); border-radius: 8px; padding: 7px 10px; font-size: 12.5px; font-family: 'Vazirmatn', sans-serif; outline: none; }
.qch-clear-btn { border: none; background: none; font-size: 12.5px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); cursor: pointer; text-decoration: none; }
.qi-status-wrap { position: relative; display: inline-flex; }
.qi-status-tip { position: absolute; top: calc(100% + 8px); right: 0; width: min(260px, 80vw); max-width: 320px; background: oklch(0.2 0.02 90); color: oklch(0.98 0.003 90); font-size: 12.5px; font-weight: 500; line-height: 1.8; border-radius: 10px; padding: 10px 14px; box-shadow: 0 8px 20px oklch(0.15 0.02 195 / 0.25); visibility: hidden; opacity: 0; transition: opacity 0.15s; z-index: 60; }
.qi-status-wrap:hover .qi-status-tip, .qi-status-wrap:focus-within .qi-status-tip, .qi-status-wrap:focus .qi-status-tip { visibility: visible; opacity: 1; }
@media (max-width: 900px) { .qch-detail-grid { grid-template-columns: 1fr !important; } .qch-detail-gallery { grid-template-columns: repeat(2, 1fr) !important; } .qch-detail-aside { position: static !important; } }
.qi-biz-layout { max-width: 1320px; margin: 0 auto; padding: 32px clamp(20px, 5vw, 64px) 96px; display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.qi-biz-filter-form { flex: 1 1 240px; min-width: 220px; position: sticky; top: 96px; align-self: flex-start; }
.qi-biz-aside { scroll-margin-top: 84px; display: flex; flex-direction: column; gap: 14px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 16px; padding: 22px; max-height: calc(100vh - 120px); overflow-y: auto; }
.qi-biz-results { flex: 3 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.qi-filter-group { border-top: 1px solid var(--qd-bcfa0c6, oklch(0.93 0.008 90)); padding-top: 12px; }
.qi-filter-heading { font-size: 13.5px; font-weight: 700; color: var(--qd-f6242ab, oklch(0.3 0.02 90)); margin: 0; }
.qi-check-row { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 3px 0; color: var(--qd-fef7b67, oklch(0.35 0.02 90)); }
.qi-check-row input { width: 15px; height: 15px; accent-color: var(--qd-f28826a, oklch(0.52 0.17 45)); cursor: pointer; flex-shrink: 0; }
.qi-check-sub { margin-inline-start: 22px; margin-inline-end: 0; font-size: 12.5px; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-check-sub input { width: 14px; height: 14px; }
.qi-results-head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.qi-result-count { font-size: 14px; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); white-space: nowrap; }
.qi-open-quick { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--qd-b432f12, oklch(0.88 0.01 90)); background: var(--qd-bbfc241, #fff); color: var(--qd-fef7b67, oklch(0.35 0.02 90)); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: border-color .15s, background .15s, color .15s; }
.qi-open-quick:hover { border-color: oklch(0.48 0.15 155); color: var(--qd-fbb8cba, oklch(0.4 0.13 155)); }
.qi-open-quick-dot { width: 8px; height: 8px; border-radius: 999px; background: oklch(0.6 0.16 155); box-shadow: 0 0 0 3px oklch(0.6 0.16 155 / 0.18); }
.qi-open-quick.active { background: oklch(0.48 0.15 155); border-color: oklch(0.48 0.15 155); color: #fff; }
.qi-open-quick.active .qi-open-quick-dot { background: var(--qd-bbfc241, #fff); box-shadow: 0 0 0 3px oklch(1 0 0 / 0.3); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 900px) {
  .header-pad, header.scrolled .header-pad { gap: 8px; padding: 10px 16px; justify-content: flex-start; }
  .brand-link { margin-inline-end: auto; min-width: 0; }
  .header-right { gap: 8px; }
  .mobile-caret { background: none; border: none; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
  .mobile-caret.open { transform: rotate(180deg); }
  .mobile-children a { padding: 12px 0; }
  .mobile-phone { justify-content: center; gap: 8px; margin-top: 14px; padding: 12px; border-radius: 12px; background: oklch(0.4 0.09 195 / 0.1); direction: rtl; }
}
.chat-bubble { transition: opacity 0.3s ease, visibility 0.3s ease; }
.chat-bubble.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 700px) {
  .chat-wrap { bottom: 16px; right: 16px; }
  .top-btn { bottom: 16px; left: 16px; }
  .chat-bubble { font-size: 12.5px; padding: 8px 12px; }
}
@media (max-width: 700px) { .hero { height: calc(100vh - 67px); height: calc(100svh - 67px); min-height: 480px; max-height: none; } body.has-bottom-nav .hero { height: calc(100vh - 67px - 64px); height: calc(100svh - 67px - 64px); } }
.hero.is-paused .hero-dot.active .fill { animation-play-state: paused; }
@media (max-width: 600px) {
  .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cat-card { padding: 18px 12px; gap: 10px; }
  .cat-icon { width: 48px; height: 48px; }
  .cat-title { font-size: 15px; }
  .cat-desc { font-size: 12.5px; }
}
.weather-unit { font-size: 13px; font-weight: 600; opacity: 0.85; }
@media (max-width: 480px) { .weather-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .weather-stat { padding: 16px 12px; gap: 10px; } }
.qch-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 24px; }
.qi-biz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 22px; }
.qch-featured { display: grid; grid-template-columns: 1.1fr 1fr; }
.qch-featured-body { padding: 36px; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
@media (max-width: 800px) {
  .qch-featured { grid-template-columns: 1fr; }
  .qch-featured > div:first-child { min-height: 200px !important; }
  .qch-featured-body { padding: 22px; }
}
.qch-event-hero { display: grid; grid-template-columns: 220px 1fr; }
.qch-event-hero-date { background: oklch(0.52 0.17 45); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: white; padding: 20px; }
.qch-event-hero-body { padding: 28px 32px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
@media (max-width: 640px) {
  .qch-event-hero { grid-template-columns: 1fr; }
  .qch-event-hero-date { flex-direction: row; gap: 10px; padding: 14px 20px; }
  .qch-event-hero-date span:first-child { margin-inline-end: auto; }
  .qch-event-hero-date span[style*="font-size:40px"] { font-size: 28px !important; }
  .qch-event-hero-body { padding: 20px; }
}
@media (max-width: 700px) {
  .qch-tabbar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .qch-tabbar::-webkit-scrollbar { display: none; }
  .qch-tab { flex-shrink: 0; white-space: nowrap; }
}
.qi-contact-section { max-width: 1240px; margin: 0 auto; padding: 20px clamp(16px, 5vw, 64px) 90px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 40px; }
.qi-contact-card { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-radius: 20px; box-shadow: 0 4px 20px oklch(0.2 0.04 195 / 0.06); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); padding: 44px; min-width: 0; scroll-margin-top: 100px; }
.qi-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 640px) {
  .qi-form-grid { grid-template-columns: 1fr; }
  .qi-contact-card { padding: 24px 18px; }
  .qi-contact-section { gap: 24px; }
}
.qi-filter-heading { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 6px 0; min-height: 32px; }
.qi-filter-heading::-webkit-details-marker { display: none; }
.qi-filter-heading::after { content: ""; width: 7px; height: 7px; margin-inline-start: auto; margin-top: -4px; border-left: 2px solid oklch(0.55 0.02 90); border-bottom: 2px solid oklch(0.55 0.02 90); transform: rotate(-45deg); transition: transform 0.15s ease; }
.qi-filter-group[open] > .qi-filter-heading::after { transform: rotate(135deg); margin-top: 4px; }
.qi-filter-options { display: flex; flex-direction: column; gap: 4px; padding: 6px 0 4px; }
.qi-filter-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: oklch(0.52 0.17 45); color: white; font-size: 12px; font-weight: 700; }
.qi-check-count { font-size: 12px; color: var(--qd-fc66670, oklch(0.6 0.02 90)); }
.qi-filter-submit { margin-top: 6px; padding: 11px 16px; background: oklch(0.52 0.17 45); color: white; border: none; border-radius: 10px; font-size: 14px; font-weight: 700; cursor: pointer; }
.qi-results-search { flex: 1; min-width: 160px; }
.qi-results-search .qch-filter-input { padding: 8px 12px; font-size: 13.5px; }
.qi-sort { display: flex; gap: 8px; flex-shrink: 0; }
.qi-filter-toggle { display: none; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 999px; border: 1.5px solid oklch(0.4 0.09 195 / 0.35); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-f23d96c, oklch(0.35 0.07 195)); font-size: 13.5px; font-weight: 700; cursor: pointer; }
@media (max-width: 900px) {
  .qi-biz-filter-form { flex-basis: 100%; position: static; }
  .qi-biz-aside { display: none; max-height: none; overflow: visible; }
  .qi-biz-aside.is-open { display: flex; }
  .qi-filter-toggle { display: inline-flex; }
  .qi-check-row { padding: 7px 0; font-size: 14px; }
  .qi-results-head { gap: 10px; }
  .qi-results-search { order: 5; flex-basis: 100%; }
}
.row-head { gap: 12px; }
.row-link { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 600px) { .row-title { font-size: 19px; } .row-link { font-size: 13px; } }
.weather-value { white-space: nowrap; }
@media (max-width: 480px) {
  .weather-value { font-size: 17px; }
  .weather-grid > .weather-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .cat-grid > .cat-card:last-child:nth-child(odd) { grid-column: 1 / -1; flex-direction: row; justify-content: center; text-align: right; gap: 14px; }
}
.biz-img:not([style]) { background-image: none; background-color: var(--qd-b1382ff, oklch(0.95 0.02 195)); }
.biz-img:not([style])::after { content: ""; position: absolute; inset: 0; background: url("images/logo.png") center / 56px no-repeat; opacity: 0.35; filter: grayscale(0.2); }
.biz-img { height: 140px; }
@media (max-width: 600px) {
  section.latest-biz .biz-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-inline: -28px; padding: 4px 28px 12px; scrollbar-width: none; }
  section.latest-biz .biz-grid::-webkit-scrollbar { display: none; }
  section.latest-biz .biz-card { flex: 0 0 72%; scroll-snap-align: start; }
  section.latest-biz .biz-img { height: 110px; }
}
.qi-hours { display: flex; flex-direction: column; }
.qi-hours-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; font-size: 13.5px; padding: 9px 0; border-top: 1px solid var(--qd-bdcc825, oklch(0.94 0.006 90)); color: var(--qd-f9b7005, oklch(0.4 0.02 90)); line-height: 1.8; }
.qi-hours-day { font-weight: 700; white-space: nowrap; }
.qi-hours-time { text-align: left; }
.qi-hours-time { min-width: 0; }
@media (max-width: 480px) { .qi-hours-row { gap: 12px; font-size: 13px; } }
.qi-action-bar { display: none; }
@media (max-width: 900px) {
  .qi-action-bar { display: flex; gap: 10px; position: fixed; right: 0; left: 0; bottom: 0; z-index: 40; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--qd-bb27481, oklch(0.99 0.003 90 / 0.96)); backdrop-filter: blur(8px); border-top: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); box-shadow: 0 -6px 18px oklch(0.3 0.05 195 / 0.1); }
  .qi-action-bar a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 12px; font-size: 15px; font-weight: 700; }
  .qi-action-call { background: oklch(0.52 0.17 45); color: white; }
  .qi-action-map { background: oklch(0.4 0.09 195 / 0.1); color: var(--qd-ffc1574, oklch(0.35 0.09 195)); }
  body.single-qi_business, body.has-qev-bar { padding-bottom: 76px; }
  body.single-qi_business .chat-wrap, body.single-qi_business .top-btn, body.has-qev-bar .chat-wrap, body.has-qev-bar .top-btn { bottom: 86px; }
}
.qi-biz-content :where(ul, ol) { padding-inline-start: 22px; }
@media (min-width: 801px) { .footer-grid--two { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .footer-sep { display: none; } .footer-bottom { flex-direction: column; gap: 4px; } }
@media (max-width: 600px) {
  .qch-crumbs { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; justify-content: flex-start; }
  .qch-crumbs > :last-child { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
}
@media (max-width: 600px) {
  .qi-biz-crumbs { white-space: nowrap; overflow: hidden; }
  .qi-biz-crumbs > :last-child { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  .qi-biz-hero-inner { padding-top: 28px !important; padding-bottom: 28px !important; }
}
@media (max-width: 900px) {
  .qch-detail-grid { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 20px !important; padding-top: 24px !important; }
  .qch-detail-grid > .qi-biz-main, .qch-detail-grid > .qch-detail-aside { display: contents !important; }
  .qch-detail-aside > * { order: 1; }
  .qi-sec-gallery { order: 2; margin-top: 12px; }
  .qi-sec-about { order: 3; margin-top: 12px; }
  .qi-sec-services { order: 4; }
  .qi-sec-reviews { order: 5; }
  .qch-detail-aside > .qi-sec-stats { order: 6; }
}
.hero-search { display: flex; align-items: center; gap: 8px; width: min(560px, 100%); margin-top: 8px; padding: 6px 16px 6px 6px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-radius: 999px; box-shadow: 0 12px 30px oklch(0.1 0.02 195 / 0.35); color: var(--qd-fff0b9b, oklch(0.45 0.05 195)); }
.hero-search input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-size: 15px; color: var(--qd-f252b3e, oklch(0.2 0.02 90)); padding: 10px 0; }
.hero-search input::placeholder { color: var(--qd-fc66670, oklch(0.6 0.02 90)); }
.hero-search button { flex-shrink: 0; border: none; border-radius: 999px; padding: 11px 22px; background: oklch(0.52 0.17 45); color: white; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.hero-search button:hover { background: oklch(0.46 0.16 45); }
.hero-search:focus-within { box-shadow: 0 0 0 3px oklch(0.72 0.15 45 / 0.6), 0 12px 30px oklch(0.1 0.02 195 / 0.35); }
.hero-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: oklch(0.93 0.01 90); padding: 6px 2px; }
.hero-cta strong { color: oklch(0.82 0.13 45); font-weight: 800; }
.hero-cta:hover strong { text-decoration: underline; }
@media (max-width: 700px) {
  .hero-search { padding: 4px 12px 4px 4px; }
  .hero-search input { font-size: 14px; padding: 9px 0; }
  .hero-search button { padding: 10px 16px; font-size: 14px; }
  .hero-subtitle { font-size: 14.5px; }
  .hero-cta { font-size: 13px; }
}
.mobile-children a.mobile-all { color: var(--qd-f047361, oklch(0.45 0.1 195)); font-weight: 700; }
.qi-bottom-nav, .qi-support-sheet { display: none; }
@media (max-width: 900px) {
  .qi-bottom-nav { display: flex; position: fixed; right: 0; left: 0; bottom: 0; z-index: 45; height: 64px; padding: 0 6px env(safe-area-inset-bottom); background: var(--qd-b40aafe, oklch(0.99 0.003 90 / 0.97)); backdrop-filter: blur(10px); border-top: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); box-shadow: 0 -6px 18px oklch(0.3 0.05 195 / 0.08); transition: transform 0.25s ease; }
  .qi-bottom-nav.is-hidden { transform: translateY(calc(100% + 40px)); } 
  .qi-bottom-nav > a, .qi-bottom-nav > button { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: none; background: none; font: inherit; font-size: 11.5px; font-weight: 600; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .qi-bottom-nav > .is-active { color: var(--qd-f14fc63, oklch(0.4 0.09 195)); }
  .qi-bottom-nav > .is-active svg { stroke-width: 2.4; }
  .qi-bn-fab { width: 46px; height: 46px; margin-top: -22px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: oklch(0.52 0.17 45); color: white; box-shadow: 0 6px 16px oklch(0.52 0.17 45 / 0.4); border: 3px solid var(--qd-b34a04f, oklch(0.99 0.003 90)); }
  body.has-bottom-nav { padding-bottom: 64px; }
  body.has-bottom-nav .chat-wrap { display: none; }
  body.has-bottom-nav .top-btn { bottom: 80px; left: 16px; width: 40px; height: 40px; }
  .qi-support-sheet:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 60; }
  .qi-support-backdrop { position: absolute; inset: 0; background: oklch(0.1 0.01 195 / 0.45); }
  .qi-support-panel { position: absolute; right: 0; left: 0; bottom: 0; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-radius: 20px 20px 0 0; padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 6px; box-shadow: 0 -12px 30px oklch(0.2 0.03 195 / 0.2); animation: qi-sheet-up 0.22s ease; }
  .qi-support-head { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 8px; font-size: 15px; }
  .qi-support-head button { border: none; background: var(--qd-bc30a30, oklch(0.94 0.008 90)); width: 34px; height: 34px; border-radius: 999px; cursor: pointer; font-size: 14px; }
  .qi-support-item { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 6px 8px; border-radius: 12px; font-size: 15px; font-weight: 600; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
  .qi-support-item:active { background: var(--qd-b1382ff, oklch(0.95 0.02 195)); }
  .qi-support-item > span { width: 34px; height: 34px; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: white; font-size: 15px; flex-shrink: 0; overflow: hidden; }
}
@keyframes qi-sheet-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
.dropdown-all { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 4px; padding: 11px 14px; border-radius: 10px; border-top: 1px solid var(--qd-bcfa0c6, oklch(0.93 0.008 90)); font-size: 13.5px; font-weight: 700; color: var(--qd-fb85eb6, oklch(0.45 0.12 45)); }
.dropdown-all:hover { background: var(--qd-bb64961, oklch(0.96 0.03 60)); }
.qi-contact-maps { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 10px; }
.qi-contact-map { display: flex; flex-direction: column; align-items: center; gap: 7px; min-width: 52px; }
.qi-contact-map > a { transition: transform .15s ease, box-shadow .15s ease; }
.qi-contact-map > a:hover { transform: translateY(-2px); box-shadow: 0 6px 14px oklch(0.3 0.05 195 / 0.18); }
.qi-contact-map > span { font-size: 11.5px; font-weight: 600; color: var(--qd-f3684b6, oklch(0.4 0.02 195)); white-space: nowrap; }
html.qi-search-open, html.qi-search-open body { overflow: hidden; }
.qi-search[hidden] { display: none; }
.qi-search { position: fixed; inset: 0; z-index: 300; display: flex; justify-content: center; align-items: flex-start; padding: 10vh 16px 16px; }
.qi-search-backdrop { position: absolute; inset: 0; background: oklch(0.15 0.02 195 / 0.55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); animation: qiFade .18s ease; }
.qi-search-panel { position: relative; width: min(640px, 100%); max-height: 78vh; display: flex; flex-direction: column; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-radius: 18px; box-shadow: 0 24px 60px oklch(0.15 0.03 195 / 0.35); overflow: hidden; animation: qiPop .2s ease; }
@keyframes qiFade { from { opacity: 0; } }
@keyframes qiPop { from { opacity: 0; transform: translateY(-8px) scale(.98); } }
.qi-search-form { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--qd-bcfa0c6, oklch(0.93 0.008 90)); }
.qi-search-ico { color: var(--qd-f2cfd51, oklch(0.45 0.08 195)); display: flex; }
.qi-search-input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 17px; color: var(--qd-fe0af22, oklch(0.2 0.01 195)); padding: 6px 0; }
.qi-search-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.qi-search-close { border: 0; background: var(--qd-b77b5b6, oklch(0.95 0.008 90)); color: var(--qd-f3684b6, oklch(0.4 0.02 195)); font: inherit; font-size: 13px; font-weight: 600; border-radius: 999px; padding: 7px 14px; cursor: pointer; }
.qi-search-close:hover { background: var(--qd-b394534, oklch(0.92 0.01 90)); }
.qi-search-scope { display: flex; gap: 6px; padding: 10px 16px 4px; }
.qi-search-scope button { border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); background: transparent; color: var(--qd-f3684b6, oklch(0.4 0.02 195)); font: inherit; font-size: 13px; font-weight: 600; border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.qi-search-scope button[aria-checked="true"] { background: oklch(0.4 0.09 195); border-color: oklch(0.4 0.09 195); color: #fff; }
.qi-search-body { overflow-y: auto; padding: 6px 8px 12px; transition: opacity .15s; }
.qi-search-body.is-loading { opacity: .55; }
.qi-search-sec { padding: 8px 8px 4px; }
.qi-search-sec-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 700; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); margin-bottom: 4px; padding: 0 6px; }
.qi-search-sec-head button { border: 0; background: none; color: var(--qd-f224e9c, oklch(0.5 0.12 45)); font: inherit; font-size: 12px; cursor: pointer; }
.qi-search-sec ul { list-style: none; margin: 0; padding: 0; }
.qi-search-item { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 10px; color: var(--qd-f8bb697, oklch(0.25 0.02 195)); font-size: 14.5px; }
.qi-search-item svg { flex-shrink: 0; color: var(--qd-f07270b, oklch(0.55 0.05 195)); }
.qi-search-item span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qi-search-item em { font-style: normal; font-size: 11px; font-weight: 600; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); background: var(--qd-b77b5b6, oklch(0.95 0.008 90)); border-radius: 999px; padding: 2px 8px; flex-shrink: 0; }
.qi-search-item mark { background: var(--qd-b9c2cdb, oklch(0.93 0.07 70)); color: inherit; border-radius: 3px; padding: 0 1px; }
.qi-search-item:hover, .qi-search-item.is-active, .qi-search-all:hover, .qi-search-all.is-active { background: var(--qd-bcb9819, oklch(0.95 0.025 195)); }
.qi-search-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 6px; }
.qi-search-hint { margin: 10px 14px 4px; font-size: 12.5px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-search-all { display: flex; align-items: center; gap: 10px; margin: 6px 8px 0; padding: 12px 10px; border-top: 1px solid var(--qd-bcfa0c6, oklch(0.93 0.008 90)); border-radius: 10px; color: var(--qd-fed4fae, oklch(0.45 0.13 45)); font-size: 14px; font-weight: 700; }
.qi-search-all span { flex: 1; }
.qi-search-none { display: flex; flex-direction: column; gap: 4px; padding: 18px 14px 8px; font-size: 14px; color: var(--qd-fc1caa7, oklch(0.3 0.02 195)); }
.qi-search-none span { font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
@media (max-width: 640px) {
	.qi-search { padding: 0; align-items: stretch; }
	.qi-search-panel { width: 100%; max-height: none; height: 100%; border-radius: 0; }
	.qi-search-form { padding: 12px; padding-top: max(12px, env(safe-area-inset-top)); }
	.qi-search-input { font-size: 16px; }
	.qi-search-item { padding: 12px 10px; }
}
.qi-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; background: var(--qd-bafd145, oklch(0.96 0.015 195)); border: 1px solid var(--qd-b8e11e3, oklch(0.91 0.02 195)); color: var(--qd-ff87467, oklch(0.32 0.06 195)); font-size: 13px; font-weight: 600; transition: background .15s, border-color .15s; }
.qi-chip span { font-size: 11px; font-weight: 700; color: var(--qd-f725a7a, oklch(0.5 0.05 195)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border-radius: 999px; padding: 1px 7px; }
.qi-chip:hover { background: var(--qd-b72f2a8, oklch(0.93 0.035 195)); border-color: var(--qd-b92a3b2, oklch(0.82 0.05 195)); }
.qi-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 10px; font-size: 14px; font-weight: 700; transition: background .15s, box-shadow .15s; }
.qi-btn-primary { background: oklch(0.52 0.17 45); color: #fff; }
.qi-btn-primary:hover { background: oklch(0.48 0.17 45); box-shadow: 0 8px 18px oklch(0.52 0.17 45 / 0.25); }
.qi-btn-ghost { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-f23d96c, oklch(0.35 0.07 195)); border: 1.5px solid var(--qd-b130a73, oklch(0.88 0.02 195)); }
.qi-btn-ghost:hover { background: var(--qd-bafd145, oklch(0.96 0.015 195)); }
.qi-sr { max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 64px) 96px; display: flex; flex-direction: column; gap: 28px; }
.qi-sr-top { display: flex; flex-direction: column; gap: 14px; margin-top: -48px; position: relative; z-index: 2; }
.qi-sr-form { display: flex; align-items: center; gap: 10px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 16px; padding: 8px 8px 8px 8px; padding-inline-start: 16px; box-shadow: 0 14px 34px oklch(0.2 0.04 195 / 0.1); }
.qi-sr-form > svg { color: var(--qd-f2cfd51, oklch(0.45 0.08 195)); flex-shrink: 0; }
.qi-sr-form input[type="search"] { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 16px; padding: 10px 0; color: var(--qd-fe0af22, oklch(0.2 0.01 195)); }
.qi-sr-form button { border: 0; background: oklch(0.52 0.17 45); color: #fff; font: inherit; font-weight: 700; font-size: 14px; border-radius: 11px; padding: 12px 22px; cursor: pointer; }
.qi-sr-form button:hover { background: oklch(0.48 0.17 45); }
.qi-sr-tabs .qch-tab span { font-size: 11.5px; opacity: .8; margin-inline-start: 2px; }
.qi-sr-chips { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.qi-sr-chips > div { display: flex; flex-wrap: wrap; gap: 8px; }
.qi-sr-chips-title { font-size: 13px; font-weight: 700; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-sr-group { display: flex; flex-direction: column; gap: 16px; }
.qi-sr-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); padding-bottom: 10px; }
.qi-sr-group-head h2 { margin: 0; font-size: 19px; font-weight: 800; color: var(--qd-ff79bac, oklch(0.2 0.02 195)); }
.qi-sr-group-head h2 span { font-size: 13px; font-weight: 700; color: var(--qd-f725a7a, oklch(0.5 0.05 195)); background: var(--qd-b9f6f2d, oklch(0.95 0.015 195)); border-radius: 999px; padding: 2px 9px; margin-inline-start: 4px; vertical-align: middle; }
.qi-sr-group-head a { font-size: 13.5px; font-weight: 700; color: var(--qd-fed4fae, oklch(0.45 0.13 45)); white-space: nowrap; }
.qi-sr-pages { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 12px; }
.qi-sr-page { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 12px; transition: box-shadow .15s, border-color .15s; }
.qi-sr-page:hover { border-color: var(--qd-b6541d5, oklch(0.85 0.03 195)); box-shadow: 0 8px 20px oklch(0.3 0.05 195 / 0.08); }
.qi-sr-page-title { font-size: 15px; font-weight: 700; color: var(--qd-ff79bac, oklch(0.2 0.02 195)); }
.qi-sr-page-excerpt { font-size: 13px; line-height: 1.8; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-sr-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 40px 20px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px dashed var(--qd-ba4321b, oklch(0.87 0.01 90)); border-radius: 18px; }
.qi-sr-empty-icon { width: 60px; height: 60px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: var(--qd-b0e605d, oklch(0.95 0.03 60)); color: var(--qd-f0d8906, oklch(0.52 0.15 45)); }
.qi-sr-empty h2 { margin: 4px 0 0; font-size: 18px; font-weight: 800; color: var(--qd-ff79bac, oklch(0.2 0.02 195)); }
.qi-sr-empty p, .qi-sr-empty ul { margin: 0; max-width: 520px; font-size: 14px; line-height: 1.9; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-sr-empty ul { text-align: right; padding-inline-start: 20px; }
.qi-sr-empty-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 6px; }
.qi-empty-soft { margin: 8px 0 24px; }
.qi-404 { max-width: 760px; padding-top: 0; }
.qi-404 .qi-sr-chips { justify-content: center; }
@media (max-width: 640px) {
	.qi-sr-form { padding-inline-start: 12px; }
	.qi-sr-form button { padding: 11px 16px; }
	.qi-sr-group-head h2 { font-size: 17px; }
	.qi-sr-chips { flex-direction: column; align-items: flex-start; gap: 8px; }
	.qi-sr-chips > div { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 4px; scrollbar-width: none; }
	.qi-sr-chips > div .qi-chip { flex-shrink: 0; }
	.qi-404 .qi-sr-chips { align-items: center; }
}
.qi-search-more { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: var(--qd-f063537, oklch(0.5 0.13 45)); }
.qi-search-more:hover { text-decoration: underline; }
.qi-search-sec + .qi-search-sec { border-top: 1px solid var(--qd-b5cfbec, oklch(0.95 0.006 90)); margin-top: 4px; padding-top: 10px; }
.qi-filter-find { display: flex; align-items: center; gap: 8px; margin: 8px 0 4px; padding: 0 10px; border: 1.5px solid var(--qd-bdc116c, oklch(0.9 0.008 90)); border-radius: 10px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-f2b4416, oklch(0.5 0.03 195)); transition: border-color .15s; }
.qi-filter-find:focus-within { border-color: oklch(0.52 0.17 45); }
.qi-filter-find input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 13.5px; padding: 9px 0; color: var(--qd-fe0af22, oklch(0.2 0.01 195)); }
.qi-check-row[hidden] { display: none !important; }
.qi-filter-none { margin: 6px 2px; font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
@media (max-width: 900px) { .qi-filter-find input { font-size: 16px; } }
.qi-filter-actions { position: sticky; bottom: -22px; z-index: 2; margin: auto -22px -22px; padding: 12px 22px 16px; background: var(--qd-bb27481, oklch(0.99 0.003 90 / 0.96)); backdrop-filter: blur(6px); border-top: 1px solid var(--qd-bcfa0c6, oklch(0.93 0.008 90)); border-radius: 0 0 16px 16px; box-shadow: 0 -8px 18px oklch(0.3 0.03 195 / 0.06); }
.qi-filter-actions .qi-filter-submit { width: 100%; margin-top: 0; }
@media (max-width: 900px) {
  .qi-filter-actions { bottom: calc(64px + env(safe-area-inset-bottom)); margin: 0 -22px -22px; border-radius: 0; transition: bottom .25s ease; }
  body.qi-bn-hidden .qi-filter-actions, body:not(.has-bottom-nav) .qi-filter-actions { bottom: 0; }
}
.qi-ago-wrap { position: relative; cursor: help; border-bottom: 1px dotted currentColor; outline: none; }
.qi-ago-wrap::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translate(-50%, 4px); width: max-content; max-width: min(320px, 86vw); white-space: pre-line; text-align: center; padding: 8px 12px; border-radius: 10px; background: oklch(0.2 0.02 195); color: #fff; font-size: 12.5px; font-weight: 500; line-height: 1.8; box-shadow: 0 8px 22px oklch(0.15 0.02 195 / 0.3); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s, transform .15s; z-index: 20; }
.qi-ago-wrap:hover::after, .qi-ago-wrap:focus::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
@media (max-width: 640px) {
  .qi-ago-wrap::after { left: auto; right: 0; transform: translateY(4px); }
  .qi-ago-wrap:hover::after, .qi-ago-wrap:focus::after { transform: translateY(0); }
}
.qi-biz-filter-form { top: 76px; }
.qi-biz-aside { padding: 0; gap: 0; max-height: calc(100vh - 92px); overflow: hidden; }
.qi-fp-head { display: flex; align-items: center; gap: 10px; padding: 15px 18px; border-bottom: 1px solid var(--qd-bcfa0c6, oklch(0.93 0.008 90)); flex-shrink: 0; }
.qi-fp-title { display: flex; align-items: center; gap: 8px; margin-inline-end: auto; font-size: 15px; font-weight: 800; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); }
.qi-fp-title svg { color: var(--qd-f2cfd51, oklch(0.45 0.08 195)); }
.qi-fp-close { display: none; align-items: center; justify-content: center; width: 36px; height: 36px; border: none; border-radius: 999px; background: var(--qd-b77b5b6, oklch(0.95 0.008 90)); color: var(--qd-f514984, oklch(0.35 0.02 195)); cursor: pointer; }
.qi-fp-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 2px 18px 10px; overscroll-behavior: contain; }
.qi-fp-body .qi-filter-group:first-child { border-top: none; }
.qi-filter-group { padding: 12px 0 6px; }
.qi-filter-heading { font-size: 14px; font-weight: 800; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.qi-check-row { gap: 10px; padding: 7px 8px; margin: 0 -8px; border-radius: 8px; cursor: pointer; transition: background .12s; line-height: 1.6; }
.qi-check-row:hover { background: var(--qd-b3599b1, oklch(0.96 0.012 195)); }
.qi-check-row input { width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--qd-f28826a, oklch(0.52 0.17 45)); cursor: pointer; }
.qi-check-row:has(input:checked) { background: var(--qd-bb64961, oklch(0.96 0.03 60)); color: var(--qd-f9e4bed, oklch(0.3 0.06 45)); font-weight: 700; }
.qi-check-label { flex: 1; min-width: 0; }
.qi-check-count { font-size: 11.5px; font-weight: 700; color: var(--qd-f2b4416, oklch(0.5 0.03 195)); background: var(--qd-b58fdb5, oklch(0.95 0.012 195)); border-radius: 999px; padding: 1px 8px; min-width: 24px; text-align: center; }
.qi-check-sub { margin-inline-start: 14px; margin-inline-end: -8px; }
.qi-filter-more { align-self: flex-start; margin-top: 4px; border: none; background: none; padding: 4px 0; font: inherit; font-size: 13px; font-weight: 700; color: var(--qd-fb85eb6, oklch(0.45 0.12 45)); cursor: pointer; }
.qi-filter-more:hover { text-decoration: underline; }
.qi-filter-actions { position: static; bottom: auto; flex-shrink: 0; margin: 0; padding: 12px 18px 14px; border-radius: 0 0 16px 16px; box-shadow: 0 -8px 18px oklch(0.3 0.03 195 / 0.05); }
.qi-filter-submit { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; transition: background .15s, color .15s, box-shadow .15s; }
.qi-fs-dirty, .qi-fs-mobile { display: none; }
.qi-biz-aside:not(.is-dirty) .qi-filter-submit { background: var(--qd-b9f6f2d, oklch(0.95 0.015 195)); color: var(--qd-f88ec3e, oklch(0.4 0.08 195)); }
.qi-biz-aside.is-dirty .qi-filter-submit { box-shadow: 0 8px 18px oklch(0.52 0.17 45 / 0.28); }
.qi-biz-aside.is-dirty .qi-fs-idle { display: none; }
.qi-biz-aside.is-dirty .qi-fs-dirty { display: inline; }
.qi-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: -8px; }
.qi-active-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px 6px 12px; padding-inline-start: 14px; padding-inline-end: 8px; border-radius: 999px; background: var(--qd-b3f7488, oklch(0.95 0.035 60)); border: 1px solid var(--qd-be17b26, oklch(0.88 0.06 55)); color: var(--qd-ff06351, oklch(0.35 0.08 45)); font-size: 13px; font-weight: 700; transition: background .15s; }
.qi-active-chip span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px; background: var(--qd-bed4af5, oklch(0.99 0.003 90 / 0.8)); font-size: 15px; line-height: 1; }
.qi-active-chip:hover { background: var(--qd-b4e403e, oklch(0.92 0.05 55)); }
.qi-active-clear { font-size: 13px; font-weight: 700; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); padding: 6px 4px; }
.qi-active-clear:hover { color: var(--qd-fed4fae, oklch(0.45 0.13 45)); }
@media (max-width: 900px) {
  .qi-biz-aside.is-open { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; max-height: none; border: none; border-radius: 0; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); animation: qiSheetIn .22s ease; }
  @keyframes qiSheetIn { from { transform: translateY(24px); opacity: 0; } }
  html.qi-filters-open, html.qi-filters-open body { overflow: hidden; }
  .qi-fp-head { padding: 12px 16px; padding-top: max(12px, env(safe-area-inset-top)); }
  .qi-fp-close { display: inline-flex; }
  .qi-fp-body { padding: 4px 16px 12px; }
  .qi-filter-actions { bottom: auto; margin: 0; padding: 12px 16px; padding-bottom: max(12px, env(safe-area-inset-bottom)); border-radius: 0; }
  body.qi-bn-hidden .qi-filter-actions, body:not(.has-bottom-nav) .qi-filter-actions { bottom: auto; }
  .qi-filter-submit { min-height: 48px; font-size: 15px; }
  .qi-fs-idle { display: none; }
  .qi-fs-mobile { display: inline; }
  .qi-biz-aside:not(.is-dirty) .qi-filter-submit { background: oklch(0.52 0.17 45); color: #fff; }
  .qi-biz-aside.is-dirty .qi-fs-mobile { display: none; }
  .qi-check-row { padding: 10px 8px; font-size: 14.5px; }
  .qi-active-filters { margin-top: 0; }
}
@media (min-width: 901px) {
  .qi-biz-aside { max-height: calc(100vh - 76px - 112px); min-height: 320px; }
}
.qi-cinfo-link { font-size: 14px; font-weight: 600; color: var(--qd-f14fc63, oklch(0.4 0.09 195)); text-decoration: none; border-bottom: none; transition: color .15s, border-color .15s; word-break: break-word; }
.qi-cinfo-link:hover { color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-cinfo-num { display: inline-flex; align-items: baseline; gap: 8px; width: fit-content; font-size: 15px; font-weight: 700; letter-spacing: .3px; border-bottom: none; padding: 2px 0; }
.qi-cinfo-num small { font-size: 11px; font-weight: 600; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-cinfo-hint { font-size: 11.5px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-cinfo-copy { width: fit-content; margin-top: 2px; border: none; background: var(--qd-b9f6f2d, oklch(0.95 0.015 195)); color: var(--qd-f88ec3e, oklch(0.4 0.08 195)); font: inherit; font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 3px 10px; cursor: pointer; }
.qi-cinfo-copy:hover { background: var(--qd-b31813f, oklch(0.92 0.03 195)); }
.qi-req { color: var(--qd-f3d3234, oklch(0.55 0.18 30)); font-weight: 800; }
.qi-opt { font-size: 12px; font-weight: 500; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qch-input.is-invalid, .qch-textarea.is-invalid, .qch-select.is-invalid { border-color: oklch(0.58 0.19 28); background: var(--qd-bc966c7, oklch(0.985 0.012 28)); }
.qi-field-error { display: flex; align-items: flex-start; gap: 6px; line-height: 1.7; font-size: 12.5px; font-weight: 600; color: var(--qd-ffb707b, oklch(0.5 0.18 28)); animation: qiFade .15s ease; }
.qi-field-error::before { content: "!"; margin-top: 3px; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex-shrink: 0; border-radius: 999px; background: oklch(0.58 0.19 28); color: #fff; font-size: 11px; font-weight: 800; }
.qi-field-error[hidden] { display: none; }
.qi-cinfo-postal { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 2px; font-size: 13px; color: var(--qd-f95812f, oklch(0.45 0.02 195)); }
.qi-cinfo-postal bdi { font-size: 14px; font-weight: 700; letter-spacing: 1px; color: var(--qd-f2f4c7d, oklch(0.25 0.03 195)); }
.qi-cinfo-postal .qi-cinfo-copy { margin-top: 0; }
.qi-cinfo-row { display: flex; align-items: flex-start; gap: 8px; }
.qi-cinfo-row .qi-cinfo-copy { margin-top: 3px; flex-shrink: 0; }
.qi-cinfo-postal .qi-cinfo-link bdi { color: inherit; }
.wx { --wx-good: oklch(0.6 0.14 150); --wx-caution: oklch(0.72 0.15 70); --wx-bad: oklch(0.58 0.19 27); --wx-ink: oklch(0.3 0.02 220); --wx-mute: oklch(0.5 0.02 220); --wx-line: oklch(0.92 0.008 90); max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 64px); transform: translateY(-56px); display: flex; flex-direction: column; gap: 22px; }
.wx [hidden] { display: none !important; }
.wx-hero { background: linear-gradient(135deg, oklch(0.4 0.08 195), oklch(0.26 0.05 205)); border-radius: 18px; padding: 8px; color: oklch(0.99 0.003 90); box-shadow: 0 20px 44px oklch(0.2 0.04 195 / 0.2); }
.wx-hero-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; padding: 16px 20px 6px; }
.wx-hero-date { font-size: 15px; font-weight: 700; }
.wx-hero-upd { font-size: 13px; color: oklch(0.85 0.02 195 / 0.8); }
.wx-empty { padding: 20px; margin: 0; }
.wx-hero-body { display: grid; grid-template-columns: minmax(220px, 280px) 1fr; gap: 8px; align-items: stretch; }
.wx-now { display: flex; align-items: center; gap: 16px; padding: 18px 20px; }
.wx-now-icon { color: oklch(0.85 0.13 80); display: flex; }
.wx-now-temp { font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: -1px; }
.wx-now-cond { font-size: 16px; font-weight: 700; margin-top: 6px; }
.wx-now-feels { font-size: 13px; color: oklch(0.88 0.02 195 / 0.85); margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.wx-now-feels b { color: #fff; }
.wx-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); background: oklch(1 0 0 / 0.06); border-radius: 12px; overflow: hidden; }
.wx-stat { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-left: 1px solid oklch(1 0 0 / 0.08); border-bottom: 1px solid oklch(1 0 0 / 0.08); min-width: 0; }
.wx-stat-label { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: oklch(0.88 0.02 195 / 0.85); }
.wx-stat-label .wx-ic { opacity: 0.8; }
.wx-stat-val { display: flex; align-items: center; gap: 6px; font-size: 19px; font-weight: 800; white-space: nowrap; }
.wx-stat-val small { font-size: 12px; font-weight: 600; opacity: 0.8; }
.wx-stat-sub { font-size: 12px; color: oklch(0.85 0.02 195 / 0.75); line-height: 1.6; }
.wx-arrow { flex-shrink: 0; transition: transform .2s; }
.wx-pill { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; line-height: 1.6; white-space: nowrap; }
.wx-pill.is-good, .wx-pill.uv-low { background: oklch(0.6 0.14 150 / 0.3); color: oklch(0.95 0.06 150); }
.wx-pill.is-caution, .wx-pill.uv-moderate { background: oklch(0.75 0.15 85 / 0.3); color: oklch(0.96 0.08 90); }
.wx-pill.uv-high { background: oklch(0.7 0.16 55 / 0.35); color: oklch(0.96 0.07 70); }
.wx-pill.is-bad, .wx-pill.uv-veryhigh { background: oklch(0.6 0.19 27 / 0.4); color: oklch(0.96 0.05 30); }
.wx-pill.uv-extreme { background: oklch(0.55 0.2 330 / 0.45); color: oklch(0.96 0.05 330); }
.wx-card { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--wx-line); border-radius: 16px; padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.wx-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.wx-card-head h2 { margin: 0; font-size: 18px; font-weight: 800; color: var(--wx-ink); }
.wx-card-desc { margin: -6px 0 0; font-size: 13px; color: var(--wx-mute); line-height: 1.8; }
.wx-hint { font-size: 12px; color: var(--wx-mute); }
.wx-note { margin: 0; font-size: 12.5px; color: var(--wx-mute); line-height: 1.9; }
.wx-note-soft { display: flex; gap: 10px; align-items: flex-start; background: var(--qd-b44b811, oklch(0.96 0.02 170)); border-radius: 10px; padding: 12px 14px; color: var(--qd-f35357a, oklch(0.35 0.04 170)); font-size: 13px; }
.wx-note-soft .wx-ic { flex-shrink: 0; margin-top: 3px; }
.wx-small { margin: 0; font-size: 12.5px; color: var(--wx-mute); line-height: 1.9; }
.wx-seg { display: inline-flex; background: var(--qd-b5cfbec, oklch(0.95 0.006 90)); border-radius: 10px; padding: 3px; }
.wx-seg button { border: 0; background: transparent; font: inherit; font-size: 13px; font-weight: 700; color: var(--wx-mute); padding: 6px 16px; border-radius: 8px; cursor: pointer; }
.wx-seg button[aria-selected="true"] { background: var(--qd-bbfc241, #fff); color: var(--wx-ink); box-shadow: 0 1px 3px oklch(0.2 0.02 90 / 0.15); }
.wx-acts { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.wx-act { --c: var(--wx-good); display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 12px; border: 1px solid color-mix(in oklch, var(--c) 30%, transparent); background: color-mix(in oklch, var(--c) 7%, var(--qd-bbfc241, #fff)); }
.wx-act.is-caution { --c: var(--wx-caution); }
.wx-act.is-bad { --c: var(--wx-bad); }
.wx-act-icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: color-mix(in oklch, var(--c) 16%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--c) 85%, var(--qd-ffe84a1, black)); }
.wx-act-body { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.wx-act-title { font-size: 14.5px; font-weight: 800; color: var(--wx-ink); }
.wx-act-status { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: color-mix(in oklch, var(--c) 85%, var(--qd-ffe84a1, black)); }
.wx-act-status i { width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
.wx-act-when { font-size: 12.5px; color: var(--wx-mute); line-height: 1.8; }
.wx-act-when b { color: var(--wx-ink); }
.wx-act-when span { display: block; }
.wx-hours { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.wx-hour { flex: 0 0 72px; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 4px; border-radius: 12px; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); font-size: 12.5px; color: var(--wx-ink); }
.wx-hour.is-now { background: oklch(0.4 0.08 195); color: #fff; }
.wx-hour-t { font-weight: 700; font-size: 12px; }
.wx-hour-ic { color: var(--qd-fc384cb, oklch(0.6 0.12 70)); display: flex; }
.wx-hour.is-now .wx-hour-ic { color: oklch(0.88 0.12 85); }
.wx-hour-temp { font-size: 16px; font-weight: 800; }
.wx-hour-pop { font-size: 11px; color: var(--qd-fac06da, oklch(0.55 0.12 240)); font-weight: 700; }
.wx-hour-wind, .wx-hour-wave { display: flex; align-items: center; gap: 2px; font-size: 11.5px; color: var(--wx-mute); }
.wx-hour.is-now .wx-hour-wind, .wx-hour.is-now .wx-hour-wave { color: oklch(0.9 0.02 195); }
.wx-hour-sea { width: 26px; height: 5px; border-radius: 3px; background: var(--wx-good); }
.wx-hour-sea.is-caution, .wx-legend .is-caution { background: var(--wx-caution); }
.wx-hour-sea.is-bad, .wx-legend .is-bad { background: var(--wx-bad); }
.wx-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 11.5px; color: var(--wx-mute); }
.wx-legend span { display: inline-flex; align-items: center; gap: 4px; }
.wx-legend i { display: inline-block; width: 14px; height: 5px; border-radius: 3px; background: var(--wx-good); }
.wx-tide { position: relative; }
.wx-tide-box { position: relative; padding-bottom: 22px; }
.wx-tide-svg { display: block; width: 100%; height: 220px; }
.wx-night { fill: var(--qd-f7d750f, oklch(0.3 0.03 240 / 0.06)); }
.wx-grid { stroke: oklch(0.9 0.01 220); stroke-dasharray: 2 4; }
.wx-tide-line { stroke: var(--qd-fb6426e, oklch(0.48 0.1 200)); stroke-width: 2.5; }
.wx-now-line { stroke: oklch(0.65 0.17 45); stroke-width: 1.5; stroke-dasharray: 4 3; }
.wx-tide-labels { position: absolute; inset: 0 0 22px 0; pointer-events: none; }
.wx-tide-pin { position: absolute; transform: translate(-50%, -115%); display: flex; flex-direction: column; align-items: center; white-space: nowrap; font-size: 11.5px; line-height: 1.35; background: var(--qd-bbfc241, #fff); border: 1px solid var(--wx-line); border-radius: 8px; padding: 3px 7px; box-shadow: 0 2px 6px oklch(0.2 0.02 90 / 0.08); }
.wx-tide-pin.is-low { transform: translate(-50%, 15%); }
.wx-tide-pin b { color: var(--wx-ink); font-weight: 800; }
.wx-tide-pin small { color: var(--wx-mute); font-size: 10.5px; }
.wx-tide-pin.is-high b { color: var(--qd-f7d8248, oklch(0.42 0.1 220)); }
.wx-now-tag { position: absolute; top: 0; transform: translate(-50%, -2px); background: oklch(0.65 0.17 45); color: #fff; font-size: 11px; font-weight: 800; padding: 1px 8px; border-radius: 999px; }
.wx-now-dot { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: oklch(0.65 0.17 45); border: 2px solid var(--qd-bbfc241, #fff); transform: translate(-50%, -50%); box-shadow: 0 0 0 4px oklch(0.65 0.17 45 / 0.2); }
.wx-tide-axis { position: absolute; left: 0; right: 0; bottom: 0; height: 18px; font-size: 11px; color: var(--wx-mute); }
.wx-tide-axis span { position: absolute; transform: translateX(-50%); }
.wx-tide-axis span:first-child { transform: translateX(-100%); }
.wx-tide-axis span:last-child { transform: none; }
.wx-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.wx-day { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 14px 8px; border-radius: 12px; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); min-width: 0; }
.wx-day.is-today { background: var(--qd-bcb9819, oklch(0.95 0.025 195)); }
.wx-day-name { font-size: 14px; font-weight: 800; color: var(--wx-ink); display: flex; flex-direction: column; }
.wx-day-name small { font-size: 11.5px; font-weight: 500; color: var(--wx-mute); }
.wx-day-ic { color: var(--qd-fc384cb, oklch(0.6 0.12 70)); display: flex; }
.wx-day-temp b { font-size: 17px; color: var(--wx-ink); }
.wx-day-temp span { font-size: 13px; color: var(--wx-mute); }
.wx-day-meta { list-style: none; margin: 0; padding: 0; font-size: 11.5px; color: var(--wx-mute); line-height: 1.8; }
.wx-day-meta li { display: flex; align-items: center; justify-content: center; gap: 3px; flex-wrap: wrap; }
.wx-day-sea { font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: oklch(0.6 0.14 150 / 0.14); color: var(--qd-f728e7d, oklch(0.42 0.12 150)); }
.wx-day-sea.is-caution { background: oklch(0.75 0.15 75 / 0.2); color: var(--qd-fac3568, oklch(0.48 0.12 65)); }
.wx-day-sea.is-bad { background: oklch(0.6 0.19 27 / 0.14); color: var(--qd-faa8105, oklch(0.48 0.17 27)); }
.wx-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.wx-moon-row { display: flex; align-items: center; gap: 14px; background: oklch(0.28 0.04 240); color: #fff; border-radius: 12px; padding: 14px 16px; }
.wx-moon { flex-shrink: 0; }
.wx-moon-name { font-size: 15px; font-weight: 800; }
.wx-moon-name small { font-size: 12px; font-weight: 500; opacity: 0.8; }
.wx-moon-tide { font-size: 12.5px; line-height: 1.8; color: oklch(0.9 0.02 240); margin-top: 2px; }
.wx-list { margin: 0; padding: 0 18px 0 0; display: flex; flex-direction: column; gap: 10px; font-size: 13px; color: var(--wx-ink); line-height: 1.9; }
.wx-list small { display: block; color: var(--wx-mute); font-size: 12px; }
.wx-golden { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wx-golden > div { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 12px; background: linear-gradient(135deg, var(--qd-b02fc65, oklch(0.94 0.05 75)), var(--qd-b902a73, oklch(0.93 0.05 50))); color: var(--qd-f3803a5, oklch(0.42 0.1 55)); }
.wx-golden span { font-size: 12.5px; font-weight: 700; }
.wx-golden b { font-size: 16px; color: var(--qd-f8d3039, oklch(0.32 0.08 50)); }
.wx-season { background: var(--qd-bb5351e, oklch(0.96 0.02 200)); border-radius: 12px; padding: 14px 16px; }
.wx-season b { font-size: 14.5px; color: var(--qd-f8fc952, oklch(0.35 0.07 205)); }
.wx-season p { margin: 6px 0 0; font-size: 13px; line-height: 1.9; color: var(--wx-ink); }
.wx-safety { background: var(--qd-b01ce75, oklch(0.97 0.02 60)); border: 1px solid oklch(0.68 0.15 45 / 0.35); border-radius: 16px; padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; }
.wx-safety-main { display: flex; gap: 14px; align-items: flex-start; }
.wx-safety-ic { color: var(--qd-f46e72a, oklch(0.6 0.16 45)); flex-shrink: 0; margin-top: 2px; }
.wx-safety h2 { margin: 0 0 8px; font-size: 17px; font-weight: 800; color: var(--qd-f91b205, oklch(0.35 0.06 45)); }
.wx-safety ul { margin: 0; padding: 0 18px 0 0; font-size: 13.5px; line-height: 1.9; color: var(--wx-ink); }
.wx-safety a { color: var(--qd-fb85eb6, oklch(0.45 0.12 45)); font-weight: 700; }
.wx-phones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.wx-phones a { display: inline-flex; align-items: center; gap: 6px; background: var(--qd-bbfc241, #fff); border: 1px solid oklch(0.68 0.15 45 / 0.35); border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; text-decoration: none; }
.wx-sources { margin: 0; font-size: 12px; color: var(--wx-mute); line-height: 1.9; border-top: 1px solid oklch(0.68 0.15 45 / 0.2); padding-top: 12px; }
.wx-sources a { font-weight: 600; color: var(--wx-mute); }
@media (max-width: 1024px) {
	.wx-days { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 132px; overflow-x: auto; padding-bottom: 6px; }
}
@media (max-width: 860px) {
	.wx-hero-body { grid-template-columns: 1fr; }
	.wx-grid2 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.wx { gap: 16px; }
	.wx-card, .wx-safety { padding: 18px 16px; border-radius: 14px; }
	.wx-hero-head { padding: 14px 14px 4px; }
	.wx-now { padding: 12px 14px; }
	.wx-now-temp { font-size: 48px; }
	.wx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wx-stat { padding: 12px; }
	.wx-stat-val { font-size: 17px; white-space: normal; flex-wrap: wrap; }
	.wx-acts { grid-template-columns: 1fr; }
	.wx-tide-svg { height: 190px; }
	.wx-tide-pin { font-size: 10.5px; padding: 2px 5px; }
	.wx-golden { grid-template-columns: 1fr; }
	.wx-card-head h2 { font-size: 16.5px; }
}
.wx-spots { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--qd-bbfc241, #fff); border: 1px solid var(--wx-line); border-radius: 18px; padding: 12px 16px; box-shadow: 0 12px 30px oklch(0.2 0.04 195 / 0.12); } 
.wx-spots-label { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--wx-mute); }
.wx-spots-list { display: flex; gap: 6px; flex-wrap: wrap; }
.wx-spot { display: inline-block; padding: 7px 14px; border-radius: 999px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--wx-line); font-size: 13px; font-weight: 700; color: var(--wx-ink); text-decoration: none; transition: background .15s; }
.wx-spot:hover { background: var(--qd-b1382ff, oklch(0.95 0.02 195)); }
.wx-spot.is-active { background: oklch(0.4 0.08 195); border-color: oklch(0.4 0.08 195); color: #fff; }
.wx-alert { --c: var(--wx-caution); display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 14px; border: 1px solid color-mix(in oklch, var(--c) 45%, transparent); background: color-mix(in oklch, var(--c) 12%, var(--qd-bbfc241, #fff)); }
.wx-alert.is-bad, .wx-alert.is-danger { --c: var(--wx-bad); }
.wx-alert-ic { color: color-mix(in oklch, var(--c) 85%, var(--qd-ffe84a1, black)); flex-shrink: 0; margin-top: 2px; }
.wx-alert b { display: block; font-size: 15px; color: color-mix(in oklch, var(--c) 80%, var(--qd-ffe84a1, black)); }
.wx-alert p { margin: 4px 0 0; font-size: 13.5px; line-height: 1.8; color: var(--wx-ink); }
.wx-alert p small { color: var(--wx-mute); margin-inline-start: 6px; }
.wx-alert p a { margin-inline-start: 8px; font-weight: 700; color: color-mix(in oklch, var(--c) 80%, var(--qd-ffe84a1, black)); }
.wx-stat-label small { font-weight: 500; opacity: 0.8; }
.wx-seg-days button { padding: 6px 10px; font-size: 12.5px; }
.wx-card-head h2 small { font-size: 12px; font-weight: 500; }
.wx-details { border-top: 1px solid var(--wx-line); padding-top: 10px; }
.wx-details summary { cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--qd-f7d8248, oklch(0.42 0.1 220)); }
.wx-tide-table { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.wx-tide-day { display: flex; flex-direction: column; gap: 4px; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); border-radius: 10px; padding: 10px 12px; font-size: 12.5px; }
.wx-tide-day b { font-size: 13px; color: var(--wx-ink); margin-bottom: 2px; }
.wx-tide-day span { display: flex; justify-content: space-between; color: var(--wx-ink); }
.wx-tide-day span small { color: var(--wx-mute); }
.wx-tide-day .is-high { font-weight: 700; color: var(--qd-f7d8248, oklch(0.42 0.1 220)); }
.wx-h3 { margin: 6px 0 0; font-size: 15px; font-weight: 800; color: var(--wx-ink); }
.wx-matrix-wrap { overflow-x: auto; }
.wx-matrix { width: 100%; border-collapse: separate; border-spacing: 4px; font-size: 12.5px; min-width: 620px; }
.wx-matrix th { font-weight: 700; color: var(--wx-ink); text-align: right; white-space: nowrap; padding: 4px 6px; }
.wx-matrix thead th { text-align: center; font-size: 12px; }
.wx-matrix thead th small { display: block; font-weight: 500; color: var(--wx-mute); font-size: 11px; }
.wx-matrix tbody th { display: flex; align-items: center; gap: 6px; }
.wx-matrix tbody th small { font-weight: 500; color: var(--wx-mute); }
.wx-matrix td { text-align: center; padding: 0; }
.wx-cell { display: block; padding: 6px 4px; border-radius: 8px; font-weight: 700; font-size: 12px; background: color-mix(in oklch, var(--wx-good) 18%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--wx-good) 80%, var(--qd-ffe84a1, black)); white-space: nowrap; }
.wx-cell.is-caution { background: color-mix(in oklch, var(--wx-caution) 22%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--wx-caution) 70%, var(--qd-ffe84a1, black)); }
.wx-cell.is-bad { background: color-mix(in oklch, var(--wx-bad) 14%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--wx-bad) 80%, var(--qd-ffe84a1, black)); }
.wx-fidx { display: inline-flex; align-items: baseline; gap: 1px; padding: 4px 10px; border-radius: 999px; font-weight: 800; font-size: 15px; background: color-mix(in oklch, var(--wx-good) 18%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--wx-good) 80%, var(--qd-ffe84a1, black)); }
.wx-fidx small { font-size: 11px; font-weight: 600; opacity: 0.8; }
.wx-fidx.is-caution { background: color-mix(in oklch, var(--wx-caution) 22%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--wx-caution) 70%, var(--qd-ffe84a1, black)); }
.wx-fidx.is-bad { background: color-mix(in oklch, var(--wx-bad) 14%, var(--qd-bbfc241, #fff)); color: color-mix(in oklch, var(--wx-bad) 80%, var(--qd-ffe84a1, black)); }
.wx-fish-today { display: flex; align-items: center; gap: 12px; }
.wx-fish-today .wx-fidx { font-size: 20px; padding: 8px 14px; }
.wx-fish-today b { display: block; font-size: 14px; color: var(--wx-ink); }
.wx-fish-today small { display: block; font-size: 12px; color: var(--wx-mute); line-height: 1.7; }
.wx-sol-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0 6px; }
.wx-sol { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; border-radius: 12px; font-size: 13px; font-weight: 700; background: var(--qd-b4989c1, oklch(0.93 0.03 240)); color: var(--qd-f69f7e0, oklch(0.35 0.08 240)); }
.wx-sol.is-minor { background: var(--qd-bbb3b43, oklch(0.96 0.01 240)); color: var(--wx-mute); font-weight: 600; }
.wx-sol small { font-weight: 500; }
@media (max-width: 560px) {
	.wx-alert { padding: 14px; gap: 10px; }
	.wx-seg-days { overflow-x: auto; max-width: 100%; }
	.wx-seg-days button { padding: 6px 8px; font-size: 12px; white-space: nowrap; }
}
.wx-act-biz { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; padding-top: 8px; border-top: 1px dashed color-mix(in oklch, var(--c) 35%, transparent); }
.wx-biz { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--qd-bbfc241, #fff); border: 1px solid var(--wx-line); font-size: 12px; font-weight: 600; color: var(--wx-ink); text-decoration: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wx-biz:hover { border-color: oklch(0.4 0.08 195); color: var(--qd-f88ec3e, oklch(0.4 0.08 195)); }
.wx-biz.is-vip { border-color: oklch(0.78 0.14 45); background: var(--qd-b8cfe4b, oklch(0.97 0.03 60)); }
.wx-biz-more { font-size: 12px; font-weight: 700; color: var(--qd-f7d8248, oklch(0.42 0.1 220)); text-decoration: none; padding: 3px 4px; }
@media (min-width: 601px) and (max-width: 1023px) {
  .cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  section.latest-biz .biz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) and (max-width: 1023px) {
  section.latest-biz .biz-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
}
.qi-biz-chip { text-decoration: none; transition: filter .15s, box-shadow .15s; }
.qi-biz-chip:hover { filter: brightness(1.08); box-shadow: 0 2px 8px oklch(0.2 0.03 195 / 0.18); }
.qi-biz-chip-hood:hover { text-decoration: underline; text-underline-offset: 3px; }
.qi-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 6px 0 12px; direction: rtl; }
.qi-pagination .qch-page-btn { min-width: 38px; height: 38px; padding: 0 8px; }
.qi-pagination .qch-page-btn:hover:not(.active) { border-color: oklch(0.52 0.17 45); color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-pagination .prev, .qi-pagination .next { font-size: 20px; line-height: 1; }
.qi-page-dots { width: 28px; text-align: center; color: var(--qd-fc66670, oklch(0.6 0.02 90)); font-weight: 700; }
.qi-about { --ab-ink: oklch(0.18 0.02 195); --ab-mute: oklch(0.45 0.02 195); --ab-line: oklch(0.92 0.008 90); max-width: 1100px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px) 80px; display: flex; flex-direction: column; gap: 72px; }
.qi-about-eyebrow { font-size: 13.5px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); letter-spacing: 0.2px; }
.qi-about h2 { margin: 8px 0 0; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; color: var(--ab-ink); line-height: 1.45; }
.qi-about-head { text-align: center; margin-bottom: 32px; }
.qi-about-story { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: center; padding-top: 72px; }
.qi-about-story-text { display: flex; flex-direction: column; gap: 14px; }
.qi-about-prose p { margin: 0 0 14px; font-size: 15.5px; line-height: 2; color: var(--ab-mute); text-align: justify; }
.qi-about-prose a { color: var(--qd-f28826a, oklch(0.52 0.17 45)); font-weight: 700; }
.qi-about-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.qi-about-visual { border-radius: 18px; overflow: hidden; box-shadow: 0 24px 50px oklch(0.2 0.04 195 / 0.22); }
.qi-about-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; }
.qi-about-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; background: linear-gradient(135deg, oklch(0.4 0.08 195), oklch(0.26 0.05 205)); border-radius: 18px; padding: 26px 22px; box-shadow: 0 20px 44px oklch(0.2 0.04 195 / 0.2); }
.qi-about-stat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 8px 4px; border-inline-start: 1px solid oklch(1 0 0 / 0.12); }
.qi-about-stat:first-child { border: 0; }
.qi-about-stat b { font-size: 34px; font-weight: 800; color: oklch(0.85 0.13 80); line-height: 1.1; }
.qi-about-stat span { font-size: 13px; color: oklch(0.9 0.02 195); }
.qi-about-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.qi-about-card { display: flex; flex-direction: column; gap: 12px; padding: 28px 26px; border-radius: 16px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--ab-line); text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s, border-color .2s; }
.qi-about-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px oklch(0.2 0.04 195 / 0.14); border-color: var(--qd-b32b9db, oklch(0.8 0.04 195)); }
.qi-about-card-ic { width: 54px; height: 54px; border-radius: 14px; background: var(--qd-bf3c088, oklch(0.95 0.03 45)); color: var(--qd-f28826a, oklch(0.52 0.17 45)); display: flex; align-items: center; justify-content: center; }
.qi-about-card h3 { margin: 4px 0 0; font-size: 18px; font-weight: 800; color: var(--ab-ink); }
.qi-about-card p { margin: 0; font-size: 14px; line-height: 1.95; color: var(--ab-mute); flex: 1; }
.qi-about-card-more { font-size: 13.5px; font-weight: 700; color: var(--qd-f7d8248, oklch(0.42 0.1 220)); }
.qi-about-why { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--ab-line); border-radius: 20px; padding: 48px clamp(20px, 4vw, 48px); }
.qi-about-why-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
.qi-about-why-item { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: start; }
.qi-about-why-ic { width: 46px; height: 46px; border-radius: 12px; background: var(--qd-bdffe24, oklch(0.94 0.025 195)); color: var(--qd-f14fc63, oklch(0.4 0.09 195)); display: flex; align-items: center; justify-content: center; }
.qi-about-why-item h3 { margin: 2px 0 6px; font-size: 16.5px; font-weight: 800; color: var(--ab-ink); }
.qi-about-why-item p { margin: 0; font-size: 14px; line-height: 1.95; color: var(--ab-mute); }
.qi-about-mv { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.qi-about-mv-card { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--ab-line); border-radius: 16px; padding: 36px; display: flex; flex-direction: column; gap: 10px; }
.qi-about-mv-card h3 { margin: 0; font-size: 19px; font-weight: 800; color: var(--ab-ink); }
.qi-about-mv-card p { margin: 0; font-size: 14.5px; line-height: 2; color: var(--ab-mute); }
.qi-about-mv-card.is-dark { background: oklch(0.25 0.03 195); border-color: transparent; }
.qi-about-mv-card.is-dark h3 { color: oklch(0.99 0.003 90); }
.qi-about-mv-card.is-dark p { color: oklch(0.86 0.01 195); }
.qi-about-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; counter-reset: none; }
.qi-about-steps li { display: flex; gap: 14px; align-items: flex-start; padding: 22px; border-radius: 16px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px solid var(--ab-line); }
.qi-about-steps b { flex-shrink: 0; width: 40px; height: 40px; border-radius: 999px; background: oklch(0.52 0.17 45); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 800; }
.qi-about-steps h3 { margin: 6px 0 6px; font-size: 16px; font-weight: 800; color: var(--ab-ink); }
.qi-about-steps p { margin: 0; font-size: 13.5px; line-height: 1.9; color: var(--ab-mute); }
.qi-about-cta { background: linear-gradient(120deg, oklch(0.52 0.17 45), oklch(0.45 0.16 45)); border-radius: 20px; padding: 44px 48px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.qi-about-cta h3 { margin: 0 0 8px; font-size: 22px; font-weight: 800; color: #fff; }
.qi-about-cta p { margin: 0; font-size: 14.5px; color: oklch(0.97 0.01 45); line-height: 1.9; }
.qi-about-cta p a { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.qi-about-cta-btn { background: var(--qd-bbfc241, #fff); color: var(--qd-f2dd010, oklch(0.45 0.16 45)); padding: 14px 28px; border-radius: 10px; font-weight: 800; font-size: 15px; white-space: nowrap; text-decoration: none; box-shadow: 0 8px 20px oklch(0.3 0.1 45 / 0.25); }
@media (max-width: 960px) {
	.qi-about-story { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; }
	.qi-about-visual { order: -1; }
	.qi-about-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 8px; }
	.qi-about-stat, .qi-about-stat:first-child { border: 0; }
	.qi-about-cards, .qi-about-steps { grid-template-columns: 1fr; }
	.qi-about-why-grid, .qi-about-mv { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.qi-about { gap: 48px; padding-bottom: 56px; }
	.qi-about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px 14px; }
	.qi-about-stat b { font-size: 28px; }
	.qi-about-why { padding: 32px 18px; }
	.qi-about-cta { padding: 30px 22px; }
	.qi-about-cta-btn { width: 100%; text-align: center; }
	.qi-about-prose p { text-align: right; }
}
.qi-biz-titlerow { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.qi-share { display:flex; align-items:center; position:relative; flex-shrink:0; }
.qi-share-btn { display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 16px; border-radius:999px; font:inherit; font-size:13.5px; font-weight:700; cursor:pointer; transition:background .15s, box-shadow .15s, transform .15s; }
.qi-share-btn:focus-visible, .qi-action-share:focus-visible { outline:2px solid oklch(0.68 0.15 45); outline-offset:2px; }
.qi-share-btn:active { transform:scale(.97); }
.qi-share.is-light .qi-share-btn { background:var(--qd-bf52191, oklch(1 0 0 / 0.75)); border:1px solid oklch(0.2 0.02 90 / 0.14); color:var(--qd-f06b70c, oklch(0.3 0.03 195)); }
.qi-share.is-light .qi-share-btn:hover { background:var(--qd-b4fb744, oklch(1 0 0)); box-shadow:0 4px 14px oklch(0.2 0.03 195 / 0.12); }
.qi-share.is-dark .qi-share-btn { background:oklch(1 0 0 / 0.14); border:1px solid oklch(1 0 0 / 0.3); color:oklch(0.99 0.003 90); backdrop-filter:blur(6px); }
.qi-share.is-dark .qi-share-btn:hover { background:oklch(1 0 0 / 0.24); }
.qi-share-toast { position:absolute; top:calc(100% + 8px); inset-inline-end:0; white-space:nowrap; background:oklch(0.25 0.02 195); color:#fff; font-size:12px; padding:6px 12px; border-radius:8px; opacity:0; transform:translateY(-4px); transition:opacity .2s, transform .2s; pointer-events:none; z-index:5; }
.qi-share-toast.is-on { opacity:1; transform:none; }
.qi-share-toast.is-bar { position:fixed; top:auto; bottom:calc(84px + env(safe-area-inset-bottom)); inset-inline-end:auto; left:50%; transform:translate(-50%, 4px); z-index:60; }
.qi-share-toast.is-bar.is-on { transform:translate(-50%, 0); }
.qi-action-share { display:none; }
@media (max-width: 900px) {
  .qi-biz-titlerow .qi-share { display:none; }
  .qi-action-bar .qi-action-share { display:flex; align-items:center; justify-content:center; flex:0 0 48px; min-height:48px; border:none; border-radius:12px; background:oklch(0.4 0.09 195 / 0.1); color:var(--qd-ffc1574, oklch(0.35 0.09 195)); cursor:pointer; }
}
.qi-mag-share-top { display:flex; justify-content:center; margin-top:18px; }
.qi-mag-share-end { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-top:40px; padding:18px 22px; border:1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius:16px; background:var(--qd-b6bd05f, oklch(0.98 0.006 90)); }
.qi-mag-share-end > span { font-size:14.5px; font-weight:700; color:var(--qd-f6242ab, oklch(0.3 0.02 90)); }
.qi-mag-share-end .qi-share.is-light .qi-share-btn { background:oklch(0.45 0.1 195); color:#fff; border-color:transparent; }
.qi-mag-share-end .qi-share.is-light .qi-share-btn:hover { background:oklch(0.4 0.1 195); }
@media (max-width: 600px) { .qi-mag-share-end { justify-content:center; text-align:center; } }
.qch-lead a.qi-lead-comments { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: oklch(1 0 0 / 0.4); }
.qi-comments-wrap { max-width: 820px; margin: -40px auto 0; padding: 0 clamp(20px, 5vw, 64px) 96px; }
.qi-comments { display: flex; flex-direction: column; gap: 22px; padding-top: 36px; border-top: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); scroll-margin-top: 90px; }
.qi-comments-title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 22px; font-weight: 800; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); }
.qi-comments-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 8px; border-radius: 999px; background: oklch(0.45 0.1 195 / 0.1); color: var(--qd-f14fc63, oklch(0.4 0.09 195)); font-size: 13.5px; font-weight: 800; }
.qi-comments-empty { margin: 0; font-size: 14.5px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-cm-list, .qi-cm-list .children { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.qi-cm-list .children { margin-top: 14px; padding-inline-start: 28px; border-inline-start: 2px solid var(--qd-b394534, oklch(0.92 0.01 90)); }
.qi-cm-body { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 14px; scroll-margin-top: 90px; }
.qi-cm-avatar { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: var(--qd-b5568b8, oklch(0.93 0.04 45)); color: var(--qd-f063537, oklch(0.5 0.13 45)); font-weight: 800; font-size: 16px; }
.qi-cm-avatar.is-team { background: oklch(0.45 0.1 195); color: #fff; }
.qi-cm-main { flex: 1; min-width: 0; }
.qi-cm-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 4px; }
.qi-cm-name { font-size: 14.5px; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); }
.qi-cm-badge { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: oklch(0.45 0.1 195 / 0.12); color: var(--qd-f14fc63, oklch(0.4 0.09 195)); }
.qi-cm-date { font-size: 12px; color: var(--qd-fc66670, oklch(0.6 0.02 90)); margin-inline-start: auto; }
.qi-cm-text { font-size: 14.5px; line-height: 2; color: var(--qd-fa05312, oklch(0.32 0.02 90)); overflow-wrap: anywhere; }
.qi-cm-text p { margin: 0 0 8px; }
.qi-cm-text p:last-child { margin-bottom: 0; }
.qi-cm-pending { margin: 4px 0 6px; font-size: 12.5px; color: var(--qd-f9b2b48, oklch(0.5 0.12 70)); background: var(--qd-b76bc63, oklch(0.96 0.05 90)); padding: 6px 10px; border-radius: 8px; }
.qi-cm-reply a { display: inline-flex; margin-top: 6px; font-size: 13px; font-weight: 700; color: var(--qd-f047361, oklch(0.45 0.1 195)); }
.qi-cm-reply a:hover { text-decoration: underline; text-underline-offset: 3px; }
.comment-respond { padding: 22px; background: var(--qd-b6bd05f, oklch(0.98 0.006 90)); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 16px; }
.qi-cm .comment-respond { margin-top: 12px; }
.qi-cf-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 6px; font-size: 17px; font-weight: 800; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); }
.qi-cf-title small a { font-size: 13px; font-weight: 600; color: var(--qd-fd96e52, oklch(0.5 0.12 30)); }
.qi-cf { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.qi-cf > * { grid-column: 1 / -1; }
.qi-cf > .comment-form-author, .qi-cf > .comment-form-email, .qi-cf > p.qi-cf-field:not(.qi-cf-textarea) { grid-column: auto; }
.qi-cf-note { margin: 0; font-size: 12.5px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-cf-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.qi-cf-field label { font-size: 13px; font-weight: 700; color: var(--qd-fef7b67, oklch(0.35 0.02 90)); }
.qi-cf-field label small { font-weight: 500; color: var(--qd-fc66670, oklch(0.6 0.02 90)); }
.qi-cf-field input, .qi-cf-field textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 14.5px; padding: 11px 14px; border: 1px solid var(--qd-bab8ff3, oklch(0.86 0.01 90)); border-radius: 10px; background: var(--qd-b4fb744, oklch(1 0 0)); color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); transition: border-color .15s, box-shadow .15s; }
.qi-cf-field textarea { resize: vertical; min-height: 120px; line-height: 1.9; }
.qi-cf-field input:focus, .qi-cf-field textarea:focus { outline: none; border-color: oklch(0.45 0.1 195); box-shadow: 0 0 0 3px oklch(0.45 0.1 195 / 0.15); }
.qi-cf .form-submit { margin: 0; }
.qi-cf-submit { border: none; cursor: pointer; font: inherit; font-size: 14.5px; font-weight: 700; padding: 12px 28px; border-radius: 999px; background: oklch(0.52 0.17 45); color: #fff; transition: filter .15s; }
.qi-cf-submit:hover { filter: brightness(1.08); }
.qi-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 600px) {
  .qi-cf { grid-template-columns: 1fr; }
  .qi-cm-body { padding: 14px; gap: 10px; }
  .qi-cm-avatar { flex-basis: 34px; width: 34px; height: 34px; font-size: 14px; }
  .qi-cm-list .children { padding-inline-start: 14px; }
  .qi-cf-submit { width: 100%; }
}
.qi-cm-notice { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 12px; background: var(--qd-bf1c622, oklch(0.95 0.05 150)); color: var(--qd-fd0b701, oklch(0.38 0.1 150)); font-size: 14px; font-weight: 700; }
.qi-sec-reviews .qi-comments { padding-top: 0; border-top: none; }
.qi-sec-reviews .qi-comments-title { font-size: 20px; }
.qi-votes-summary { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px 18px; padding: 16px 18px; border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 14px; background: var(--qd-b4fb744, oklch(1 0 0)); }
.qi-votes-nums { display: flex; gap: 14px; }
.qi-vs { display: inline-flex; align-items: center; gap: 6px; font-size: 17px; }
.qi-vs.is-up, .qi-cm-vote.is-up, .qi-vote-opt.is-up, .qi-votes-chip .is-up { color: var(--qd-f3e0e0e, oklch(0.5 0.13 150)); }
.qi-vs.is-down, .qi-cm-vote.is-down, .qi-vote-opt.is-down, .qi-votes-chip .is-down { color: var(--qd-fdfc657, oklch(0.55 0.17 28)); }
.qi-votes-bar { height: 8px; border-radius: 999px; background: oklch(0.55 0.17 28 / 0.22); overflow: hidden; }
.qi-votes-bar span { display: block; height: 100%; border-radius: 999px; background: oklch(0.6 0.14 150); }
.qi-votes-caption { grid-column: 1 / -1; font-size: 12.5px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-cm-vote { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: currentColor; }
.qi-cm-vote.is-up { background: var(--qd-bf1c622, oklch(0.95 0.05 150)); }
.qi-cm-vote.is-down { background: var(--qd-bc4fd90, oklch(0.95 0.04 28)); }
.qi-vote-field { border: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.qi-vote-field legend { padding: 0; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: var(--qd-fef7b67, oklch(0.35 0.02 90)); }
.qi-vote-opts { display: flex; gap: 10px; flex-wrap: wrap; }
.qi-vote-opt { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1.5px solid var(--qd-bab8ff3, oklch(0.86 0.01 90)); border-radius: 999px; background: var(--qd-b4fb744, oklch(1 0 0)); font-size: 14px; font-weight: 700; cursor: pointer; transition: border-color .15s, background .15s; }
.qi-vote-opt span { color: var(--qd-fef7b67, oklch(0.35 0.02 90)); }
.qi-vote-opt input { position: absolute; opacity: 0; pointer-events: none; }
.qi-vote-opt:has(input:focus-visible) { outline: 2px solid oklch(0.68 0.15 45); outline-offset: 2px; }
.qi-vote-opt.is-up:has(input:checked) { border-color: oklch(0.6 0.14 150); background: var(--qd-bf1c622, oklch(0.95 0.05 150)); }
.qi-vote-opt.is-down:has(input:checked) { border-color: oklch(0.6 0.17 28); background: var(--qd-bc4fd90, oklch(0.95 0.04 28)); }
.qi-cm .qi-vote-field { display: none; } 
.qi-votes-chip { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 5px 12px; text-decoration: none; }
.qi-votes-chip > span { display: inline-flex; align-items: center; gap: 4px; }
.qi-votes-chip.is-light { background: var(--qd-bd8ff71, oklch(1 0 0 / 0.8)); border: 1px solid oklch(0.2 0.02 90 / 0.12); }
.qi-votes-chip.is-dark { background: var(--qd-b42b600, oklch(1 0 0 / 0.92)); }
@media (max-width: 600px) { .qi-votes-summary { grid-template-columns: 1fr; } }
.biz-card { min-width: 0; }
.biz-card .biz-img { height: auto !important; aspect-ratio: 1 / 1; flex: 0 0 auto; }
.biz-card .biz-img[style] { background-color: var(--qd-b4fb744, oklch(1 0 0)); background-size: contain; background-repeat: no-repeat; background-origin: content-box; padding: 8%; box-sizing: border-box; border-bottom: 1px solid var(--qd-bdcc825, oklch(0.94 0.006 90)); }
.biz-card .biz-body { flex: 0 0 118px; box-sizing: border-box; padding: 12px 14px 14px; gap: 5px; overflow: hidden; } 
.biz-card .biz-cat { font-size: 11px; padding: 2px 7px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.biz-card .biz-name { font-size: 14.5px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.biz-card .biz-loc { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.biz-card .biz-img:not([style])::after { background-size: 48px; }
.qi-biz-grid { grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: 18px; }
.biz-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
@media (max-width: 600px) {
  .qi-biz-grid, .biz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
  .biz-card .biz-body { flex-basis: 98px; padding: 9px 10px 11px; gap: 3px; }
  .biz-card .biz-cat { font-size: 10px; }
  .biz-card .biz-name { font-size: 13px; line-height: 1.5; }
  .biz-card .biz-loc { font-size: 11px; }
  .biz-card .biz-img:not([style])::after { background-size: 36px; }
  .biz-badge { top: 8px; right: 8px; padding: 3px 9px; font-size: 10px; }
  section.latest-biz .biz-grid { display: flex !important; }
  section.latest-biz .biz-card { flex: 0 0 46%; }
}
.qi-biz-chip-hood a:hover { text-decoration: underline; text-underline-offset: 3px; }
.qi-biz-content, .qi-biz-content p, .qi-biz-content li { text-align: justify; }
.qi-biz-content [style*="font-family"], .qi-biz-content [style*="font-size"] { font-family: inherit !important; font-size: inherit !important; }
.qi-biz-content h2, .qi-biz-content h3 { font-size: 17px; line-height: 1.8; margin: 18px 0 6px; }
.qi-cm-avatar { position: relative; overflow: hidden; }
.qi-cm-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; opacity: 0; transition: opacity .2s; }
.qi-cm-avatar img.is-ok { opacity: 1; }
.footer-desc { text-align: justify; }
.footer-heading-glow, .footer-heading-glow span { text-shadow: 0 0 2px rgba(255,255,255,.35); }
.footer-heading-glow span:last-child { text-shadow: 0 0 1px rgba(255,255,255,.85), 0 0 4px rgba(255,255,255,.45); }
.qi-mc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 22px; }
.qi-mc { display: flex; flex-direction: column; height: 100%; background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow 0.15s ease, transform 0.15s ease; }
.qi-mc:hover { box-shadow: 0 10px 24px oklch(0.3 0.05 195 / 0.12); transform: translateY(-2px); }
.qi-mc:focus-visible { outline: 3px solid oklch(0.52 0.17 45); outline-offset: 2px; }
.qi-mc-img { position: relative; aspect-ratio: 16 / 10; background-size: cover; background-position: center; background-image: repeating-linear-gradient(135deg, oklch(0.5 0.08 195) 0px, oklch(0.5 0.08 195) 16px, oklch(0.42 0.08 195) 16px, oklch(0.42 0.08 195) 32px); }
.qi-mc-type { position: absolute; top: 12px; right: 12px; padding: 4px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.6; background: var(--qd-b776dc4, oklch(0.99 0.003 90 / 0.94)); color: var(--qd-f2d1aa5, oklch(0.4 0.07 195)); box-shadow: 0 2px 8px oklch(0.2 0.03 195 / 0.15); }
.qi-mc--event .qi-mc-type { color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-mc--article .qi-mc-type { color: var(--qd-f1450d3, oklch(0.45 0.12 150)); }
.qi-mc-body { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.qi-mc-cat { font-size: 12px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-mc-title { margin: 0; font-size: 17px; font-weight: 800; line-height: 1.6; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qi-mc-excerpt { margin: 0; font-size: 14px; line-height: 1.75; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); text-align: justify; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qi-mc-meta { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--qd-b43a4af, oklch(0.94 0.005 90)); display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--qd-f24e31c, oklch(0.52 0.02 90)); }
.qi-mc-meta span { display: inline-flex; align-items: center; gap: 5px; }
.qi-mc-meta svg { flex-shrink: 0; color: var(--qd-f07270b, oklch(0.55 0.05 195)); }
@media (max-width: 600px) {
	.qi-mc-grid { gap: 12px; }
	.qi-mc { flex-direction: row; align-items: stretch; height: auto; }
	.qi-mc:hover { transform: none; }
	.qi-mc-img { aspect-ratio: auto; width: 104px; min-height: 104px; flex-shrink: 0; }
	.qi-mc-type { top: 8px; right: 8px; padding: 2px 8px; font-size: 11px; }
	.qi-mc-body { padding: 12px 14px; gap: 5px; min-width: 0; }
	.qi-mc-title { font-size: 15px; line-height: 1.55; }
	.qi-mc-excerpt { display: none; }
	.qi-mc-meta { padding-top: 6px; border-top: 0; font-size: 12px; gap: 4px 12px; }
}
@media (max-width: 600px) {
	.qch-tabbar { gap: 4px; padding: 6px; }
	.qch-tab { padding: 8px 10px; font-size: 13px; }
	.qch-tabbar.is-overflow { -webkit-mask-image: linear-gradient(to left, #000 85%, transparent); mask-image: linear-gradient(to left, #000 85%, transparent); }
}
.qi-mag-page { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px) 96px; display: flex; flex-direction: column; gap: 56px; --qi-header-h: 72px; --qi-nav-h: 60px; }
.qi-mag-nav { position: sticky; top: calc(var(--qi-header-h) + 10px); z-index: 5; margin-bottom: -24px; }
.qi-mag-nav::before { content: ""; position: absolute; z-index: -1; left: -12px; right: -12px; top: -12px; height: 16px; background: var(--qd-bb92796, oklch(0.98 0.004 90)); }
.qi-mag-anchor-top { display: block; height: 0; scroll-margin-top: calc(var(--qi-header-h) + var(--qi-nav-h) + 40px); }
.qi-mag-sec { display: flex; flex-direction: column; gap: 22px; scroll-margin-top: calc(var(--qi-header-h) + var(--qi-nav-h) + 28px); }
.qi-mag-sec--weather > #weather { scroll-margin-top: calc(var(--qi-header-h) + var(--qi-nav-h) + 28px); }
.qi-mag-sec + .qi-mag-sec { padding-top: 40px; border-top: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); scroll-margin-top: calc(var(--qi-header-h) + var(--qi-nav-h) - 6px); }
.qi-mag-empty { margin: 0; padding: 28px; text-align: center; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); border: 1px dashed var(--qd-b432f12, oklch(0.88 0.01 90)); border-radius: 14px; }
@media (max-width: 600px) {
	.qi-mag-page { gap: 40px; }
	.qi-mag-nav { top: var(--qi-header-h); }
	.qi-mag-nav::before { display: none; }
	.qi-mag-sec + .qi-mag-sec { scroll-margin-top: calc(var(--qi-header-h) + var(--qi-nav-h) + 4px); }
	.qi-mag-sec + .qi-mag-sec { padding-top: 28px; }
}
.qi-mc.is-live .qi-mc-type { color: oklch(0.99 0.003 90); background: oklch(0.55 0.14 150); }
.qi-mc.is-live .qi-mc-type::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-inline-end: 6px; vertical-align: middle; border-radius: 999px; background: currentColor; animation: qiLivePulse 1.6s ease-in-out infinite; }
@keyframes qiLivePulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .qi-mc.is-live .qi-mc-type::before { animation: none; } }
.biz-open { position: absolute; bottom: 10px; right: 10px; display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; line-height: 1; border-radius: 999px; padding: 5px 10px; background: var(--qd-ba150c9, oklch(1 0 0 / 0.94)); box-shadow: 0 2px 8px oklch(0.15 0.02 195 / 0.14); color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.biz-open[hidden] { display: none; }
.biz-open::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: currentColor; flex-shrink: 0; }
.biz-open.is-open { color: var(--qd-f60d5bd, oklch(0.48 0.15 155)); }
.biz-open.is-soon { color: var(--qd-f2748af, oklch(0.55 0.15 70)); }
.biz-open.is-closed { color: var(--qd-f6f9ce5, oklch(0.52 0.16 25)); }
.qi-status-wrap.is-open .qi-status-dot, .qi-status-wrap.is-soon .qi-status-dot { animation: qi-live-pulse 2s ease-in-out infinite; }
@keyframes qi-live-pulse { 50% { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) { .qi-status-wrap .qi-status-dot { animation: none !important; } }
.qi-status-today:empty { display: none; }
.qi-status-today { display: block; font-weight: 700; margin-bottom: 4px; }
.qi-hours-row.is-today { color: var(--qd-f45cce2, oklch(0.3 0.06 195)); background: var(--qd-b63c2d0, oklch(0.96 0.02 195)); margin: 0 -10px; padding-inline: 10px; border-radius: 8px; border-top-color: transparent; }
.qi-hours-row.is-today .qi-hours-day::after { content: "امروز"; margin-inline-start: 6px; font-size: 10.5px; font-weight: 700; color: oklch(0.99 0 0); background: oklch(0.5 0.08 195); border-radius: 999px; padding: 2px 7px; vertical-align: 1px; }
@media (max-width: 600px) { .biz-open { bottom: 6px; right: 6px; font-size: 10px; padding: 4px 8px; } }
.qi-view-toggle { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: var(--qd-bc30a30, oklch(0.94 0.008 90)); flex-shrink: 0; }
.qi-view-btn { display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--qd-f9b7005, oklch(0.4 0.02 90)); text-decoration: none; }
.qi-view-btn.active { background: oklch(0.4 0.07 195); color: oklch(0.99 0 0); }
.qi-map-wrap { display: flex; flex-direction: column; gap: 10px; }
.qi-biz-map { height: min(640px, 72vh); min-height: 380px; border-radius: 16px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); overflow: hidden; background: var(--qd-b1382ff, oklch(0.95 0.02 195)); z-index: 0; }
.qi-map-note { margin: 0; font-size: 13px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); line-height: 1.9; text-align: justify; }
.qi-map-note a { color: var(--qd-f2dd010, oklch(0.45 0.16 45)); font-weight: 700; margin-inline-start: 6px; white-space: nowrap; }
.qi-map-pin span { display: block; width: 30px; height: 30px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: oklch(0.52 0.17 45); border: 3px solid var(--qd-b4fb744, oklch(1 0 0)); box-shadow: 0 3px 8px oklch(0.2 0.02 90 / 0.35); }
.qi-map-pin span::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--qd-b4fb744, oklch(1 0 0)); top: 8px; left: 8px; }
.qi-biz-map .leaflet-popup-content { margin: 0; direction: rtl; font-family: inherit; }
.qi-biz-map .leaflet-popup-content-wrapper { border-radius: 14px; padding: 0; overflow: hidden; }
.qi-biz-map .leaflet-container, .qi-biz-map { font-family: inherit; }
.qi-map-card { display: flex; gap: 10px; padding: 12px; color: var(--qd-f0c3549, oklch(0.28 0.02 90)) !important; text-decoration: none; align-items: flex-start; }
.qi-map-card-img { width: 56px; height: 56px; flex-shrink: 0; border-radius: 10px; background: var(--qd-b4fb744, oklch(1 0 0)) center / contain no-repeat; border: 1px solid var(--qd-b0f34cf, oklch(0.93 0.006 90)); }
.qi-map-card-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.qi-map-card-body strong { font-size: 14px; line-height: 1.6; }
.qi-map-card-cat { font-size: 11.5px; font-weight: 700; color: var(--qd-f2dd010, oklch(0.45 0.16 45)); }
.qi-map-card-loc { font-size: 12px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.biz-open.qi-map-card-open { position: static; align-self: flex-start; margin-top: 3px; box-shadow: none; background: var(--qd-b5b4543, oklch(0.96 0.006 90)); }
.qi-biz-map .leaflet-control-attribution { font-size: 10px; direction: ltr; }
@media (max-width: 900px) {
  .qi-view-toggle { order: 2; }
  .qi-sort { order: 3; overflow-x: auto; max-width: 100%; }
  .qi-biz-map { height: 62vh; min-height: 320px; }
}
.qi-map-pin { transition: opacity 0.2s ease, filter 0.2s ease; }
.qi-map-pin.is-closed { opacity: 0.45; }
.qi-map-pin.is-unknown { filter: grayscale(1); opacity: 0.85; }
.qi-map-pin.is-closed:hover, .qi-map-pin.is-closed:focus, .qi-map-pin.is-unknown:hover { opacity: 1; }
.qi-map-legend { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 12.5px; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-map-legend li { display: inline-flex; align-items: center; gap: 6px; }
.qi-legend-pin { width: 12px; height: 12px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: oklch(0.52 0.17 45); border: 2px solid var(--qd-b4fb744, oklch(1 0 0)); box-shadow: 0 1px 3px oklch(0.2 0.02 90 / 0.35); }
.qi-legend-pin.is-closed { opacity: 0.45; }
.qi-legend-pin.is-unknown { filter: grayscale(1); }
.qi-home-map { margin-top: 40px; }
.qi-home-map .qi-biz-map { height: min(520px, 64vh); min-height: 340px; border-radius: 0; border-inline: 0; }
.qi-home-map .qi-map-legend { max-width: 1320px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 64px); }
@media (max-width: 900px) { .qi-home-map { margin-top: 28px; } .qi-home-map .qi-biz-map { height: 56vh; } }
.qi-report-open { display: inline-flex; align-items: center; justify-content: center; gap: 6px; align-self: center; margin-top: 2px; padding: 6px 10px; border: 0; background: none; color: var(--qd-f24e31c, oklch(0.52 0.02 90)); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; border-radius: 8px; }
.qi-report-open:hover, .qi-report-open:focus-visible { color: var(--qd-fc94d89, oklch(0.47 0.16 25)); background: var(--qd-bd28009, oklch(0.97 0.02 25)); }
html.qi-dialog-open { overflow: hidden; }
.qi-report { width: min(460px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 18px; background: var(--qd-b4fb744, oklch(1 0 0)); color: var(--qd-f0c3549, oklch(0.28 0.02 90)); box-shadow: 0 24px 60px oklch(0.15 0.02 195 / 0.3); overflow: auto; font-family: inherit; }
.qi-report::backdrop { background: oklch(0.15 0.02 195 / 0.55); }
.qi-report-form { display: flex; flex-direction: column; }
.qi-report-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 6px; }
.qi-report-head h2 { margin: 0; font-size: 17px; font-weight: 800; }
.qi-report-close { width: 34px; height: 34px; border: 0; border-radius: 999px; background: var(--qd-b5cfbec, oklch(0.95 0.006 90)); color: var(--qd-f9b7005, oklch(0.4 0.02 90)); font-size: 22px; line-height: 1; cursor: pointer; }
.qi-report-body { display: flex; flex-direction: column; gap: 14px; padding: 6px 20px 4px; }
.qi-report-intro, .qi-report-thanks { margin: 0; font-size: 13.5px; line-height: 2; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); text-align: justify; }
.qi-report-thanks { font-size: 14.5px; color: var(--qd-ff30e90, oklch(0.38 0.1 155)); padding: 12px 0; }
.qi-report-types { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.qi-report-types legend { font-size: 13px; font-weight: 700; margin-bottom: 8px; padding: 0; }
.qi-report-chip { position: relative; }
.qi-report-chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.qi-report-chip span { display: inline-block; padding: 7px 13px; border-radius: 999px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); font-size: 13px; font-weight: 600; color: var(--qd-f9b7005, oklch(0.4 0.02 90)); background: var(--qd-b34a04f, oklch(0.99 0.003 90)); }
.qi-report-chip input:checked + span { border-color: oklch(0.52 0.17 45); background: var(--qd-bb64961, oklch(0.96 0.03 60)); color: var(--qd-f2dd010, oklch(0.45 0.16 45)); }
.qi-report-chip input:focus-visible + span { outline: 2px solid oklch(0.52 0.17 45); outline-offset: 2px; }
.qi-report-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; }
.qi-report-field small { font-weight: 500; color: var(--qd-fb83294, oklch(0.58 0.02 90)); }
.qi-report-field textarea, .qi-report-field input { font: inherit; font-size: 16px; font-weight: 400; padding: 10px 12px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 10px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: inherit; resize: vertical; }
.qi-report-field textarea:focus, .qi-report-field input:focus { outline: none; border-color: oklch(0.52 0.17 45); }
.qi-report-msg { margin: 0; font-size: 13px; min-height: 0; }
.qi-report-msg:empty { display: none; }
.qi-report-msg.is-error { color: var(--qd-fec6e10, oklch(0.5 0.17 25)); }
.qi-report-foot { padding: 12px 20px 18px; }
.qi-report-submit { width: 100%; padding: 12px 16px; border: 0; border-radius: 10px; background: oklch(0.52 0.17 45); color: oklch(0.99 0 0); font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.qi-report-submit:disabled { opacity: 0.7; cursor: wait; }
.qi-report.is-done .qi-report-submit { background: oklch(0.4 0.07 195); }
.qi-report-head h2 { line-height: 1.7; font-size: 16px; }
.qi-report-files { position: relative; display: block; }
.qi-report-files input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.qi-report-files-btn { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border: 1.5px dashed var(--qd-b9fa675, oklch(0.85 0.02 90)); border-radius: 10px; font-size: 13.5px; font-weight: 600; color: var(--qd-fff0b9b, oklch(0.45 0.05 195)); background: var(--qd-bb8f2e7, oklch(0.985 0.004 90)); }
.qi-report-files input:focus-visible + .qi-report-files-btn { outline: 2px solid oklch(0.52 0.17 45); outline-offset: 2px; }
.qi-report-files:hover .qi-report-files-btn { border-color: oklch(0.52 0.17 45); }
.qi-report-filelist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 500; }
.qi-report-filelist li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; border-radius: 8px; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); overflow-wrap: anywhere; }
.qi-report-filelist button { flex: none; width: 24px; height: 24px; border: 0; border-radius: 999px; background: var(--qd-b394534, oklch(0.92 0.01 90)); cursor: pointer; font-size: 16px; line-height: 1; }
.qi-report-note { margin: -6px 0 0; font-size: 12px; color: var(--qd-fb83294, oklch(0.58 0.02 90)); }
.qi-report-code { text-align: center; letter-spacing: 0.5em; font-size: 22px !important; font-weight: 700 !important; }
.qi-report-otp-actions { display: flex; justify-content: space-between; gap: 10px; }
.qi-report-otp-actions button { border: 0; background: none; padding: 6px 0; font: inherit; font-size: 13px; font-weight: 600; color: var(--qd-f047361, oklch(0.45 0.1 195)); cursor: pointer; }
.qi-report-otp-actions button:disabled { color: oklch(0.65 0.02 90); cursor: default; }
.qi-report-msg.is-ok { color: var(--qd-feb282c, oklch(0.42 0.12 155)); }
.qi-report-loc-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.qi-report-loc-btn { flex: 1 1 140px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 12px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 10px; background: var(--qd-b4fb744, oklch(1 0 0)); font: inherit; font-size: 13px; font-weight: 600; color: var(--qd-facf992, oklch(0.42 0.06 195)); cursor: pointer; }
.qi-report-loc-btn:hover, .qi-report-loc-btn:focus-visible { border-color: oklch(0.52 0.17 45); }
.qi-report-loc-btn:disabled { opacity: 0.6; cursor: wait; }
.qi-report-map-wrap { position: relative; }
.qi-report-map { height: 220px; border-radius: 10px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); direction: ltr; z-index: 0; touch-action: none; }
.qi-report-pin { position: absolute; left: 50%; top: 50%; width: 30px; height: 40px; margin: -40px 0 0 -15px; z-index: 500; pointer-events: none; filter: drop-shadow(0 3px 3px rgba(0,0,0,.35)); }
.qi-report-loc-status { margin: 0; font-size: 12.5px; font-weight: 500; color: var(--qd-feb282c, oklch(0.42 0.12 155)); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.qi-report-loc-status[hidden] { display: none; }
.qi-report-loc-msg { margin: 0; font-size: 12.5px; font-weight: 500; line-height: 1.9; text-align: justify; }
.qi-report-loc-msg[hidden] { display: none; }
.qi-report-loc-msg.is-error { color: var(--qd-fec6e10, oklch(0.5 0.17 25)); }
.qi-report-loc-msg.is-ok { color: var(--qd-feb282c, oklch(0.42 0.12 155)); }
.qi-report-head { position: sticky; top: 0; z-index: 600; background: var(--qd-b4fb744, oklch(1 0 0)); padding-bottom: 12px; box-shadow: 0 1px 0 var(--qd-bcfa0c6, oklch(0.93 0.008 90)); }
.qi-report-loc-status button { border: 0; background: none; padding: 0; font: inherit; font-size: 12px; color: var(--qd-fec6e10, oklch(0.5 0.17 25)); cursor: pointer; text-decoration: underline; }
@media (max-width: 600px) {
  .qi-report { width: 100vw; max-width: none; margin: auto 0 0; border-radius: 18px 18px 0 0; max-height: 92dvh; }
}
.qi-install { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: fit-content; max-width: 100%; padding: 10px 16px; border-radius: 12px; border: 1px solid oklch(0.72 0.15 45 / 0.55); background: oklch(0.72 0.15 45 / 0.12); color: oklch(0.93 0.01 90); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: background .15s, border-color .15s; }
.qi-install:hover { background: oklch(0.72 0.15 45 / 0.22); border-color: oklch(0.72 0.15 45); }
.qi-install svg { color: oklch(0.72 0.15 45); flex-shrink: 0; }
.qi-install[hidden], .qi-install-hint[hidden] { display: none; }
.qi-install-hint { font-size: 12.5px; line-height: 1.8; color: oklch(0.8 0.01 195); }
.qi-a2hs { position: fixed; right: 12px; left: 12px; bottom: 84px; z-index: 60; display: flex; gap: 12px; align-items: flex-start; padding: 14px 14px 14px 44px; background: var(--qd-bbfc241, #fff); color: var(--qd-f8bb697, oklch(0.25 0.02 195)); border-radius: 18px; box-shadow: 0 12px 32px oklch(0.2 0.04 195 / 0.25); border: 1px solid var(--qd-b394534, oklch(0.92 0.01 90)); opacity: 0; transform: translateY(16px); transition: opacity .25s ease, transform .25s ease; }
.qi-a2hs.is-in { opacity: 1; transform: none; }
.qi-a2hs[hidden] { display: none; }
.qi-a2hs-icon { width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0; }
.qi-a2hs-body { flex: 1; min-width: 0; }
.qi-a2hs-body strong { display: block; font-size: 15px; font-weight: 800; margin-bottom: 4px; color: var(--qd-f23d96c, oklch(0.35 0.07 195)); }
.qi-a2hs-body p { margin: 0; font-size: 13px; line-height: 1.9; text-align: justify; color: var(--qd-f9b7005, oklch(0.4 0.02 90)); }
.qi-a2hs-body .qi-a2hs-ios { margin-top: 6px; font-weight: 700; color: var(--qd-fed4fae, oklch(0.45 0.13 45)); }
.qi-a2hs-body .qi-a2hs-ios[hidden] { display: none; }
.qi-a2hs-actions { display: flex; gap: 8px; margin-top: 10px; }
.qi-a2hs-yes { flex: 1; min-height: 42px; border: 0; border-radius: 12px; background: oklch(0.4 0.07 195); color: #fff; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.qi-a2hs-yes[hidden] { display: none; }
.qi-a2hs-no { min-height: 42px; padding: 0 16px; border: 1px solid var(--qd-b432f12, oklch(0.88 0.01 90)); border-radius: 12px; background: var(--qd-bbfc241, #fff); color: var(--qd-f9b7005, oklch(0.4 0.02 90)); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.qi-a2hs-close { position: absolute; top: 10px; left: 10px; width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 999px; background: var(--qd-b286881, oklch(0.96 0.005 90)); color: var(--qd-f6b8259, oklch(0.45 0.02 90)); cursor: pointer; }
@media (min-width: 901px) { #qi-a2hs { display: none !important; } .qi-a2hs { right: auto; left: 24px; bottom: 24px !important; max-width: 420px; } }
.qi-footer-actions { display: flex; flex-direction: column; gap: 10px; }
.weather-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: stretch; gap: 8px; margin: 16px 16px 0; text-decoration: none; color: inherit; }
.weather-day { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 8px; border-radius: 12px; background: oklch(1 0 0 / 0.07); border: 1px solid oklch(1 0 0 / 0.1); text-align: center; transition: background 0.15s ease; }
.weather-days:hover .weather-day { background: oklch(1 0 0 / 0.1); }
.weather-day-name { font-size: 13px; font-weight: 700; color: oklch(0.96 0.01 90); }
.weather-day-ic { color: oklch(0.85 0.1 75); line-height: 0; }
.weather-day-temp { font-size: 13px; color: oklch(0.85 0.02 195 / 0.8); }
.weather-day-temp b { font-size: 18px; font-weight: 800; color: oklch(0.99 0.003 90); }
.weather-day-sub { font-size: 11.5px; color: oklch(0.85 0.02 195 / 0.75); line-height: 1.6; }
.weather-days-more { display: flex; align-items: center; justify-content: center; padding: 0 10px; font-size: 12.5px; font-weight: 700; color: oklch(0.82 0.12 60); white-space: nowrap; writing-mode: horizontal-tb; }
@media (max-width: 600px) {
  .weather-days { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 12px 10px 0; }
  .weather-day { padding: 10px 4px; }
  .weather-days-more { grid-column: 1 / -1; padding: 6px 0 0; }
}
.qi-ferries { display: flex; flex-direction: column; gap: 16px; }
.qi-ferries-day { font-size: 13px; font-weight: 700; color: var(--qd-fe7b62f, oklch(0.45 0.07 195)); background: var(--qd-b1382ff, oklch(0.95 0.02 195)); border-radius: 999px; padding: 5px 12px; }
.qi-ferries-day:empty { display: none; }
.qi-ferry-alert { font-size: 13.5px; line-height: 2; padding: 12px 16px; border-radius: 12px; text-align: justify; background: var(--qd-b63c2d0, oklch(0.96 0.02 195)); color: var(--qd-f20906d, oklch(0.35 0.05 195)); border: 1px solid var(--qd-b25c710, oklch(0.9 0.03 195)); }
.qi-ferry-alert.is-warning { background: var(--qd-b174019, oklch(0.97 0.04 75)); color: var(--qd-f81ccd3, oklch(0.42 0.1 60)); border-color: var(--qd-b46e662, oklch(0.88 0.08 75)); }
.qi-ferry-alert a { font-weight: 700; color: inherit; white-space: nowrap; margin-inline-start: 6px; }
.qi-ferry-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.qi-ferry-route { background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.qi-ferry-route-name { font-size: 14.5px; font-weight: 800; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.qi-ferry-times { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.qi-ferry-time { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 76px; padding: 8px 10px; border-radius: 12px; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); border: 1px solid var(--qd-b0f34cf, oklch(0.93 0.006 90)); }
.qi-ferry-time[hidden] { display: none; }
.qi-ferry-time b { font-size: 16px; font-weight: 800; color: var(--qd-f06b70c, oklch(0.3 0.03 195)); }
.qi-ferry-time span { font-size: 11.5px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-ferry-time small { font-size: 10.5px; color: var(--qd-fb83294, oklch(0.58 0.02 90)); max-width: 110px; text-align: center; line-height: 1.6; }
.qi-ferry-time.is-past { opacity: 0.45; }
.qi-ferry-time.is-next { background: oklch(0.52 0.17 45); border-color: oklch(0.52 0.17 45); position: relative; }
.qi-ferry-time.is-next b, .qi-ferry-time.is-next span, .qi-ferry-time.is-next small { color: oklch(0.99 0 0); }
.qi-ferry-time.is-next::before { content: "بعدی"; position: absolute; top: -9px; inset-inline-start: 8px; font-size: 10px; font-weight: 700; background: var(--qd-b411d44, oklch(0.99 0 0)); color: var(--qd-f2dd010, oklch(0.45 0.16 45)); border-radius: 999px; padding: 1px 7px; box-shadow: 0 1px 3px oklch(0.2 0.02 90 / 0.2); }
.qi-ferry-empty { margin: 0; font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-ferry-note { margin: 0; font-size: 12.5px; line-height: 2; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); text-align: justify; }
@media (max-width: 600px) { .qi-ferry-grid { grid-template-columns: 1fr; } .qi-ferry-time { min-width: 68px; } }
.qi-map-logo span { position: relative; display: block; width: 44px; height: 44px; border-radius: 50%; background: var(--qd-b4fb744, oklch(1 0 0)); border: 3px solid oklch(0.52 0.17 45); box-shadow: 0 3px 10px oklch(0.2 0.02 90 / 0.35); transform: none; overflow: visible; }
.qi-map-logo span::after { content: ""; position: absolute; left: 50%; bottom: -9px; width: 0; height: 0; margin-left: -7px; border: 7px solid transparent; border-bottom: 0; border-top: 9px solid oklch(0.52 0.17 45); background: none; border-radius: 0; top: auto; }
.qi-map-logo img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 50%; padding: 3px; box-sizing: border-box; background: var(--qd-b4fb744, oklch(1 0 0)); }
.qi-flights { display: flex; flex-direction: column; gap: 16px; }
.qi-flight-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.qi-flight-col { background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.qi-flight-col-title { font-size: 14.5px; font-weight: 800; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.qi-flight-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.qi-flight { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--qd-bdcc825, oklch(0.94 0.006 90)); }
.qi-flight:first-child { border-top: 0; }
.qi-flight[hidden] { display: none; }
.qi-flight-time { display: flex; flex-direction: column; align-items: center; min-width: 52px; }
.qi-flight-time b { font-size: 17px; font-weight: 800; color: var(--qd-f06b70c, oklch(0.3 0.03 195)); }
.qi-flight-day { font-size: 10.5px; font-weight: 700; color: var(--qd-f2dd010, oklch(0.45 0.16 45)); }
.qi-flight-day[hidden] { display: none; }
.qi-flight-main { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.qi-flight-city { font-size: 14px; font-weight: 700; color: var(--qd-f6242ab, oklch(0.3 0.02 90)); }
.qi-flight-meta { font-size: 12px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-flight-status { font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 4px 10px; white-space: nowrap; background: var(--qd-b118bf9, oklch(0.95 0.05 155)); color: var(--qd-fd72b32, oklch(0.42 0.13 155)); }
.qi-flight-status.is-delay { background: var(--qd-bd22ddf, oklch(0.95 0.06 85)); color: var(--qd-fb86788, oklch(0.45 0.12 65)); }
.qi-flight-status.is-cancel { background: var(--qd-b079ca6, oklch(0.95 0.03 25)); color: var(--qd-fc94d89, oklch(0.47 0.16 25)); }
.qi-flight-status.is-done { background: var(--qd-b5cfbec, oklch(0.95 0.006 90)); color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-flight-empty { margin: 0; font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
@media (max-width: 600px) { .qi-flight-grid { grid-template-columns: 1fr; } }
.qi-tr { display: flex; flex-direction: column; gap: 16px; }
.qi-tr-live { display: flex; flex-direction: column; gap: 12px; }
.qi-tr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 14px; }
.qi-tr-card { background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.qi-tr-card-head { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.qi-tr-ic { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--qd-b1382ff, oklch(0.95 0.02 195)); color: var(--qd-fce2bc3, oklch(0.42 0.08 195)); flex-shrink: 0; }
.qi-tr-route { font-size: 13px; font-weight: 800; color: var(--qd-f7198a1, oklch(0.4 0.06 195)); margin-top: 6px; }
.qi-tr-route small { font-weight: 500; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-tr-now { display: block; font-size: 13.5px; color: var(--qd-f6242ab, oklch(0.3 0.02 90)); background: var(--qd-b088264, oklch(0.96 0.04 155)); border-radius: 10px; padding: 8px 10px; line-height: 1.7; }
.qi-tr-live-dot { display: inline-block; vertical-align: middle; margin-inline-end: 6px; width: 8px; height: 8px; border-radius: 50%; background: oklch(0.6 0.16 150); box-shadow: 0 0 0 0 oklch(0.6 0.16 150 / 0.5); animation: qi-tr-pulse 1.6s infinite; }
@keyframes qi-tr-pulse { 70% { box-shadow: 0 0 0 7px oklch(0.6 0.16 150 / 0); } 100% { box-shadow: 0 0 0 0 oklch(0.6 0.16 150 / 0); } }
@media (prefers-reduced-motion: reduce) { .qi-tr-live-dot { animation: none; } }
.qi-tr-line { font-size: 13.5px; line-height: 1.9; color: var(--qd-fa05312, oklch(0.32 0.02 90)); }
.qi-tr-mute { color: var(--qd-f24e31c, oklch(0.52 0.02 90)); font-size: 12.5px; }
.qi-tr-card .qi-flight { padding: 8px 0; }
.qi-tr-card .qi-ferry-times { gap: 6px; }
.qi-tr-card .qi-ferry-time { min-width: 64px; padding: 6px 8px; }
.qi-flight-status.is-board { background: var(--qd-bb1aeff, oklch(0.94 0.05 195)); color: var(--qd-faa6232, oklch(0.4 0.09 200)); }
.qi-flight.is-done { opacity: 0.6; }
.qi-trp .wx-hero .qi-tr-stats { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.qi-trp-live { display: flex; flex-direction: column; gap: 22px; }
.qi-tr-risk.is-good { background: oklch(0.6 0.14 150 / 0.18); color: oklch(0.88 0.1 150); }
.qi-tr-risk.is-caution { background: oklch(0.72 0.15 70 / 0.22); color: oklch(0.88 0.12 80); }
.qi-tr-risk.is-bad { background: oklch(0.58 0.19 27 / 0.25); color: oklch(0.88 0.08 27); }
.qi-tr-risk.is-none { background: oklch(1 0 0 / 0.1); color: oklch(0.9 0.01 90); }
.wx-card .qi-tr-risk.is-good { background: oklch(0.6 0.14 150 / 0.14); color: var(--qd-f728e7d, oklch(0.42 0.12 150)); }
.wx-card .qi-tr-risk.is-caution { background: oklch(0.72 0.15 70 / 0.16); color: var(--qd-fb86788, oklch(0.45 0.12 65)); }
.wx-card .qi-tr-risk.is-bad { background: oklch(0.58 0.19 27 / 0.14); color: var(--qd-f2793fd, oklch(0.47 0.16 27)); }
.wx-card .qi-tr-risk.is-none { background: var(--qd-b5cfbec, oklch(0.95 0.006 90)); color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-tr-h3 { margin: 6px 0 0; font-size: 15px; font-weight: 800; color: var(--wx-ink); }
.qi-tr-table-wrap { overflow-x: auto; border: 1px solid var(--wx-line); border-radius: 12px; max-height: 420px; overflow-y: auto; }
.qi-tr-table { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--wx-ink); white-space: nowrap; }
.qi-tr-table th { position: sticky; top: 0; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); font-weight: 700; font-size: 12px; color: var(--wx-mute); text-align: start; padding: 9px 12px; }
.qi-tr-table td { padding: 9px 12px; border-top: 1px solid var(--wx-line); }
.qi-tr-table tr.is-now td { background: var(--qd-bbf489e, oklch(0.97 0.03 155)); }
.qi-tr-land { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.qi-tr-land-item { background: var(--qd-be7a71e, oklch(0.97 0.006 90)); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.qi-tr-land-item .qi-tr-h3 { margin: 0; }
.qi-tr-land-item a { color: inherit; }
.qi-tr-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.qi-tr-day { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: 12px; background: var(--qd-be7a71e, oklch(0.97 0.006 90)); min-width: 0; }
.qi-tr-day-name { font-size: 15px; font-weight: 800; color: var(--wx-ink); display: flex; flex-direction: column; }
.qi-tr-day-name small { font-size: 12px; font-weight: 500; color: var(--wx-mute); }
.qi-tr-day-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 13px; color: var(--wx-ink); }
.qi-tr-day-row b { font-weight: 800; }
.qi-tr-day-sub { font-size: 11.5px; color: var(--wx-mute); line-height: 1.7; margin-top: -4px; }
.qi-tr-bars { display: flex; align-items: flex-end; gap: 2px; height: 44px; direction: ltr; }
.qi-tr-bar { flex: 1; height: max(var(--h), 2px); background: oklch(0.55 0.09 200); border-radius: 3px 3px 0 0; position: relative; }
.qi-tr-bars-axis { display: flex; justify-content: space-between; direction: ltr; font-size: 10.5px; color: var(--wx-mute); margin-top: -4px; }
.qi-tr-hchart { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.qi-tr-hchart figcaption { font-size: 13px; font-weight: 700; color: var(--wx-ink); }
.qi-tr-hbars { display: flex; align-items: stretch; gap: 2px; height: 170px; direction: ltr; }
.qi-tr-hcol { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; min-width: 0; position: relative; }
.qi-tr-hbar { width: min(100%, 28px); height: max(calc(var(--h) * 0.72), 2px); background: oklch(0.55 0.09 200); border-radius: 4px 4px 0 0; }
.qi-tr-hval { font-size: 11px; font-weight: 700; color: var(--wx-ink); }
.qi-tr-hlabel { font-size: 10.5px; color: var(--wx-mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.qi-tr-bar:hover, .qi-tr-hcol:hover .qi-tr-hbar { background: oklch(0.45 0.1 200); }
.qi-tr-bar[data-tip]:hover::after, .qi-tr-hcol[data-tip]:hover::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: oklch(0.25 0.02 220); color: #fff; font-size: 11.5px; padding: 4px 8px; border-radius: 6px; white-space: nowrap; z-index: 3; pointer-events: none; direction: rtl; }
.qi-tr-hcol[data-tip]:hover::after { bottom: auto; top: 0; }
.qi-trp-src { text-align: justify; }
@media (max-width: 720px) {
	.qi-tr-days { grid-template-columns: 1fr; }
	.qi-tr-hlabel { font-size: 9px; }
	.qi-tr-hbars { height: 140px; }
	.qi-tr-hcol:nth-child(even) .qi-tr-hlabel { visibility: hidden; }
}
.qi-tr-roads { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.qi-tr-roads li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--wx-ink, var(--qd-f6242ab, oklch(0.3 0.02 90))); }
.qi-tr-road-name { font-weight: 700; flex: 1; min-width: 120px; }
.qi-tr-road-dur { color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-tr-card .qi-tr-risk.is-good { background: oklch(0.6 0.14 150 / 0.14); color: var(--qd-f728e7d, oklch(0.42 0.12 150)); }
.qi-tr-card .qi-tr-risk.is-caution { background: oklch(0.72 0.15 70 / 0.16); color: var(--qd-fb86788, oklch(0.45 0.12 65)); }
.qi-tr-card .qi-tr-risk.is-bad { background: oklch(0.58 0.19 27 / 0.14); color: var(--qd-f2793fd, oklch(0.47 0.16 27)); }
.qi-mag-sec--transport { margin-top: 8px; }
.dropdown-inner.is-split-2-3 > .dropdown-item { grid-column: span 2; }
.dropdown-inner.is-split-2-3 > .dropdown-item:nth-child(-n+2) { grid-column: span 3; }
.dropdown-inner.is-split-2-3 > .dropdown-all { grid-column: 1 / -1; }
.qi-wxh { display: flex; flex-direction: column; gap: 24px; }
.wxh-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px 20px 10px; }
.wxh-now { display: flex; align-items: center; gap: 14px; }
.wxh-now-ic { color: oklch(0.85 0.13 80); display: flex; }
.wxh-label { font-size: 12.5px; font-weight: 600; color: oklch(0.88 0.02 195 / 0.8); }
.wxh-temp { font-size: 44px; font-weight: 800; line-height: 1.05; color: oklch(0.99 0.003 90); letter-spacing: -0.5px; }
.wxh-cond { font-size: 13px; color: oklch(0.88 0.02 195 / 0.85); margin-top: 2px; }
.wxh-sea { --c: oklch(0.72 0.15 150); display: flex; flex-direction: column; gap: 3px; min-width: 230px; padding: 12px 16px; border-radius: 14px; text-decoration: none; background: color-mix(in oklch, var(--c) 18%, transparent); border: 1px solid color-mix(in oklch, var(--c) 45%, transparent); transition: background .15s; }
.wxh-sea:hover { background: color-mix(in oklch, var(--c) 26%, transparent); }
.wxh-sea.is-caution { --c: oklch(0.8 0.15 75); }
.wxh-sea.is-bad { --c: oklch(0.68 0.19 27); }
.wxh-sea b { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 800; color: oklch(0.99 0.003 90); }
.wxh-sea small { font-size: 12px; color: oklch(0.9 0.02 195 / 0.8); }
.wxh-sea-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px color-mix(in oklch, var(--c) 25%, transparent); }
.wxh-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid oklch(1 0 0 / 0.1); }
.wxh-pair { display: flex; gap: 16px; margin-top: 2px; }
.wxh-pair span { display: flex; flex-direction: column; }
.wxh-pair small { font-size: 11.5px; color: oklch(0.85 0.02 195 / 0.7); }
.wxh-pair b { font-size: 18px; font-weight: 800; color: oklch(0.99 0.003 90); line-height: 1.3; }
@media (max-width: 720px) {
	.wxh-top { padding: 14px 12px 8px; }
	.wxh-sea { min-width: 0; flex: 1 1 100%; }
	.wxh-temp { font-size: 38px; }
	.wxh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qi-wxh .weather-days { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 8px; margin: 12px 10px 0; padding-bottom: 2px; }
	.qi-wxh .weather-days::-webkit-scrollbar { display: none; }
	.qi-wxh .weather-day { flex: 0 0 42%; scroll-snap-align: start; padding: 12px 6px; }
	.qi-wxh .weather-days-more { flex: 0 0 auto; padding: 0 8px; }
}
@media (min-width: 721px) {
	.qi-wxh { gap: 16px; }
	.qi-wxh .wxh-top { padding: 10px 18px 6px; }
	.qi-wxh .wxh-now { gap: 12px; }
	.qi-wxh .wxh-now-ic svg { width: 38px; height: 38px; }
	.qi-wxh .wxh-temp { font-size: 34px; }
	.qi-wxh .wxh-sea { min-width: 0; padding: 8px 14px; gap: 1px; }
	.qi-wxh .wxh-sea b { font-size: 14.5px; }
	.qi-wxh .wxh-grid .weather-stat { padding: 12px 18px; gap: 10px; }
	.qi-wxh .wxh-grid .weather-value, .qi-wxh .wxh-pair b { font-size: 16px; }
	.qi-wxh .weather-days { margin: 10px 10px 0; gap: 8px; }
	.qi-wxh .weather-day { display: grid; grid-template-columns: auto 1fr auto; column-gap: 12px; row-gap: 0; align-items: center; justify-items: start; text-align: right; padding: 8px 14px; }
	.qi-wxh .weather-day-ic { grid-column: 1; grid-row: 1 / span 3; }
	.qi-wxh .weather-day-name { grid-column: 2; grid-row: 1; }
	.qi-wxh .weather-day-sub { grid-column: 2; line-height: 1.5; }
	.qi-wxh .weather-day-temp { grid-column: 3; grid-row: 1 / span 3; white-space: nowrap; }
	.qi-wxh .weather-updated { padding-top: 6px; padding-bottom: 4px; }
}
section.wx.is-loading > :not(.qi-page-nav):not(.wx-spots) { opacity: .55; transition: opacity .15s; pointer-events: none; }
.qi-trh { background: linear-gradient(135deg, oklch(0.4 0.08 195), oklch(0.26 0.05 205)); border-radius: 16px; padding: 8px; color: oklch(0.99 0.003 90); }
.qi-trh-tabs { display: none; }
.qi-trh-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qi-trh .qi-tr-card { background: transparent; border: 0; border-radius: 0; padding: 16px 18px; gap: 7px; }
.qi-trh .qi-trh-col + .qi-trh-col { border-inline-start: 1px solid oklch(1 0 0 / 0.1); }
.qi-trh .qi-tr-card-head { color: oklch(0.99 0.003 90); }
.qi-trh .qi-tr-ic { background: oklch(1 0 0 / 0.1); color: oklch(0.9 0.05 195); }
.qi-trh .qi-tr-route { color: oklch(0.86 0.07 195); }
.qi-trh .qi-tr-route small { color: oklch(1 0 0 / 0.6); }
.qi-trh .qi-tr-line { color: oklch(1 0 0 / 0.92); }
.qi-trh .qi-tr-mute { color: oklch(1 0 0 / 0.66); }
.qi-trh .qi-tr-now { background: oklch(0.6 0.14 150 / 0.22); color: oklch(0.99 0.003 90); }
.qi-trh a { color: inherit; }
.qi-trh .qi-flight { border-top-color: oklch(1 0 0 / 0.1); }
.qi-trh .qi-flight-time b, .qi-trh .qi-flight-city { color: oklch(0.99 0.003 90); }
.qi-trh .qi-flight-meta { color: oklch(1 0 0 / 0.62); }
.qi-trh .qi-flight-day { color: oklch(0.85 0.1 70); }
.qi-trh .qi-ferry-time { background: oklch(1 0 0 / 0.07); border-color: oklch(1 0 0 / 0.12); }
.qi-trh .qi-ferry-time b { color: oklch(0.99 0.003 90); }
.qi-trh .qi-ferry-time span, .qi-trh .qi-ferry-time small { color: oklch(1 0 0 / 0.65); }
.qi-trh .qi-ferry-time.is-next { background: oklch(0.7 0.15 55 / 0.2); border-color: oklch(0.78 0.14 60 / 0.7); }
.qi-trh .qi-tr-roads li { color: oklch(0.99 0.003 90); }
.qi-trh .qi-tr-road-dur { color: oklch(1 0 0 / 0.7); }
.qi-trh .qi-tr-risk.is-good { background: oklch(0.6 0.14 150 / 0.2); color: oklch(0.88 0.1 150); }
.qi-trh .qi-tr-risk.is-caution { background: oklch(0.72 0.15 70 / 0.22); color: oklch(0.9 0.12 80); }
.qi-trh .qi-tr-risk.is-bad { background: oklch(0.58 0.19 27 / 0.28); color: oklch(0.9 0.08 27); }
.qi-trh-alert { margin: 8px 8px 0; padding: 10px 14px; border-radius: 10px; font-size: 13.5px; line-height: 1.9; text-align: justify; background: oklch(1 0 0 / 0.08); border: 1px solid oklch(1 0 0 / 0.14); color: oklch(0.97 0.01 90); }
.qi-trh-alert.is-warning { background: oklch(0.68 0.15 45 / 0.18); border-color: oklch(0.68 0.15 45 / 0.4); }
.qi-trh-foot { font-size: 12px; line-height: 1.8; color: oklch(1 0 0 / 0.6); padding: 2px 18px 10px; }
@media (max-width: 720px) {
	.qi-trh-tabs { display: flex; gap: 6px; padding: 6px 6px 2px; }
	.qi-trh-tabs button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 6px; border: 0; border-radius: 10px; background: oklch(1 0 0 / 0.08); color: oklch(0.97 0.01 90); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
	.qi-trh-tabs button[aria-selected="true"] { background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-f7117fc, oklch(0.32 0.06 200)); }
	.qi-trh-cols { grid-template-columns: 1fr; }
	.qi-trh .qi-trh-col + .qi-trh-col { border-inline-start: 0; }
	.qi-trh .qi-tr-card { padding: 12px 12px 10px; }
	.qi-trh .qi-tr-card-head { display: none; }
	.qi-trh[data-tab="sea"] .qi-trh-col:not([data-mode="sea"]),
	.qi-trh[data-tab="air"] .qi-trh-col:not([data-mode="air"]),
	.qi-trh[data-tab="land"] .qi-trh-col:not([data-mode="land"]) { display: none; }
	.qi-trh-foot { padding: 0 12px 10px; }
}
.qi-flight-day { color: var(--qd-fb81cf8, oklch(0.52 0.03 220)); font-weight: 600; }
.qi-ferry-time.is-next { background: var(--qd-b7d4219, oklch(0.97 0.035 60)); border-color: oklch(0.72 0.14 50); }
.qi-ferry-time.is-next b { color: var(--qd-f8de027, oklch(0.45 0.15 45)); }
.qi-ferry-time.is-next span, .qi-ferry-time.is-next small { color: var(--qd-f4e488b, oklch(0.5 0.08 50)); }
.qi-ferry-time.is-next::before { background: oklch(0.52 0.17 45); color: oklch(0.99 0 0); }
.qi-page-nav { margin-bottom: 0; }
.qi-page-nav::before { display: none; }
.qi-tr-seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; }
.qi-tr-seg::-webkit-scrollbar { display: none; }
.qi-tr-seg button { white-space: nowrap; }
.qi-tr-seg button small { opacity: 0.65; font-weight: 600; }
.qi-tr-rblock { display: flex; flex-direction: column; gap: 10px; }
.qi-tr-rblock[hidden] { display: none; }
.qi-tr-rsum { margin: 0; font-size: 13px; color: var(--wx-mute); }
.qi-tr-table tr.is-boarding td { background: var(--qd-bbf489e, oklch(0.97 0.03 155)); }
.qi-tr-table tr.is-scheduled td { color: var(--wx-mute); }
@media (max-width: 720px) {
	.wx-card-head:has(.qi-tr-seg) { flex-direction: column; align-items: stretch; }
}
.wx .qi-page-nav { top: calc(var(--qi-header-h) + 10px + 56px); z-index: 6; }
@media (max-width: 600px) { .wx .qi-page-nav { top: calc(var(--qi-header-h) + 56px); } }
.wx > [id], .wx .qi-trp-live [id] { scroll-margin-top: calc(var(--qi-header-h, 70px) + var(--qi-nav-h, 56px) + 20px); }
.qi-cover-credit { margin: 28px 0 0; font-size: 12px; line-height: 1.8; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); text-align: right; }
.qi-cover-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.qi-arth { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 20px; align-items: stretch; }
.qi-arth-main { position: relative; display: flex; align-items: flex-end; min-height: 340px; border-radius: 16px; overflow: hidden; text-decoration: none; background: center/cover no-repeat, repeating-linear-gradient(135deg, oklch(0.52 0.08 195) 0 16px, oklch(0.44 0.08 195) 16px 32px); background-color: oklch(0.44 0.08 195); }
.qi-arth-shade { position: absolute; inset: 0; background: linear-gradient(0deg, oklch(0.15 0.02 195 / 0.9) 0%, oklch(0.15 0.02 195 / 0.35) 55%, oklch(0.15 0.02 195 / 0.05) 100%); transition: background .2s; }
.qi-arth-main:hover .qi-arth-shade { background: linear-gradient(0deg, oklch(0.15 0.02 195 / 0.92) 0%, oklch(0.15 0.02 195 / 0.45) 60%, oklch(0.15 0.02 195 / 0.1) 100%); }
.qi-arth-main-body { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px; }
.qi-arth-meta { display: flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 600; color: oklch(0.92 0.01 90 / 0.85); }
.qi-arth-chip { padding: 3px 10px; border-radius: 999px; background: oklch(0.7 0.15 45); color: oklch(0.99 0.003 90); font-weight: 700; }
.qi-arth-main-title { font-size: 23px; font-weight: 800; line-height: 1.5; color: oklch(0.99 0.003 90); }
.qi-arth-teaser { font-size: 14px; line-height: 1.8; color: oklch(0.92 0.01 90 / 0.85); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qi-arth-card { display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); text-decoration: none; transition: box-shadow .15s, transform .15s; }
.qi-arth-card:hover { box-shadow: 0 10px 24px oklch(0.3 0.05 195 / 0.12); transform: translateY(-2px); }
.qi-arth-img { display: block; aspect-ratio: 4 / 3; background: center/cover no-repeat, repeating-linear-gradient(135deg, oklch(0.52 0.08 195) 0 12px, oklch(0.44 0.08 195) 12px 24px); }
.qi-arth-card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.qi-arth-cat { font-size: 12px; font-weight: 700; color: var(--qd-f0fa85b, oklch(0.55 0.15 45)); }
.qi-arth-title { font-size: 15px; font-weight: 700; line-height: 1.6; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.qi-arth-time { margin-top: auto; font-size: 12px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
@media (max-width: 1100px) {
	.qi-arth { grid-template-columns: repeat(3, 1fr); }
	.qi-arth-main { grid-column: 1 / -1; min-height: 300px; }
}
@media (max-width: 720px) {
	.qi-arth { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 12px; margin: 0 -16px; padding: 0 16px 4px; }
	.qi-arth::-webkit-scrollbar { display: none; }
	.qi-arth-main { flex: 0 0 86%; min-height: 280px; scroll-snap-align: start; }
	.qi-arth-card { flex: 0 0 62%; scroll-snap-align: start; }
	.qi-arth-main-title { font-size: 19px; }
	.qi-arth-main-body { padding: 18px; }
}
.qi-attr { margin: 28px 0 36px; padding: 20px; border-radius: 18px; background: linear-gradient(160deg, var(--qd-b9b5669, oklch(0.97 0.02 195)) 0%, var(--qd-b7159f3, oklch(0.985 0.008 90)) 100%); border: 1px solid var(--qd-b25c710, oklch(0.9 0.03 195)); line-height: 1.7; text-align: right; font-size: 14px; color: var(--qd-f0c3549, oklch(0.28 0.02 90)); }
.qi-attr p { margin: 0; }
.qi-attr a { text-decoration: none; }
.qi-attr-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 14px; }
.qi-attr-kicker { width: 100%; font-size: 12px; font-weight: 700; color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-attr .qi-attr-title { font-size: 18px; font-weight: 800; color: var(--qd-ff3a57c, oklch(0.2 0.03 195)); }
.qi-attr-upd { font-size: 12px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); margin-inline-start: auto; }
.qi-attr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.qi-attr-card { background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-b93b2f3, oklch(0.92 0.01 195)); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.qi-attr-label { font-size: 12.5px; font-weight: 700; color: var(--qd-f2cfd51, oklch(0.45 0.08 195)); }
.qi-attr-temp { display: flex; align-items: center; gap: 8px; color: var(--qd-f047361, oklch(0.45 0.1 195)); }
.qi-attr-temp b { font-size: 28px; font-weight: 800; color: var(--qd-ff3a57c, oklch(0.2 0.03 195)); line-height: 1; }
.qi-attr-temp span { font-size: 13px; color: var(--qd-f9b7005, oklch(0.4 0.02 90)); }
.qi-attr-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.qi-attr-facts li { margin: 0; padding: 0; }
.qi-attr-facts b { font-weight: 700; color: var(--qd-ff3a57c, oklch(0.2 0.03 195)); }
.qi-attr-link { margin-top: auto; font-size: 12.5px; font-weight: 600; color: var(--qd-f48e359, oklch(0.42 0.1 195)); }
.qi-attr-link:hover { color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-attr-day { display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; border-bottom: 1px dashed var(--qd-bd57bc7, oklch(0.9 0.01 90)); }
.qi-attr-day:last-child { border-bottom: 0; padding-bottom: 0; }
.qi-attr-day-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.qi-attr-day-top b { font-size: 13.5px; }
.qi-attr-range { font-size: 14px; font-weight: 800; color: var(--qd-ff3a57c, oklch(0.2 0.03 195)); direction: rtl; }
.qi-attr .qi-attr-note { font-size: 12.5px; color: var(--qd-f6b8259, oklch(0.45 0.02 90)); }
.qi-attr-chip { display: inline-block; font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 1px 9px; margin-inline-start: auto; background: var(--qd-ba67e48, oklch(0.94 0.01 90)); color: var(--qd-f6b8259, oklch(0.45 0.02 90)); white-space: nowrap; }
.qi-attr-chip.is-good { background: oklch(0.6 0.14 150 / 0.16); color: var(--qd-f728e7d, oklch(0.42 0.12 150)); }
.qi-attr-chip.is-caution { background: oklch(0.75 0.15 75 / 0.22); color: var(--qd-fac3568, oklch(0.48 0.12 65)); }
.qi-attr-chip.is-bad { background: oklch(0.6 0.19 27 / 0.14); color: var(--qd-faa8105, oklch(0.48 0.17 27)); }
.qi-attr-nav { display: flex; gap: 8px; flex-wrap: wrap; }
.qi-attr-sea { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--qd-fef7b67, oklch(0.35 0.02 90)); padding-top: 8px; border-top: 1px dashed var(--qd-bd57bc7, oklch(0.9 0.01 90)); }
.qi-attr-sea:hover { color: var(--qd-f28826a, oklch(0.52 0.17 45)); }
.qi-attr-biz { margin-top: 14px; }
.qi-attr-biz-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.qi-attr-biz-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 10px; }
.qi-attr-b { margin: 0; display: flex; align-items: center; gap: 8px; background: var(--qd-b4fb744, oklch(1 0 0)); border: 1px solid var(--qd-b93b2f3, oklch(0.92 0.01 195)); border-radius: 14px; padding: 10px 12px; min-width: 0; }
.qi-attr-b.is-vip { border-color: oklch(0.8 0.1 70); box-shadow: 0 0 0 1px oklch(0.85 0.09 75 / 0.6); }
.qi-attr-b-main { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; color: inherit; }
.qi-attr-b-logo { width: 40px; height: 40px; flex-shrink: 0; border-radius: 999px; background: var(--qd-b1382ff, oklch(0.95 0.02 195)) center/cover no-repeat; border: 1px solid var(--qd-b394534, oklch(0.92 0.01 90)); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; color: var(--qd-f047361, oklch(0.45 0.1 195)); }
.qi-attr-b-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.5; }
.qi-attr-b-txt b { font-size: 13.5px; font-weight: 700; color: var(--qd-ff3a57c, oklch(0.2 0.03 195)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qi-attr-b-txt small { font-size: 12px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qi-attr-vip { font-style: normal; font-size: 10.5px; font-weight: 700; color: var(--qd-ff912f9, oklch(0.5 0.13 65)); background: oklch(0.85 0.1 80 / 0.35); border-radius: 999px; padding: 0 7px; margin-inline-end: 6px; }
.qi-attr-b-act { display: flex; gap: 6px; flex-shrink: 0; }
.qi-attr-b-act a { width: 34px; height: 34px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: oklch(0.52 0.17 45); color: oklch(1 0 0); }
.qi-attr-b-act a.is-wa { background: #25D366; }
.qi-attr-b-act a:hover { filter: brightness(1.08); }
@media (max-width: 900px) {
	.qi-attr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qi-attr-go { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.qi-attr { padding: 14px; margin-inline: -6px; }
	.qi-attr-grid, .qi-attr-biz-list { grid-template-columns: minmax(0, 1fr); }
}
.event-img { position: relative; }
.event-badge { position: absolute; top: 10px; right: 10px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: var(--qd-f2f9f50, oklch(0.3 0.05 195)); box-shadow: 0 2px 8px oklch(0.2 0.02 90 / 0.18); }
.event-badge--today, .event-badge--ongoing { background: oklch(0.55 0.17 45); color: #fff; }
.event-badge--tomorrow { background: oklch(0.4 0.09 195); color: #fff; }
.event-badge--free { right: auto; left: 10px; background: oklch(0.55 0.13 150); color: #fff; }
.event-badge--past { background: var(--qd-b0b0f54, oklch(0.6 0.01 90)); color: #fff; }
.qi-ev-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.qi-ev-chips span { font-size: 12.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--qd-b1382ff, oklch(0.95 0.02 195)); color: var(--qd-ff87467, oklch(0.32 0.06 195)); }
.qi-ev-chips span.is-price { background: var(--qd-b2ab556, oklch(0.94 0.05 150)); color: var(--qd-fd0b701, oklch(0.38 0.1 150)); }
.qi-ev-box { margin: 0 0 36px; padding: 20px 22px; border-radius: 14px; background: var(--qd-b089388, oklch(0.985 0.006 195)); border: 1px solid var(--qd-ba18024, oklch(0.9 0.02 195)); }
.qi-ev-box dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 24px; }
.qi-ev-box dl > div { display: flex; gap: 10px; align-items: baseline; }
.qi-ev-box dt { flex: 0 0 auto; min-width: 74px; font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qi-ev-box dd { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); line-height: 1.7; }
.qi-ev-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.qi-ev-actions a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; background: var(--qd-bbfc241, #fff); color: var(--qd-fa793c4, oklch(0.32 0.07 195)); border: 1px solid var(--qd-b6541d5, oklch(0.85 0.03 195)); }
.qi-ev-actions a.is-primary { background: oklch(0.4 0.09 195); color: #fff; border-color: transparent; }
.qi-ev-box.is-past { opacity: 0.8; }
.qi-ev-box-past { font-weight: 700; color: var(--qd-fd96e52, oklch(0.5 0.12 30)); margin-bottom: 12px; }
@media (max-width: 600px) { .qi-ev-actions a { flex: 1 1 calc(50% - 8px); justify-content: center; } }
.qev-top { position: relative; overflow: hidden; background: oklch(0.25 0.03 195); padding: 28px clamp(20px, 5vw, 64px) 120px; }
.qev-top .stripes { position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, oklch(0.3 0.03 195) 0 26px, oklch(0.27 0.03 195) 26px 52px); opacity: .5; }
.qev-crumbs { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; justify-content: flex-start; }
.qev-crumbs [aria-current] { color: oklch(0.8 0.14 45); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46ch; }
.qev-wrap { max-width: 1180px; margin: -96px auto 0; padding: 0 clamp(16px, 5vw, 64px); position: relative; z-index: 2; }
.qev-hero { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); padding: clamp(16px, 2.4vw, 28px); background: var(--qd-befff8f, oklch(0.995 0.003 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 20px; box-shadow: 0 24px 50px oklch(0.2 0.04 195 / .14); }
.qev-hero.no-img { grid-template-columns: 1fr; }
.qev-poster { position: relative; display: block; align-self: start; border-radius: 14px; overflow: hidden; background: var(--qd-b8c91cb, oklch(0.95 0.01 90)); }
.qev-poster img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: contain; }
.qev-zoom { position: absolute; bottom: 10px; left: 10px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: oklch(0.2 0.02 90 / .55); color: #fff; backdrop-filter: blur(4px); opacity: .85; transition: opacity .15s; }
.qev-poster:hover .qev-zoom { opacity: 1; }
.qev-info { display: flex; flex-direction: column; gap: 18px; min-width: 0; padding-top: 4px; }
.qev-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.qev-tags > span { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.qev-status { background: oklch(0.4 0.09 195 / .1); color: var(--qd-ffc1574, oklch(0.35 0.09 195)); }
.qev-status.is-hot { background: oklch(0.55 0.17 45); color: #fff; }
.qev-status.is-hot::before { content: ''; width: 7px; height: 7px; margin-inline-end: 7px; border-radius: 50%; background: var(--qd-bbfc241, #fff); animation: qev-pulse 1.6s ease-in-out infinite; }
.qev-status.is-past { background: var(--qd-b0f4c63, oklch(0.92 0.005 90)); color: var(--qd-f3c3931, oklch(0.45 0.01 90)); }
@keyframes qev-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .qev-status.is-hot::before { animation: none; } }
.qev-cat { background: oklch(0.52 0.17 45 / .1); color: var(--qd-f192753, oklch(0.48 0.16 45)); }
.qev-free { background: oklch(0.55 0.13 150 / .13); color: var(--qd-f80e471, oklch(0.4 0.11 150)); }
.qev-title { margin: 0; font-size: clamp(22px, 2.6vw, 32px); font-weight: 800; line-height: 1.5; color: var(--qd-f252b3e, oklch(0.2 0.02 90)); }
.qev-past-note { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--qd-b65ca94, oklch(0.96 0.02 60)); color: var(--qd-f2f7b0f, oklch(0.4 0.08 50)); font-weight: 600; font-size: 14.5px; }
.qev-past-note a { color: var(--qd-f14fc63, oklch(0.4 0.09 195)); text-decoration: underline; text-underline-offset: 3px; }
.qev-when { display: flex; align-items: center; gap: 16px; padding: 14px; border-radius: 16px; background: var(--qd-b134459, oklch(0.97 0.012 195)); }
.qev-datebox { flex: 0 0 auto; width: 76px; display: flex; flex-direction: column; align-items: center; overflow: hidden; border-radius: 12px; background: var(--qd-bbfc241, #fff); box-shadow: 0 2px 8px oklch(0.3 0.05 195 / .12); text-align: center; }
.qev-datebox .m { width: 100%; padding: 4px 0; background: oklch(0.52 0.17 45); color: #fff; font-size: 12.5px; font-weight: 700; }
.qev-datebox .d { padding-top: 4px; font-size: 30px; font-weight: 800; line-height: 1.15; color: var(--qd-f61ce06, oklch(0.22 0.02 90)); }
.qev-datebox .w { padding-bottom: 6px; font-size: 11.5px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qev-when-txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.qev-when-txt strong { font-size: 17px; font-weight: 800; color: var(--qd-f61ce06, oklch(0.22 0.02 90)); }
.qev-when-txt span { font-size: 14.5px; color: var(--qd-f380b1e, oklch(0.42 0.03 195)); font-weight: 600; }
.qev-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 22px; }
.qev-facts li { display: flex; gap: 12px; align-items: flex-start; min-width: 0; }
.qev-facts .ic { flex: 0 0 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: oklch(0.4 0.09 195 / .08); color: var(--qd-f14fc63, oklch(0.4 0.09 195)); }
.qev-facts li > span:last-child { display: flex; flex-direction: column; gap: 1px; font-size: 15px; font-weight: 700; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); line-height: 1.6; min-width: 0; overflow-wrap: anywhere; }
.qev-facts small { font-size: 12.5px; font-weight: 500; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qev-facts a { color: var(--qd-f5f1daf, oklch(0.38 0.09 195)); text-decoration: underline; text-decoration-color: var(--qd-f8c404c, oklch(0.38 0.09 195 / .35)); text-underline-offset: 4px; }
.qev-cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: auto; padding-top: 4px; }
.qev-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 12px; border: 1px solid var(--qd-bb46b6b, oklch(0.86 0.02 195)); background: var(--qd-bbfc241, #fff); color: var(--qd-f1f4320, oklch(0.32 0.08 195)); font-size: 14.5px; font-weight: 700; cursor: pointer; list-style: none; transition: background .15s, border-color .15s, transform .1s; }
.qev-btn::-webkit-details-marker { display: none; }
.qev-btn:hover { background: var(--qd-b134459, oklch(0.97 0.012 195)); border-color: var(--qd-b51dfbf, oklch(0.75 0.05 195)); }
.qev-btn:active { transform: translateY(1px); }
.qev-btn.is-primary { background: oklch(0.52 0.17 45); border-color: transparent; color: #fff; box-shadow: 0 6px 16px oklch(0.52 0.17 45 / .28); }
.qev-btn.is-primary:hover { background: oklch(0.48 0.17 45); }
.qev-btn.is-soft { background: oklch(0.4 0.09 195 / .08); border-color: transparent; }
.qev-btn bdi { font-variant-numeric: tabular-nums; }
.qev-cal { position: relative; }
.qev-cal-menu { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; min-width: 250px; padding: 6px; border-radius: 12px; background: var(--qd-bbfc241, #fff); border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); box-shadow: 0 14px 30px oklch(0.2 0.03 195 / .16); }
.qev-cal-menu a { display: block; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--qd-f06b70c, oklch(0.3 0.03 195)); }
.qev-cal-menu a:hover { background: var(--qd-b134459, oklch(0.97 0.012 195)); }
.qev-cta .qi-share { margin: 0; }
.qev-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; padding: 40px 0 64px; }
.qev-about h2, .qev-place h2, .qev-more h2 { margin: 0 0 16px; font-size: 20px; font-weight: 800; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); }
.qev-content { font-size: 16px; line-height: 2.1; color: var(--qd-f71c13f, oklch(0.27 0.02 90)); text-align: justify; display: flow-root; }
.qev-content p { margin: 0 0 14px; }
.qev-content img { border-radius: 12px; height: auto; }
.qev-content a.qi-tel { color: var(--qd-f5f1daf, oklch(0.38 0.09 195)); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.qev-meta-foot { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); font-size: 13px; color: var(--qd-f5e49a7, oklch(0.55 0.02 90)); }
.qev-side { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.qev-place { padding: 18px; border-radius: 18px; background: var(--qd-befff8f, oklch(0.995 0.003 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); }
.qev-map { height: 220px; border-radius: 12px; overflow: hidden; z-index: 0; direction: ltr; background: var(--qd-bb26582, oklch(0.94 0.01 195)); }
.qev-pin { background: none; border: 0; filter: drop-shadow(0 3px 4px rgba(0,0,0,.3)); }
.qev-place-b { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.qev-place-b strong { font-size: 15px; color: var(--qd-ff72bdd, oklch(0.25 0.02 90)); line-height: 1.7; }
.qev-place-b > a:not(.qev-btn) { font-size: 14px; font-weight: 600; color: var(--qd-f5f1daf, oklch(0.38 0.09 195)); }
.qev-place-b .qev-btn { margin-top: 4px; }
.qev-more { max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 64px) 96px; }
.qev-more-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.qev-more-h h2 { margin: 0; }
.qev-more-h a { font-size: 14px; font-weight: 600; color: var(--qd-f14fc63, oklch(0.4 0.09 195)); white-space: nowrap; }
@media (max-width: 900px) {
	.qev-top { padding-bottom: 90px; }
	.qev-wrap { margin-top: -72px; }
	.qev-hero { grid-template-columns: 1fr; }
	.qev-poster { max-width: 520px; width: 100%; justify-self: center; }
	.qev-poster img { max-height: 56vh; margin: 0 auto; width: auto; max-width: 100%; }
	body.has-qev-bar .qev-cta .qi-share { display: none; }
	.qev-body { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
	.qev-side { position: static; }
}
@media (max-width: 560px) {
	.qev-hero { padding: 12px; border-radius: 16px; gap: 16px; }
	.qev-info { gap: 14px; }
	.qev-cta .qev-btn { flex: 1 1 calc(50% - 10px); padding: 0 12px; }
	.qev-cta .qev-btn.is-primary { flex-basis: 100%; }
	.qev-cal { flex: 1 1 calc(50% - 10px); }
	.qev-cal .qev-btn { width: 100%; }
	.qev-cal-menu { left: 0; right: auto; }
	.qev-crumbs [aria-current] { max-width: 22ch; }
	.qev-facts { grid-template-columns: 1fr; }
}
.event-img.has-img { position: relative; overflow: hidden; background: oklch(0.3 0.03 195); }
.event-img-bg { position: absolute; inset: -12px; background-size: cover; background-position: center; filter: blur(14px) saturate(1.1); opacity: .7; transform: scale(1.05); }
.event-img.has-img > img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; }
.event-img .event-badge { z-index: 2; }
.event-card .event-img { height: 180px; }
.qev-hero.is-wide { grid-template-columns: 1fr; }
.qev-hero.is-wide .qev-poster { justify-self: stretch; max-width: none; }
.qev-hero.is-wide .qev-poster img { width: 100%; max-height: 520px; object-fit: cover; }
.qev-status.is-cancelled { background: oklch(0.55 0.19 25); color: #fff; }
.qev-status.is-postponed { background: oklch(0.75 0.15 70); color: var(--qd-f94cfde, oklch(0.3 0.06 60)); }
.qev-status.is-full { background: oklch(0.45 0.02 90); color: #fff; }
.qev-state-note { margin: 0; padding: 12px 14px; border-radius: 12px; font-weight: 700; font-size: 14.5px; line-height: 1.8; }
.qev-state-note.is-cancelled { background: var(--qd-bd50dc2, oklch(0.95 0.04 25)); color: var(--qd-fbfa644, oklch(0.45 0.17 25)); }
.qev-state-note.is-postponed { background: var(--qd-ba0b306, oklch(0.96 0.05 80)); color: var(--qd-f81ccd3, oklch(0.42 0.1 60)); }
.qev-state-note.is-full { background: var(--qd-b337b49, oklch(0.95 0.005 90)); color: var(--qd-f35ac4f, oklch(0.38 0.02 90)); }
.qev-state-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.qev-ig { display: inline-block; margin-inline-start: 6px; font-size: 13px; font-weight: 600; }
.qev-maps { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); }
.qev-maps > span { font-size: 13px; font-weight: 600; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qev-place-hood { font-size: 13.5px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qev-side-extra { display: flex; flex-direction: column; gap: 10px; }
.qev-side-extra .qi-report-open { align-self: center; }
.event-badge--state-cancelled { background: oklch(0.55 0.19 25); color: #fff; }
.event-badge--state-postponed { background: oklch(0.75 0.15 70); color: var(--qd-f94cfde, oklch(0.3 0.06 60)); }
.event-badge--state-full { background: oklch(0.45 0.02 90); color: #fff; }
.event-card.is-cancelled .event-title { text-decoration: line-through; text-decoration-color: var(--qd-f213dec, oklch(0.55 0.19 25 / .6)); }
.qev-lb { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 16px; background: oklch(0.1 0.01 195 / .92); cursor: zoom-out; }
.qev-lb img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.qev-lb button { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.15); color: #fff; font-size: 26px; cursor: pointer; }
.qi-report-open.is-alert { color: var(--qd-f22b614, oklch(0.52 0.19 25)); font-weight: 700; }
.qi-report-open.is-alert:hover, .qi-report-open.is-alert:focus-visible { color: var(--qd-f171c91, oklch(0.45 0.19 25)); background: var(--qd-b75c89b, oklch(0.96 0.03 25)); }
.qi-owner-flag { margin: 4px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--qd-bc9f330, oklch(0.97 0.03 85)); font-size: 12.5px; font-weight: 600; line-height: 1.9; color: var(--qd-f78a826, oklch(0.45 0.1 70)); text-align: justify; }
.qi-owner-flag[hidden] { display: none; }
.qi-who, .qi-owner { display: none; flex-direction: column; gap: 12px; padding: 6px 20px 18px; }
.qi-report[data-who=""] .qi-who { display: flex; }
.qi-report[data-who="owner"] .qi-owner { display: flex; }
.qi-report[data-who=""] .qi-report-body, .qi-report[data-who=""] .qi-report-foot,
.qi-report[data-who="owner"] .qi-report-body, .qi-report[data-who="owner"] .qi-report-foot { display: none; }
.qi-who-btns { display: flex; flex-direction: column; gap: 10px; }
.qi-who-btn { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; text-align: right; padding: 14px 16px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 12px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: inherit; font: inherit; cursor: pointer; }
.qi-who-btn strong { font-size: 15px; font-weight: 800; }
.qi-who-btn small { font-size: 12.5px; line-height: 1.8; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-who-btn:hover, .qi-who-btn:focus-visible { border-color: oklch(0.52 0.17 45); background: var(--qd-b01ce75, oklch(0.97 0.02 60)); outline: none; }
.qi-who-back, .qi-oe-link { align-self: flex-start; border: 0; background: none; padding: 2px 0; font: inherit; font-size: 13px; font-weight: 600; color: var(--qd-f047361, oklch(0.45 0.1 195)); cursor: pointer; }
.qi-oe-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; color: var(--qd-f3a03e5, oklch(0.5 0.02 90)); }
.qi-oe-note { margin: 0; padding: 10px 12px; border-radius: 10px; font-size: 13px; line-height: 1.9; background: var(--qd-bc9f330, oklch(0.97 0.03 85)); color: var(--qd-fb2a1de, oklch(0.42 0.09 70)); }
.qi-oe-note.is-ok { background: var(--qd-bc19d04, oklch(0.96 0.03 155)); color: var(--qd-ff30e90, oklch(0.38 0.1 155)); }
.qi-oe-note.is-bad { background: var(--qd-b75c89b, oklch(0.96 0.03 25)); color: var(--qd-fe0945e, oklch(0.45 0.15 25)); }
.qi-oe-secs { display: flex; flex-direction: column; gap: 8px; }
.qi-oe-sec { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 12px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: inherit; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; text-align: right; }
.qi-oe-sec:hover, .qi-oe-sec:focus-visible { border-color: oklch(0.52 0.17 45); outline: none; }
.qi-oe-badge { flex: none; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: var(--qd-bd1ef5f, oklch(0.94 0.05 85)); color: var(--qd-f78a826, oklch(0.45 0.1 70)); }
.qi-oe-form { display: flex; flex-direction: column; gap: 14px; }
.qi-oe-form h3 { margin: 0; font-size: 15px; font-weight: 800; }
.qi-oe-form select, .qi-report-field select { font: inherit; font-size: 15px; font-weight: 400; padding: 9px 10px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 10px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: inherit; }
.qi-oe-form .qi-report-field input, .qi-oe-form .qi-report-field textarea { font-size: 15px; }
.qi-oe-ltr { direction: ltr; text-align: left; }
.qi-oe-phone { display: grid; grid-template-columns: 1fr auto; gap: 6px; padding: 10px; border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 10px; }
.qi-oe-phone input, .qi-oe-phone select { font: inherit; font-size: 15px; padding: 8px 10px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 8px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: inherit; min-width: 0; }
.qi-oe-phone-row { display: flex; gap: 6px; grid-column: 1 / -1; align-items: center; flex-wrap: wrap; font-size: 12.5px; font-weight: 600; }
.qi-oe-phone-row > input { flex: 1 1 120px; }
.qi-oe-x { width: 30px; height: 30px; border: 0; border-radius: 999px; background: var(--qd-ba67e48, oklch(0.94 0.01 90)); color: var(--qd-f9b7005, oklch(0.4 0.02 90)); cursor: pointer; font-size: 18px; line-height: 1; }
.qi-oe-add { align-self: flex-start; padding: 8px 12px; border: 1.5px dashed var(--qd-b9fa675, oklch(0.85 0.02 90)); border-radius: 10px; background: none; font: inherit; font-size: 13px; font-weight: 600; color: var(--qd-f047361, oklch(0.45 0.1 195)); cursor: pointer; }
.qi-oe-day { display: flex; flex-direction: column; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--qd-bdcc825, oklch(0.94 0.006 90)); }
.qi-oe-day-head { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; }
.qi-oe-day-head span { flex: 0 0 76px; }
.qi-oe-day-head select { flex: 1; }
.qi-oe-range { display: flex; align-items: center; gap: 6px; font-size: 12.5px; padding-right: 84px; }
.qi-oe-range input { width: 84px; font: inherit; font-size: 15px; padding: 7px 8px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 8px; background: var(--qd-b34a04f, oklch(0.99 0.003 90)); color: inherit; direction: ltr; text-align: center; }
.qi-oe-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; }
.qi-oe-terms { max-height: 220px; overflow: auto; border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); border-radius: 10px; padding: 4px 8px; }
.qi-oe-terms label { display: flex; gap: 8px; align-items: baseline; padding: 5px 0; font-size: 13.5px; font-weight: 500; }
.qi-oe-terms small { color: var(--qd-fc66670, oklch(0.6 0.02 90)); font-size: 11.5px; }
.qi-oe-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.qi-oe-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; background: var(--qd-b0e605d, oklch(0.95 0.03 60)); color: var(--qd-f51f0db, oklch(0.42 0.13 45)); font-size: 12.5px; font-weight: 600; border: 0; font-family: inherit; cursor: pointer; }
.qi-oe-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px; }
.qi-oe-thumb { position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--qd-b337b49, oklch(0.95 0.005 90)); }
.qi-oe-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qi-oe-thumb.is-off img { opacity: 0.25; }
.qi-oe-thumb button { position: absolute; top: 4px; left: 4px; width: 26px; height: 26px; border: 0; border-radius: 999px; background: oklch(0.2 0.02 90 / 0.7); color: oklch(1 0 0); cursor: pointer; font-size: 15px; line-height: 1; }
.qi-oe-logo { width: 96px; height: 96px; border-radius: 14px; object-fit: contain; background: var(--qd-bdad902, oklch(0.97 0.004 90)); border: 1px solid var(--qd-be338f5, oklch(0.92 0.008 90)); }
.qi-oe-map { height: 240px; border-radius: 10px; border: 1px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); direction: ltr; z-index: 0; }
.qi-oe-actions { display: flex; gap: 8px; }
.qi-oe-actions .qi-report-submit { flex: 1; }
.qi-oe-ghost { padding: 12px 16px; border: 1.5px solid var(--qd-bd57bc7, oklch(0.9 0.01 90)); border-radius: 10px; background: none; font: inherit; font-size: 14px; font-weight: 700; color: inherit; cursor: pointer; }
.qi-oe-hint { margin: -6px 0 0; font-size: 12px; color: var(--qd-fb83294, oklch(0.58 0.02 90)); line-height: 1.8; }
