/**
 * ==================================================================================
 * █  LEUK GLOBAL FORM SYSTEM — v2026.22 (FULL FILE)
 * ==================================================================================
 * Mantido (como está “excelente”):
 * - LABELS: preto (configurável) + "*" obrigatório vermelho
 * - REFERÊNCIA: sem transparência (container + input) e cor sólida
 * - TELEFONE: padding esquerdo para bandeira
 * - GDPR: alinhamento + pisco visível
 * - TEXTAREA: nº linhas visíveis + resize pelo utilizador
 * - DROPDOWN: alinhamento vertical, bordas, seta, cor e tamanho do texto configuráveis
 *
 * Novo nesta versão:
 * - PLACEHOLDER GLOBAL: mesma cor em TODOS os campos (inputs/textarea/select/choices)
 *   (cinza claro por defeito, configurável)
 * ==================================================================================
 */

/* ============================================================
   🎛️ 1. PAINEL DE CONTROLO (CONFIGURAÇÃO)
   ============================================================ */
:root {
    /* --- GERAL --- */
    --leuk-bg:               #ffffff;
    --leuk-border:           #cccccc;
    --leuk-focus:            #000000;
    --leuk-text:             #000000;

    /* Cor “erro” / asterisco obrigatório */
    --leuk-error:            #b02a2c;

    /* --- TIPOGRAFIA --- */
    --leuk-font-family:      'Roboto', sans-serif;

    /* --- INPUTS --- */
    --leuk-input-font-size:  15px;
    --leuk-input-radius:     0px;
    --leuk-input-padding-v:  12px;
    --leuk-input-padding-h:  15px;
    --leuk-transition:       all 0.3s ease;

    /* --- PLACEHOLDERS (GLOBAL) ✅ --- */
    --leuk-placeholder-rgb:     160,160,160; /* cinza claro */
    --leuk-placeholder-opacity: 1;

    /* --- LABELS (CONFIGURÁVEL) ---
       Não usamos "opacity:" nas labels (para não apagar o *).
       Usamos rgba() com RGB + Opacidade.
    */
    --leuk-label-size:        14px;
    --leuk-label-weight:      300;
    --leuk-label-transform:   uppercase;
    --leuk-label-letter-spacing: 1.5px;

    --leuk-label-rgb:         0,0,0;   /* PRETO */
    --leuk-label-opacity:     1;       /* 1 = sólido */

    --leuk-required-rgb:      176,42,44; /* #b02a2c */

    /* --- TEXTO LEGAL / GDPR (CONFIGURÁVEL) --- */
    --leuk-legal-font-family:    var(--leuk-font-family);
    --leuk-legal-font-size:      14px;
    --leuk-legal-font-weight:    300;
    --leuk-legal-rgb:            51,51,51; /* #333 */
    --leuk-legal-opacity:        1;
    --leuk-legal-line-height:    1.5;
    --leuk-legal-letter-spacing: 0px;
    --leuk-legal-transform:      none;

    /* --- ALINHAMENTO CHECKBOX --- */
    --leuk-check-size:        18px;
    --leuk-check-gap:         12px;
    --leuk-check-offset-y:    2px;
    --leuk-check-label-pad-top: 1px;

    /* Pisco */
    --leuk-check-tick-left:   6px;
    --leuk-check-tick-top:    5px;
    --leuk-check-tick-w:      5px;
    --leuk-check-tick-h:      9px;

    /* cor do “ativo” */
    --leuk-check-active:      #000000;

    /* --- TEXTAREA / MENSAGEM (LINHAS VISÍVEIS) --- */
    --leuk-textarea-lines:       6;
    --leuk-textarea-line-height: 1.4;
    --leuk-textarea-height:      calc(var(--leuk-textarea-lines) * 1lh);
    --leuk-textarea-resize:      vertical; /* mantém o canto inferior direito */

    /* --- DROPDOWN / SELECT (CONFIGURÁVEL) --- */
    --leuk-control-line-height:     1.2;
    --leuk-control-min-height:      44px;

    --leuk-select-font-size:        var(--leuk-input-font-size); /* segue inputs */
    --leuk-select-text-rgb:         0,0,0;  /* preto (configurável) */
    --leuk-select-text-opacity:     1;

    --leuk-select-padding-right:    45px;
    --leuk-select-arrow-right:      18px;
    --leuk-select-arrow-w:          5px;
    --leuk-select-arrow-h:          6px;
    --leuk-select-arrow-color:      #000000;

    /* borda do select em focus/open (por defeito NÃO fica preta) */
    --leuk-select-border-width:     1px;
    --leuk-select-border-active:    var(--leuk-border); /* para highlight: var(--leuk-focus) */

    /* --- ESPAÇAMENTO --- */
    --leuk-spacing:           20px;

    /* --- CAMPO REFERÊNCIA (READ ONLY) --- */
    --ref-font-size:          22px;
    --ref-font-weight:        300;

    --ref-rgb:                0,0,0;  /* PRETO */
    --ref-opacity:            1;      /* sem transparência */

    --ref-transform:          uppercase;
    --ref-letter-spacing:     0px;
    --ref-line-height:        1.5;
    --ref-padding-top:        10px;

    --ref-container-opacity:  1;
    --ref-bg:                 transparent;
    --ref-border:             none;
    --ref-padding:            0;

    /* --- BOTÃO SUBMIT --- */
    --leuk-btn-bg:            #ffffff;
    --leuk-btn-color:         #000000;
    --leuk-btn-border:        #000000;
    --leuk-btn-padding-v:     15px;
    --leuk-btn-padding-h:     45px;
    --leuk-btn-font-size:     12px;
    --leuk-btn-letter-spacing: 1.5px;
    --leuk-btn-radius:        0px;

    --leuk-btn-bg-hover:      #000000;
    --leuk-btn-color-hover:   #ffffff;

    /* --- CARTÃO LOGIN --- */
    --leuk-card-border:       #e5e5e5;
    --leuk-card-padding:      50px;

    /* --- MENSAGEM "UTILIZADOR AUTENTICADO" (LOGIN) --- */
    --leuk-auth-msg-font-family:    var(--leuk-font-family);
    --leuk-auth-msg-font-size:      18px;
    --leuk-auth-msg-font-weight:    300;
    --leuk-auth-msg-font-style:     normal;
    --leuk-auth-msg-line-height:    1.5;
    --leuk-auth-msg-letter-spacing: 0px;
    --leuk-auth-msg-transform:      none;
    --leuk-auth-msg-align:          left;

    --leuk-auth-msg-rgb:            0,0,0;
    --leuk-auth-msg-opacity:        1;

    --leuk-auth-msg-bg:             transparent;
    --leuk-auth-msg-border:         none;
    --leuk-auth-msg-radius:         0px;
    --leuk-auth-msg-padding:        0;

    --leuk-auth-msg-margin-bottom:  12px;
}

