/* La Fabrique Newsletter 0.1.2 : CSS limited to the newsletter dialog */
.lfnl[hidden] { display: none !important; }
.lfnl { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 18px; box-sizing: border-box; }
.lfnl, .lfnl * { box-sizing: border-box; }
.lfnl__backdrop { position: absolute; inset: 0; background: rgba(24,18,14,.66); }
.lfnl__dialog { position: relative; width: min(100%, 480px); max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); overflow-y: auto; background: #f4eee5; color: #31251e; padding: 32px 30px; box-shadow: 0 14px 60px rgba(0,0,0,.25); border-radius: 4px; }
.lfnl__close { position: absolute; top: 8px; right: 10px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 0; background: transparent; color: #31251e; font-size: 26px; line-height: 1; cursor: pointer; }
.lfnl__close:focus-visible { outline: 2px solid #8e4b20; outline-offset: 2px; }
.lfnl__eyebrow { color: #76543c; letter-spacing: .15em; font-size: 11px; margin: 0 0 14px; }
.lfnl h2 { color: #31251e; font-size: 27px; line-height: 1.2; margin: 0 0 14px; }
.lfnl__description { color: #46352a; margin: 0 0 18px; line-height: 1.6; }
/* The native PrestaShop form is moved into this slot; its inputs and consent fields remain native. */
.lfnl #lfnl-form-slot, .lfnl #lfnl-form-slot form { width: 100%; color: #46352a; }
.lfnl #lfnl-form-slot form, .lfnl #lfnl-form-slot form * { color: #46352a; }
.lfnl #lfnl-form-slot form .row { display: block; margin: 0; }
.lfnl #lfnl-form-slot form [class*="col-"] { float: none; width: 100%; max-width: 100%; flex: 0 0 100%; padding: 0; margin: 0; }
.lfnl #lfnl-form-slot form .input-wrapper { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: 100%; }
.lfnl #lfnl-form-slot form input[type="email"],
.lfnl #lfnl-form-slot form input[name="email"] { order: 1; display: block; float: none !important; position: static; width: 100%; max-width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; background: #fff; color: #31251e; border: 1px solid #a99b90; border-radius: 3px; }
.lfnl #lfnl-form-slot form input[name="email"]::placeholder { color: #756b65; opacity: 1; }
.lfnl #lfnl-form-slot form button[type="submit"],
.lfnl #lfnl-form-slot form input[type="submit"] { order: 2; display: block !important; position: static !important; float: none !important; clear: both; align-self: stretch; width: 100%; max-width: 100%; min-height: 44px; margin: 0; background: #874514; color: #fff !important; border: 1px solid #874514; border-radius: 3px; font-weight: 600; cursor: pointer; }
.lfnl #lfnl-form-slot form button[type="submit"]:hover,
.lfnl #lfnl-form-slot form input[type="submit"]:hover { background: #63320f; border-color: #63320f; }
.lfnl #lfnl-form-slot form p,
.lfnl #lfnl-form-slot form label,
.lfnl #lfnl-form-slot form small,
.lfnl #lfnl-form-slot form a,
.lfnl #lfnl-form-slot form .conditions,
.lfnl #lfnl-form-slot form .gdpr_module { color: #554338 !important; opacity: 1; font-size: 13px; line-height: 1.5; }
.lfnl #lfnl-form-slot form a { text-decoration: underline; }
.lfnl #lfnl-form-slot form #block-newsletter-label { display: none; }
/* Keep consent inputs visible, hide duplicate responsive submit controls if present. */
.lfnl #lfnl-form-slot form input[type="checkbox"] { accent-color: #874514; }
.lfnl #lfnl-form-slot form .hidden-xs-down, .lfnl #lfnl-form-slot form .hidden-sm-up { display: block !important; }
.lfnl #lfnl-form-slot form input[type="submit"].hidden-sm-up { display: none !important; }
.lfnl #lfnl-form-slot form .alert, .lfnl #lfnl-form-slot form .alert * { color: #31251e !important; }
@media (max-width: 600px) { .lfnl { padding: 12px; } .lfnl__dialog { padding: 29px 20px 22px; max-height: calc(100dvh - 24px); } .lfnl h2 { font-size: 23px; } }

body.lfnl-open { overflow: hidden; }

/* 0.1.2: Theme text colors and native submit layout overrides. */
.lfnl .lfnl__dialog .lfnl__eyebrow { color: #76543c !important; opacity: 1 !important; }
.lfnl .lfnl__dialog .lfnl__description { color: #46352a !important; opacity: 1 !important; }
.lfnl #lfnl-form-slot form .input-wrapper { display: flex !important; flex-direction: column !important; align-items: stretch !important; }
.lfnl #lfnl-form-slot form .input-wrapper > * { float: none !important; position: static !important; }
.lfnl #lfnl-form-slot form .input-wrapper > input[name="email"],
.lfnl #lfnl-form-slot form .input-wrapper > :has(input[name="email"]) { order: 1 !important; }
.lfnl #lfnl-form-slot form .input-wrapper > button[type="submit"],
.lfnl #lfnl-form-slot form .input-wrapper > :has(button[type="submit"]) { order: 2 !important; }
.lfnl #lfnl-form-slot form .input-wrapper > .input-group-btn { order: 2 !important; width: 100% !important; }
.lfnl #lfnl-form-slot form .input-wrapper > .input-group-btn > button { width: 100% !important; }

/* 0.1.5: preserve DOM order and make the email field precede submit. */

/* v0.1.4: Hide the duplicate native submit in the pop-up only. */
.lfnl #lfnl-form-slot form input[type="submit"].lfnl__duplicate-submit,
.lfnl #lfnl-form-slot form button[type="submit"].lfnl__duplicate-submit { display: none !important; }
.lfnl #lfnl-form-slot form input[type="submit"].lfnl__preferred-submit,
.lfnl #lfnl-form-slot form button[type="submit"].lfnl__preferred-submit {
  display: block !important; width: 100% !important; margin-top: 10px !important;
}

/* 0.1.5: explicit flex ordering, overriding all older theme/module rules. */
.lfnl #lfnl-form-slot form .input-wrapper > input[name="email"] {
  order: 0 !important;
}
.lfnl #lfnl-form-slot form .input-wrapper > input[type="submit"],
.lfnl #lfnl-form-slot form .input-wrapper > button[type="submit"],
.lfnl #lfnl-form-slot form .input-wrapper > .lfnl__submit-after-email,
.lfnl #lfnl-form-slot form .input-wrapper > .lfnl__preferred-submit {
  order: 1 !important;
}
.lfnl #lfnl-form-slot form .input-wrapper > input[type="submit"].lfnl__duplicate-submit { display: none !important; }

/* 0.1.6: the preferred native submit is moved after the email input in DOM.
   Keep the moved element after the input even with theme flex rules. */
.lfnl #lfnl-form-slot form .input-wrapper > input[name="email"] { order: 0 !important; }
.lfnl #lfnl-form-slot form .input-wrapper > input[type="submit"].lfnl__preferred-submit,
.lfnl #lfnl-form-slot form .input-wrapper > button[type="submit"].lfnl__preferred-submit { order: 1 !important; margin-top: 10px !important; }
