/* Kastor V18 — affichage utile, uniquement dans la WebView native Capacitor.
 * On conserve l'intégralité du site web classique et ses textes éditoriaux.
 * Les titres de produits, chiffres, prix, délais, formulaires fonctionnels,
 * messages de sécurité et actions de navigation restent consultables.
 * La classe .kastor-native-app est ajoutée par home-app-compact.js.
 */
.kastor-app-native-actions { display: none; }

@media screen and (max-width: 1024px) {
  /* Pas de second pied de page sous la navigation fixe de l'application. */
  html.kastor-native-app .kf-footer { display: none !important; }
  html.kastor-native-app #main-content { padding-bottom: 18px; }
  html.kastor-native-app #main-content > main { margin-bottom: 0; }

  /* Suppression des surtitres purement éditoriaux, pas des titres de biens. */
  html.kastor-native-app #main-content :is(
    .breadcrumb, .services-kicker, .project-kicker, .follow-kicker,
    .invest-kicker, .diaspora-kicker, .group-kicker, .contact-kicker,
    .supplier-kicker, .hero-overlay__label, .eco-detail-hero__eyebrow,
    .villa-detail__eyebrow, .im-catalogue__eyebrow
  ) { display: none !important; }

  /* Les titres de rubrique restent accessibles aux lecteurs d'écran,
     mais ne prennent plus une pleine ligne à l'affichage. */
  html.kastor-native-app #main-content :is(
    .home-modeles__heading h1,
    .programmes-majeurs > .container > h2,
    .visite-distance-highlight__inner > h3,
    .services-grid-section .section-head h2,
    .im-catalogue__intro h2,
    .supplier-section-head h2,
    .supplier-form-section > .container > h2
  ) {
    position: absolute !important; width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip: rect(0,0,0,0) !important; white-space: nowrap !important;
    border: 0 !important;
  }

  /* Rythme plus court : l'action principale arrive avant le défilement. */
  html.kastor-native-app #main-content :is(
    .home-modeles, .services-grid-section, .im-catalogue,
    .follow-access, .contact-simple-main, .supplier-page-section,
    .supplier-form-section, .villa-detail__section, .eco-detail-theme
  ) { padding-top: 16px !important; padding-bottom: 20px !important; }
  html.kastor-native-app #main-content .site-btn { min-height: 44px; }
  html.kastor-native-app #main-content :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #8f1018; outline-offset: 3px;
  }

  /* Accueil = raccourcis + maisons + visites + programmes, pas brochure. */
  html.kastor-native-app main.page-home > .hero-overlay { display: none !important; }
  html.kastor-native-app main.page-home .kastor-home-quick { padding-top: 10px !important; }
  html.kastor-native-app main.page-home .home-modeles__heading {
    margin: 0 !important; padding: 0 !important;
  }
  html.kastor-native-app main.page-home .home-modeles__heading > :is(.section-intro,.home-modeles__eyebrow) { display: none !important; }
  html.kastor-native-app main.page-home .home-modele-card__body > p:not(.home-modele-card__type) { display: none; }
  html.kastor-native-app main.page-home .home-modele-card__body { padding: 12px 14px !important; }
  html.kastor-native-app main.page-home .home-modeles__grid { gap: 14px !important; }
  html.kastor-native-app main.page-home .partenaires:not(.programmes-majeurs) > .container > h2,
  html.kastor-native-app main.page-home .partenaires-grid--logos,
  html.kastor-native-app main.page-home .programmes-majeurs .section-intro,
  html.kastor-native-app main.page-home .programmes-majeurs .programme-major-card__body p,
  html.kastor-native-app main.page-home > section:not([class]),
  html.kastor-native-app main.page-home > section.investir,
  html.kastor-native-app main.page-home > section.diaspora,
  html.kastor-native-app main.page-home > section.supplier-home,
  html.kastor-native-app main.page-home > section.experts,
  html.kastor-native-app main.page-home > section.cta-final { display: none !important; }
  /* Ne pas masquer le module Visite virtuelle : il se trouve dans .partenaires. */
  html.kastor-native-app main.page-home .visite-distance-highlight__eyebrow { display: none !important; }
  html.kastor-native-app main.page-home .visite-distance-highlight { margin-block: 12px !important; }
  html.kastor-native-app main.page-home .partenaires:not(.programmes-majeurs) { padding-block: 0 !important; }
  html.kastor-native-app main.page-home .programmes-majeurs { padding-block: 12px !important; }

  /* Biens : accès à la recherche/filtres et aux fiches sans grand préambule. */
  html.kastor-native-app main.page-programmes > .page-hero,
  html.kastor-native-app main.page-programmes .im-catalogue__intro > p,
  html.kastor-native-app main.page-programmes > .partenaires.programmes-home { display: none !important; }
  html.kastor-native-app main.page-programmes .im-catalogue__intro { margin: 0 !important; }
  html.kastor-native-app main.page-programmes .im-catalogue__search-label { font-size: 13px; }
  html.kastor-native-app main.page-programmes .im-catalogue__filters { padding-block: 10px 14px; }
  html.kastor-native-app main.page-programmes .im-catalogue__content > span:not(.im-catalogue__tag):not(.im-catalogue__action) {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html.kastor-native-app main.page-programmes > .cta-final h2,
  html.kastor-native-app main.page-programmes > .cta-final p { display: none !important; }
  html.kastor-native-app main.page-programmes > .cta-final { padding-block: 14px !important; }

  /* Services : les 9 interventions et le lien pour agir, sans vidéo ni méthode commerciale. */
  html.kastor-native-app main.page-services :is(.services-hero,.kastor-promo-video,.services-method),
  html.kastor-native-app main.page-services .services-grid-section .section-head,
  html.kastor-native-app main.page-services .services-cta :is(h2,p) { display: none !important; }
  html.kastor-native-app main.page-services .services-grid-section .service-card__body > p {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  html.kastor-native-app main.page-services .services-grid {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  html.kastor-native-app main.page-services .services-grid .service-card {
    display: grid !important; grid-template-columns: 104px minmax(0,1fr) !important;
    align-items: stretch; min-height: 108px; overflow: hidden;
  }
  html.kastor-native-app main.page-services .services-grid .service-card > img {
    display: block !important; width: 104px !important; max-width: 104px !important;
    height: 100% !important; min-height: 108px; object-fit: cover;
  }
  html.kastor-native-app main.page-services .service-card__body {
    min-width: 0; padding: 10px 12px !important;
  }
  html.kastor-native-app main.page-services .service-card__body > h3 {
    font-size: 15px !important; line-height: 1.25 !important; margin-bottom: 5px !important;
  }
  html.kastor-native-app main.page-services .service-card__body > p {
    font-size: 12px !important; line-height: 1.4 !important; margin: 0 !important;
  }
  html.kastor-native-app main.page-services .services-cta { padding: 18px 16px !important; }

  /* Suivi : connexion au dossier client immédiatement visible. */
  html.kastor-native-app main.page-suivre-projet :is(.follow-hero,.follow-intro,.follow-features,.follow-method),
  html.kastor-native-app main.page-suivre-projet .follow-cta :is(h2,p) { display: none !important; }
  html.kastor-native-app main.page-suivre-projet .follow-layout { display: block !important; }
  html.kastor-native-app main.page-suivre-projet .follow-login { width: 100% !important; max-width: none !important; }
  html.kastor-native-app main.page-suivre-projet .follow-login > h2 { margin-top: 0 !important; font-size: 19px !important; }
  html.kastor-native-app main.page-suivre-projet .follow-cta { padding: 16px !important; }

  /* Projet et contact : les formulaires présents dans V17 ne transmettent rien.
     Ne pas les faire passer pour utilisables dans l'application native. */
  html.kastor-native-app main.page-confier-projet :is(.project-hero,.kastor-promo-video,.project-section,.project-process,.project-cta),
  html.kastor-native-app main.page-contact :is(.contact-simple-hero,.contact-simple-form-wrap,.contact-simple-lead,.contact-simple-note),
  html.kastor-native-app main.page-contact .contact-simple-info > h2,
  html.kastor-native-app main.page-contact .contact-simple-offices__head { display: none !important; }
  html.kastor-native-app main.page-contact .contact-simple-layout { display: block !important; }
  html.kastor-native-app main.page-contact .contact-simple-info { width: 100% !important; max-width: none !important; }
  html.kastor-native-app main.page-contact .contact-simple-offices { padding: 8px 0 20px !important; }

  /* Liens utilisables immédiatement, visibles uniquement dans l'app. */
  html.kastor-native-app .kastor-app-native-actions {
    display: block !important; margin: 12px 16px 16px; padding: 16px;
    background: #fff; border: 1px solid #ebd8db; border-radius: 14px;
    color: #20252a;
  }
  html.kastor-native-app .kastor-app-native-actions > p { margin: 0 0 12px; line-height: 1.45; }
  html.kastor-native-app .kastor-app-native-actions__links { display: grid; gap: 9px; }
  html.kastor-native-app .kastor-app-native-actions__links > a {
    display: flex; align-items: center; justify-content: center; min-height: 48px;
    border: 1px solid #8f1018; border-radius: 10px; padding: 9px;
    color: #8f1018; background: #fff; font-weight: 750; text-decoration: none;
  }
  html.kastor-native-app .kastor-app-native-actions__links > a:first-child { color: #fff; background: #8f1018; }
  html.kastor-native-app .kastor-app-native-actions > small { display: block; margin-top: 12px; line-height: 1.45; color: #555; }

  /* Investissement et diaspora : choix concrets + prise de contact. */
  html.kastor-native-app main.page-investir :is(.invest-hero,.supplier-home--invest-prominent,.invest-dark),
  html.kastor-native-app main.page-investir .invest-section ~ .invest-section,
  html.kastor-native-app main.page-investir .invest-section > .container > :is(.lead,h2),
  html.kastor-native-app main.page-investir .invest-cta :is(h2,p),
  html.kastor-native-app main.page-diaspora :is(.diaspora-hero,.diaspora-proof),
  html.kastor-native-app main.page-diaspora .diaspora-cta :is(h2,p),
  html.kastor-native-app main.page-diaspora .diaspora-intro,
  html.kastor-native-app main.page-diaspora .diaspora-split { display: none !important; }
  html.kastor-native-app main.page-investir .invest-section { padding: 16px 0 !important; }
  html.kastor-native-app main.page-diaspora .diaspora-section { padding: 14px 0 !important; }

  /* Groupe : coordonnées, contacts et passerelles pratiques avant le récit. */
  html.kastor-native-app main.page-le-groupe :is(.press-feature,.group-section,.supplier-home),
  html.kastor-native-app main.page-le-groupe .group-hero p,
  html.kastor-native-app main.page-le-groupe .group-offices > .container > :is(h2,p),
  html.kastor-native-app main.page-le-groupe .group-cta :is(h2,p) { display: none !important; }
  html.kastor-native-app main.page-le-groupe .group-hero { padding: 14px 12px !important; }
  html.kastor-native-app main.page-le-groupe .group-hero h1 { font-size: 20px !important; }
  html.kastor-native-app main.page-le-groupe :is(.group-offices,.group-cta) { padding: 16px 0 !important; }

  /* Appels d'offres : références, statuts, dates et dossiers intacts.
     Le dépôt en ligne est encore une démonstration : canal direct à la place. */
  html.kastor-native-app main.page-fournisseurs > .supplier-page-hero,
  html.kastor-native-app main.page-fournisseurs .supplier-section-head,
  html.kastor-native-app main.page-fournisseurs .supplier-form-card,
  html.kastor-native-app main.page-fournisseurs .supplier-benefits-wrap,
  html.kastor-native-app main.page-fournisseurs .supplier-form,
  html.kastor-native-app main.page-fournisseurs .supplier-form-section .demo-note,
  html.kastor-native-app main.page-fournisseurs .supplier-form-section :is(.supplier-section-head,.supplier-form-intro) { display: none !important; }
  html.kastor-native-app main.page-fournisseurs .supplier-offers-grid { gap: 14px !important; }

  /* Fiches de villas : modèles, prix, taxes, options et plans restent intégralement visibles. */
  html.kastor-native-app main[class*="page-villa-"] .villa-detail__hero { padding: 14px 0 16px !important; }
  html.kastor-native-app main[class*="page-villa-"] .villa-detail__hero-copy .villa-detail__lead { display: none !important; }
  html.kastor-native-app main[class*="page-villa-"] .villa-detail__info-card:not(.villa-detail__info-card--soft) > .villa-detail__section-heading,
  html.kastor-native-app main[class*="page-villa-"] .villa-detail__section:not(.villa-detail__section--paired) .villa-detail__section-heading { display: none !important; }

  /* Présentations des programmes : garder les données et les liens, écarter les surtitres. */
  html.kastor-native-app main.page-ecocity .eco-detail-hero,
  html.kastor-native-app main.page-espoir-city .eco-detail-hero,
  html.kastor-native-app main.page-umoja .eco-detail-hero { padding-top: 15px !important; padding-bottom: 14px !important; }
  html.kastor-native-app main :is(.eco-detail-hero__lead,.eco-detail-intro > .container > p:not(.hero-overlay__label)) { display: none !important; }
  html.kastor-native-app main :is(.eco-detail-numbers,.eco-detail-services,.eco-detail-indicators) { padding-block: 16px !important; }
  html.kastor-native-app main :is(.eco-detail-numbers,.eco-detail-services,.eco-detail-indicators) h2 { font-size: 19px !important; }
  html.kastor-native-app main :is(.eco-detail-theme,.eco-detail-intro) .hero-overlay__label { display: none !important; }

  /* Les positions, formulaires d'authentification, messages d'erreur et mentions
     de sécurité ne font l'objet d'aucune règle de masquage globale. */
}