/* ============================================================
   A. ESTRUTURA BASE
   ============================================================ */
.leuk-premium-form .wpforms-container {
    padding: 0 !important;
    margin: 0 !important;
    font-family: var(--leuk-font-family);
}
.leuk-premium-form .wpforms-field {
    margin-bottom: var(--leuk-spacing) !important;
    clear: both;
}

/* Layout 2 Colunas */
.leuk-premium-form .wpforms-field-layout { margin-bottom: var(--leuk-spacing) !important; }
.leuk-premium-form .wpforms-layout-row {
    display: flex !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
}
.leuk-premium-form .wpforms-layout-column {
    flex: 1 1 0px !important;
    width: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.leuk-premium-form .wpforms-layout-column .wpforms-field { margin-bottom: 0 !important; }

/* ============================================================
   A2. LABELS (PRETO + CONFIGURÁVEL)
   ============================================================ */
.leuk-premium-form .elementor-widget-container .wpforms-container .wpforms-form .wpforms-field label.wpforms-field-label,
.leuk-premium-form .wpforms-container .wpforms-form .wpforms-field label.wpforms-field-label,
.leuk-premium-form .wpforms-container .wpforms-field label.wpforms-field-label,
.leuk-premium-form label.wpforms-field-label {
    display: block !important;
    font-size: var(--leuk-label-size) !important;
    font-weight: var(--leuk-label-weight) !important;
    text-transform: var(--leuk-label-transform) !important;
    letter-spacing: var(--leuk-label-letter-spacing) !important;
    color: rgba(var(--leuk-label-rgb), var(--leuk-label-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-label-rgb), var(--leuk-label-opacity)) !important;
    margin-bottom: 8px !important;
    position: static !important;
}

/* "*" obrigatório sempre vermelho e 100% opaco */
.leuk-premium-form .wpforms-field-label .wpforms-required-label,
.leuk-premium-form label.wpforms-field-label .wpforms-required-label,
.leuk-premium-form .wpforms-required-label {
    color: rgb(var(--leuk-required-rgb)) !important;
    -webkit-text-fill-color: rgb(var(--leuk-required-rgb)) !important;
    opacity: 1 !important;
    font-weight: 400 !important;
}

.leuk-premium-form .wpforms-field-sublabel { display: none !important; }

/* ============================================================
   B. INPUTS GERAIS (Regra Base)
   ============================================================ */
.leuk-premium-form input:not([type=checkbox]):not([type=radio]),
.leuk-premium-form select,
.leuk-premium-form textarea {
    background-color: var(--leuk-bg) !important;
    border: 1px solid var(--leuk-border) !important;
    border-radius: var(--leuk-input-radius) !important;
    color: var(--leuk-text) !important;
    font-size: var(--leuk-input-font-size) !important;
    padding: var(--leuk-input-padding-v) var(--leuk-input-padding-h) !important;
    width: 100% !important;
    transition: var(--leuk-transition);
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
}
.leuk-premium-form input:focus,
.leuk-premium-form select:focus,
.leuk-premium-form textarea:focus {
    border-color: var(--leuk-focus) !important;
    outline: none !important;
}

/* TEXTAREA: nº linhas visíveis + mantém resize pelo utilizador */
.leuk-premium-form textarea {
    line-height: var(--leuk-textarea-line-height) !important;
    height: var(--leuk-textarea-height) !important;
    min-height: var(--leuk-textarea-height) !important;
    resize: var(--leuk-textarea-resize) !important;
    overflow: auto !important;
}

/* ============================================================
   C. EXCEPÇÕES ESPECÍFICAS (TELEFONE)
   ============================================================ */
.leuk-premium-form .wpforms-field-phone input[type="tel"] {
    padding-left: 50px !important;
}
.leuk-premium-form .iti__flag-container {
    left: 1px !important;
    max-height: 44px !important;
}

/* ============================================================
   D. CAMPO "REFERÊNCIA" (READ ONLY / SEM CAIXA)
   ============================================================ */
.leuk-premium-form .wpforms-field.leuk-ref-field.wpforms-field-readonly,
.leuk-premium-form .wpforms-field.leuk-ref-field.wpforms-field-readonly * {
    opacity: var(--ref-container-opacity) !important;
    filter: none !important;
    -webkit-filter: none !important;
}
.leuk-premium-form .wpforms-field.leuk-ref-field input,
.leuk-premium-form .wpforms-field.leuk-ref-field input[readonly],
.leuk-premium-form .wpforms-field.leuk-ref-field input:read-only {
    background: var(--ref-bg) !important;
    background-color: var(--ref-bg) !important;
    border: var(--ref-border) !important;
    box-shadow: none !important;
    outline: none !important;

    color: rgba(var(--ref-rgb), var(--ref-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--ref-rgb), var(--ref-opacity)) !important;

    margin-top: var(--ref-padding-top) !important;
    padding: var(--ref-padding) !important;
    font-size: var(--ref-font-size) !important;
    font-weight: var(--ref-font-weight) !important;
    line-height: var(--ref-line-height) !important;
    text-transform: var(--ref-transform) !important;
    letter-spacing: var(--ref-letter-spacing) !important;

    pointer-events: none !important;
    cursor: default !important;
}

/* ============================================================
   E. GDPR & CHECKBOXES (ALINHAMENTO + PISCO VISÍVEL)
   ============================================================ */
.leuk-premium-form .wpforms-field-gdpr-checkbox ul,
.leuk-premium-form .wpforms-field-checkbox ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.leuk-premium-form .wpforms-field-gdpr-checkbox ul li,
.leuk-premium-form .wpforms-field-checkbox ul li {
    margin: 0 !important;
    padding: 0 !important;
}

/* esconde o input real */
.leuk-premium-form .wpforms-field-gdpr-checkbox input[type="checkbox"],
.leuk-premium-form .wpforms-field-checkbox input[type="checkbox"] {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
}

/* LABEL DO GDPR (texto legal) */
.leuk-premium-form .wpforms-field-gdpr-checkbox ul li label.wpforms-field-label-inline {
    display: block !important;
    position: relative !important;

    padding-left: calc(var(--leuk-check-size) + var(--leuk-check-gap)) !important;
    padding-top: var(--leuk-check-label-pad-top) !important;

    font-family: var(--leuk-legal-font-family) !important;
    font-size: var(--leuk-legal-font-size) !important;
    font-weight: var(--leuk-legal-font-weight) !important;
    color: rgba(var(--leuk-legal-rgb), var(--leuk-legal-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-legal-rgb), var(--leuk-legal-opacity)) !important;

    line-height: var(--leuk-legal-line-height) !important;
    letter-spacing: var(--leuk-legal-letter-spacing) !important;
    text-transform: var(--leuk-legal-transform) !important;

    cursor: pointer !important;
    margin-top: 5px !important;
}

/* caixa da checkbox (GDPR) */
.leuk-premium-form .wpforms-field-gdpr-checkbox ul li label.wpforms-field-label-inline::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: var(--leuk-check-offset-y) !important;
    width: var(--leuk-check-size) !important;
    height: var(--leuk-check-size) !important;
    border: 1px solid #666 !important;
    background: #fff !important;
    transition: all 0.2s ease;
    z-index: 1 !important;
}

