/* IMS Forms frontend — IMS-063 presentation layer.
 * Business logic remains in the IMS definition/JS; this file only controls appearance.
 */
.inmalta-ims-form-wrap{width:100%;margin:24px 0;background:transparent!important;color:inherit}
.inmalta-ims-width-full{max-width:none}
.inmalta-ims-width-980{max-width:980px;margin-left:auto;margin-right:auto}
.inmalta-ims-width-760{max-width:760px;margin-left:auto;margin-right:auto}
.inmalta-ims-form{font:inherit;color:inherit;background:transparent!important}
.inmalta-ims-form-grid,.inmalta-ims-form-field,.inmalta-ims-form-actions{background:transparent!important}
.inmalta-ims-form-title{margin:0 0 8px}
.inmalta-ims-form-description{margin:0 0 24px}
.inmalta-ims-local-title{margin:0 0 8px}
.inmalta-ims-local-subtitle{margin:0 0 22px}
.inmalta-ims-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 20px}
.inmalta-ims-form-field{grid-column:span var(--ims-span,12);min-width:0}
.inmalta-ims-layout-single .inmalta-ims-form-field{grid-column:1/-1!important}
.inmalta-ims-form-field h3{margin:22px 0 4px}
.inmalta-ims-label{display:block;margin-bottom:6px}
.inmalta-ims-control{box-sizing:border-box;width:100%;font:inherit}
.inmalta-ims-choices{display:grid;gap:8px}
.inmalta-ims-help,.inmalta-ims-secondary,.inmalta-ims-form-note{margin-top:6px;font-size:.92em;opacity:.75}
.inmalta-ims-content{line-height:1.55}
.inmalta-ims-form-actions{margin-top:24px}
.inmalta-ims-form-field.is-rule-required .inmalta-ims-label:after{content:' *'}

/* Native inMalta site-form presentation. */
.inmalta-ims-style-site .inmalta-ims-label{
    color:#6c757d;
    font-weight:400;
    line-height:1.3;
    margin-top:0;
    margin-bottom:4px;
}
.inmalta-ims-style-site .inmalta-ims-section-title,
.inmalta-ims-style-site .inmalta-ims-summary-title,
.inmalta-ims-style-site .inmalta-ims-price-label{
    color:#212529;
    font-weight:700;
}
.inmalta-ims-style-site .inmalta-ims-control.form-control{
    width:100%;
    margin-top:0;
}
.inmalta-ims-style-site textarea.inmalta-ims-control.form-control{min-height:110px}
.inmalta-ims-style-site .inmalta-ims-help,
.inmalta-ims-style-site .inmalta-ims-secondary{
    color:#6c757d;
    opacity:1;
    font-weight:400;
}
.inmalta-ims-style-site .inmalta-ims-site-choices label{
    color:#6c757d;
    font-weight:400;
}
.inmalta-ims-style-site .inmalta-ims-form-submit.btn,
.inmalta-ims-style-site .inmalta-ims-form-whatsapp-submit.btn{
    cursor:pointer;
    margin:0 0 10px 0;
}
.inmalta-ims-submit-full .inmalta-ims-form-submit,
.inmalta-ims-submit-full .inmalta-ims-form-whatsapp-submit{display:block;width:100%}

/* Neutral IMS presentation kept as an explicit fallback. */
.inmalta-ims-style-neutral .inmalta-ims-label{font-weight:600}
.inmalta-ims-style-neutral .inmalta-ims-control{
    min-height:44px;
    padding:9px 11px;
    border:1px solid #c9cdd3;
    border-radius:6px;
    background:#fff;
    color:inherit;
}
.inmalta-ims-style-neutral .inmalta-ims-form-submit,
.inmalta-ims-style-neutral .inmalta-ims-form-whatsapp-submit{
    border:0;
    border-radius:6px;
    padding:11px 20px;
    background:var(--ast-global-color-0,#1e73be);
    color:#fff;
    font:inherit;
    font-weight:600;
    cursor:pointer;
    margin:0 8px 8px 0;
}

/* Price / quote blocks. */
.inmalta-ims-type-price_total{padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:rgba(0,0,0,.025)}
.inmalta-ims-price-label{font-weight:700}
.inmalta-ims-price-value{margin-top:4px;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.1}
.inmalta-ims-type-price_summary{padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:transparent}
.inmalta-ims-summary-title{font-weight:700;margin-bottom:8px}
.inmalta-ims-summary-row{display:flex;justify-content:space-between;gap:18px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.inmalta-ims-summary-row.is-total{margin-top:5px;padding-top:10px;border-top:2px solid rgba(0,0,0,.18);border-bottom:0;font-size:1.08em}

/* Choice controls. */
.inmalta-ims-choices-inline{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px 22px!important}
.inmalta-ims-choices-inline label{display:inline-flex!important;align-items:center!important;width:auto!important;gap:6px!important;margin:0!important;padding:0!important}
.inmalta-ims-choices-inline input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;max-width:14px!important;max-height:14px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;box-shadow:none!important;flex:0 0 14px!important}
.inmalta-ims-site-choices input[type=checkbox]{margin-right:5px}

/* Disabled/read-only field state. */
.inmalta-ims-form-field.is-disabled-field{opacity:.72}
.inmalta-ims-form-field.is-disabled-field .inmalta-ims-label{color:#6f7780}
.inmalta-ims-form-field.is-disabled-field .inmalta-ims-control:disabled{background:#eef1f4!important;border-color:#d4d9de!important;color:#737d86!important;cursor:not-allowed!important;opacity:1!important}

/* Public quote capture / feedback. */
.inmalta-ims-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.inmalta-ims-form-submit:disabled,.inmalta-ims-form-whatsapp-submit:disabled{opacity:.55;cursor:not-allowed}
[data-ims-formula-alert]{grid-column:1/-1;min-width:0;width:100%}
[data-ims-rule-alerts]{width:100%}
.inmalta-ims-feedback,.inmalta-ims-form-alert{box-sizing:border-box;width:100%;padding:12px 14px;border-radius:4px;margin:0 0 14px;border:1px solid rgba(0,0,0,.12);line-height:1.45;overflow-wrap:anywhere}
.inmalta-ims-feedback.is-success{background:#ecfdf3;border-color:#abefc6;color:#067647}
.inmalta-ims-feedback.is-warning,.inmalta-ims-form-alert{background:#fff8e5;border-color:#f5d98b;color:#7a4d00}
.inmalta-ims-feedback.is-error{background:#fff0f0;border-color:#f7b4b4;color:#b42318}

@media(max-width:760px){
    .inmalta-ims-form-field{grid-column:1/-1!important}
    .inmalta-ims-form-grid{gap:16px}
    .inmalta-ims-summary-row{gap:12px;align-items:flex-start}
    .inmalta-ims-choices-inline{align-items:flex-start!important}
}

/* IMS-093: optional/revealable personal-name fields. */
.inmalta-ims-optional-reveal{appearance:none;border:0;background:transparent;padding:5px 0;color:inherit;font:inherit;font-weight:600;cursor:pointer;text-align:left}.inmalta-ims-optional-reveal:hover{text-decoration:underline}.inmalta-ims-optional-control[hidden],.inmalta-ims-optional-reveal[hidden]{display:none!important}
