/*
 * Prestige Concept — [pc_prefooter]
 * Styles limités à #pc-prefooter : ni [pc_home_editorial] ni les autres
 * formulaires Fluent Forms du site ne sont ciblés.
 */
#pc-prefooter,
#pc-prefooter * { box-sizing: border-box; }

#pc-prefooter {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: 58px 28px;
    overflow: hidden;
    color: #fffaf1;
    background:
        linear-gradient(90deg, rgba(8,10,10,.87) 0%, rgba(8,10,10,.73) 46%, rgba(8,10,10,.54) 100%),
        url('./assets/prefooter-bg.png') center 48% / cover no-repeat;
    font-family: Arial, Helvetica, sans-serif;
}

#pc-prefooter .pc-prefooter__overlay {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(115deg, rgba(4,5,5,.28), transparent 65%);
}

#pc-prefooter .pc-prefooter__inner {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(460px, 1.28fr);
    align-items: center;
    gap: clamp(38px, 6vw, 110px);
    width: min(1180px, 100%);
    margin: 0 auto;
}

#pc-prefooter .pc-prefooter__intro { max-width: 410px; }

#pc-prefooter .pc-prefooter__eyebrow {
    margin: 0 0 12px;
    color: #d8ae4d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.3;
}

#pc-prefooter h2 {
    margin: 0;
    color: #fffaf1;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(32px, 3.2vw, 49px) !important;
    font-weight: 400 !important;
    line-height: 1.06 !important;
}

#pc-prefooter .pc-prefooter__rule {
    display: block;
    width: 56px;
    height: 2px;
    margin: 20px 0 18px;
    background: #d8ae4d;
}

#pc-prefooter .pc-prefooter__intro > p:not(.pc-prefooter__eyebrow):not(.pc-prefooter__documents) {
    max-width: 360px;
    margin: 0;
    color: rgba(255,250,241,.92);
    font-size: 16px;
    line-height: 1.65;
}

#pc-prefooter .pc-prefooter__documents {
    max-width: 365px;
    margin: 18px 0 0;
    color: rgba(255,250,241,.72);
    font-size: 12px;
    line-height: 1.5;
}

#pc-prefooter .pc-prefooter__documents a {
    color: #efd181;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

#pc-prefooter .pc-prefooter__documents a:hover,
#pc-prefooter .pc-prefooter__documents a:focus-visible {
    color: #fffaf1;
}

/* Formulaire Fluent Forms. */
#pc-prefooter .pc-prefooter__form-wrap {
    padding: clamp(22px, 3vw, 36px);
    border: 1px solid rgba(216,174,77,.46);
    border-radius: 16px;
    background: rgba(16,15,13,.70);
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
    backdrop-filter: blur(5px);
}

/* Fluent Forms encapsule tous les champs dans un <fieldset>. */
#pc-prefooter form.frm-fluent-form {
    display: block !important;
    width: 100% !important;
}

#pc-prefooter form.frm-fluent-form > fieldset {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 14px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

#pc-prefooter form.frm-fluent-form > fieldset > .ff-el-group {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 0 14px !important;
    grid-column: span 1;
}

#pc-prefooter form.frm-fluent-form > fieldset > .ff-el-group:last-child { margin-bottom: 0 !important; }

#pc-prefooter .frm-fluent-form .ff-el-input--label,
#pc-prefooter .frm-fluent-form .ff-el-input--content {
    display: block !important;
    width: 100% !important;
    min-width: 0;
}

#pc-prefooter .frm-fluent-form .ff-el-input--label label,
#pc-prefooter .frm-fluent-form .ff-el-group label {
    margin: 0 0 6px;
    color: rgba(255,250,241,.93) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}

#pc-prefooter .frm-fluent-form .pc-prefooter__half {
    width: auto;
    margin-right: 0;
}

#pc-prefooter form.frm-fluent-form > fieldset > .pc-prefooter__full,
#pc-prefooter form.frm-fluent-form > fieldset > .pc-prefooter__consent,
#pc-prefooter form.frm-fluent-form > fieldset > .pc-prefooter__submit,
#pc-prefooter form.frm-fluent-form > fieldset > .ff_submit_btn_wrapper {
    grid-column: 1 / -1;
}

#pc-prefooter .frm-fluent-form input:not([type='checkbox']),
#pc-prefooter .frm-fluent-form select,
#pc-prefooter .frm-fluent-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid rgba(255,250,241,.26) !important;
    border-radius: 8px !important;
    outline: 0;
    color: #28231c !important;
    background: rgba(255,253,248,.98) !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

#pc-prefooter .frm-fluent-form textarea { min-height: 96px; resize: vertical; }

#pc-prefooter .frm-fluent-form input::placeholder,
#pc-prefooter .frm-fluent-form textarea::placeholder { color: #726b61 !important; opacity: 1; }