/* ativo (GDPR) */
.leuk-premium-form .wpforms-field-gdpr-checkbox ul li input[type="checkbox"]:checked + label.wpforms-field-label-inline::before {
    background: var(--leuk-check-active) !important;
    border-color: var(--leuk-check-active) !important;
}

/* pisco visível (GDPR) */
.leuk-premium-form .wpforms-field-gdpr-checkbox ul li input[type="checkbox"]:checked + label.wpforms-field-label-inline::after {
    content: '' !important;
    position: absolute !important;
    left: var(--leuk-check-tick-left) !important;
    top: calc(var(--leuk-check-offset-y) + var(--leuk-check-tick-top)) !important;
    width: var(--leuk-check-tick-w) !important;
    height: var(--leuk-check-tick-h) !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    z-index: 2 !important;
}

/* (mantém o resto dos checkboxes como estava) */
.leuk-premium-form .wpforms-field-checkbox ul li label,
.leuk-premium-form .login-remember label {
    display: block !important;
    position: relative !important;
    padding-left: calc(var(--leuk-check-size) + var(--leuk-check-gap)) !important;
    padding-top: var(--leuk-check-label-pad-top) !important;

    font-size: 13px !important;
    color: #333 !important;
    cursor: pointer !important;
    text-transform: none !important;
    font-weight: 400 !important;
    margin-top: 5px !important;
    line-height: 1.4 !important;
}

