/* TEARZ — ajustements mobiles et accessibilite, 2026-08-27.
   Charge apres les styles existants. Le design desktop reste en place. */

:root { --text-muted: #a295b2; }
body:not(.has-cyber-cursor), body:not(.has-cyber-cursor) * { cursor: auto !important; }
body:not(.has-cyber-cursor) :is(a, button, [role="button"]) { cursor: pointer !important; }
:focus-visible, .price-slider-container input[type="range"]:focus-visible {
  outline: 2px solid var(--neon-green);
  outline-offset: 4px;
}
html.ui-panel-open, html.ui-panel-open body { overflow: hidden; }
.skip-link {
  position: fixed;
  top: 10px;
  left: 16px;
  z-index: 1400;
  padding: 12px 18px;
  background: var(--neon-green);
  color: var(--bg-deep);
  border-radius: 6px;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }
.mobile-nav { visibility: hidden; }
.mobile-nav--open { visibility: visible; }
.mobile-nav__inner {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: max(24px, env(safe-area-inset-top));
  padding-bottom: max(24px, env(safe-area-inset-bottom));
}
.mobile-nav__header, .mobile-nav__footer { flex-shrink: 0; }
.mobile-nav__link[aria-current="page"] { color: var(--neon-green); }
.cart-drawer--open { transition: none; }
.cart-drawer__body { min-height: 0; overscroll-behavior: contain; }
.cart-drawer__header, .cart-drawer__footer { flex-shrink: 0; }
.cart-item { grid-template-columns: 60px minmax(0, 1fr) auto; }
.cart-item__details { min-width: 0; overflow-wrap: anywhere; }
.cart-item__qty { gap: 6px; padding: 0; }
.cart-item__qty-btn { width: 44px; min-height: 44px; }
.cart-item__remove, .cart-drawer__close, .mobile-nav__close {
  min-width: 44px;
  min-height: 44px;
}
.product-modal { z-index: 1150; }
.product-modal__window { overscroll-behavior: contain; }
.product-card__details {
  width: 100%;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  cursor: pointer;
}
.shop-empty-state {
  grid-column: 1 / -1;
  padding: 28px 20px;
  color: var(--text-secondary);
}
.shop-empty-state p { margin-bottom: 16px; }
.bestseller-card__action {
  margin-top: 16px;
  min-height: 44px;
  color: var(--neon-green);
  font-family: var(--font-title);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.footer__col, .footer__input { min-width: 0; }
.footer__input { width: 100%; }
.footer__submit { flex-shrink: 0; }
.form-status {
  margin-top: 12px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}
.form-status:empty { margin-top: 0; }
.footer__newsletter[hidden] { display: none; }
.form-status[role="alert"] { color: #ff8aaf; }
.legal-acc-body { visibility: hidden; }
.legal-acc-item--open .legal-acc-body { visibility: visible; max-height: none; }
.legal-acc-body a { overflow-wrap: anywhere; }
.preset-row { width: 100%; text-align: left; }
.macro-pill { color: var(--text-secondary); }
.product-modal .preset-row .preset-row__play-btn { display: flex; width: 20px; height: 20px; }
.product-modal .preset-row .preset-row__num { display: block; }
.preset-row__name { color: var(--text-secondary); }
.product-modal__section-title, .technical-dossier__col-title { color: var(--text-secondary); }

/* Navigation compacte : inclut les telephones en paysage. */
@media (max-width: 900px) {
  .header { height: 68px; }
  .header__inner { padding-inline: 16px; }
  .header__nav { display: none; }
  .header__right { gap: 12px; }
  .header__cart-btn { width: 44px; height: 44px; padding: 12px; }
  .header__menu-btn {
    display: flex;
    width: 44px;
    height: 44px;
    padding: 13px 10px;
  }
  .header__cart-pulse { top: 0; right: 0; }
  .header__logo {
    width: 100px;
    height: 44px;
    background: url("../04_Assets/LOGOS/tearz-logo-header.png") left center / 100px auto no-repeat;
  }
  .mobile-nav__inner {
    width: min(90%, 360px);
    max-width: none;
    padding-inline: 22px;
  }
  .mobile-nav__links { gap: 8px; margin-block: 24px; }
  .mobile-nav__link { display: flex; align-items: center; min-height: 48px; font-size: 18px; }
  .cyber-cursor-dot, .cyber-cursor-ring { display: none; }
  body, body * { cursor: auto !important; }
  a, button, [role="button"] { cursor: pointer !important; }
}

/* Discographie : enlever les marges imbriquees et fixer les grilles. */
@media (max-width: 1024px) {
  .disco-layout { grid-template-columns: minmax(0, 1fr); padding-inline: 0; }
  .disco-layout .disco-sidebar { position: static; padding: 0; min-width: 0; }
  .disco-grid-wrap, #discographyGrid { min-width: 0; width: 100%; }
  .disco-promo-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 20px;
  }
  .disco-promo-bar > .shop-badge-item { min-width: 0; justify-content: flex-start; }
  .disco-promo-bar > .shop-badge-item:last-child { grid-column: 1 / -1; }
  .disco-promo-bar .shop-badge-text { min-width: 0; overflow-wrap: anywhere; }
  .disco-promo-bar .pill-btn { min-height: 44px; min-width: 0; padding-inline: 16px; }

  #discographyGrid .track-row {
    grid-template-columns: 90px 44px minmax(0, 1fr) 44px 176px;
    gap: 10px 8px;
    min-width: 0;
    padding: 12px 10px;
  }
  #discographyGrid .track-row__meta-wrap { min-width: 0 !important; text-align: right; }
  #discographyGrid .track-row__file-no,
  #discographyGrid .track-row__plays-left { display: block; white-space: nowrap; }
  #discographyGrid .track-row__file-no { font-size: 9.5px; }
  #discographyGrid .track-row__art-wrap { width: 44px; height: 44px; }
  #discographyGrid .track-row__title-wrap { min-width: 0; padding-left: 0; }
  #discographyGrid .track-row__title,
  #discographyGrid .track-row__subtitle { overflow-wrap: anywhere; line-height: 1.35; }
  #discographyGrid .track-row__title { font-size: 13px; }
  #discographyGrid .mini-play-btn,
  #discographyGrid .track-row__spotify-btn { width: 44px; height: 44px; min-width: 44px; }
  #discographyGrid .track-row__buy-wrap {
    min-width: 0;
    gap: 6px !important;
    justify-content: flex-end;
  }
  #discographyGrid .track-row__price { white-space: nowrap; }
  #discographyGrid .track-row__buy-wrap > .glass-wrap { flex: 0 0 75px; }
  #discographyGrid .track-row__buy-wrap .pill-btn { min-height: 44px; }
  #discoPlayerCard.media-deck--classified {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: 0;
  }
  #discoPlayerCard .sidebar-hud-header {
    width: 100%;
    min-width: 0;
    margin: 0 0 12px;
    padding: 0 0 12px;
  }
  #discoPlayerCard .classified-panel { width: 100%; min-width: 0; }
  #discoPlayerCard .classified-specs-bar { flex-wrap: wrap; }
  #discoPlayerCard .media-deck__art-wrap { max-width: 320px; margin-inline: auto; }
  #discoPlayerCard .media-deck__info { width: 100%; min-width: 0; height: auto; flex: 0 0 auto; }
  #discoPlayerCard .media-deck__controls {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-width: 0;
  }
  #discoPlayerCard .media-deck__controls > .glass-wrap { min-width: 0; width: 100%; }
  #discoPlayerCard .media-deck__controls .pill-btn { min-width: 0; height: 44px !important; }
}