#pc-prefooter .frm-fluent-form input:not([type='checkbox']):focus,
#pc-prefooter .frm-fluent-form select:focus,
#pc-prefooter .frm-fluent-form textarea:focus {
    border-color: #d8ae4d !important;
    background: #fffdf8 !important;
    box-shadow: 0 0 0 3px rgba(216,174,77,.22) !important;
}

#pc-prefooter .frm-fluent-form .pc-prefooter__consent { margin: 8px 0 0 !important; }
#pc-prefooter .frm-fluent-form .pc-prefooter__consent .ff-el-form-check,
#pc-prefooter .frm-fluent-form .pc-prefooter__consent p { margin: 0; }

#pc-prefooter .frm-fluent-form .pc-prefooter__consent label,
#pc-prefooter .frm-fluent-form .pc-prefooter__consent p {
    color: rgba(255,250,241,.88) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

#pc-prefooter .frm-fluent-form .pc-prefooter__consent input[type='checkbox'] {
    width: 15px;
    height: 15px;
    margin: 2px 8px 0 0;
    accent-color: #d8ae4d;
    vertical-align: top;
}

#pc-prefooter .frm-fluent-form .pc-prefooter__consent a {
    color: #efd181 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

#pc-prefooter .frm-fluent-form .pc-prefooter__submit,
#pc-prefooter .frm-fluent-form .ff_submit_btn_wrapper { margin: 20px 0 0; text-align: right; }

#pc-prefooter .frm-fluent-form .ff-btn-submit {
    min-width: 174px;
    min-height: 48px;
    padding: 12px 23px !important;
    border: 1px solid #d8ae4d !important;
    border-radius: 999px !important;
    color: #17130e !important;
    background: #d8ae4d !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .03em;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

#pc-prefooter .frm-fluent-form .ff-btn-submit:hover,
#pc-prefooter .frm-fluent-form .ff-btn-submit:focus-visible {
    border-color: #f4deb0 !important;
    color: #e3bc5a !important;
    background: #17130e !important;
    text-decoration: none !important;
    transform: translateY(-1px);
}

/* Messages de validation et de confirmation : uniquement dans le pré-footer. */
#pc-prefooter .frm-fluent-form .text-danger,
#pc-prefooter .frm-fluent-form .error,
#pc-prefooter .frm-fluent-form .ff-el-is-error .ff-el-form-check-label { color: #ffd3cf !important; }

#pc-prefooter .frm-fluent-form .ff-el-is-error input,
#pc-prefooter .frm-fluent-form .ff-el-is-error select,
#pc-prefooter .frm-fluent-form .ff-el-is-error textarea {
    border-color: #d96b5d !important;
    box-shadow: 0 0 0 3px rgba(217,107,93,.18) !important;
    color: #28231c !important;
    -webkit-text-fill-color: #28231c !important;
}

#pc-prefooter .ff-message-success,
#pc-prefooter .ff-message-error,
#pc-prefooter .ff-errors-in-stack {
    margin: 0 0 18px !important;
    padding: 15px 17px !important;
    border: 1px solid !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

#pc-prefooter .ff-message-success {
    border-color: rgba(216,174,77,.82) !important;
    color: #fff4d5 !important;
    background: rgba(75,60,25,.88) !important;
}

#pc-prefooter .ff-message-error,
#pc-prefooter .ff-errors-in-stack {
    border-color: rgba(217,107,93,.9) !important;
    color: #ffe8e3 !important;
    background: rgba(91,32,27,.90) !important;
}

@media (max-width: 900px) {
    #pc-prefooter { padding: 48px 24px; }
    #pc-prefooter .pc-prefooter__inner { grid-template-columns: 1fr; gap: 30px; width: min(680px, 100%); }
    #pc-prefooter .pc-prefooter__intro { max-width: 560px; text-align: center; }
    #pc-prefooter .pc-prefooter__rule { margin-right: auto; margin-left: auto; }
    #pc-prefooter .pc-prefooter__intro > p:not(.pc-prefooter__eyebrow):not(.pc-prefooter__documents),
    #pc-prefooter .pc-prefooter__documents { margin-right: auto; margin-left: auto; }
}

@media (max-width: 580px) {
    #pc-prefooter { padding: 42px 18px; }
    #pc-prefooter .pc-prefooter__form-wrap { padding: 22px 17px; border-radius: 12px; }
    #pc-prefooter form.frm-fluent-form > fieldset { grid-template-columns: 1fr !important; }
    #pc-prefooter .frm-fluent-form .pc-prefooter__half { width: 100%; margin-right: 0; }
    #pc-prefooter .frm-fluent-form .pc-prefooter__submit,
    #pc-prefooter .frm-fluent-form .ff_submit_btn_wrapper { text-align: center; }
    #pc-prefooter .frm-fluent-form .ff-btn-submit { width: 100%; }
}