.leuk-premium-form .wpforms-field-checkbox ul li label::before,
.leuk-premium-form .login-remember label::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: var(--leuk-check-offset-y) !important;
    width: var(--leuk-check-size) !important;
    height: var(--leuk-check-size) !important;
    border: 1px solid #666 !important;
    background: #fff !important;
    transition: all 0.2s ease;
    z-index: 1 !important;
}
.leuk-premium-form .wpforms-field-checkbox input[type="checkbox"]:checked + label::before,
.leuk-premium-form .login-remember input[type="checkbox"]:checked + label::before {
    background: var(--leuk-check-active) !important;
    border-color: var(--leuk-check-active) !important;
}
.leuk-premium-form .wpforms-field-checkbox input[type="checkbox"]:checked + label::after,
.leuk-premium-form .login-remember input[type="checkbox"]:checked + label::after {
    content: '' !important;
    position: absolute !important;
    left: var(--leuk-check-tick-left) !important;
    top: calc(var(--leuk-check-offset-y) + var(--leuk-check-tick-top)) !important;
    width: var(--leuk-check-tick-w) !important;
    height: var(--leuk-check-tick-h) !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    z-index: 2 !important;
}

/* links dentro do texto legal */
.leuk-premium-form .wpforms-field-gdpr-checkbox ul li label.wpforms-field-label-inline a {
    font-weight: 600 !important;
    text-decoration: underline !important;
    color: inherit !important;
}

