/* ===========================================================================
   software_theme.css  --  habillage des pages "input data" du logiciel
                           et de la page save / restore
   ---------------------------------------------------------------------------
   Feuille ADDITIVE, a charger EN DERNIER (apres advancedBlock.css et
   iframe_form_mobile.css).

   PORTEE VOLONTAIREMENT RESTREINTE
   Ces pages ont fait l'objet d'un travail fin de mise en page (box-sizing des
   champs, vertical-align des cellules, largeurs de colonnes, bordures,
   alignement des selects). Cette feuille ne touche a AUCUN de ces points :

     - rien sur .table-stripedAdv ni sur ses th / td
     - rien sur les input et les select des tableaux d'entree
     - aucune propriete de mise en page (width, margin, padding, display,
       float, position)

   Elle se limite aux elements peripheriques : titres, liens beiges, bouton
   de validation, encarts. C'est la que se joue l'essentiel de l'impression
   visuelle, sans risque pour les tableaux.

   Scope : body[class*="oc-form-"] pour les formulaires d'entree (body class
   generee comme oc-form-<nom>, centered_and_folded_systems.php l.383) et
   body.oc-page-saverestore pour la page save / restore.

   POUR REVENIR EN ARRIERE : retirer le <link>. Rien n'est modifie ailleurs.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   VARIABLES
   ---------------------------------------------------------------------------
   CORRECTION 04/09/2026 -- le bloc n'etait declare que sur
   body[class*="oc-form-"]. La page save / restore portant la classe
   oc-page-saverestore, elle ne correspondait PAS a ce selecteur : toutes les
   var() de la section 8 y etaient indefinies, et le navigateur ignorait
   purement et simplement les proprietes qui en dependaient (contour, rayon,
   ombre des trois blocs). Seules les valeurs ecrites en dur s'appliquaient.

   Les deux familles de pages doivent donc figurer ici.
   --------------------------------------------------------------------------- */

body[class*="oc-form-"],
body.oc-page-saverestore {
    --s-accent:       #002C64;
    --s-accent-soft:  rgba(0, 44, 100, .08);

    /* Meme palette bleu ciel que handy_theme.css, pour que les deux univers
       du site se repondent. */
    --s-head-from:    #e9f3fd;
    --s-head-to:      #d9e9fb;
    --s-head-text:    #00459c;
    --s-head-line:    rgba(0, 69, 156, .16);

    --s-line:         rgba(30, 69, 128, .10);
    --s-radius:       12px;
    --s-radius-sm:    8px;
    --s-shadow:       0 1px 2px rgba(16, 40, 64, .05),
                      0 8px 24px rgba(16, 40, 64, .05);

    /* --- Cartes de la page save / restore -------------------------------
       Contour volontairement plus franc que --s-head-line : les trois blocs
       sont contigus et de meme fond blanc, un trait trop pale ne les separe
       pas. Rayon plus sobre que --s-radius (12px).
       >>> POUR AJUSTER : ces deux valeurs suffisent. */
    --s-card-line:    #c4d6ee;
    --s-card-radius:  10px;
}


/* ---------------------------------------------------------------------------
   1. TITRE DE SECTION
   ---------------------------------------------------------------------------
   Le <h3> est un bloc de pleine largeur SOUS lequel flottent les boutons
   beiges : on ne lui donne surtout pas de fond, qui passerait derriere eux et
   revelerait le recouvrement. On se limite a la graisse.
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] #content .overlayTitle-div h3,
body[class*="oc-form-"] #content .overlayTitle-div2 h3 {
    font-weight: 600;
    letter-spacing: .01em;
}

/* Le filet sous le titre : trait plein par defaut, adouci ici. */
body[class*="oc-form-"] #content .overlayTitle-div hr,
body[class*="oc-form-"] #content .overlayTitle-div2 hr {
    border: 0;
    border-top: 1px solid var(--s-head-line);
    opacity: 1;
}


