/* Chou Chou Ver10 mobile repair v3 — loaded after style.css */
@media screen and (max-width: 768px) {
  html, body { width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; overflow-x:hidden !important; }
  *, *::before, *::after { box-sizing:border-box !important; }
  img, iframe, video, svg, canvas { max-width:100% !important; }

  body:not(.cast-detail-page) main.princess-home,
  body:not(.cast-detail-page) .princess-home.luxury-home {
    display:block !important; width:100% !important; max-width:100% !important; min-width:0 !important;
    margin:0 !important; padding:22px 14px 48px !important; overflow:visible !important;
  }

  body:not(.cast-detail-page) .princess-card-grid,
  body:not(.cast-detail-page) .princess-card-grid-top,
  body:not(.cast-detail-page) .princess-card-grid-middle,
  body:not(.cast-detail-page) .princess-card-grid-bottom,
  body:not(.cast-detail-page) .home-top-card-row {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important; grid-auto-flow:row !important;
    grid-auto-columns:minmax(0,1fr) !important; grid-auto-rows:auto !important; gap:22px !important;
    width:100% !important; max-width:100% !important; min-width:0 !important;
    margin:0 0 22px !important; padding:0 !important; align-items:start !important;
  }

  body:not(.cast-detail-page) .princess-card-grid > section,
  body:not(.cast-detail-page) .princess-card-grid-top > section,
  body:not(.cast-detail-page) .princess-card-grid-middle > section,
  body:not(.cast-detail-page) .princess-card-grid-bottom > section,
  body:not(.cast-detail-page) .home-top-card-row > section {
    grid-column:1 / -1 !important; grid-row:auto !important; width:100% !important; max-width:100% !important;
    min-width:0 !important; height:auto !important; min-height:0 !important; max-height:none !important;
    margin:0 !important; position:relative !important; inset:auto !important; transform:none !important;
    writing-mode:horizontal-tb !important; text-orientation:mixed !important; overflow:hidden !important;
  }

  body:not(.cast-detail-page) .premium-section-card,
  body:not(.cast-detail-page) .princess-card {
    width:100% !important; max-width:100% !important; min-width:0 !important;
    height:auto !important; min-height:0 !important; padding:24px 16px 20px !important;
  }

  body:not(.cast-detail-page) .section-title,
  body:not(.cast-detail-page) .section-title *,
  body:not(.cast-detail-page) .premium-section-card p,
  body:not(.cast-detail-page) .premium-section-card a,
  body:not(.cast-detail-page) .premium-section-card button,
  body:not(.cast-detail-page) .system-price-row,
  body:not(.cast-detail-page) .system-price-row * {
    writing-mode:horizontal-tb !important; text-orientation:mixed !important; word-break:normal !important;
    overflow-wrap:anywhere !important; white-space:normal !important; max-width:100% !important;
  }

  body:not(.cast-detail-page) .section-title { width:100% !important; margin:0 0 18px !important; text-align:center !important; }
  body:not(.cast-detail-page) .section-title span { display:block !important; font-size:17px !important; line-height:1.2 !important; }
  body:not(.cast-detail-page) .section-title h2 { margin:5px 0 0 !important; font-size:clamp(22px,7vw,30px) !important; line-height:1.35 !important; }

  /* Header */
  body:not(.cast-detail-page) .header,
  body:not(.cast-detail-page) .header-inner { width:100% !important; max-width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) .header-inner { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:8px !important; padding:10px 12px !important; }
  body:not(.cast-detail-page) .header .nav { display:none !important; }
  body:not(.cast-detail-page) .header .logo { min-width:0 !important; font-size:clamp(23px,8vw,34px) !important; white-space:nowrap !important; }
  body:not(.cast-detail-page) .language-switch { display:flex !important; flex-wrap:nowrap !important; gap:3px !important; min-width:0 !important; }
  body:not(.cast-detail-page) .language-switch button { min-width:0 !important; padding:6px 6px !important; font-size:11px !important; white-space:nowrap !important; }

  /* Hero */
  body:not(.cast-detail-page) .hero { width:100% !important; max-width:100% !important; min-width:0 !important; height:auto !important; min-height:0 !important; aspect-ratio:9 / 12 !important; overflow:hidden !important; }
  body:not(.cast-detail-page) .hero-slider-track,
  body:not(.cast-detail-page) .hero-slide { width:100% !important; max-width:100% !important; min-width:0 !important; height:100% !important; }
  body:not(.cast-detail-page) .hero-slide img { width:100% !important; height:100% !important; object-fit:cover !important; }

  /* Today's Cast */
  body:not(.cast-detail-page) #cast.v9-today-card,
  body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell,
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list-frame,
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list {
    width:100% !important; max-width:100% !important; min-width:0 !important;
    height:auto !important; min-height:0 !important; max-height:none !important;
  }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-today-card-shell { display:block !important; overflow:hidden !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header { padding:42px 14px 16px !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-today-header h2 { font-size:clamp(27px,9vw,38px) !important; writing-mode:horizontal-tb !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list-frame { padding:0 12px !important; overflow:visible !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-list { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:16px !important; padding:0 !important; overflow:visible !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-item {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:12px !important;
    width:100% !important; max-width:100% !important; min-width:0 !important; height:auto !important; min-height:0 !important;
    padding:12px !important; margin:0 !important; position:relative !important; inset:auto !important; transform:none !important; overflow:hidden !important;
  }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo { width:100% !important; height:auto !important; aspect-ratio:4/3 !important; margin:0 !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-photo img { width:100% !important; height:100% !important; object-fit:cover !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-profile { display:flex !important; flex-direction:column !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:0 !important; padding:0 !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row { display:flex !important; flex-wrap:wrap !important; width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-name-row h3 { font-size:24px !important; writing-mode:horizontal-tb !important; white-space:normal !important; word-break:break-word !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta { display:grid !important; gap:8px !important; width:100% !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta-row { display:grid !important; grid-template-columns:minmax(84px,auto) minmax(0,1fr) !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:40px !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dt,
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-meta dd { writing-mode:horizontal-tb !important; white-space:normal !important; font-size:14px !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button-wrap { width:100% !important; padding:18px 14px 22px !important; }
  body:not(.cast-detail-page) #cast.v9-today-card .v9-cast-button { width:min(100%,320px) !important; margin:0 auto !important; }

  /* System */
  body:not(.cast-detail-page) #system .system-price-card { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:0 !important; width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) #system .system-price-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important; gap:12px !important; width:100% !important; min-width:0 !important; padding:14px 2px !important; }
  body:not(.cast-detail-page) #system .system-price-row span { min-width:0 !important; text-align:left !important; font-size:14px !important; line-height:1.45 !important; }
  body:not(.cast-detail-page) #system .system-price-row strong { min-width:max-content !important; text-align:right !important; white-space:nowrap !important; font-size:18px !important; }

  /* Cast list */
  body:not(.cast-detail-page) #cast-list .all-cast-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:18px !important; width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) #cast-list .public-cast-card { width:100% !important; max-width:100% !important; min-width:0 !important; height:auto !important; }

  /* Gallery */
  body:not(.cast-detail-page) #gallery .public-gallery-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:14px !important; width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) #gallery .public-gallery-card { width:100% !important; max-width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) #gallery .public-gallery-card img { display:block !important; width:100% !important; height:auto !important; max-width:100% !important; }
  body:not(.cast-detail-page) #gallery .gallery-more { width:100% !important; padding-top:18px !important; }

  /* Access / bottom */
  body:not(.cast-detail-page) #access .access-box { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:16px !important; width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) #access iframe { display:block !important; width:100% !important; max-width:100% !important; height:280px !important; }
  body:not(.cast-detail-page) #access .access-details p { display:grid !important; grid-template-columns:minmax(76px,auto) minmax(0,1fr) !important; gap:10px !important; width:100% !important; }
  body:not(.cast-detail-page) #instagram,
  body:not(.cast-detail-page) #recruit,
  body:not(.cast-detail-page) .news,
  body:not(.cast-detail-page) #concept { width:100% !important; max-width:100% !important; min-width:0 !important; }
  body:not(.cast-detail-page) .ver6-card-image { display:block !important; width:100% !important; height:auto !important; }

  body:not(.cast-detail-page) .reserve-btn,
  body:not(.cast-detail-page) .v9-cast-button { display:flex !important; align-items:center !important; justify-content:center !important; max-width:100% !important; white-space:normal !important; text-align:center !important; }
  body:not(.cast-detail-page) .ver6-contact-image-section { width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; overflow:hidden !important; }
}

/* ChouChou Ver7.0 Favorite Header */
@media(max-width:768px){
  body:not(.cast-detail-page) .header-inner.has-v7-favorite{
    grid-template-columns:minmax(0,1fr) auto auto !important;
  }
  body:not(.cast-detail-page) .header .v7-header-favorite{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }
  body:not(.cast-detail-page) .header .language-switch{
    grid-column:3 !important;
    grid-row:1 !important;
  }
}
