/*
 * Accueil iPad — disposition d'origine d'Apple avec les apps intégrées absentes du simulateur.
 *
 * Source : SpringBoard.app/DefaultIconState~ipad.plist de l'image de restauration officielle
 * iPadOS 17.5 (21F79) et 18.0 (22A3354), iPad Air 5 (iPad13,16) — campagne-ground-truth-ios.md
 * §10.28. La grille mesurée sur le simulateur (device-shell.css : 4 colonnes en portrait,
 * 6 en paysage, cellules de 136 px, pas de 28 px, widgets en rangées 1–2 et à gauche) est
 * conservée ; les cellules libres sont remplies dans l'ordre de la plist. Le simulateur, qui n'a
 * pas FaceTime, Maison, Appareil photo, App Store, Livres, Podcasts et TV, montrait les cinq apps
 * restantes reflowées sur ces mêmes cellules : les rangs mesurés (Fichiers 3·3, Rappels 3·4,
 * Plans 4·3, News 4·4, Réglages 5·1) restent valables en profil `?data=gt` (html.ios-data-gt),
 * où ios-stock-apps.js retire les apps documentaires du DOM.
 *
 * Scope : body#ios-17 / body#ios-18 .ios-springboard hors html.ios-data-gt uniquement.
 */

/* ---- Page 1 : huit cellules libres après les widgets (mesure GT) ------------------------- */
/* Portrait 4 × 5 : widgets en rangées 1–2 et 3–4 (colonnes 1–2) → 8 cellules ; SpringBoard reporte
   les quatre apps suivantes de la plist (Podcasts, TV, News, Réglages) en tête de page 2, et la page
   garde les mêmes apps en paysage (6 × 4 : widgets en colonnes 3–6 des rangées 1–2, calendrier en
   rangée 2). Les cinq apps du simulateur occupaient les cinq premières de ces cellules, dans le même
   ordre : la disposition d’origine est donc le même remplissage, complet. */

html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="facetime"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="facetime"] { grid-row: 3; grid-column: 3; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"] { grid-row: 3; grid-column: 4; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"] { grid-row: 4; grid-column: 3; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="plans"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="plans"] { grid-row: 4; grid-column: 4; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="home"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="home"] { grid-row: 5; grid-column: 1; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="camera"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="camera"] { grid-row: 5; grid-column: 2; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="appstore"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="appstore"] { grid-row: 5; grid-column: 3; }
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="books"],
html.ios-form-tablet.ios-orient-portrait:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="books"] { grid-row: 5; grid-column: 4; }

/* ---- Paysage (6 colonnes) ---------------------------------------------------------------- */

html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="facetime"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="facetime"] { grid-row: 1; grid-column: 1; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"] { grid-row: 1; grid-column: 2; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"] { grid-row: 3; grid-column: 1; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="plans"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="plans"] { grid-row: 3; grid-column: 2; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="home"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="home"] { grid-row: 3; grid-column: 3; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="camera"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="camera"] { grid-row: 3; grid-column: 4; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="appstore"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="appstore"] { grid-row: 3; grid-column: 5; }
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="books"],
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="books"] { grid-row: 3; grid-column: 6; }

/* ---- Pages vides (tout rangé en pages 1–2 et dock) et page 3 téléphone -------------------- */

body#ios-17.ios-springboard #desktop .sb-page.sb-page--empty,
body#ios-18.ios-springboard #desktop .sb-page.sb-page--empty { display: none; }

body#ios-17.ios-springboard #sb-points [data-page][hidden],
body#ios-18.ios-springboard #sb-points [data-page][hidden] { display: none; }

/* ---- Dock à 7 apps + Bibliothèque : le dock iPadOS s'élargit au contenu (pas 20 au lieu de 28) --- */

html.ios-form-tablet:not(.ios-data-gt) body#ios-17.ios-springboard #tableau,
html.ios-form-tablet:not(.ios-data-gt) body#ios-18.ios-springboard #tableau {
    width: auto;
    max-width: calc(100% - 48px);
    padding: 0 18px;
}
html.ios-form-tablet:not(.ios-data-gt) body#ios-17.ios-springboard #tableau > nav,
html.ios-form-tablet:not(.ios-data-gt) body#ios-18.ios-springboard #tableau > nav {
    gap: 20px;
}
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-17.ios-springboard #tableau > nav,
html.ios-form-tablet.ios-orient-landscape:not(.ios-data-gt) body#ios-18.ios-springboard #tableau > nav {
    gap: 24px;
}

/* Icônes de dock des apps « panneau » (Mail, Notes, Musique) : même rendu que les pages. */
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a.sb-shell > .shell-face,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a.sb-shell > .shell-face {
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a.sb-shell > .shell-face > img,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a.sb-shell > .shell-face > img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a > .sb-label,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a > .sb-label { display: none; }

/* ---- Apps propres à l'iPad (DefaultIconState.plist iPhone ne les liste pas) ---------------- */

html.ios-form-phone body#ios-17.ios-springboard a[data-link="photobooth"],
html.ios-form-phone body#ios-18.ios-springboard a[data-link="photobooth"] { display: none; }

/* FaceTime : icône d'origine (Assets.car FaceTime.app) à la place du dessin, fond neutre. */
body#ios-17.ios-springboard .shell-face--facetime.shell-face--icon,
body#ios-18.ios-springboard .shell-face--facetime.shell-face--icon { background: none; }

/* ---- Liens masqués par ios-ipad-home.js (doublons du dock, apps absentes de l'iPad) ---------- */

html.ios-form-tablet body#ios-17.ios-springboard a[data-link][hidden],
html.ios-form-tablet body#ios-18.ios-springboard a[data-link][hidden] { display: none !important; }
body#ios-18.ios-springboard .shell-face--calc.shell-face--icon { background: none; }

/* ---- Pages suivantes : les cellules mesurées (device-shell.css) ne valent que pour la page 1 ------ */
/* Les rangs fixés par data-link (Fichiers 3·3, Rappels 3·4, Plans 4·3, News 4·4, Réglages 5·1) sont ceux
   de la page 1 du simulateur ; une app reportée en page 2 (disposition d'origine : News, Réglages…) suit
   le flux de la grille. */
html.ios-form-tablet:not(.ios-data-gt) body#ios-17.ios-springboard #desktop .sb-page:not(:first-child).sb-page-on > a[data-link],
html.ios-form-tablet:not(.ios-data-gt) body#ios-18.ios-springboard #desktop .sb-page:not(:first-child).sb-page-on > a[data-link] {
    grid-row: auto;
    grid-column: auto;
}