/* ---------------------------------------------------------------------------
   2. LIENS BEIGES  (about / caution / parameters / tutorial)
   ---------------------------------------------------------------------------
   Passage en pastilles : contour fin, fond transparent, aplat au survol.
   La bordure reste a 1px et aucun padding n'est modifie, pour ne pas changer
   la largeur du bloc -- son alignement horizontal a ete regle finement dans
   iframe_form_mobile.css (padding-left du <ul>, margin-left calc(35% + 30px)).
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] #menuCalculAdvanced a {
    background-color: transparent;
    border: 1px solid #f0d9b5;
    color: #8a6320;
    border-radius: 999px;
    font-weight: 500;
    transition: background-color .15s ease, border-color .15s ease,
                color .15s ease;
}

body[class*="oc-form-"] #menuCalculAdvanced a:hover {
    background-color: #fce9cc;
    border-color: #e8c48f;
    color: #6d4d15;
}


/* ---------------------------------------------------------------------------
   3. BOUTON DE VALIDATION  ("apply")
   ---------------------------------------------------------------------------
   Le vert existant est conserve -- il identifie l'action de validation dans
   tout le logiciel. On ajoute seulement le relief et la reponse au clic.
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] .advancedButton input[type="submit"] {
    border-radius: var(--s-radius-sm);
    font-weight: 500;
    letter-spacing: .01em;
    box-shadow: 0 2px 8px rgba(20, 90, 50, .22);
    transition: background-color .15s ease, box-shadow .15s ease,
                transform .08s ease;
}

body[class*="oc-form-"] .advancedButton input[type="submit"]:hover {
    box-shadow: 0 4px 14px rgba(20, 90, 50, .3);
}

body[class*="oc-form-"] .advancedButton input[type="submit"]:active {
    transform: translateY(1px);
}


/* ---------------------------------------------------------------------------
   4. BANDEAU DE TITRE  (#titleAdvanced)
   ---------------------------------------------------------------------------
   Fond vert tres pale par defaut ; on l'accorde a la palette bleu ciel des
   pages handy pour unifier les deux univers.
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] #titleAdvanced {
    background-color: var(--s-head-from);
    background-image: linear-gradient(180deg,
                                      var(--s-head-from) 0%,
                                      var(--s-head-to) 100%);
    border: 1px solid var(--s-head-line);
    border-color: var(--s-head-line);
    border-radius: var(--s-radius);
    box-shadow: var(--s-shadow);
    color: var(--s-head-text);
}


/* ---------------------------------------------------------------------------
   5. ENCART D'AIDE  (.displayToolTipsAdv)
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] .displayToolTipsAdv {
    background-color: var(--s-head-from);
    border: 1px solid var(--s-head-line);
    border-radius: var(--s-radius);
    box-shadow: var(--s-shadow);
}


/* ---------------------------------------------------------------------------
   6. NUMEROS DE SURFACE  (span.titres, "S1", "S2"...)
   ---------------------------------------------------------------------------
   Pastilles bleu vif a angles presque droits ; on arrondit et on adoucit.
   Aucune dimension touchee.
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] span.titres {
    border-radius: var(--s-radius-sm);
    letter-spacing: .01em;
    box-shadow: 0 1px 3px rgba(16, 40, 64, .12);
}

body[class*="oc-form-"] span.titresBlocsParam {
    border-radius: var(--s-radius-sm);
}


/* ---------------------------------------------------------------------------
   7. IMAGES ET SCHEMAS
   --------------------------------------------------------------------------- */

body[class*="oc-form-"] #schemaListe img {
    border-radius: var(--s-radius);
    border-color: var(--s-line);
    box-shadow: var(--s-shadow);
    transition: box-shadow .2s ease;
}


/* ===========================================================================
   8. PAGE SAVE / RESTORE   (body.oc-page-saverestore)
   ---------------------------------------------------------------------------
   Structure differente des pages input data : pas de .overlayTitle-div, pas
   de #menuCalculAdvanced, pas de tableau. Les trois blocs sont des
   .alert.alert-secondary Bootstrap (fond gris uni) contenant un <h3>, un <hr>
   et un formulaire.

   Les <h3> portent leurs styles en attribut style= (taille, graisse, couleur
   turquoise) : ils ne sont pas touches ici. Les hauteurs min-height inline
   ne le sont pas davantage -- aucune propriete de mise en page.
   =========================================================================== */

/* --- Les trois blocs en cartes contourees -------------------------------- */

body.oc-page-saverestore #content .alert-secondary {
    background-color: #fff;
    border: 1px solid var(--s-card-line);
    border-radius: var(--s-card-radius);
    box-shadow: var(--s-shadow);
    color: inherit;
}

body.oc-page-saverestore #content .alert-secondary hr {
    border: 0;
    border-top: 1px solid var(--s-head-line);
    opacity: 1;
}


/* --- Champ "file name" --------------------------------------------------- */
/* Meme traitement que les champs des pages handy : aplat clair, bordure au
   seul focus. Retirer ce bloc pour revenir au champ encadre. */

body.oc-page-saverestore #content input[type="text"] {
    background-color: #f4f6f8;
    border: 1px solid transparent;
    border-radius: var(--s-radius-sm);
    transition: background-color .15s ease, border-color .15s ease,
                box-shadow .15s ease;
}

body.oc-page-saverestore #content input[type="text"]:focus {
    background-color: #fff;
    border-color: var(--s-accent);
    box-shadow: 0 0 0 3px rgba(0, 44, 100, .18);
    outline: none;
}


/* --- Boutons de validation ---------------------------------------------- */
/* Le vert d'advancedBlock.css est conserve ; on ajoute le relief et la
   reponse au clic. Meme rayon que les boutons des pages input data. */

body.oc-page-saverestore .advancedButton input[type="submit"] {
    border-radius: var(--s-radius-sm);
    font-weight: 500;
    letter-spacing: .01em;
    box-shadow: 0 2px 8px rgba(20, 90, 50, .22);
    transition: background-color .15s ease, box-shadow .15s ease,
                transform .08s ease;
}

body.oc-page-saverestore .advancedButton input[type="submit"]:hover {
    box-shadow: 0 4px 14px rgba(20, 90, 50, .3);
}

body.oc-page-saverestore .advancedButton input[type="submit"]:active {
    transform: translateY(1px);
}


/* --- Selecteurs de fichier ---------------------------------------------- */
/* Le HTML applique la classe .btn a des <input type="file">, ce qui leur
   donne l'apparence d'un bouton alors qu'ils n'en sont pas. On les rend
   visuellement neutres pour que seuls les vrais boutons ressortent. */

body.oc-page-saverestore #content input[type="file"] {
    background-color: #f4f6f8;
    border: 1px solid var(--s-line);
    border-radius: var(--s-radius-sm);
    box-shadow: none;
}
