/* ==========================================================================
   Aopy · Formular demo · CSS
   Formularul „Programează un demo” (#demo, Elementor Pro Form) de pe Home și /module/.
   Textele, câmpurile și culorile se editează în widgetul Form; clasele aopy-fm-* puse pe
   câmpuri (Advanced → CSS Classes) aleg aspectul (carduri, pastile, GDPR).
   Se încarcă doar pe Home și /module/ (regulă WPCode).
   ========================================================================== */
.aopy-fm{position:relative;isolation:isolate;overflow:clip;--aopy-fm-ease:cubic-bezier(.215,.61,.355,1);--aopy-fm-snap:cubic-bezier(.23,1,.32,1)}
.aopy-fm::before{content:"";position:absolute;z-index:-1;left:50%;top:-10%;width:min(1100px,120vw);height:70%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(141,83,222,.13),rgba(141,83,222,0));pointer-events:none}
.aopy-fm .aopy-fm-title .elementor-heading-title{text-wrap:balance}
.aopy-fm .aopy-fm-badge.e-con{--width:auto;width:auto!important;max-width:100%}
.aopy-fm .aopy-fm-badge .elementor-icon{display:flex}
@media (min-width:1025px){.aopy-fm .aopy-fm-intro.e-con{position:sticky;top:120px}}

