
/* =========================================================
   NEXTIER V11.3.3 — MOBILE RESPONSIVE OPTIMIZATION
   Desktop styles intentionally untouched.
========================================================= */
.status-mobile{display:none}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main,section,article,.wrap,.panel,.card,.schedule-app,.category-page,
  .hero-grid,.game-grid,.journey-grid,.class-grid,.process-grid,.faq,
  .coach-showcase,.review-shell,.review-stat-shell,.review-db-list,
  .category-grid,.pricing-table-wrap,.event-content,.rules-grid{
    min-width:0;max-width:100%
  }
  img,video,canvas{max-width:100%}
  p,li,span,strong,h1,h2,h3{overflow-wrap:break-word}
  .wrap{width:calc(100% - 28px)}
  .section{padding:64px 0}
  .section-sm{padding:48px 0}

  /* Global mobile typography / touch targets */
  .eyebrow,.category-kicker{font-size:10.5px}
  .hero-copy,.copy,.category-hero p,.seo-landing-hero p{font-size:15px;line-height:1.72}
  .category-copy{font-size:13.5px;line-height:1.72}
  .journey p,.category-card p,.coach-pro-body p,.battle-copy p,
  .pricing-note,.rule-card p,.rule-card li{font-size:13px;line-height:1.7}
  .btn,.category-actions .btn,.coach-pro-actions a,.coach-pro-actions button,
  .openchat-cta a,.schedule-drawer a{min-height:48px;font-size:13px}
  button,a{-webkit-tap-highlight-color:transparent}

  /* Header / hero / imagery */
  .hero{padding:96px 0 42px}
  .hero-title{font-size:clamp(38px,11.4vw,48px)}
  .hero-stage,.hero-stage>img{min-height:390px}
  .hero-hud{left:9px;right:9px;bottom:9px}
  .hud{padding:11px}
  .hud strong{font-size:15px}
  .game-card,.val-guide-card{min-height:285px}
  .game-copy{left:18px;right:18px;bottom:18px}
  .game-copy h3{font-size:30px}
  .game-copy p{font-size:12.5px}
  .coach-pro-media{height:clamp(330px,105vw,410px)}
  .final-cinema{min-height:540px}
  .final-copy{padding:30px 18px}
  .final-copy p{font-size:14px}
  .category-hero,.seo-landing-hero{padding-top:104px}
  .category-hero h1,.seo-landing-hero h1{font-size:clamp(36px,10.5vw,47px)}
  .category-section{padding:58px 0}
  .category-card{padding:20px}
  .category-card h2,.category-card h3{font-size:25px}

  /* Cards/grids: never force sideways navigation */
  .proof-grid{grid-template-columns:1fr}
  .proof-item{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .proof-item:last-child{border-bottom:0!important}
  .class-card{min-height:auto;padding:22px}
  .class-card h3{margin-top:23px;font-size:31px}
  .class-card li{font-size:13px}
  .process{grid-template-columns:46px 34px minmax(0,1fr)}
  .journey{min-height:auto;padding:22px}
  .journey h3{margin-top:18px}
  .battle-copy{padding:20px}
  .rotation-lab,.zone-map{min-width:0}

  /* FAQ: larger buttons and readable answer; no oversized visual panel */
  .faq{gap:14px}
  .faq-menu{padding:20px}
  .faq-menu h2{font-size:34px}
  .faq-menu p{font-size:13.5px}
  .faq-buttons{grid-template-columns:1fr 1fr;gap:8px}
  .faq-btn{min-height:72px;padding:12px 13px;border-radius:14px}
  .faq-num{font-size:9px}
  .faq-btn strong{font-size:13.5px;margin-top:7px;padding-right:18px}
  .faq-display{padding:22px 18px;min-height:0}
  .faq-display h3{font-size:29px;line-height:1.14}
  .faq-display p{font-size:14px;line-height:1.72}
  .faq-meta span{font-size:10.5px}
  .faq-visual{min-height:150px;margin-top:18px}
  .faq-viz-card{min-height:140px}

  /* PUBLIC SCHEDULE: fit the whole 7-day calendar on one screen */
  .schedule-hero{padding:96px 0 48px}
  .schedule-live{display:grid;grid-template-columns:1fr;gap:7px}
  .schedule-live span{width:100%;padding:10px 11px;font-size:12px}
  .schedule-app{margin-top:20px;border-radius:20px}
  .schedule-toolbar{display:grid;grid-template-columns:1fr;gap:10px;padding:12px}
  .coach-tabs{width:100%;gap:6px}
  .coach-schedule-tab{min-width:0;min-height:46px;padding:0 5px;font-size:11px}
  .month-control{justify-content:space-between;width:100%}
  .month-control button{width:46px;height:46px}
  .month-label{min-width:0;flex:1;font-size:16px}
  .schedule-info{font-size:12px;line-height:1.55;text-align:left}
  .schedule-info b{font-size:12.5px}
  .calendar-wrap{overflow:visible;padding:8px 5px 10px}
  .calendar{width:100%;min-width:0}
  .weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
  .weekdays{margin-bottom:3px}
  .weekdays div{padding:7px 0;border-radius:7px;font-size:9px}
  .day{width:100%;min-width:0;min-height:78px;padding:5px 3px;border-radius:9px}
  .day:not(.empty):hover{transform:none}
  .day .date{font-size:11px}
  .day-status{margin-top:5px;gap:3px}
  .status{min-width:0;padding:4px 1px;border-radius:6px;font-size:8px;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden}
  .status-desktop{display:none}
  .status-mobile{display:inline}
  .schedule-legend{padding:2px 10px 13px;gap:8px;font-size:10.5px;line-height:1.4}
  .schedule-legend span{align-items:flex-start}
  .schedule-drawer{padding:14px;gap:12px}
  .schedule-drawer b{font-size:14px}
  .schedule-drawer p{font-size:12px;line-height:1.55}
  .schedule-note{font-size:12px;line-height:1.65}

  /* Pricing table -> vertical class cards; no 900px horizontal table */
  .pricing-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none;border-radius:0}
  .pricing-table{display:block;width:100%;min-width:0}
  .pricing-table thead{display:none}
  .pricing-table tbody{display:grid;gap:12px}
  .pricing-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 14px 38px rgba(9,50,72,.06)}
  .pricing-table tbody th{grid-column:1/-1;text-align:left;padding:16px 15px;border-bottom:1px solid var(--line);font-size:22px;background:#f7fafc}
  .pricing-table td{display:block;padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);min-width:0}
  .pricing-table td:nth-child(even){border-right:1px solid var(--line)}
  .pricing-table td::before{display:block;margin-bottom:5px;color:#6b8492;font-size:9px;font-weight:800;letter-spacing:.02em}
  .pricing-table td:nth-child(2)::before{content:"체험권 · 1H"}
  .pricing-table td:nth-child(3)::before{content:"1회권 · 2H"}
  .pricing-table td:nth-child(4)::before{content:"3회권 · 6H"}
  .pricing-table td:nth-child(5)::before{content:"5회권 · 10H"}
  .pricing-table td:nth-child(6)::before{content:"7회권 · 14H"}
  .pricing-table td strong{font-size:15px}
  .pricing-table td span{font-size:9px}

  /* Review data platform */
  .review-platform-head{gap:12px}
  .review-platform-head>p{font-size:13px;line-height:1.65}
  .review-stat-shell{padding:12px;border-radius:18px}
  .review-score-big{padding:16px}
  .review-score-big>strong{font-size:48px}
  .review-filterbar{gap:9px}
  .review-filter-group,.review-sort-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}
  .review-filterbar button{width:100%;min-height:42px;padding:7px;font-size:10.5px}
  .review-db-card{padding:16px;border-radius:16px}
  .review-db-card h3{font-size:18px}
  .review-db-card p{font-size:13px;line-height:1.68}
  .review-card-meta{flex-wrap:wrap}
  .review-card-chips{gap:5px}

  /* Coach detail expertise/reviews */
  .coach-pro-body{padding:18px}
  .coach-pro-body h3{font-size:19px}
  .coach-expertise-row{grid-template-columns:1fr}
  .coach-expertise-row>small{font-size:10px;padding-top:0}
  .coach-expertise-chip{padding-right:8px}
  .coach-expertise-chip b{font-size:10px}
  .coach-review-head strong{font-size:15px}
  .coach-review-summary{align-items:flex-start;flex-direction:column}
  .coach-review-score>span{font-size:27px}
  .coach-review-list p{font-size:11px!important}

  /* Footer / CTA */
  .float-cta{width:calc(100% - 20px);gap:8px}
  .float-copy b{font-size:11px}
  .float-actions a{font-size:11px}
  .footer-main{grid-template-columns:1fr;gap:24px;padding:42px 0 30px}
  .footer-brand{grid-column:auto}
  .footer-links a{font-size:13px}
  .footer-business{font-size:10px;gap:5px}
  .footer-bottom{font-size:10px;line-height:1.6}
  .category-cta{padding-bottom:58px}
  .category-cta-box{padding:22px;border-radius:20px}
  .category-cta-box h2{font-size:29px}
  .category-cta-box p{font-size:12px}

  /* Event / rules */
  .event-content .panel{padding:20px}
  .event-content h1{font-size:38px}
  .event-content p,.event-content li{font-size:13px}
  .openchat-cta strong{font-size:18px}
  .rule-card{padding:20px}
  .rule-card h2{font-size:24px}
  .rule-callout{font-size:12px}
}

@media(max-width:520px){
  .wrap{width:calc(100% - 22px)}
  .faq-buttons{grid-template-columns:1fr}
  .faq-btn{min-height:60px}
  .packages{grid-template-columns:1fr!important}
  .policy-summary,.validity-row{grid-template-columns:1fr}
  .event-mini{grid-template-columns:1fr}
  .review-filter-group,.review-sort-group{grid-template-columns:1fr 1fr}
  .pricing-table tr{grid-template-columns:1fr}
  .pricing-table tbody th{grid-column:1}
  .pricing-table td:nth-child(even){border-right:0}
  .pricing-table td:last-child{border-bottom:0}
}

@media(max-width:380px){
  .wrap{width:calc(100% - 18px)}
  .hero-title{font-size:36px}
  .coach-schedule-tab{font-size:10px}
  .day{min-height:72px;padding-left:2px;padding-right:2px}
  .status{font-size:7.5px}
  .weekdays div{font-size:8px}
  .float-copy{max-width:150px}
}