.leuk-premium-form a {
    text-decoration: underline;
    color: inherit;
    font-weight: 600;
}

/* ============================================================
   F. BOTÕES SUBMIT
   ============================================================ */
.leuk-premium-form .wpforms-submit-container {
    text-align: right !important;
    margin-top: 25px !important;
    border-top: 1px solid #eee;
    padding-top: 20px !important;
}
.leuk-premium-form button[type="submit"] {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    border-radius: 0px !important;
    padding: 15px 45px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-size: 12px !important;
    width: auto !important;
    display: inline-block !important;
    cursor: pointer;
    transition: all 0.3s ease;
}
.leuk-premium-form button[type="submit"]:hover {
    background: #000000 !important;
    color: #ffffff !important;
}

/* ============================================================
   G. LAYOUT CARTÃO (LOGIN)
   ============================================================ */
.leuk-auth-card {
    background-color: #ffffff;
    border: 1px solid var(--leuk-card-border);
    padding: var(--leuk-card-padding) !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.leuk-auth-card .elementor-heading-title {
    font-size: 20px !important;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 20px !important;
    color: #000;
    letter-spacing: 0.5px;
}
.leuk-auth-card .elementor-widget-text-editor {
    font-size: 14px;
    color: #666;
    margin-bottom: 25px;
    line-height: 1.5;
}
@media (max-width: 767px) {
    .leuk-auth-card { padding: 30px !important; }
    .leuk-premium-form button[type="submit"] {
        width: 100% !important;
        text-align: center;
    }
}

/* ============================================================
   H. DROPDOWN / SELECT — FINAL (NATIVO + CHOICES.JS)
   ============================================================ */

/* remove qualquer seta antiga do container (evita “dupla seta”) */
.leuk-premium-form .wpforms-field-select::after {
    display: none !important;
}

/* ========== H1) SELECT NATIVO (fallback) ========== */
.leuk-premium-form .wpforms-field-select select{
    min-height: var(--leuk-control-min-height) !important;
    line-height: var(--leuk-control-line-height) !important;
    padding-right: var(--leuk-select-padding-right) !important;

    font-size: var(--leuk-select-font-size) !important;
    color: rgba(var(--leuk-select-text-rgb), var(--leuk-select-text-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-select-text-rgb), var(--leuk-select-text-opacity)) !important;
}

/* Seta para select nativo */
.leuk-premium-form .wpforms-field-select{
    position: relative !important;
}
.leuk-premium-form .wpforms-field-select select{
    background-image: none !important;
}
.leuk-premium-form .wpforms-field-select::before{
    content: '' !important;
    position: absolute !important;
    right: var(--leuk-select-arrow-right) !important;
    top: 42px !important;
    width: 0 !important;
    height: 0 !important;
    border-left: var(--leuk-select-arrow-w) solid transparent !important;
    border-right: var(--leuk-select-arrow-w) solid transparent !important;
    border-top: var(--leuk-select-arrow-h) solid var(--leuk-select-arrow-color) !important;
    pointer-events: none !important;
}

/* focus do select nativo */
.leuk-premium-form .wpforms-field-select select:focus{
    border-color: var(--leuk-select-border-active) !important;
}

/* ========== H2) CHOICES.JS (WPForms Modern) ========== */

/* O "campo" visível */
.leuk-premium-form .wpforms-field-select .choices__inner{
    background-color: var(--leuk-bg) !important;
    border: var(--leuk-select-border-width) solid var(--leuk-border) !important;
    border-radius: var(--leuk-input-radius) !important;
    box-shadow: none !important;

    min-height: var(--leuk-control-min-height) !important;
    padding: 0 !important; /* vamos controlar na .choices__item */
    display: flex !important;
    align-items: center !important;
}

/* Texto selecionado / placeholder */
.leuk-premium-form .wpforms-field-select .choices__list--single{
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
.leuk-premium-form .wpforms-field-select .choices__list--single .choices__item{
    width: 100% !important;
    padding: var(--leuk-input-padding-v) var(--leuk-input-padding-h) !important;
    padding-right: var(--leuk-select-padding-right) !important;

    font-size: var(--leuk-select-font-size) !important;
    line-height: var(--leuk-control-line-height) !important;

    display: flex !important;
    align-items: center !important;

    color: rgba(var(--leuk-select-text-rgb), var(--leuk-select-text-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-select-text-rgb), var(--leuk-select-text-opacity)) !important;

    opacity: 1 !important;
}

/* Quando abre, mantém a borda igual aos inputs (sem preto extra) */
.leuk-premium-form .wpforms-field-select .choices.is-open .choices__inner,
.leuk-premium-form .wpforms-field-select .choices.is-focused .choices__inner{
    border-color: var(--leuk-select-border-active) !important;
}

/* Drop list */
.leuk-premium-form .wpforms-field-select .choices__list--dropdown,
.leuk-premium-form .wpforms-field-select .choices__list[aria-expanded]{
    border: var(--leuk-select-border-width) solid var(--leuk-border) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
}

/* itens */
.leuk-premium-form .wpforms-field-select .choices__list--dropdown .choices__item{
    font-size: var(--leuk-select-font-size) !important;
    padding: 10px var(--leuk-input-padding-h) !important;
}

/* seta do Choices (substitui a original) */
.leuk-premium-form .wpforms-field-select .choices[data-type*="select-one"]::after{
    content: '' !important;
    position: absolute !important;
    right: var(--leuk-select-arrow-right) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 0 !important;
    height: 0 !important;
    border-left: var(--leuk-select-arrow-w) solid transparent !important;
    border-right: var(--leuk-select-arrow-w) solid transparent !important;
    border-top: var(--leuk-select-arrow-h) solid var(--leuk-select-arrow-color) !important;

    pointer-events: none !important;
    margin-top: 0 !important;
}

/* remove seta "invertida" default quando open */
.leuk-premium-form .wpforms-field-select .choices.is-open[data-type*="select-one"]::after{
    transform: translateY(-50%) rotate(180deg) !important;
}

/* ============================================================
   I. PLACEHOLDERS (GLOBAL) — Inputs + Textarea + Select/Dropdown
   ============================================================ */
.leuk-premium-form input::placeholder,
.leuk-premium-form textarea::placeholder{
    color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
    opacity: 1 !important;
}
.leuk-premium-form input::-webkit-input-placeholder,
.leuk-premium-form textarea::-webkit-input-placeholder{
    color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
    opacity: 1 !important;
}
.leuk-premium-form input:-ms-input-placeholder,
.leuk-premium-form textarea:-ms-input-placeholder{
    color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
}
.leuk-premium-form input::-ms-input-placeholder,
.leuk-premium-form textarea::-ms-input-placeholder{
    color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
}

/* Select required/invalid (placeholder) */
.leuk-premium-form select:required:invalid{
    color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
}

/* Choices placeholder (quando vazio) */
.leuk-premium-form .wpforms-field-select .choices.is-empty .choices__list--single .choices__item,
.leuk-premium-form .wpforms-field-select .choices.is-empty .choices__inner .choices__item,
.leuk-premium-form .wpforms-field-select .choices__list--single .choices__item.choices__placeholder,
.leuk-premium-form .wpforms-field-select .choices__list--single .choices__item--placeholder,
.leuk-premium-form .wpforms-field-select .choices__list--single .choices__item[data-placeholder="true"],
.leuk-premium-form .wpforms-field-select .choices__list--single .choices__item[data-value=""],
.leuk-premium-form .wpforms-field-select .choices__list--single .choices__placeholder{
    color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-placeholder-rgb), var(--leuk-placeholder-opacity)) !important;
    opacity: 1 !important;
}