/* câmpuri */
.aopy-fm .aopy-fm-form .elementor-field-group:not(.elementor-field-type-acceptance) > label.elementor-field-label{display:block}
.aopy-fm .aopy-fm-form .elementor-field-textual,.aopy-fm .aopy-fm-form select.elementor-field{min-height:50px;padding:12px 16px!important;transition:border-color .2s,box-shadow .2s}
.aopy-fm .aopy-fm-form .elementor-field-textual:focus,.aopy-fm .aopy-fm-form select.elementor-field:focus{border-color:#8D53DE!important;box-shadow:0 0 0 4px rgba(141,83,222,.14);outline:none}
.aopy-fm .aopy-fm-form .elementor-select-wrapper::before{color:#5B08BB}
.aopy-fm .aopy-fm-hint{display:inline-block;margin-left:6px;font-family:var(--aopy-ff-body);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#5B08BB;background:#F7F2FE;border:1px solid #E7DAFB;border-radius:999px;padding:3px 9px;vertical-align:2px}

/* alegerea inițială: 3 carduri */
.aopy-fm .elementor-field-type-radio > label.elementor-field-label{font-size:17px!important;font-weight:600!important;margin-bottom:14px}
.aopy-fm .elementor-field-type-radio .elementor-field-subgroup{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.aopy-fm .elementor-field-type-radio .elementor-field-option{position:relative;margin:0!important;padding:0!important;display:flex}
.aopy-fm .elementor-field-type-radio .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px}
.aopy-fm .elementor-field-type-radio .elementor-field-option label{display:flex;align-items:flex-start;gap:10px;width:100%;margin:0!important;padding:16px;border:1px solid #E4DCEF;border-radius:16px;background:#fff;cursor:pointer;font-weight:500;line-height:1.35;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .25s var(--aopy-fm-snap)}
.aopy-fm .elementor-field-type-radio .elementor-field-option label::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;border:1.5px solid #CBB8EA;background:#fff;transition:border-color .2s,box-shadow .2s}
.aopy-fm .elementor-field-type-radio input:checked + label{border-color:#8D53DE;background:#FBF8FF;box-shadow:0 0 0 3px rgba(141,83,222,.12)}
.aopy-fm .elementor-field-type-radio input:checked + label::before{border-color:#5B08BB;box-shadow:inset 0 0 0 4px #fff;background:#5B08BB}
.aopy-fm .elementor-field-type-radio input:focus-visible + label{outline:2px solid #8D53DE;outline-offset:2px}
@media (hover:hover){.aopy-fm .elementor-field-type-radio label:hover{border-color:#CBB8EA;transform:translateY(-2px)}}
@media (max-width:767px){.aopy-fm .elementor-field-type-radio .elementor-field-subgroup{grid-template-columns:1fr;gap:10px}}

/* checklist ca pastile */
.aopy-fm .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.aopy-fm .elementor-field-type-checkbox .elementor-field-option{position:relative;margin:0!important;padding:0!important}
.aopy-fm .elementor-field-type-checkbox .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px}
.aopy-fm .elementor-field-type-checkbox .elementor-field-option label{display:inline-flex;align-items:center;gap:8px;margin:0!important;padding:9px 14px 9px 11px;border:1px solid #E4DCEF;border-radius:999px;background:#fff;cursor:pointer;font-size:14px;line-height:1.2;transition:border-color .2s,background-color .2s,color .2s}
.aopy-fm .elementor-field-type-checkbox .elementor-field-option label::before{content:"";flex:none;width:14px;height:14px;border-radius:4px;border:1.5px solid #CBB8EA;background:#fff center/10px no-repeat;transition:background-color .2s,border-color .2s}
.aopy-fm .elementor-field-type-checkbox input:checked + label{border-color:#8D53DE;background:#F7F2FE;color:#3E0782}
.aopy-fm .elementor-field-type-checkbox input:checked + label::before{border-color:#5B08BB;background-color:#5B08BB;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.aopy-fm .elementor-field-type-checkbox input:focus-visible + label{outline:2px solid #8D53DE;outline-offset:2px}
@media (hover:hover){.aopy-fm .elementor-field-type-checkbox label:hover{border-color:#CBB8EA}}

/* GDPR */
.aopy-fm .elementor-field-type-acceptance .elementor-field-subgroup{align-items:flex-start}
.aopy-fm .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
.aopy-fm .elementor-field-type-acceptance input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#5B08BB}
.aopy-fm .elementor-field-type-acceptance .elementor-field-option label{font-size:14px!important;font-weight:400!important;color:#4A4458!important;line-height:1.5}
.aopy-fm .elementor-field-type-acceptance a{color:#5B08BB;text-decoration:underline;text-underline-offset:2px}
.aopy-fm .elementor-field-type-acceptance > label.elementor-field-label{display:none!important}
.aopy-fm .aopy-fm-form .e-form__buttons{margin-top:6px}
.aopy-fm .aopy-fm-form .elementor-message{font-family:var(--aopy-ff-body);font-size:15px;margin-top:14px}


/* neutralizează stilurile temei pentru checkbox/radio/butoane în formular */
.aopy-fm .aopy-fm-form .elementor-field-subgroup{background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.aopy-fm .aopy-fm-form .elementor-field-group > label.elementor-field-label,.aopy-fm .aopy-fm-form .elementor-field-option label{text-transform:none!important;letter-spacing:normal!important;font-family:var(--aopy-ff-body)!important}
.aopy-fm .aopy-fm-form .elementor-field-type-checkbox > label.elementor-field-label{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:12px;font-size:15px!important;font-weight:500!important;color:#130528!important;padding:0!important}
.aopy-fm .aopy-fm-form .elementor-field-type-checkbox .aopy-fm-hint{margin-left:0}
.aopy-fm .aopy-fm-form .elementor-button{text-transform:none!important;letter-spacing:normal!important}
.aopy-fm .aopy-fm-badge-ic .elementor-icon{font-size:12px!important;padding:8px!important}
.aopy-fm .aopy-fm-badge-ic .elementor-icon svg{width:12px;height:12px}

/* stări (doar cu JS activ, nu în editor) */
.aopy-fm-js .aopy-fm-form .aopy-fm-off{display:none!important}
.aopy-fm-js .aopy-fm-form .aopy-fm-in{animation:aopy-fm-in .5s var(--aopy-fm-ease) both}
@keyframes aopy-fm-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.aopy-fm-js .aopy-fm-form .aopy-fm-in{animation:none}}


/* ===== Aerisire întrebări (2026-10-22, feedback client: formular mai puțin obositor) ===== */
/* fiecare întrebare = bloc separat cu linie fină deasupra */
.aopy-fm .aopy-fm-form .elementor-field-group:is(.elementor-field-group-sku,.elementor-field-group-contacte,.elementor-field-group-tip_afacere,.elementor-field-group-conturi,.elementor-field-group-email_sms,.elementor-field-group-feed){padding-top:38px!important;margin-top:12px;border-top:1px solid #EFEAF7}
/* datele de contact = grup separat, mai departe de întrebări */
.aopy-fm .aopy-fm-form .elementor-field-group-nume{padding-top:48px!important;margin-top:22px;border-top:1px solid #E4DCEF}
@media (min-width:768px){.aopy-fm .aopy-fm-form .elementor-field-group-website{padding-top:48px!important;margin-top:22px;border-top:1px solid #E4DCEF}}
.aopy-fm .aopy-fm-form .elementor-field-group-email,.aopy-fm .aopy-fm-form .elementor-field-group-telefon{margin-top:4px}
.aopy-fm .aopy-fm-form .elementor-field-group-gdpr{margin-top:16px}
.aopy-fm .aopy-fm-form .e-form__buttons{margin-top:18px}

/* mai mult spațiu între întrebare și variante */
.aopy-fm .aopy-fm-form .elementor-field-type-radio > label.elementor-field-label{margin-bottom:23px}
.aopy-fm .aopy-fm-form .elementor-field-type-checkbox > label.elementor-field-label{margin-bottom:21px}
.aopy-fm .aopy-fm-form .elementor-field-type-select > label.elementor-field-label{margin-bottom:16px}

/* variante mai aerisite: carduri și pills puțin mai înalte */
.aopy-fm .aopy-fm-form .elementor-field-type-radio .elementor-field-option label{padding:18px}
.aopy-fm .aopy-fm-form .elementor-field-type-checkbox .elementor-field-subgroup{gap:10px}
.aopy-fm .aopy-fm-form .elementor-field-type-checkbox .elementor-field-option label{padding:11px 16px 11px 13px}

@media (max-width:767px){
.aopy-fm .aopy-fm-form .elementor-field-group:is(.elementor-field-group-sku,.elementor-field-group-contacte,.elementor-field-group-tip_afacere,.elementor-field-group-conturi,.elementor-field-group-email_sms,.elementor-field-group-feed){padding-top:32px!important;margin-top:10px}
.aopy-fm .aopy-fm-form .elementor-field-group-nume{padding-top:40px!important;margin-top:18px}
.aopy-fm .aopy-fm-form .elementor-field-type-radio .elementor-field-option label{padding:16px}
}
