/*
 * CACHE-BUST / TOKYO-9 STRUCTURE GUARD · 2026-09-13 10:06 KST
 * Hero -> travel tips -> event schedule.
 * This filename is intentionally new so browsers/CDN cannot reuse the earlier Okinawa UX CSS.
 */
.detail-page{display:block!important}
.detail-page>.detail-header-card,
.detail-page>.month-check-section,
.detail-page>.travel-calendar-section,
.detail-page>.climate-section,
.detail-page>.history-section,
.detail-page>.season-guide-section,
.detail-page>.forecast-section,
.detail-page>.currency-section,
.detail-page>.seo-month-directory,
.detail-page>.seo-related{order:initial!important}

/*
 * TWF Okinawa latest-structure patch · 2026-09-13
 * Scope: /okinawa/ + Jan/Feb/Oct/Nov/Dec only.
 * H1/title/meta/canonical/hreflang/URL are intentionally preserved.
 */

/* ---------- Okinawa hub ---------- */
.city-hub{max-width:1120px}
.city-hub-hero{padding:26px 28px;border-color:#e2e8f0;box-shadow:0 7px 24px rgba(32,52,76,.045)}
.city-hub .detail-country{font-weight:900;color:#315f96}
.city-hub h1{color:#17212b;line-height:1.2}
.city-hub-summary{max-width:860px;margin-top:13px;color:#28323d;font-size:16px;font-weight:700;line-height:1.75}
.hub-highlight{color:#17212b;font-weight:950;background:linear-gradient(transparent 56%,rgba(255,225,92,.62) 56%,rgba(255,225,92,.62) 92%,transparent 92%);padding:0 .04em}
.hub-month-guide{margin-top:15px;padding:15px 17px;border:1px solid #eadfbf;border-radius:14px;background:linear-gradient(135deg,#fffdf3 0%,#f8fbff 100%);color:#28323d}
.hub-month-guide-title{color:#17212b;font-size:16px;font-weight:950}
.hub-month-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin:10px 0 0;padding:0;list-style:none}
.hub-month-guide-list li{position:relative;padding-left:18px;color:#2f3b48;font-size:14px;font-weight:750;line-height:1.55}
.hub-month-guide-list li:before{content:'✓';position:absolute;left:0;color:#3c78b3;font-weight:950}
.city-search-intent-summary{margin:13px 0 0;color:#35404c;font-size:14px;font-weight:700;line-height:1.65}
.city-hub-representative{width:min(100%,820px);height:185px;margin-top:18px;border-radius:16px;box-shadow:0 7px 22px rgba(20,36,56,.08)}
.city-hub .seo-month-directory,.city-hub .seo-related{border-color:#e2e8f0;box-shadow:0 5px 18px rgba(32,52,76,.035)}
.city-hub .seo-section-title{color:#17212b;font-size:22px}
.city-hub .seo-section-sub{color:#3f4a56;font-size:14px;font-weight:650;line-height:1.55}
.city-hub .city-month-card{min-height:138px;padding:16px;border-color:#dfe5eb;border-radius:13px;box-shadow:0 2px 8px rgba(35,52,70,.025)}
.city-hub .city-month-card strong{color:#17212b;font-size:18px}
.city-hub .city-month-card span{font-size:12px}
.city-hub .city-month-card p{color:#303a45;font-size:13px;font-weight:650;line-height:1.62}
.city-hub .seo-city-link{min-height:43px;display:flex;align-items:center;justify-content:center;color:#253240;font-size:14px}

/* ---------- Latest monthly structure ---------- */
.month-check-section{margin-top:14px;padding:20px 22px;background:linear-gradient(135deg,#fffaf7 0%,#f8fbff 100%);border:1px solid #f0ded6;border-radius:14px;box-shadow:0 5px 18px rgba(46,62,82,.035)}
.month-check-eyebrow{color:#e46f50;font-size:15px;font-weight:950}
.month-check-title{margin:5px 0 0;font-size:25px;font-weight:950;letter-spacing:-.35px;color:#1f2937;line-height:1.28}
.okinawa-tip-line{display:block}
.month-check-lead{margin:10px 0 0;color:#35404c;font-size:17px;line-height:1.78;font-weight:700}
.month-check-lead strong{color:#17212b;font-weight:950;background:linear-gradient(transparent 56%,rgba(255,225,92,.62) 56%,rgba(255,225,92,.62) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .06em}
.month-check-break{display:block;content:'';margin-top:7px}
.month-check-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.month-check-chips span{display:inline-flex;align-items:center;min-height:31px;padding:5px 9px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#364252;font-size:14px;font-weight:900}
.month-check-advice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}
.month-check-advice div{padding:12px 13px;border-radius:11px;background:rgba(255,255,255,.82);border:1px solid #e7eaee;display:flex;flex-direction:column;gap:4px}
.month-check-advice strong{font-size:14px;color:#315f96;font-weight:950}
.month-check-advice span{font-size:15px;line-height:1.62;color:#46515e;font-weight:700}
.month-check-footnote{margin:11px 0 0;color:#20262d;font-size:14px;line-height:1.55;font-weight:700}

.travel-calendar-section{margin-top:14px}
.travel-calendar-hook{display:inline-block;margin-right:4px;padding:2px 7px;border-radius:7px;background:#fff0e8;color:#b65336;font-weight:950;letter-spacing:-.1px}
.travel-calendar-month-badge{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:#fff;color:#6b7280;font-size:10px;font-weight:900;border:1px solid rgba(0,0,0,.06)}
.travel-calendar-card.featured-event-card{background:linear-gradient(135deg,#fff9ed 0%,#fffdf8 100%);border-color:#f1dfb3;box-shadow:0 7px 22px rgba(126,86,22,.06)}
.featured-event-card .travel-calendar-label{color:#c94f2e;font-size:14px;font-weight:950}
.featured-event-card .travel-calendar-month-badge{background:#e96b48;color:#fff;border-color:#e96b48;font-size:11px;font-weight:950}
.next-month-event-card .travel-calendar-label{color:#2f6fae;font-size:14px;font-weight:950}
.next-month-event-card .travel-calendar-month-badge{background:#397bc0;color:#fff;border-color:#397bc0;font-size:11px;font-weight:950}
.travel-calendar-card-title{font-size:20px;font-weight:950;color:#17212b}
.travel-calendar-subtitle,.travel-calendar-card p,.travel-calendar-note{color:#20262d!important}
.travel-calendar-card p{font-size:14px!important;line-height:1.68!important}
.travel-calendar-note{font-size:14px!important;line-height:1.62!important}
.featured-event-card .travel-calendar-period{display:inline-block;max-width:100%;box-sizing:border-box;margin-top:9px;padding:7px 10px;border-radius:9px;background:#fff0e7;border:1px solid #ffd2bd;color:#a94f2e;font-size:13px;font-weight:950;line-height:1.5;word-break:keep-all}
.next-month-event-card .travel-calendar-period{display:inline-block;max-width:100%;box-sizing:border-box;margin-top:9px;padding:7px 10px;border-radius:9px;background:#edf6ff;border:1px solid #cfe4fb;color:#356d9f;font-size:13px;font-weight:950;line-height:1.5;word-break:keep-all}
.year-highlight{display:inline-block!important;white-space:nowrap!important;margin:0 3px 0 2px!important;padding:0 .08em;color:#111827!important;font-weight:950!important;background:linear-gradient(transparent 52%,rgba(255,225,92,.72) 52%,rgba(255,225,92,.72) 94%,transparent 94%)}
.travel-calendar-more-button{width:100%;margin-top:14px;min-height:43px;border:1px solid #d9e4f3;border-radius:11px;background:#fff;color:#2f67aa;font-size:13px;font-weight:950;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s,transform .15s}
.travel-calendar-more-button:hover{background:#f5f9ff;border-color:#b8cfee}
.travel-calendar-more-button:active{transform:translateY(1px)}
.travel-calendar-more-icon{font-size:18px;line-height:1;transition:transform .18s}
.travel-calendar-more-button[aria-expanded='true']{background:#edf6ff;border-color:#9fc5ed;color:#245d9c;box-shadow:0 0 0 3px rgba(57,123,192,.10)}
.travel-calendar-more-button[aria-expanded='true'] .travel-calendar-more-icon{transform:rotate(180deg)}
.travel-calendar-grid.events-open{grid-template-columns:1fr}
.travel-calendar-expanded[hidden]{display:none}
.travel-calendar-grid>.travel-calendar-expanded{grid-column:1/-1;margin-top:0}
.travel-calendar-expanded{margin-top:12px;padding:16px;border:1px solid #dfe6ef;border-radius:14px;background:#f8fafc}
.travel-calendar-expanded-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.travel-calendar-expanded-head strong{display:block;font-size:18px;color:#202a35}
.travel-calendar-expanded-head span{display:block;margin-top:4px;color:#20262d;font-size:13px}
.travel-calendar-open-badge{display:inline-flex!important;margin-top:7px!important;padding:4px 8px;border-radius:999px;background:#e8f3ff;color:#2d669e!important;font-size:11px!important;font-weight:950}
.travel-calendar-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.travel-calendar-extra-card{padding:16px;border:1px solid #e0e6ed;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(25,39,55,.035)}
.travel-calendar-extra-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.event-kind{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef5ff;color:#3b6ea8;font-size:11px;font-weight:900}
.event-date{color:#8b5b24;font-size:12px;font-weight:950;word-break:keep-all;white-space:nowrap}
.travel-calendar-extra-card h3{margin:8px 0 0;font-size:17px;line-height:1.35;color:#1f2937}
.event-place{margin-top:6px;color:#20262d;font-size:12px;font-weight:800}
.travel-calendar-extra-card p{margin:8px 0 0;color:#20262d;font-size:14px;line-height:1.65}
.travel-calendar-extra-card a{display:inline-block;margin-top:10px;color:#326dc1;text-decoration:none;font-size:12px;font-weight:900}
.travel-calendar-risk{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:13px 14px;border:1px solid #f0dfbd;border-radius:11px;background:#fffaf1}
.travel-calendar-risk strong{flex:0 0 auto;color:#765a26;font-size:12px}.travel-calendar-risk span{color:#4b4339;font-size:13px;line-height:1.55}

.season-guide-section-compact{padding:0!important;overflow:hidden;background:#fff!important}
.season-guide-details{background:#fff}
.season-guide-summary-toggle{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer}
.season-guide-summary-toggle::-webkit-details-marker{display:none}
.season-guide-summary-copy{display:flex;flex-direction:column;min-width:0}
.season-guide-preview-text{margin-top:5px;color:#20262d;font-size:13px;line-height:1.45}
.season-guide-toggle-label{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:900}
.season-guide-details[open] .season-guide-toggle-label{font-size:0}.season-guide-details[open] .season-guide-toggle-label::after{content:'접어두기';font-size:12px}
.season-guide-collapsible-body{padding:0 20px 18px;border-top:1px solid #eef0f3}
.season-guide-collapsible-body .season-guide-summary{margin-top:14px;color:#20262d!important}
.season-guide-note{color:#20262d!important}

/* stronger readable secondary copy */
.history-subtitle,.history-note,.climate-subtitle,.seo-section-sub{color:#20262d!important}
.travel-calendar-section,.climate-section,.history-section,.season-guide-section,.forecast-section,.currency-section,.seo-month-directory,.seo-related{border-color:#e2e8f0;box-shadow:0 4px 16px rgba(32,52,76,.028)}

@media(max-width:600px){
  .city-hub{padding:10px}.city-hub-hero{padding:18px 16px}.city-hub h1{font-size:28px;line-height:1.22}.city-hub-summary{font-size:15px;line-height:1.68}
  .hub-month-guide{padding:13px 14px}.hub-month-guide-list{grid-template-columns:1fr;gap:6px}.city-search-intent-summary{font-size:14px}
  .city-hub-representative{height:132px;border-radius:12px;margin-top:14px}.city-hub .seo-month-directory,.city-hub .seo-related{padding:16px 14px}.city-hub .seo-section-title{font-size:20px}.city-hub .city-month-grid{gap:8px}.city-hub .city-month-card{min-height:136px;padding:13px 12px}.city-hub .city-month-card strong{font-size:17px}.city-hub .city-month-card p{font-size:13px;line-height:1.55}
  .month-check-section{padding:17px 15px}.month-check-title{font-size:22px}.month-check-lead{font-size:16px;line-height:1.75}.month-check-advice{grid-template-columns:1fr}.month-check-chips span{font-size:13px}
  .featured-event-card .travel-calendar-label,.next-month-event-card .travel-calendar-label{font-size:13px}.travel-calendar-card-title{font-size:19px}.featured-event-card .travel-calendar-period,.next-month-event-card .travel-calendar-period{font-size:13px;padding:7px 9px}
  .travel-calendar-extra-grid{grid-template-columns:1fr}.travel-calendar-expanded{padding:12px}.travel-calendar-extra-card{padding:13px}.travel-calendar-risk{flex-direction:column;gap:5px}.travel-calendar-more-button{min-height:41px;font-size:12px}
  .season-guide-summary-toggle{padding:16px 15px;align-items:flex-start}.season-guide-toggle-label{margin-top:2px;white-space:nowrap}.season-guide-collapsible-body{padding:0 15px 16px}
}
