/* 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}

/* IMS-154: localized EN calendar for the shared quote form. */
.ims153-date-wrap .ims154-calendar-trigger{position:absolute;right:2px;top:2px;bottom:2px;padding:0 9px;background:#fff;border:0;color:#334155;cursor:pointer;font-size:20px;z-index:2}
.ims153-date-wrap input.ims153-en-date{padding-right:46px;cursor:pointer}
.ims153-date-wrap input.ims153-en-date::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none}
.ims154-calendar{position:absolute;z-index:10010;left:0;top:calc(100% + 6px);width:294px;max-width:calc(100vw - 32px);padding:12px;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 30px #0002;background:#fff;color:#14253d;font-family:Arial,sans-serif;font-size:14px}
.ims154-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ims154-calendar-header strong{font-size:14px}
.ims154-calendar-nav{width:32px;height:32px;background:#f2f4f7;border:0;border-radius:5px;cursor:pointer;font-size:21px}
.ims154-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.ims154-calendar-dayname{font-size:11px;font-weight:700;color:#64748b;padding:6px 0}
.ims154-calendar-date{border:0;border-radius:4px;background:transparent;min-height:33px;cursor:pointer;color:#14253d;font-size:13px}
.ims154-calendar-date:hover,.ims154-calendar-date:focus-visible{background:#e8effa}
.ims154-calendar-date.is-selected{background:#e94709;color:#fff;font-weight:700}
.ims154-calendar-date:disabled{opacity:.3;cursor:not-allowed}
.ims154-calendar-footer{display:flex;justify-content:space-between;border-top:1px solid #e3e8ee;margin-top:9px;padding-top:8px}
.ims154-calendar-footer button{border:0;background:transparent;color:#0a3472;cursor:pointer;font-size:12px}

/* Contact form: native IMS site fields with changeable IP-prefilled dialling prefix. */
.inmalta-contact-phone-prefix{display:flex;align-items:center;position:relative}
.inmalta-contact-phone-prefix select{padding-left:43px!important;width:100%}
.inmalta-contact-phone-prefix .inmalta-contact-flag{position:absolute;left:12px;width:24px;height:18px;object-fit:cover;z-index:1;pointer-events:none}


/* Contact form migrated from Zoho 861 / 705: restore only the original
 * inMalta site-form look, without changing any other IMS Form. The native select
 * remains the authoritative form control, enhanced by the theme's existing
 * bootstrap-select library when available. */
.inmalta-ims-form-wrap.inmalta-ims-contact-form{
    background-color:#dcddde!important;
    margin:12px 0;
    padding:20px 20px 60px;
    border:0;
    border-radius:0;
    box-sizing:border-box;
    max-width:100%;
}
.inmalta-ims-contact-form .inmalta-ims-form-grid{gap:16px 20px}
.inmalta-ims-contact-form .inmalta-ims-form-field[data-ims-field="fld_first_name"],
.inmalta-ims-contact-form .inmalta-ims-form-field[data-ims-field="fld_last_name"]{
    grid-column:1/-1!important;
}
.inmalta-ims-contact-form .inmalta-ims-label{color:#6c757d;font-weight:400;line-height:1.3;margin:0 0 4px}
.inmalta-ims-contact-form .inmalta-ims-control.form-control{
    width:100%;min-height:50px;background:#fff;border:1px solid #ced4da;
    border-radius:3px;color:var(--accent-color,#212529);font-size:14px;
}
.inmalta-ims-contact-form .inmalta-ims-control.form-control:focus{
    border-color:var(--main-color,#e94709);
    box-shadow:0 0 0 .2rem rgba(var(--main-color-rgb,233,71,9),.15);
}
/* Bootstrap-select follows the inMalta design, not Windows' blue native menu. */
.inmalta-ims-contact-form .bootstrap-select{width:100%!important;display:block!important}
.inmalta-ims-contact-form .bootstrap-select>.dropdown-toggle{
    width:100%;min-height:50px;background:#fff;color:var(--accent-color,#212529);
    border:1px solid #ced4da;border-radius:3px;font-size:14px;
    font-weight:400;text-transform:none;box-shadow:none;
}
.inmalta-ims-contact-form .bootstrap-select>.dropdown-toggle:hover,
.inmalta-ims-contact-form .bootstrap-select.show>.dropdown-toggle{
    background:#fff;border-color:var(--colore_3,#e94709);
}
.inmalta-ims-contact-form .bootstrap-select .dropdown-menu{
    min-width:100%;z-index:50;border:0;border-radius:4px;
    box-shadow:0 6px 23px rgba(0,0,0,.16);
}
.inmalta-ims-contact-form .bootstrap-select .dropdown-item.active,
.inmalta-ims-contact-form .bootstrap-select .dropdown-item:active{
    color:#000;background:var(--colore_3,#e94709);
}
.inmalta-ims-contact-form .inmalta-contact-phone-prefix .bootstrap-select>.dropdown-toggle{padding-left:43px}
.inmalta-ims-contact-form .inmalta-contact-phone-prefix .inmalta-contact-flag{z-index:3}
.inmalta-ims-contact-form .inmalta-ims-form-actions .btn{cursor:pointer}
@media(max-width:991.98px){
    .inmalta-ims-form-wrap.inmalta-ims-contact-form{
        background-color:var(--main-color,#e94709)!important;
        border-radius:0;
    }
    .inmalta-ims-contact-form .inmalta-ims-section-title,
    .inmalta-ims-contact-form .inmalta-ims-label,
    .inmalta-ims-contact-form .inmalta-ims-help,
    .inmalta-ims-contact-form .inmalta-ims-secondary,
    .inmalta-ims-contact-form .inmalta-ims-site-choices label,
    .inmalta-ims-contact-form .inmalta-ims-local-title,
    .inmalta-ims-contact-form .inmalta-ims-local-subtitle{color:#fff!important}
    .inmalta-ims-contact-form .inmalta-ims-control.form-control,
    .inmalta-ims-contact-form .bootstrap-select>.dropdown-toggle{
        background:transparent!important;border-color:rgba(255,255,255,.5)!important;
        color:#fff!important;
    }
    .inmalta-ims-contact-form .inmalta-ims-control.form-control::placeholder{color:#fff;opacity:1}
    .inmalta-ims-contact-form .bootstrap-select .dropdown-menu{background:#fff;color:var(--accent-color,#212529)}
    .inmalta-ims-contact-form .bootstrap-select .dropdown-item{color:#212529}
}
@media(max-width:760px){
    .inmalta-ims-contact-form .inmalta-ims-form-grid{gap:16px}
}

/* TEMA-173: use the site palette for the two IMS contact consent checkboxes.
 * Kept native for keyboard focus, validation and accessible checked states. */
.inmalta-ims-contact-form .inmalta-ims-choices input[type="checkbox"]{
    accent-color:var(--main-color,#e94709)!important;
    -webkit-accent-color:var(--main-color,#e94709);
    cursor:pointer;
}
.inmalta-ims-contact-form .inmalta-ims-choices input[type="checkbox"]:focus-visible{
    outline:2px solid var(--main-color,#e94709);
    outline-offset:2px;
}

/* TEMA-174 — only CONTATTI-MULTILINGUA, Zoho 861/705 replacements. */
.inmalta-ims-contact-form .inmalta-ims-choices label{
    display:inline-flex!important;align-items:center!important;gap:10px!important;
    width:auto!important;min-height:29px;margin:0!important;cursor:pointer;
}
.inmalta-ims-contact-form .inmalta-ims-choices input[type="checkbox"]{
    appearance:auto!important;-webkit-appearance:checkbox!important;
    width:23px!important;height:23px!important;min-width:23px!important;
    min-height:23px!important;max-width:23px!important;max-height:23px!important;
    flex:0 0 23px!important;margin:0!important;padding:0!important;
    border-radius:3px!important;box-shadow:none!important;
    accent-color:var(--main-color,#e94709)!important;
}
.inmalta-ims-form-wrap.inmalta-ims-contact-form.is-submitted{
    padding:0!important;border:0!important;background:transparent!important;
}
.inmalta-ims-contact-success{
    box-sizing:border-box;width:100%;background:#e7f8ec;border:2px solid #19964d;
    border-left:7px solid #168244;border-radius:8px;padding:24px 26px;
    color:#135c30;box-shadow:0 4px 20px rgba(10,99,46,.12);
    font-size:16px;line-height:1.6;overflow-wrap:anywhere;
}
.inmalta-ims-contact-success-title{
    display:block;font-size:clamp(19px,2.2vw,25px);font-weight:750;margin:0 0 10px;
    color:#135c30;
}
.inmalta-ims-contact-success-title::before{content:"✓";display:inline-block;margin-right:10px;font-weight:bold}
.inmalta-ims-contact-success p{margin:0;font-size:inherit;line-height:inherit;color:#135c30}
@media(max-width:600px){.inmalta-ims-contact-success{padding:18px 17px}}
