/*
 * Futsal Maniax / kosal-travel final design base v0.7.6
 * Theme-integrated version. No emergency plugin dependency.
 * Scope: /kosal-travel/ and /kosal-travel/* only via .fm-kosal.
 */
:root {
  --fm-kosal-black: #05080d;
  --fm-kosal-panel: #0b111a;
  --fm-kosal-navy: #111827;
  --fm-kosal-yellow: #ffe500;
  --fm-kosal-yellow-2: #ffd400;
  --fm-kosal-yellow-soft: #fff9bf;
  --fm-kosal-white: #ffffff;
  --fm-kosal-bg: #f4f6f1;
  --fm-kosal-gray: #f3f5f8;
  --fm-kosal-line: rgba(15, 23, 42, .10);
  --fm-kosal-text: #111827;
  --fm-kosal-muted: #64748b;
  --fm-kosal-shadow: 0 18px 46px rgba(15, 23, 42, .09);
}
body.fm-kosal-page-scope { background: var(--fm-kosal-bg) !important; }
body.fm-kosal-page-scope .fm-page-hero:not(.fm-kosal-travel-hero),
body.fm-kosal-page-scope .fm-fixed-page__body,
body.fm-kosal-page-scope .fm-fixed-page__article,
body.fm-kosal-page-scope .fm-fixed-page__content { display: none !important; }
.fm-kosal, .fm-kosal *, .fm-kosal *::before, .fm-kosal *::after { box-sizing: border-box; }
.fm-kosal { color: var(--fm-kosal-text); background: var(--fm-kosal-bg); font-feature-settings: "palt"; }
.fm-kosal a:not(.fm-kosal-btn):not(.fm-kosal-prefecture-card):not(.fm-kosal-pref-link):not(.fm-kosal-route-card):not(.fm-kosal-related-link):not(.fm-kosal-area-button) { color: #111827; text-decoration: underline; text-decoration-color: var(--fm-kosal-yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.fm-kosal-travel-hero { position: relative; isolation: isolate; overflow: hidden; margin: 0 auto; padding: clamp(66px, 8vw, 112px) 20px clamp(58px, 7vw, 92px); background: radial-gradient(circle at 84% 26%, rgba(255, 229, 0, .22), transparent 28%), linear-gradient(135deg, #03070b 0%, #0b111a 52%, #121a27 100%); color: #fff; border-bottom: 1px solid rgba(255, 229, 0, .42); }
.fm-kosal-travel-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, rgba(255,255,255,.05) 0 1px, transparent 1px 120px), linear-gradient(25deg, transparent 0 64%, rgba(255,229,0,.11) 64% 66%, transparent 66%); opacity: .75; }
.fm-kosal-travel-hero::after { content: "FUTSAL TRAVEL KOSAL"; position: absolute; right: 6vw; bottom: 6%; z-index: -1; max-width: 460px; color: rgba(255, 229, 0, .09); font-size: clamp(46px, 8vw, 112px); line-height: .86; font-weight: 1000; letter-spacing: -.08em; text-align: right; }
.fm-kosal-travel-hero__inner { width: min(1120px, calc(100% - 0px)); margin: 0 auto; }
.fm-kosal-travel-hero__label, .fm-kosal-section__label { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--fm-kosal-yellow) !important; font-size: 12px; font-weight: 1000; letter-spacing: .16em; text-transform: uppercase; }
.fm-kosal-travel-hero__label::before, .fm-kosal-section__label::before { content: ""; width: 34px; height: 2px; background: var(--fm-kosal-yellow); }
.fm-kosal-travel-hero__title { max-width: 900px; margin: 0 !important; color: #fff !important; font-size: clamp(36px, 5.2vw, 68px) !important; line-height: 1.12 !important; letter-spacing: -.065em; font-weight: 1000; text-wrap: balance; }
.fm-kosal-travel-page--gunma .fm-kosal-travel-hero__title { max-width: 980px; font-size: clamp(31px, 4.7vw, 58px) !important; }
.fm-kosal-travel-hero__lead { max-width: 760px; margin: 22px 0 0 !important; color: rgba(255, 255, 255, .88) !important; font-size: clamp(15px, 1.6vw, 18px); line-height: 1.95; font-weight: 750; }
.fm-kosal-travel-hero__actions, .fm-kosal-facility-card__actions, .fm-kosal-owner-cta__actions, .fm-kosal-related-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.fm-kosal .fm-kosal-btn, .fm-kosal .fm-kosal-related-link, .fm-kosal a.fm-kosal-btn, .fm-kosal a.fm-kosal-related-link, .fm-kosal button.fm-kosal-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 46px !important; padding: 0 20px !important; border-radius: 999px !important; border: 2px solid transparent !important; font-size: 14px !important; font-weight: 1000 !important; line-height: 1.2 !important; text-decoration: none !important; box-shadow: none; transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease; -webkit-text-fill-color: currentColor !important; }
.fm-kosal .fm-kosal-btn *, .fm-kosal .fm-kosal-related-link *, .fm-kosal .fm-kosal-btn__label { color: inherit !important; -webkit-text-fill-color: currentColor !important; text-decoration: none !important; text-shadow: none !important; }
.fm-kosal .fm-kosal-btn:hover, .fm-kosal .fm-kosal-related-link:hover { transform: translateY(-1px); }
.fm-kosal .fm-kosal-btn--primary { background: var(--fm-kosal-yellow) !important; border-color: var(--fm-kosal-yellow) !important; color: #05080d !important; -webkit-text-fill-color: #05080d !important; }
.fm-kosal .fm-kosal-btn--primary:hover { background: var(--fm-kosal-yellow-2) !important; border-color: var(--fm-kosal-yellow-2) !important; color: #05080d !important; }
.fm-kosal .fm-kosal-btn--secondary, .fm-kosal .fm-kosal-btn--sub, .fm-kosal .fm-kosal-related-link--dark, .fm-kosal .fm-kosal-facility-table__actions .fm-kosal-btn { background: #05080d !important; border-color: #05080d !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.fm-kosal .fm-kosal-btn--secondary:hover, .fm-kosal .fm-kosal-btn--sub:hover, .fm-kosal .fm-kosal-related-link--dark:hover, .fm-kosal .fm-kosal-facility-table__actions .fm-kosal-btn:hover { background: var(--fm-kosal-yellow) !important; border-color: var(--fm-kosal-yellow) !important; color: #05080d !important; -webkit-text-fill-color: #05080d !important; }
.fm-kosal .fm-kosal-btn--correction, .fm-kosal .fm-kosal-related-link { background: #fff !important; border-color: #05080d !important; color: #05080d !important; -webkit-text-fill-color: #05080d !important; }
.fm-kosal .fm-kosal-btn--correction:hover, .fm-kosal .fm-kosal-related-link:hover { background: var(--fm-kosal-yellow) !important; border-color: var(--fm-kosal-yellow) !important; color: #05080d !important; }
.fm-kosal .fm-kosal-btn--ghost, .fm-kosal .fm-kosal-travel-hero .fm-kosal-btn--ghost { background: transparent !important; border-color: rgba(255, 255, 255, .72) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.fm-kosal .fm-kosal-btn--ghost:hover { border-color: var(--fm-kosal-yellow) !important; color: var(--fm-kosal-yellow) !important; -webkit-text-fill-color: var(--fm-kosal-yellow) !important; }
.fm-kosal-travel-container, .fmx-v3-fixed-page .fm-kosal-travel-container { width: min(1120px, calc(100% - 40px)); max-width: 1120px; margin: 0 auto; padding: clamp(42px, 5vw, 64px) 0 clamp(58px, 7vw, 90px); }
.fm-kosal-travel-section, .fm-kosal-facility-section { margin: 0 0 clamp(52px, 6vw, 78px) !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.fm-kosal-travel-section > h2, .fm-kosal-facility-section > h2, .fm-kosal-faq > h2 { position: relative; margin: 0 0 16px !important; padding-left: 18px !important; color: #080d14 !important; font-size: clamp(25px, 3vw, 38px) !important; line-height: 1.25 !important; letter-spacing: -.045em; font-weight: 1000; }
.fm-kosal-travel-section > h2::before, .fm-kosal-facility-section > h2::before, .fm-kosal-faq > h2::before { content: ""; position: absolute; left: 0; top: .18em; width: 5px; height: 1.25em; border-radius: 999px; background: var(--fm-kosal-yellow); }
.fm-kosal-travel-section > p, .fm-kosal-facility-section__lead, .fm-kosal-faq > p { max-width: 840px; color: var(--fm-kosal-muted); line-height: 1.95; font-weight: 650; }
.fm-kosal-travel-intro, .fm-kosal-notice { margin: 26px 0 0 !important; padding: 18px 20px !important; border: 1px solid rgba(255, 229, 0, .45) !important; border-left: 6px solid var(--fm-kosal-yellow) !important; border-radius: 16px !important; background: #fffbea !important; color: #463800 !important; line-height: 1.85; font-weight: 750; }
.fm-kosal-prefecture-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.fm-kosal-prefecture-card { position: relative; display: block; overflow: hidden; min-height: 0; padding: 20px 18px 18px; border: 1px solid rgba(15, 23, 42, .10); border-radius: 18px; background: radial-gradient(circle at 92% 82%, rgba(255,229,0,.25) 0 18%, transparent 18% 22%, rgba(255,229,0,.15) 22% 28%, transparent 28%), #fff; color: #111827 !important; text-decoration: none !important; box-shadow: 0 10px 24px rgba(15, 23, 42, .06); }
.fm-kosal-prefecture-card:hover { transform: translateY(-2px); border-color: rgba(255, 229, 0, .85); }
.fm-kosal-prefecture-card__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fm-kosal-prefecture-card__region, .fm-kosal-prefecture-card__status { color: #667085; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.fm-kosal-prefecture-card__name { display: block; margin-top: 12px; color: #07111f; font-size: 28px; line-height: 1.1; font-weight: 1000; }
.fm-kosal-prefecture-card__title { display: block; margin-top: 8px !important; color: #111827 !important; font-size: 17px !important; line-height: 1.45; font-weight: 1000; }
.fm-kosal-prefecture-card__areas { display: block; margin-top: 10px; color: #667085; font-size: 13px; line-height: 1.7; }
.fm-kosal-prefecture-card__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; width: fit-content; margin-top: 16px; padding: 0 16px; border-radius: 999px; background: var(--fm-kosal-yellow); color: #05080d !important; font-size: 13px; font-weight: 1000; }
.fm-kosal-pref-links { display: block; margin-top: 30px; border-top: 1px solid rgba(15, 23, 42, .09); }
.fm-kosal-pref-links__group { display: grid; grid-template-columns: 164px minmax(0, 1fr); align-items: center; gap: 18px; padding: 18px 0; border-bottom: 1px solid rgba(15, 23, 42, .09); }
.fm-kosal-pref-links__title { margin: 0 !important; color: #07111f !important; font-size: 18px !important; line-height: 1.35; font-weight: 1000; }
.fm-kosal-pref-links__items { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; }
.fm-kosal-pref-link { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--fm-kosal-line); background: #fff; color: #111827 !important; font-size: 13px; font-weight: 900; line-height: 1; text-decoration: none !important; }
.fm-kosal-pref-link--active { background: var(--fm-kosal-yellow); border-color: var(--fm-kosal-yellow); color: #05080d !important; box-shadow: 0 8px 18px rgba(255, 229, 0, .24); }
.fm-kosal-pref-link--disabled { background: #eef0f3; border-color: #eef0f3; color: #6b7280 !important; }
.fm-kosal-step-list, .fm-kosal-route-grid, .fm-kosal-area-actions, .fm-kosal-facility-grid, .fm-kosal-check-panel { display: grid; gap: 16px; margin-top: 30px; }
.fm-kosal-step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fm-kosal-step { position: relative; min-height: 150px; padding: 22px 20px 20px 68px; border: 1px solid rgba(15, 23, 42, .08); border-radius: 18px; background: linear-gradient(180deg, #fff, #fbfcfd); box-shadow: 0 10px 26px rgba(15, 23, 42, .05); }
.fm-kosal-step__num { position: absolute; left: 18px; top: 20px; width: 36px; height: 36px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: var(--fm-kosal-yellow); color: #05080d; font-size: 12px; font-weight: 1000; letter-spacing: 0; }
.fm-kosal-step__title { margin: 0 !important; color: #101828 !important; font-size: 18px !important; line-height: 1.45; font-weight: 1000; }
.fm-kosal-step__text { margin: 10px 0 0 !important; color: var(--fm-kosal-muted); line-height: 1.8; }
.fm-kosal-area-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fm-kosal-area-button { display: block; min-height: 170px; padding: 20px; border: 1px solid rgba(15, 23, 42, .08); border-top: 5px solid var(--fm-kosal-yellow); border-radius: 18px; background: #fff; color: #111827 !important; text-decoration: none !important; box-shadow: 0 10px 24px rgba(15, 23, 42, .05); }
.fm-kosal-area-button strong { display: block; color: #111827; font-size: 19px; font-weight: 1000; }
.fm-kosal-area-button span { display: block; margin-top: 10px; color: var(--fm-kosal-muted); line-height: 1.75; }
.fm-kosal-area-button em { display: block; margin-top: 12px; color: #856800; font-style: normal; font-weight: 1000; text-decoration: underline; text-decoration-color: var(--fm-kosal-yellow); text-decoration-thickness: 2px; }
.fm-kosal-facility-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fm-kosal-facility-card, .fm-kosal-route-card { display: block; padding: 22px; border: 1px solid rgba(15, 23, 42, .10); border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(15, 23, 42, .06); color: #111827 !important; text-decoration: none !important; }
.fm-kosal-facility-card__labels { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fm-kosal-facility-card__area, .fm-kosal-route-card__label, .fm-kosal-table-status { display: inline-flex; align-items: center; width: fit-content; min-height: 26px; padding: 0 10px; border-radius: 999px; background: var(--fm-kosal-yellow); color: #05080d !important; font-size: 12px; font-weight: 1000; }
.fm-kosal-facility-card__status { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; background: #eef0f3; color: #475467; font-size: 12px; font-weight: 900; }
.fm-kosal-facility-card__title, .fm-kosal-route-card h3 { margin: 14px 0 0 !important; color: #111827 !important; font-size: 20px !important; line-height: 1.4; font-weight: 1000; }
.fm-kosal-facility-card__body, .fm-kosal-facility-card__note, .fm-kosal-route-card p { color: var(--fm-kosal-muted); line-height: 1.8; }
.fm-kosal-facility-card__note { padding: 10px 12px; border-radius: 12px; background: #f8fafc; font-size: 13px; }
.fm-kosal-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fm-kosal-route-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fm-kosal-route-card__action { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; width: fit-content; margin-top: 14px; padding: 0 16px; border-radius: 999px; background: #05080d; color: #fff !important; font-size: 13px; font-weight: 1000; -webkit-text-fill-color: #fff !important; }
.fm-kosal-route-card:hover .fm-kosal-route-card__action { background: var(--fm-kosal-yellow); color: #05080d !important; -webkit-text-fill-color: #05080d !important; }
.fm-kosal-facility-table-wrap { overflow-x: auto; margin-top: 26px; border: 1px solid var(--fm-kosal-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 28px rgba(15, 23, 42, .05); }
.fm-kosal-facility-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; }
.fm-kosal-facility-table th { background: #05080d; color: #fff; text-align: left; padding: 14px 16px; font-weight: 1000; white-space: nowrap; }
.fm-kosal-facility-table td { padding: 14px 16px; border-top: 1px solid var(--fm-kosal-line); vertical-align: middle; line-height: 1.7; }
.fm-kosal-facility-table td a:not(.fm-kosal-btn) { color: #111827 !important; text-decoration-color: var(--fm-kosal-yellow); }
.fm-kosal-facility-table__actions .fm-kosal-btn { min-height: 38px !important; padding: 0 15px !important; font-size: 12px !important; white-space: nowrap; }
.fm-kosal-check-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 !important; list-style: none !important; }
.fm-kosal-check-panel li { position: relative; padding: 16px 18px 16px 48px; border: 1px solid rgba(15, 23, 42, .08); border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(15, 23, 42, .04); line-height: 1.7; font-weight: 750; }
.fm-kosal-check-panel li::before { content: "✓"; position: absolute; left: 16px; top: 16px; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--fm-kosal-yellow); color: #05080d; font-size: 13px; font-weight: 1000; }
.fm-kosal-owner-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; margin: clamp(50px, 6vw, 78px) 0; padding: clamp(28px, 5vw, 48px); border-radius: 30px; background: radial-gradient(circle at 88% 10%, rgba(255, 229, 0, .22), transparent 34%), linear-gradient(135deg, #05080d, #111827); color: #fff; box-shadow: 0 28px 74px rgba(0, 0, 0, .22); }
.fm-kosal-owner-cta h2 { margin: 0 0 12px !important; color: #fff !important; font-size: clamp(24px, 3vw, 36px) !important; line-height: 1.3; font-weight: 1000; }
.fm-kosal-owner-cta p { margin: 0 !important; color: rgba(255, 255, 255, .82) !important; line-height: 1.9; }
.fm-kosal-owner-cta .fm-kosal-btn--secondary, .fm-kosal-owner-cta .fm-kosal-btn--ghost { background: transparent !important; border-color: rgba(255, 255, 255, .78) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.fm-kosal-owner-cta .fm-kosal-btn--secondary:hover, .fm-kosal-owner-cta .fm-kosal-btn--ghost:hover { border-color: var(--fm-kosal-yellow) !important; color: var(--fm-kosal-yellow) !important; -webkit-text-fill-color: var(--fm-kosal-yellow) !important; }
.fm-kosal-faq { margin: clamp(50px, 6vw, 78px) 0 0; padding: clamp(24px, 4vw, 36px); border: 1px solid var(--fm-kosal-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 34px rgba(15, 23, 42, .045); }
.fm-kosal-faq__item { display: block; border-bottom: 1px solid rgba(15, 23, 42, .08); }
.fm-kosal-faq__item:last-child { border-bottom: 0; }
.fm-kosal-faq__item summary { list-style: none; cursor: pointer; position: relative; padding: 18px 56px 18px 30px; color: #111827; font-size: 17px; font-weight: 1000; }
.fm-kosal-faq__item summary::-webkit-details-marker { display: none; }
.fm-kosal-faq__item summary::before { content: "Q"; position: absolute; left: 0; top: 18px; color: #c79a00; font-weight: 1000; }
.fm-kosal-faq__item summary::after { content: "+"; position: absolute; right: 0; top: 50%; width: 30px; height: 30px; border-radius: 999px; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; background: #05080d; color: var(--fm-kosal-yellow); font-weight: 1000; }
.fm-kosal-faq__item[open] summary::after { content: "−"; }
.fm-kosal-faq__item p { margin: 0 !important; padding: 0 0 18px 30px; color: var(--fm-kosal-muted); line-height: 1.9; }
@media (max-width: 1080px) { .fm-kosal-prefecture-grid, .fm-kosal-facility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fm-kosal-area-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fm-kosal-owner-cta { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .fm-kosal-travel-hero { padding: 54px 18px 50px; } .fm-kosal-travel-hero::after { right: 18px; bottom: 18px; font-size: 48px; } .fm-kosal-travel-container, .fmx-v3-fixed-page .fm-kosal-travel-container { width: min(100% - 28px, 1120px); padding-top: 36px; } .fm-kosal-travel-hero__actions, .fm-kosal-owner-cta__actions, .fm-kosal-facility-card__actions, .fm-kosal-related-links { display: grid; grid-template-columns: 1fr; } .fm-kosal .fm-kosal-btn, .fm-kosal .fm-kosal-related-link { width: 100% !important; } .fm-kosal-prefecture-grid, .fm-kosal-step-list, .fm-kosal-route-grid, .fm-kosal-route-grid--three, .fm-kosal-area-actions, .fm-kosal-facility-grid, .fm-kosal-check-panel { grid-template-columns: 1fr; } .fm-kosal-pref-links__group { grid-template-columns: 1fr; gap: 12px; align-items: start; } .fm-kosal-pref-links__items { gap: 8px; } .fm-kosal-facility-table { min-width: 760px; } }


/* =========================================================
 * FMX Kosal CSS polish v0.8.1
 * Final visual adjustment after template/CSS route confirmed.
 * ========================================================= */

/* overall rhythm */
.fm-kosal-parent .fm-kosal-travel-container {
  padding-top: 34px;
}

.fm-kosal-parent .fm-kosal-travel-section,
.fm-kosal-prefecture .fm-kosal-travel-section,
.fm-kosal-prefecture .fm-kosal-facility-section {
  margin-bottom: clamp(58px, 6vw, 86px) !important;
}

.fm-kosal-travel-section > h2,
.fm-kosal-facility-section > h2,
.fm-kosal-faq > h2 {
  margin-bottom: 18px !important;
  letter-spacing: -0.04em;
}

.fm-kosal-travel-section > p,
.fm-kosal-facility-section__lead,
.fm-kosal-faq > p {
  color: #546174;
  font-size: 15.5px;
}

/* hero balance */
.fm-kosal-travel-page--gunma .fm-kosal-travel-hero {
  padding-top: clamp(56px, 7vw, 86px);
  padding-bottom: clamp(52px, 6vw, 78px);
}

.fm-kosal-travel-page--gunma .fm-kosal-travel-hero__lead {
  max-width: 700px;
}

.fm-kosal-travel-hero::after {
  opacity: .82;
}

/* published guide cards: a little stronger and cleaner */
.fm-kosal-parent .fm-kosal-prefecture-grid {
  gap: 20px;
  margin-top: 32px;
}

.fm-kosal-parent .fm-kosal-prefecture-card {
  padding: 22px 20px 20px;
  border: 1px solid rgba(15, 23, 42, .14);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.fm-kosal-parent .fm-kosal-prefecture-card__name {
  font-size: 30px;
}

.fm-kosal-parent .fm-kosal-prefecture-card__title {
  line-height: 1.38 !important;
}

.fm-kosal-parent .fm-kosal-prefecture-card__areas {
  color: #566173;
}

.fm-kosal-parent .fm-kosal-prefecture-card__cta {
  min-height: 40px;
  padding-inline: 18px;
}

/* region list: keep current structure but improve scanability */
.fm-kosal-pref-links__group {
  padding: 21px 0;
}

.fm-kosal-pref-links__title {
  color: #0f172a !important;
}

.fm-kosal-pref-link--active {
  box-shadow: 0 8px 18px rgba(255, 229, 0, .32);
}

.fm-kosal-pref-link--disabled {
  color: #7b8494 !important;
}

/* step cards */
.fm-kosal-step {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfd 100%);
  border-color: rgba(15, 23, 42, .10);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .055);
}

.fm-kosal-step__title {
  font-size: 19px !important;
}

.fm-kosal-step__text {
  color: #5f6b7a;
}

/* area cards on prefecture pages */
.fm-kosal-area-button {
  padding: 22px;
}

.fm-kosal-area-button span {
  line-height: 1.84;
}

.fm-kosal-area-button em {
  margin-top: 15px;
}

/* checklist strength */
.fm-kosal-check-panel li {
  border: 1px solid rgba(15, 23, 42, .11);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .045);
}

.fm-kosal-check-panel li::before {
  background: #ffe500;
}

/* facility cards: align actions and improve card consistency */
.fm-kosal-facility-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.fm-kosal-facility-card__body {
  flex: 1 1 auto;
}

.fm-kosal-facility-card__note {
  background: #f5f7fb;
}

.fm-kosal-facility-card__actions {
  margin-top: auto;
  padding-top: 15px;
}

/* table readability */
.fm-kosal-facility-table td {
  padding: 16px 16px;
  line-height: 1.82;
}

.fm-kosal-facility-table__actions .fm-kosal-btn {
  min-height: 40px !important;
  padding: 0 17px !important;
}

/* route cards */
.fm-kosal-route-card {
  padding: 24px;
  border-color: rgba(15, 23, 42, .12);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
}

.fm-kosal-route-card h3 {
  margin-top: 12px !important;
  font-size: 21px !important;
}

.fm-kosal-route-card__action {
  margin-top: 18px;
}

/* owner CTA */
.fm-kosal-owner-cta {
  box-shadow: 0 30px 82px rgba(0, 0, 0, .24);
}

.fm-kosal-owner-cta__actions {
  gap: 14px;
}

.fm-kosal .fm-kosal-btn,
.fm-kosal .fm-kosal-related-link {
  min-height: 48px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

/* FAQ: stronger affordance */
.fm-kosal-faq {
  border-color: rgba(15, 23, 42, .12);
  box-shadow: 0 16px 38px rgba(15, 23, 42, .055);
}

.fm-kosal-travel-page--gunma .fm-kosal-faq {
  margin-top: 64px;
}

.fm-kosal-faq__item summary {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 64px;
}

.fm-kosal-faq__item summary::after {
  width: 34px;
  height: 34px;
  font-size: 18px;
}

/* mobile polish */
@media (max-width: 768px) {
  .fm-kosal-parent .fm-kosal-travel-container {
    padding-top: 28px;
  }

  .fm-kosal-parent .fm-kosal-prefecture-card {
    padding: 20px;
  }

  .fm-kosal-step {
    min-height: auto;
  }

  .fm-kosal-faq__item summary {
    padding-right: 52px;
  }
}


/* v0.9.0: data-managed facility pending states */
.fm-kosal-facility-card__pending {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin: .15rem 0 .35rem;
}
.fm-kosal-facility-card__pending span,
.fm-kosal-table-pending {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(17, 24, 39, .14);
  border-radius: 999px;
  padding: .38rem .62rem;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  background: rgba(255, 255, 255, .86);
  color: #334155;
}
.fm-kosal-facility-table__actions .fm-kosal-table-pending {
  white-space: nowrap;
}