/* Accueil dans le flux : tout reste atteignable en paysage court. */
@media (max-width: 900px), (max-height: 600px) {
  .home-page .hero {
    position: relative;
    height: auto;
    min-height: 600px;
    min-height: max(560px, 100svh);
    padding-block: 130px 120px;
  }
  .home-page main { margin-top: 0; }
  .hero__content { width: 100%; margin-top: 0; }
  .hero__hud-elements { inset: 86px 20px 28px; }
  .hero__hud-elements .hud-system-status { left: 16px; }
  .hero__scroll { bottom: 48px; }
}

@media (max-width: 768px) {
  .section { padding: 48px 16px; }
  .section__title { font-size: clamp(28px, 7.5vw, 38px); line-height: 1.2; overflow-wrap: anywhere; }
  .section__subtitle { font-size: 10px; letter-spacing: 1px; overflow-wrap: anywhere; }
  .shop-main { padding-top: 0; }
  .split-col { min-width: 0; padding: 20px; }
  .split-layout, .products-grid { min-width: 0; }
  .pill-btn { min-height: 44px; }
  .product-card__details { min-height: 44px; }
  .about-card { padding: 24px 20px; }
  .about-card__header { flex-wrap: wrap; gap: 12px; }
  .about-card__socials { gap: 8px; }
  .about-card__socials a, .footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-height: 44px;
  }
  .featured-card { padding: 28px 20px; }
  .featured-title { margin-bottom: 28px; }
  .featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; }
  .featured-grid img { max-width: min(100%, 145px); }
  .clips-header-wrap { flex-wrap: wrap; gap: 16px; }
  .clips-header-wrap .pill-btn { max-width: 100%; }
  .shop-sidebar { min-width: 0; padding: 18px; }
  .shop-filter__btn { min-height: 44px; }
  .price-header { width: 100%; text-align: left; min-height: 44px; }
  .price-slider-hud { flex-wrap: wrap; gap: 6px; }
  .shop-badges-bar { align-items: start; }
  .shop-badge-item { min-width: 0; }
  .disco-promo-bar { grid-template-columns: minmax(0, 1fr); padding: 18px; }
  .disco-promo-bar > .shop-badge-item:last-child { justify-content: stretch; }
  .disco-promo-bar .pill-btn { width: 100%; }
  #discographyGrid .track-row {
    grid-template-columns: 44px minmax(0, 1fr) 90px;
    grid-template-areas: "art title meta" "play buy buy";
  }
  #discographyGrid .track-row__meta-wrap { grid-area: meta; }
  #discographyGrid .track-row__art-wrap { grid-area: art; }
  #discographyGrid .track-row__title-wrap { grid-area: title; }
  #discographyGrid .track-row__play-wrap { grid-area: play; }
  #discographyGrid .track-row__buy-wrap { grid-area: buy; }

  .footer { padding: 32px 16px; }
  .footer-card { padding: 24px 18px; }
  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin-bottom: 28px; }
  .footer__grid .footer__col:nth-child(3),
  .footer__grid .footer__col:last-child { grid-column: 1 / -1; }
  .footer__heading { margin-bottom: 10px; font-size: 12px; overflow-wrap: anywhere; }
  .footer__links li { margin-bottom: 2px; }
  .footer__links a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer__input { font-size: 16px; padding: 10px 12px; }
  .footer__submit { padding-inline: 16px; }
  .footer__bottom { padding-top: 20px; }
  .cart-drawer__header { padding: max(16px, env(safe-area-inset-top)) 18px 16px; }
  .cart-drawer__body { padding: 12px 18px; }
  .cart-drawer__footer { padding: 18px 18px max(18px, env(safe-area-inset-bottom)); }
  .cart-item { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 10px; }
  .cart-item__image { width: 44px; height: 44px; }
  .cart-drawer__note { overflow-wrap: anywhere; }

  .product-modal {
    padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));
  }
  .product-modal__window {
    padding: 16px;
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));
    border-radius: 18px;
    scroll-padding-block: 60px 20px;
  }
  .product-modal__close-btn {
    position: sticky;
    top: 0;
    right: auto;
    width: 44px;
    height: 44px;
    margin: 0 0 12px auto;
    background: #160f22;
  }
  .product-modal__art-frame { max-width: 280px; align-self: center; }
  .product-modal__title { overflow-wrap: anywhere; }
  .product-modal__desc { font-size: 14px; opacity: 1; }
  .product-modal__actions-block, .product-modal__actions-block > .glass-wrap { width: 100%; }
  .product-modal__actions-block .pill-btn { width: 100%; min-width: 0; }
  .product-modal__mini-player { height: auto !important; }
  .mini-player__header { flex-wrap: wrap; gap: 6px; }
  .mini-player__body { flex-wrap: wrap; gap: 10px; }
  .mini-player__btn { width: 44px; height: 44px; flex-shrink: 0; }
  .mini-player__content-wrap { display: contents; }
  .mini-player__title { min-width: 0; font-size: 12px; }
  .mini-player__macros-hud { width: 100%; flex-basis: 100%; min-width: 0; }
  .mini-player__macro-pills { width: 100%; gap: 6px; }
  .macro-pill { flex: 1; min-height: 44px; padding: 6px; font-size: 10px; }
  .product-modal__presets-list { max-height: 264px; }
  .preset-row { min-height: 44px; }
  .preset-row__name { font-size: 12px; }
  .product-modal__technical-dossier { padding: 16px; }
  .technical-dossier__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .technical-dossier__col { min-width: 0; }
  .product-modal__spec-tag { white-space: normal; overflow: visible; overflow-wrap: anywhere; }

  .legal-section { padding-inline: 16px; }
  .legal-card { padding: 28px 20px; }
  .legal-acc-trigger { padding-inline: 0; gap: 10px; letter-spacing: 0.4px; }
  .legal-acc-body, .legal-acc-item--open .legal-acc-body { padding-left: 0; padding-right: 0; }
  .legal-subtitle { letter-spacing: 1px; overflow-wrap: anywhere; }
  .mix-mastering-main { padding-top: 80px; }
  .mm-hero { margin-top: 0 !important; padding: 80px 24px 60px; }
  .mm-hero::before { width: min(100%, 400px); }
  .mm-hero__hud .hud-system-status { left: 16px; top: 20px; }
  .mm-hero__hud .hud-coordinates { font-size: 8px; right: 16px; bottom: 20px; }
  .mm-demo-section { padding: 0 16px 48px; }
  .mm-demo-widget__inner { padding: 16px 12px; }
  .mm-demo-widget__lcd { min-width: 0; padding: 14px 12px; }
  .mm-demo-widget__title { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
  .mm-demo-widget__status { flex-wrap: wrap; gap: 6px; }
  .mm-demo-widget-controls { flex-wrap: wrap; gap: 10px; justify-content: center; }
  .mm-demo-widget-switch { min-width: 0; flex-shrink: 1; }
  .mm-demo-widget-switch-btn { min-height: 44px; padding: 8px 12px; font-size: 11px; }
  .mm-pricing-section, .mm-process-section { padding: 48px 16px; }
  .mm-pricing-rows, .mm-process-timeline { margin-top: 36px; }
  .mm-plan-row { padding: 28px 18px; }
  .mm-plan-row__content { min-width: 0; }
  .mm-plan-row__action > .glass-wrap, .mm-plan-row__action .pill-btn { width: 100%; }
  .mm-upload-portal { padding: 28px 18px; margin-top: 48px; }
  .success-page .success-main { padding: 100px 16px 48px; }
  .success-card { padding: 24px 18px; }
  .success-card__title, .success-card__status-hud { max-width: 100%; overflow-wrap: anywhere; }
  .success-actions, .success-actions > .glass-wrap { max-width: 100%; width: 100%; }
  .success-actions .pill-btn { min-width: 0; max-width: 100%; }
  .success-product { flex-wrap: wrap; padding: 14px !important; gap: 14px !important; }
  .success-product__summary { width: 100% !important; min-width: 0; }
  .success-product__info { min-width: 0; overflow-wrap: anywhere; }
  .success-product__title { white-space: normal !important; }
  .success-product > .glass-wrap { width: 100%; }
  .success-product > .glass-wrap .pill-btn { width: 100% !important; min-height: 44px; }
}

/* Un panneau de navigation reste utilisable sur un telephone horizontal. */
@media (max-height: 500px) {
  .mobile-nav__inner { justify-content: flex-start; }
  .mobile-nav__links { margin-block: 12px; gap: 4px; }
  .mobile-nav__footer { margin-top: auto; }
  .cart-drawer__header { padding-block: 10px; }
  .cart-drawer__footer { padding-block: 10px; }
  .cart-drawer__note { margin-top: 6px; }
}

/* Respect de la preference systeme, sans toucher aux apercus audio. */
@media (prefers-reduced-motion: reduce) {
  html, html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .scroll-reveal { opacity: 1 !important; transform: none !important; }
  .hero__pre-title .pre-text { opacity: 1; }
  .cyber-cursor-dot, .cyber-cursor-ring { display: none; }
  body, body * { cursor: auto !important; }
  a, button { cursor: pointer !important; }
}