/* ============================================================
   J. "LEMBRAR-ME" — REFINAMENTO FINAL
   ============================================================ */

/* Container */
.leuk-premium-form .login-remember{
    margin-top: 10px !important;
}

/* Label principal */
.leuk-premium-form .login-remember label{
    display: flex !important;
    align-items: flex-start !important; /* alinha com texto longo */
    gap: var(--leuk-check-gap) !important;

    padding-left: 0 !important;
    padding-top: 0 !important;

    font-family: var(--leuk-legal-font-family) !important;
    font-size: var(--leuk-legal-font-size) !important;
    font-weight: var(--leuk-legal-font-weight) !important;
    line-height: var(--leuk-legal-line-height) !important;

    color: rgba(var(--leuk-legal-rgb), var(--leuk-legal-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-legal-rgb), var(--leuk-legal-opacity)) !important;

    cursor: pointer !important;
    position: relative !important;
}

/* Remove estilos antigos */
.leuk-premium-form .login-remember label::before,
.leuk-premium-form .login-remember label::after{
    display: none !important;
}

/* Caixa custom */
.leuk-premium-form .login-remember label span.leuk-check{
    flex-shrink: 0 !important;

    width: var(--leuk-check-size) !important;
    height: var(--leuk-check-size) !important;

    border: 1px solid #666 !important;
    background: #fff !important;

    position: relative !important;
    margin-top: var(--leuk-check-offset-y) !important;

    transition: all 0.2s ease !important;
}

