/* ============================================================
   apcontact - design page contact (maquette Autoplatinium)
   Palette : bleu marine #143C8C / turquoise #35B8C8 / orange #F28C1E
   ============================================================ */

/* --- Bandeau hero --- */
.apcontact-hero {
    background:
        linear-gradient(90deg, rgba(20,60,140,.96) 0%, rgba(27,92,168,.82) 45%, rgba(53,184,200,.62) 100%),
        url('../../../../img/cms/contact-equipe.jpg') right center / cover no-repeat,
        linear-gradient(90deg, #143C8C 0%, #1B5CA8 45%, #35B8C8 100%);
    color: #fff;
    padding: 75px 0 85px;
    margin-bottom: 45px;
}
/* L'image d'equipe est attendue dans /img/cms/contact-equipe.jpg (uploader via FTP
   ou BO > Preferences > Images CMS). Sans image, le degrade seul s'affiche. */

/* Masque le bloc logos de paiement (PayPal/Visa) si le theme l'injecte sur la page */
#module-apcontact-page #paiement_logo_block_left,
#module-apcontact-page .paiement_logo_block,
#module-apcontact-page #left_column,
#module-apcontact-page #right_column { display: none !important; }
#module-apcontact-page #center_column { width: 100%; }
.apcontact-hero .apcontact-breadcrumb {
    font-size: 13px;
    color: #fff;
    margin-bottom: 24px;
}
.apcontact-hero .apcontact-breadcrumb a { color: #fff; text-decoration: underline; }
.apcontact-hero h1 {
    color: #fff;
    font-size: 34px;
    font-weight: 700;
    margin: 0;
    border: none;
    text-transform: none;
}

/* --- Titre central --- */
.apcontact-heading {
    text-align: center;
    margin-bottom: 10px;
}
.apcontact-heading .apcontact-title {
    display: inline-block;
    color: #143C8C;
    font-size: 26px;
    font-weight: 700;
    padding-bottom: 8px;
    border-bottom: 3px solid #F28C1E;
    margin: 0 0 12px;
}
.apcontact-intro {
    text-align: center;
    color: #333;
    margin-bottom: 35px;
}
.apcontact-intro strong { color: #143C8C; }

/* --- Labels visibles --- */
.apcontact-form .apc-label {
    display: block;
    color: #143C8C;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 6px;
}

.apcontact-form .apc-help {
    color: #6B7A90;
    font-size: 12.5px;
    margin: -2px 0 8px;
    line-height: 1.45;
}

/* --- Champs --- */
.apcontact-form .form-group { margin-bottom: 18px; }
.apcontact-form .apc-input,
.apcontact-form select.apc-input,
.apcontact-form textarea.apc-input {
    width: 100%;
    border: 1px solid #C9D4E3;
    border-radius: 10px;
    background: #fff;
    padding: 14px 16px;
    font-size: 14px;
    color: #2c3e50;
    height: auto;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
    -webkit-appearance: none;
    appearance: none;
}
.apcontact-form .apc-input::placeholder { color: #9AA7B8; }
.apcontact-form .apc-input:focus {
    outline: none;
    border-color: #35B8C8;
    box-shadow: 0 0 0 3px rgba(53,184,200,.15);
}
.apcontact-form textarea.apc-input { min-height: 150px; resize: vertical; }

/* Select avec chevron */
.apcontact-select-wrap { position: relative; }
.apcontact-select-wrap:after {
    content: '';
    position: absolute;
    right: 18px; top: 50%;
    width: 9px; height: 9px;
    border-right: 2px solid #143C8C;
    border-bottom: 2px solid #143C8C;
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}
.apcontact-form select.apc-input { color: #9AA7B8; padding-right: 44px; }
.apcontact-form select.apc-input.apc-filled { color: #2c3e50; }

/* --- Encart d'aide par objet --- */
.apc-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #FFF4E5;
    border: 2px solid #F28C1E;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 18px;
}
.apc-notice-icon { font-size: 26px; line-height: 1; }
.apc-notice-body p {
    margin: 0 0 10px;
    color: #143C8C;
    font-weight: 600;
    font-size: 14.5px;
}
.apc-notice-btn {
    display: inline-block;
    background: #F28C1E;
    color: #fff !important;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .15s ease;
}
.apc-notice-btn:hover { background: #D97A12; color: #fff; }

/* --- Pieces jointes --- */
.apcontact-form .apc-label-light {
    display: block;
    color: #9AA7B8;
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 8px;
}
.apc-filezone {
    border: 1px solid #C9D4E3;
    border-radius: 10px;
    background: #fff;
    padding: 13px 16px;
    text-align: center;
    color: #9AA7B8;
    font-size: 14px;
    cursor: pointer;
    transition: border-color .15s ease;
}
.apc-filezone:hover { border-color: #35B8C8; color: #35B8C8; }
.apc-filezone input[type="file"] { display: none; }
.apc-filelist { margin-top: 8px; font-size: 13px; color: #143C8C; }
.apc-filelist span { display: inline-block; background: #EEF3FA; border-radius: 6px; padding: 3px 10px; margin: 2px 4px 2px 0; }

/* --- Bouton envoyer --- */
.apcontact-form .apc-btn {
    display: block;
    width: 100%;
    background: #143C8C;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 15px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 24px;
    transition: background .15s ease;
}
.apcontact-form .apc-btn:hover { background: #0F2F6E; }
/* espace avant le footer */
.apcontact-page { padding-bottom: 70px; }
.apcontact-form { margin-bottom: 20px; }
.apcontact-form .apc-btn[disabled] { opacity: .6; cursor: wait; }

/* --- Colonne droite --- */
.apcontact-aside { text-align: center; padding-top: 10px; }
.apcontact-aside .apc-logo {
    max-width: 280px;
    margin: 0 auto 22px;
    display: flex;
    justify-content: center;
}
.apcontact-aside .apc-logo img { display: block; margin: 0 auto; }
.apcontact-aside .apc-hours { color: #333; font-size: 14px; line-height: 1.6; margin-bottom: 22px; }
.apcontact-aside .apc-hours strong { color: #143C8C; }
.apc-phone {
    display: inline-block;
    border: 2px solid #F28C1E;
    color: #F28C1E;
    border-radius: 30px;
    padding: 10px 26px;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    transition: all .15s ease;
}
.apc-phone:hover { background: #F28C1E; color: #fff; text-decoration: none; }
.apc-phone i { margin-right: 8px; }

/* --- Alerte --- */
#apcontact-alert { border-radius: 10px; }

/* --- Responsive --- */
@media (max-width: 991px) {
    .apcontact-aside { margin-top: 40px; }
    .apcontact-hero h1 { font-size: 24px; }
    /* la barre plaque d'immatriculation du theme chevauche le hero sur mobile */
    .apcontact-hero { padding: 95px 0 55px; }
}
@media (max-width: 575px) {
    .apcontact-hero { padding: 110px 0 45px; }
    .apcontact-hero h1 { font-size: 21px; }
}

.apcontact-form .apc-order-warn {
    margin: 8px 0 0;
    padding: 8px 12px;
    border-left: 3px solid #f0ad4e;
    background: #fff8ec;
    color: #8a5a00;
    font-size: 13px;
}

.apcontact-form .apc-consigne,
.apcontact-form .apc-devis {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #dfe5ec;
    border-radius: 8px;
    background: #f7f9fb;
}
.apcontact-form .apc-consigne-answer { margin-top: 12px; }
.apcontact-form .apc-consigne-answer p { margin: 0 0 10px; }
.apcontact-form .apc-consigne-answer .apc-notice-btn { display: inline-block; margin: 0 8px 8px 0; }
.apcontact-form .apc-consigne-feedback { margin-top: 14px; }
.apcontact-form .apc-btn-small { padding: 8px 18px; font-size: 14px; margin-right: 8px; }
.apcontact-form .apc-btn-light { background: #fff; color: #23333A; border: 1px solid #c4ccd6; }
.apcontact-aside .apc-quick { margin: 18px 0; }
.apcontact-aside .apc-quick ul { list-style: none; padding: 0; margin: 6px 0 0; }
.apcontact-aside .apc-quick li { margin: 0 0 6px; }

.apc-account-alert { margin-top: 8px; padding: 12px 14px; background: #fff4e5; border: 1px solid #f0a030; border-radius: 4px; }
.apc-account-alert p { margin: 0 0 10px; }
.apc-account-alert .apc-btn { margin-right: 8px; }

.apc-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999; background: rgba(0,0,0,.75); display: flex; align-items: center; justify-content: center; padding: 16px; }
.apc-modal-inner { position: relative; width: 100%; max-width: 860px; aspect-ratio: 16 / 9; background: #000; }
.apc-modal-inner iframe, .apc-modal-inner video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
.apc-modal-close { position: absolute; top: -38px; right: 0; background: none; border: 0; color: #fff; font-size: 32px; line-height: 1; cursor: pointer; }

.apc-faq { margin-top: 40px; }
.apc-faq-title { font-size: 22px; margin-bottom: 16px; }
.apc-faq-item { border: 1px solid #ddd; border-radius: 4px; margin-bottom: 8px; background: #fff; }
.apc-faq-item summary { padding: 12px 16px; cursor: pointer; font-weight: 600; }
.apc-faq-answer { padding: 0 16px 14px; line-height: 1.5; }

/* Boutons de l'encart compte existant : taille normale, cote a cote */
.apcontact-form .apc-account-alert .apc-btn { display: inline-block; width: auto; margin: 0 8px 8px 0; padding: 9px 18px; font-size: 14px; border-radius: 8px; }
.apcontact-form .apc-account-alert .apc-btn-light { background: #fff; color: #143C8C; border: 1px solid #143C8C; }
.apcontact-form .apc-account-alert .apc-btn-light:hover { background: #eef2fb; }
.apc-account-alert p { margin: 0 0 12px; }
.apc-login-box { margin-top: 10px; padding-top: 10px; border-top: 1px solid #f0c98a; }
.apc-login-error { color: #b00020; margin: 8px 0; }
.apc-login-forgot { display: inline-block; margin-left: 6px; font-size: 14px; }
.apcontact-form .apc-btn-small { display: inline-block; width: auto; padding: 9px 18px; font-size: 14px; margin-top: 8px; }

/* Encart compte existant : boutons cote a cote, clairs */
.apc-account-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 4px; }
.apcontact-form .apc-account-alert .apc-account-actions .apc-btn { flex: 0 0 auto; display: inline-flex !important; align-items: center; width: auto !important; margin: 0 !important; padding: 10px 18px; font-size: 14px; border-radius: 8px; }
.apc-login-info { color: #1b6e2d; margin: 8px 0; }
.apc-logged-note { margin: 6px 0 0; font-size: 13px; color: #1b6e2d; }
.apc-logged-note a { margin-left: 6px; color: #143C8C; text-decoration: underline; }
/* Icones des libelles */
.apc-label .apc-ico { vertical-align: -4px; margin-right: 6px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.apc-btn .apc-ico { margin-right: 8px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Icones DANS les champs (fond du champ, a gauche) */
.apcontact-form #apc-email { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20width=%2220%22%20height=%2220%22%20fill=%22none%22%20stroke=%22%23143C8C%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2214%22%20rx=%222%22/%3E%3Cpolyline%20points=%223%207%2012%2013%2021%207%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px center; background-size: 20px 20px; padding-left: 48px !important; }
.apcontact-form #apc-objet { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20width=%2220%22%20height=%2220%22%20fill=%22none%22%20stroke=%22%23143C8C%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cline%20x1=%228%22%20y1=%226%22%20x2=%2221%22%20y2=%226%22/%3E%3Cline%20x1=%228%22%20y1=%2212%22%20x2=%2221%22%20y2=%2212%22/%3E%3Cline%20x1=%228%22%20y1=%2218%22%20x2=%2221%22%20y2=%2218%22/%3E%3Ccircle%20cx=%224%22%20cy=%226%22%20r=%221%22/%3E%3Ccircle%20cx=%224%22%20cy=%2212%22%20r=%221%22/%3E%3Ccircle%20cx=%224%22%20cy=%2218%22%20r=%221%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px center; background-size: 20px 20px; padding-left: 48px !important; }
.apcontact-form #apc-login-pass { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20width=%2220%22%20height=%2220%22%20fill=%22none%22%20stroke=%22%23143C8C%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%224%22%20y=%2211%22%20width=%2216%22%20height=%2210%22%20rx=%222%22/%3E%3Cpath%20d=%22M8%2011V7a4%204%200%200%201%208%200v4%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px center; background-size: 20px 20px; padding-left: 48px !important; }
.apcontact-form .apc-input.apc-ico-box { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20width=%2220%22%20height=%2220%22%20fill=%22none%22%20stroke=%22%23143C8C%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M21%208l-9-5-9%205v8l9%205%209-5z%22/%3E%3Cpolyline%20points=%223%208%2012%2013%2021%208%22/%3E%3Cline%20x1=%2212%22%20y1=%2213%22%20x2=%2212%22%20y2=%2221%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px center; background-size: 20px 20px; padding-left: 48px !important; }
.apcontact-form .apc-input.apc-ico-tag, .apcontact-form #apc-devis-pieces, .apcontact-form #apc-devis-qty { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20width=%2220%22%20height=%2220%22%20fill=%22none%22%20stroke=%22%23143C8C%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M20.59%2013.41l-7.17%207.17a2%202%200%200%201-2.83%200L2%2012V2h10l8.59%208.59a2%202%200%200%201%200%202.82z%22/%3E%3Cline%20x1=%227%22%20y1=%227%22%20x2=%227.01%22%20y2=%227%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px center; background-size: 20px 20px; padding-left: 48px !important; }
.apcontact-form #apc-message { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20width=%2220%22%20height=%2220%22%20fill=%22none%22%20stroke=%22%23143C8C%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M21%2015a2%202%200%200%201-2%202H8l-5%204V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202z%22/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px 16px; background-size: 20px 20px; padding-left: 48px !important; }
.apc-filezone .apc-ico { fill: none; stroke: #143C8C; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -4px; margin-right: 8px; width: 18px; height: 18px; }

/* Notification toast */
.apc-toast { position: fixed; top: 20px; right: 20px; z-index: 100000; max-width: 340px; padding: 14px 18px; border-radius: 8px; color: #fff; font-size: 14px; line-height: 1.4; box-shadow: 0 6px 20px rgba(0,0,0,.25); opacity: 0; transform: translateY(-12px); transition: opacity .25s, transform .25s; }
.apc-toast-ok { background: #2e7d32; }
.apc-toast-error { background: #c62828; }
.apc-toast-show { opacity: 1; transform: none; }
@media (max-width: 480px) { .apc-toast { left: 12px; right: 12px; max-width: none; } }
