/* YaTalent — lisibilité mobile (basse vision, personnes âgées)
   Règle : rien en dessous de 12px · corps 15–16px · boutons 15–16px · champs 16px */

@media (max-width: 768px) {
  body.yt-readable {
    font-size: 16px;
    line-height: 1.55;
  }

  /* ── En-tête ── */
  body.yt-readable .hdr-btn { font-size: 13px; padding: 8px 14px; }
  body.yt-readable .lang-btn { font-size: 14px; padding: 6px 14px; }
  body.yt-readable .hdr-name { font-size: 14px; }
  body.yt-readable .hdr-out { font-size: 13px; }
  body.yt-readable .psb-lbl { font-size: 13px; }
  body.yt-readable .applied-bar { font-size: 14px; padding: 10px 16px; }

  /* ── Hero candidat ── */
  body.yt-readable .hero h1 { font-size: 24px; line-height: 1.4; }
  body.yt-readable .hero p { font-size: 15px; line-height: 1.75; }
  body.yt-readable .hero-badge { font-size: 13px; padding: 6px 14px; }
  body.yt-readable .hero-stat .num { font-size: 22px; }
  body.yt-readable .hero-stat .lbl { font-size: 13px; }
  body.yt-readable .hcta { font-size: 15px; padding: 13px 22px; }

  /* ── Sections & cartes ── */
  body.yt-readable .sec-label,
  body.yt-readable .wilaya-page-title,
  body.yt-readable .featured-head .sec-label { font-size: 17px; }
  body.yt-readable .sec-badge,
  body.yt-readable .wilaya-page-count,
  body.yt-readable .offers-count { font-size: 13px; }
  body.yt-readable .h-name,
  body.yt-readable .offer-name { font-size: 14px; }
  body.yt-readable .h-region,
  body.yt-readable .offer-region,
  body.yt-readable .featured-banner-meta { font-size: 13px; }
  body.yt-readable .h-tag,
  body.yt-readable .offer-tag,
  body.yt-readable .hor-tag { font-size: 12px; padding: 3px 8px; }
  body.yt-readable .h-ribbon,
  body.yt-readable .offer-ribbon,
  body.yt-readable .featured-ribbon { font-size: 12px; }
  body.yt-readable .int-btn,
  body.yt-readable .offer-int { font-size: 14px; padding: 10px 8px; }
  body.yt-readable .featured-banner-name { font-size: 16px; }
  body.yt-readable .featured-banner-cta .int-btn { font-size: 14px; }

  /* ── Filtres ── */
  body.yt-readable .filter-title { font-size: 16px; }
  body.yt-readable .filter-card span { font-size: 14px; }
  body.yt-readable .wil-chip-name { font-size: 14px; }
  body.yt-readable .wil-chip-sub { font-size: 12px; }
  body.yt-readable .wil-chip-n { font-size: 13px; min-width: 26px; height: 26px; }
  body.yt-readable .wilaya-back { font-size: 14px; padding: 9px 14px; }
  body.yt-readable .wil-empty { font-size: 14px; }

  /* ── Offres / hôtels ── */
  body.yt-readable .offers-title { font-size: 16px; }
  body.yt-readable .offers-close { font-size: 14px; }
  body.yt-readable .hoh-name,
  body.yt-readable .hotel-profile-name { font-size: 20px; line-height: 1.35; }
  body.yt-readable .hoh-meta,
  body.yt-readable .hotel-profile-meta { font-size: 15px; color: #333; line-height: 1.55; }
  body.yt-readable .mgh-label { font-size: 15px; }
  body.yt-readable .mgh-sub { font-size: 13px; }
  body.yt-readable .hoh-stats .l { font-size: 12px; }

  /* ── Profil établissement (lisibilité personnes âgées) ── */
  body.yt-readable .hotel-profile-back { font-size: 16px; min-height: 48px; }
  body.yt-readable .hotel-profile-logo { width: 72px; height: 72px; }
  body.yt-readable .hotel-profile-sec-label { font-size: 17px; margin: 18px 0 12px; }
  body.yt-readable .hotel-profile-sec-label i { font-size: 20px; }
  body.yt-readable .hotel-profile-presentation,
  body.yt-readable #hotel-presentation-text { font-size: 17px; line-height: 1.8; }
  body.yt-readable .hotel-profile-fact { font-size: 15px; padding: 14px 16px; }
  body.yt-readable .hotel-profile-fact-lbl { font-size: 13px; color: #444; }
  body.yt-readable .hotel-profile-fact-val { font-size: 16px; }
  body.yt-readable .hotel-profile-fact i { font-size: 22px; }
  body.yt-readable .hotel-profile-amenity-chip,
  body.yt-readable .hotel-profile-perk-chip { font-size: 15px; padding: 10px 16px; }
  body.yt-readable .hotel-profile-other-amenities { font-size: 16px; line-height: 1.7; color: #333; }
  body.yt-readable .hotel-profile-contact a { font-size: 16px; min-height: 52px; padding: 14px 16px; }
  body.yt-readable .hotel-profile-offer-title { font-size: 16px; }
  body.yt-readable .hotel-profile-offer-row { padding: 14px; }
  body.yt-readable .hotel-profile-offer-check input { width: 22px; height: 22px; }
  body.yt-readable .hotel-profile-offers .h-tag { font-size: 13px; padding: 4px 10px; }
  body.yt-readable .hotel-profile-offers .int-btn,
  body.yt-readable .hotel-profile-offers .offer-int { font-size: 15px; padding: 12px 10px; min-height: 48px; }

  /* ── Profil ── */
  body.yt-readable .pc-name { font-size: 16px; }
  body.yt-readable .pc-sub { font-size: 13px; }
  body.yt-readable .pc-row { font-size: 14px; }
  body.yt-readable .pc-edit { font-size: 13px; }
  body.yt-readable .pref-sec-title { font-size: 12px; }
  body.yt-readable .chip { font-size: 14px; padding: 9px 14px; }
  body.yt-readable .pref-save-msg { font-size: 14px; }
  body.yt-readable .pref-save-bar .t-btn { font-size: 14px; padding: 11px 18px; }

  /* ── Pièces jointes / vocal ── */
  body.yt-readable .att-item { font-size: 14px; }
  body.yt-readable .att-size,
  body.yt-readable .att-hint { font-size: 13px; }
  body.yt-readable .att-upload-btn { font-size: 15px; padding: 14px; }
  body.yt-readable .rec-hint,
  body.yt-readable .rec-status { font-size: 14px; }
  body.yt-readable .rec-big-btn { font-size: 15px; padding: 13px 24px; }

  /* ── Stats / messages candidat ── */
  body.yt-readable .kpi-l { font-size: 12px; }
  body.yt-readable .kpi-s { font-size: 12px; }
  body.yt-readable .chart-t { font-size: 14px; }
  body.yt-readable .int-name,
  body.yt-readable .msg-conv-name { font-size: 15px; }
  body.yt-readable .int-meta,
  body.yt-readable .msg-conv-preview { font-size: 13px; }
  body.yt-readable .msg-conv-meta { font-size: 12px; }
  body.yt-readable .msg-hotel-name { font-size: 15px; }
  body.yt-readable .msg-bubble { font-size: 15px; line-height: 1.55; }
  body.yt-readable .msg-bubble-time { font-size: 12px; }
  body.yt-readable .msg-chat-input,
  body.yt-readable .msg-send-btn { font-size: 15px; }
  body.yt-readable .msg-char-count { font-size: 12px; }

  /* ── Navigation bas ── */
  body.yt-readable .nav-tab { font-size: 13px; padding: 10px 4px 8px; }
  body.yt-readable .nav-tab i { font-size: 24px; }
  body.yt-readable .nav-badge { font-size: 12px; }

  /* ── Modales / formulaires ── */
  body.yt-readable .m-title { font-size: 18px; }
  body.yt-readable .m-sub { font-size: 14px; }
  body.yt-readable .fl { font-size: 14px; }
  body.yt-readable .fi,
  body.yt-readable .fi.lg { font-size: 16px; }
  body.yt-readable .fi.lg { font-size: 20px; }
  body.yt-readable .m-btn { font-size: 15px; padding: 14px; }
  body.yt-readable .m-divider { font-size: 13px; }
  body.yt-readable .opt span { font-size: 14px; }
  body.yt-readable .wbtn { font-size: 14px; padding: 12px 9px; }
  body.yt-readable .dispo-lbl { font-size: 14px; }
  body.yt-readable .back-row { font-size: 14px; }
  body.yt-readable .more-link button { font-size: 13px; }

  /* ── Comment ça marche / footer ── */
  body.yt-readable .how-t { font-size: 15px; }
  body.yt-readable .how-s { font-size: 14px; }
  body.yt-readable .ft-sub { font-size: 13px; }
  body.yt-readable .ft-gold { font-size: 14px; }
  body.yt-readable .toast { font-size: 14px; padding: 12px 18px; bottom: calc(72px + env(safe-area-inset-bottom, 0)); }
  body.yt-readable .empty p { font-size: 15px; }
  body.yt-readable.logged-in { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)); }

  /* ── Bandeau PWA ── */
  body.yt-readable #pwa-install-bar { font-size: 14px; }
  body.yt-readable #pwa-install-bar .pwa-install-text strong { font-size: 15px; }
  body.yt-readable #pwa-install-bar button { font-size: 13px; padding: 9px 14px; }
}

/* Recruteur — shell toujours format téléphone */
body.yt-readable.yt-mobile-app,
body.yt-readable.yt-mobile-app .screen {
  font-size: 16px;
  line-height: 1.55;
}

body.yt-readable.yt-mobile-app .hero h1 { font-size: 21px; line-height: 1.4; }
body.yt-readable.yt-mobile-app .hero p { font-size: 14px; line-height: 1.7; }
body.yt-readable.yt-mobile-app .hero-badge,
body.yt-readable.yt-mobile-app .hero-tag { font-size: 13px; }
body.yt-readable.yt-mobile-app .free-banner { font-size: 14px; }
body.yt-readable.yt-mobile-app .tb-name { font-size: 15px; }
body.yt-readable.yt-mobile-app .tb-sub,
body.yt-readable.yt-mobile-app .cp-l { font-size: 13px; }
body.yt-readable.yt-mobile-app .cp-n { font-size: 15px; }
body.yt-readable.yt-mobile-app .tab { font-size: 13px; padding: 9px 12px; }
body.yt-readable.yt-mobile-app .tc { font-size: 12px; }
body.yt-readable.yt-mobile-app .sw input { font-size: 15px; padding: 10px 10px 10px 30px; }
body.yt-readable.yt-mobile-app .bulk-lbl { font-size: 14px; }
body.yt-readable.yt-mobile-app .b-btn { font-size: 13px; padding: 7px 12px; }
body.yt-readable.yt-mobile-app .cn { font-size: 15px; }
body.yt-readable.yt-mobile-app .cm { font-size: 13px; }
body.yt-readable.yt-mobile-app .cd { font-size: 12px; }
body.yt-readable.yt-mobile-app .ub { font-size: 12px; }
body.yt-readable.yt-mobile-app .ca { font-size: 13px; padding: 10px 4px; }
body.yt-readable.yt-mobile-app .ca i { font-size: 15px; }
body.yt-readable.yt-mobile-app .pt { font-size: 13px; }
body.yt-readable.yt-mobile-app .kpi-l { font-size: 12px; }
body.yt-readable.yt-mobile-app .kpi-s { font-size: 12px; }
body.yt-readable.yt-mobile-app .chart-title { font-size: 14px; }
body.yt-readable.yt-mobile-app .acc-hname { font-size: 16px; }
body.yt-readable.yt-mobile-app .acc-hmeta { font-size: 14px; }
body.yt-readable.yt-mobile-app .acc-sec-title { font-size: 12px; }
body.yt-readable.yt-mobile-app .acc-row-l { font-size: 15px; }
body.yt-readable.yt-mobile-app .acc-row-s { font-size: 13px; }
body.yt-readable.yt-mobile-app .acc-team-add { font-size: 14px; }
body.yt-readable.yt-mobile-app .team-pill { font-size: 12px; }
body.yt-readable.yt-mobile-app .team-upsell-btn { font-size: 15px; }
body.yt-readable.yt-mobile-app .cat-item,
body.yt-readable.yt-mobile-app .poste-item { font-size: 14px; }
body.yt-readable.yt-mobile-app .poste-sel { font-size: 13px; padding: 8px 12px; }
body.yt-readable.yt-mobile-app .offer-pt { font-size: 13px; }
body.yt-readable.yt-mobile-app .offer-card-title { font-size: 16px; }
body.yt-readable.yt-mobile-app .offer-card-meta { font-size: 14px; }
body.yt-readable.yt-mobile-app .offer-stat-n { font-size: 15px; }
body.yt-readable.yt-mobile-app .offer-stat-l { font-size: 13px; }
body.yt-readable.yt-mobile-app .pill { font-size: 12px; }
body.yt-readable.yt-mobile-app .offer-save-banner { font-size: 14px; }
body.yt-readable.yt-mobile-app .interested-name { font-size: 15px; }
body.yt-readable.yt-mobile-app .interested-sub { font-size: 14px; }
body.yt-readable.yt-mobile-app .t-btn { font-size: 14px; padding: 10px 14px; }
body.yt-readable.yt-mobile-app .pres-readonly { font-size: 14px; }
body.yt-readable.yt-mobile-app .pres-perk-btn { font-size: 13px; }
body.yt-readable.yt-mobile-app .urg-banner { font-size: 14px; }
body.yt-readable.yt-mobile-app .msg-title { font-size: 15px; }
body.yt-readable.yt-mobile-app .msg-preview { font-size: 14px; }
body.yt-readable.yt-mobile-app .msg-btn { font-size: 14px; padding: 9px; }
body.yt-readable.yt-mobile-app .add-msg-btn { font-size: 15px; }
body.yt-readable.yt-mobile-app .bn span { font-size: 12px; }
body.yt-readable.yt-mobile-app .bn i { font-size: 21px; }
body.yt-readable.yt-mobile-app .bn-b { font-size: 11px; }
body.yt-readable.yt-mobile-app .st { font-size: 16px; }
body.yt-readable.yt-mobile-app .ss { font-size: 14px; }
body.yt-readable.yt-mobile-app .sl { font-size: 15px; }
body.yt-readable.yt-mobile-app .sm2 { font-size: 14px; }
body.yt-readable.yt-mobile-app .s-btn { font-size: 15px; padding: 14px; }
body.yt-readable.yt-mobile-app .pc-n { font-size: 22px; }
body.yt-readable.yt-mobile-app .pc-p { font-size: 14px; }
body.yt-readable.yt-mobile-app .pc-u { font-size: 12px; }
body.yt-readable.yt-mobile-app .pc.pop::before { font-size: 11px; }
body.yt-readable.yt-mobile-app .fc { font-size: 14px; }
body.yt-readable.yt-mobile-app .fc-lbl { font-size: 12px; }
body.yt-readable.yt-mobile-app .fl { font-size: 14px; }
body.yt-readable.yt-mobile-app .fi,
body.yt-readable.yt-mobile-app .fsel { font-size: 16px; }
body.yt-readable.yt-mobile-app .star-b,
body.yt-readable.yt-mobile-app .sb { font-size: 14px; }
body.yt-readable.yt-mobile-app .chat-bubble { font-size: 15px; line-height: 1.55; }
body.yt-readable.yt-mobile-app .chat-meta { font-size: 12px; }
body.yt-readable.yt-mobile-app .chat-input { font-size: 16px; }
body.yt-readable.yt-mobile-app .chat-tpl-btn { font-size: 13px; }
body.yt-readable.yt-mobile-app .call-outcome-btn { font-size: 14px; }
body.yt-readable.yt-mobile-app .pcm-btn { font-size: 14px; padding: 12px; }
body.yt-readable.yt-mobile-app .pcm-title { font-size: 12px; }
body.yt-readable.yt-mobile-app .list-section-head .lbl { font-size: 14px; }
body.yt-readable.yt-mobile-app .acc-row-l { font-size: 16px; }
body.yt-readable.yt-mobile-app .acc-row-s { font-size: 14px; }
body.yt-readable.yt-mobile-app .acc-sec-title { font-size: 13px; }
body.yt-readable.yt-mobile-app .chart-title { font-size: 15px; }
body.yt-readable.yt-mobile-app .kpi-v { font-size: 24px; }
body.yt-readable.yt-mobile-app .tab { font-size: 14px; }
body.yt-readable.yt-mobile-app .bn span { font-size: 13px; }
body.yt-readable.yt-mobile-app .bn i { font-size: 22px; }
body.yt-readable.yt-mobile-app .pc { padding: 14px 10px; }
body.yt-readable.yt-mobile-app .pc-n { font-size: 24px; }
body.yt-readable.yt-mobile-app .pc-p { font-size: 15px; }
body.yt-readable.yt-mobile-app .pc-u { font-size: 13px; }
body.yt-readable.yt-mobile-app .fl { font-size: 15px; }
body.yt-readable.yt-mobile-app .offer-pt { font-size: 14px; }

/* ── Modal déblocage (lisibilité basse vision) ── */
body.yt-readable.yt-mobile-app .unlock-title { font-size: 24px; }
body.yt-readable.yt-mobile-app .unlock-sub { font-size: 17px; color: #2a2a2a; font-weight: 600; }
body.yt-readable.yt-mobile-app .unlock-includes span { font-size: 15px; padding: 8px 14px; }
body.yt-readable.yt-mobile-app .unlock-candidate-name { font-size: 20px; }
body.yt-readable.yt-mobile-app .unlock-candidate-role { font-size: 16px; color: #333; }
body.yt-readable.yt-mobile-app .unlock-tag { font-size: 15px; padding: 9px 14px; }
body.yt-readable.yt-mobile-app .unlock-cost-pill { font-size: 18px; }
body.yt-readable.yt-mobile-app .unlock-balance { font-size: 16px; }
body.yt-readable.yt-mobile-app .unlock-balance strong { font-size: 22px; }
body.yt-readable.yt-mobile-app .s-btn.unlock-cta { font-size: 18px; min-height: 56px; padding: 17px; }
body.yt-readable.yt-mobile-app .unlock-dismiss-hint { font-size: 14px; color: #555; }
body.yt-readable.yt-mobile-app .unlock-close { width: 48px; height: 48px; font-size: 24px; }
body.yt-readable.yt-mobile-app .unlock-body .s-btn.ghost { font-size: 17px; min-height: 50px; color: #333; }

/* Recruteur — tailles augmentées (personnes âgées) */
body.yt-readable.yt-mobile-app,
body.yt-readable.yt-mobile-app .screen {
  font-size: 17px;
}

body.yt-readable.yt-mobile-app .cm { font-size: 15px; }
body.yt-readable.yt-mobile-app .cd { font-size: 14px; color: #555; }
body.yt-readable.yt-mobile-app .cn { font-size: 17px; }
body.yt-readable.yt-mobile-app .ca { font-size: 14px; }
body.yt-readable.yt-mobile-app .tab { font-size: 15px; }
body.yt-readable.yt-mobile-app .tc { font-size: 13px; }
body.yt-readable.yt-mobile-app .sw input { font-size: 16px; }
body.yt-readable.yt-mobile-app .bn span { font-size: 14px; }
body.yt-readable.yt-mobile-app .tb-sub { font-size: 14px; color: rgba(255,255,255,.75); }
body.yt-readable.yt-mobile-app .ss { font-size: 15px; color: #444; }
body.yt-readable.yt-mobile-app .st { font-size: 18px; }
body.yt-readable.yt-mobile-app .s-btn { font-size: 16px; min-height: 48px; }
body.yt-readable.yt-mobile-app .pop-sub { font-size: 15px; color: #444; }
body.yt-readable.yt-mobile-app .pop-title { font-size: 19px; }

/* Zones tactiles minimales (accessibilité) */
@media (max-width: 768px) {
  body.yt-readable .hdr-btn,
  body.yt-readable .lang-btn,
  body.yt-readable .hcta,
  body.yt-readable .int-btn,
  body.yt-readable .m-btn,
  body.yt-readable .nav-tab,
  body.yt-readable .offer-int { min-height: 44px; }

  body.yt-readable .fi,
  body.yt-readable .msg-chat-input { min-height: 48px; }
}

body.yt-readable.yt-mobile-app .ca,
body.yt-readable.yt-mobile-app .b-btn,
body.yt-readable.yt-mobile-app .s-btn,
body.yt-readable.yt-mobile-app .t-btn,
body.yt-readable.yt-mobile-app .bn { min-height: 44px; }

body.yt-readable.yt-mobile-app .fi,
body.yt-readable.yt-mobile-app .fsel,
body.yt-readable.yt-mobile-app .chat-input { min-height: 48px; }