/* Estado ativo */
.leuk-premium-form .login-remember input:checked + label span.leuk-check{
    background: var(--leuk-check-active) !important;
    border-color: var(--leuk-check-active) !important;
}

/* Visto (pisco) */
.leuk-premium-form .login-remember input:checked + label span.leuk-check::after{
    content: '' !important;

    position: absolute !important;
    left: var(--leuk-check-tick-left) !important;
    top: var(--leuk-check-tick-top) !important;

    width: var(--leuk-check-tick-w) !important;
    height: var(--leuk-check-tick-h) !important;

    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;

    transform: rotate(45deg) !important;
}

/* Esconde input real */
.leuk-premium-form .login-remember input[type="checkbox"]{
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
}


/* ============================================================
   J2. "LEMBRAR-ME" (WPForms) — usa a classe do campo: leuk-check
   ============================================================ */

/* Remove a “caixa” (fieldset) e o título (legend) que o browser desenha */
.leuk-premium-form .wpforms-field-checkbox.leuk-check fieldset{
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-inline-size: 0 !important;
}
.leuk-premium-form .wpforms-field-checkbox.leuk-check legend.wpforms-field-label{
    display: none !important;
}

/* Normaliza lista (evita espaçamentos estranhos) */
.leuk-premium-form .wpforms-field-checkbox.leuk-check ul,
.leuk-premium-form .wpforms-field-checkbox.leuk-check li{
    margin: 0 !important;
    padding: 0 !important;
}

/* Garante que o input real fica escondido (mesmo que WPForms/theme “reverta”) */
.leuk-premium-form .wpforms-field-checkbox.leuk-check input[type="checkbox"]{
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
}

/* Tipografia do "Lembrar-me" (por defeito segue a do texto legal/GDPR) */
.leuk-premium-form .wpforms-field-checkbox.leuk-check label.wpforms-field-label-inline{
    display: block !important;
    position: relative !important;

    padding-left: calc(var(--leuk-check-size, 18px) + var(--leuk-check-gap, 12px)) !important;
    padding-top: var(--leuk-check-label-pad-top, 0px) !important;
    margin-top: 0 !important;

    font-family: var(--leuk-remember-font-family, var(--leuk-legal-font-family, var(--leuk-font-family))) !important;
    font-size: var(--leuk-remember-font-size, var(--leuk-legal-font-size, 13px)) !important;
    font-weight: var(--leuk-remember-font-weight, var(--leuk-legal-font-weight, 400)) !important;
    line-height: var(--leuk-remember-line-height, var(--leuk-legal-line-height, 1.4)) !important;

    color: rgba(
        var(--leuk-remember-rgb, var(--leuk-legal-rgb, 51,51,51)),
        var(--leuk-remember-opacity, var(--leuk-legal-opacity, 1))
    ) !important;
    -webkit-text-fill-color: rgba(
        var(--leuk-remember-rgb, var(--leuk-legal-rgb, 51,51,51)),
        var(--leuk-remember-opacity, var(--leuk-legal-opacity, 1))
    ) !important;

    cursor: pointer !important;
}

/* Caixa da checkbox (igual ao sistema premium) */
.leuk-premium-form .wpforms-field-checkbox.leuk-check label.wpforms-field-label-inline::before{
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: var(--leuk-check-offset-y, 2px) !important;

    width: var(--leuk-check-size, 18px) !important;
    height: var(--leuk-check-size, 18px) !important;

    border: 1px solid #666 !important;
    background: #fff !important;
    transition: all 0.2s ease !important;
    z-index: 1 !important;
}

/* Estado ativo */
.leuk-premium-form .wpforms-field-checkbox.leuk-check input[type="checkbox"]:checked
+ label.wpforms-field-label-inline::before{
    background: var(--leuk-check-active, #000) !important;
    border-color: var(--leuk-check-active, #000) !important;
}

/* Pisco (sempre visível) */
.leuk-premium-form .wpforms-field-checkbox.leuk-check input[type="checkbox"]:checked
+ label.wpforms-field-label-inline::after{
    content: '' !important;
    position: absolute !important;

    left: var(--leuk-check-tick-left, 6px) !important;
    top: calc(var(--leuk-check-offset-y, 2px) + var(--leuk-check-tick-top, 5px)) !important;

    width: var(--leuk-check-tick-w, 5px) !important;
    height: var(--leuk-check-tick-h, 9px) !important;

    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    z-index: 2 !important;
}

/* ============================================================
   K. UTILIZADOR AUTENTICADO (MENSAGEM)
   ============================================================ */

/* HTML gerado (exemplo):
   <div class="leuk-premium-form elementor-widget-wpforms">
     <div class="elementor-widget-container">
       <p>O Utilizador Ricardo já se encontra autenticado.</p>
       <p><a ...>Sair</a>.</p>
       ...
     </div>
   </div>
*/
body.logged-in .leuk-auth-card .leuk-premium-form.elementor-widget-wpforms .elementor-widget-container > p:first-of-type{
    margin: 0 0 var(--leuk-auth-msg-margin-bottom) 0 !important;

    font-family: var(--leuk-auth-msg-font-family) !important;
    font-size: var(--leuk-auth-msg-font-size) !important;
    font-weight: var(--leuk-auth-msg-font-weight) !important;
    font-style: var(--leuk-auth-msg-font-style) !important;
    line-height: var(--leuk-auth-msg-line-height) !important;
    letter-spacing: var(--leuk-auth-msg-letter-spacing) !important;
    text-transform: var(--leuk-auth-msg-transform) !important;
    text-align: var(--leuk-auth-msg-align) !important;

    color: rgba(var(--leuk-auth-msg-rgb), var(--leuk-auth-msg-opacity)) !important;
    -webkit-text-fill-color: rgba(var(--leuk-auth-msg-rgb), var(--leuk-auth-msg-opacity)) !important;

    background: var(--leuk-auth-msg-bg) !important;
    border: var(--leuk-auth-msg-border) !important;
    border-radius: var(--leuk-auth-msg-radius) !important;
    padding: var(--leuk-auth-msg-padding) !important;
}
