/**
 * ImobCRM Hero Home — Public CSS
 * Estática. Toda config dinâmica vem de CSS variables injetadas em <style id="ihh-vars">.
 */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

.ihh-body {
    background: #0F172A;
    min-height: 100vh;
    min-height: 100dvh;
    font-family: var(--ihh-headline-font, system-ui, sans-serif);
    color: #FFFFFF;
    overflow-x: hidden;
}

/* ============== HERO SECTION ============== */

.ihh-hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* ---------- Background layers ---------- */

.ihh-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

.ihh-bg picture,
.ihh-bg img,
.ihh-bg video,
.ihh-bg iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
    display: block;
}

.ihh-bg-video-mobile-hide { display: block; }
@media (max-width: 767px) {
    .ihh-bg-video-mobile-hide { display: none !important; }
}

/* Slideshow stack */
.ihh-bg-slide {
    position: absolute; inset: 0;
    opacity: 0;
    transition: opacity 800ms ease;
}
.ihh-bg-slide.is-active { opacity: 1; }
.ihh-bg-slide picture, .ihh-bg-slide img { position: absolute; inset: 0; width:100%; height:100%; object-fit: cover; }

.ihh-bg-slide.transition-kenburns img,
.ihh-bg-slide.transition-kenburns picture > img {
    animation: ihh-kenburns 12s ease-in-out forwards;
}
@keyframes ihh-kenburns {
    0%   { transform: scale(1.0) translate(0, 0); }
    100% { transform: scale(1.12) translate(-1.5%, -1%); }
}

/* ---------- Overlay layer ---------- */

.ihh-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--ihh-overlay, transparent);
    pointer-events: none;
}

/* ---------- Topbar (logo + menu) ---------- */

.ihh-topbar {
    position: relative;
    z-index: 5;
    padding: 22px clamp(20px, 4vw, 48px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ihh-topbar.ihh-logo-center { justify-content: space-between; }
.ihh-topbar.ihh-logo-right .ihh-logo  { order: 2; }
.ihh-topbar.ihh-logo-right .ihh-menu  { order: 1; }

.ihh-logo img {
    display: block;
    height: var(--ihh-logo-size, 56px);
    width: auto;
    max-width: 70vw;
}
.ihh-logo--text {
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* Menu */

.ihh-menu { display: flex; align-items: center; gap: 8px; }
.ihh-menu ul, .ihh-menu .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
}
.ihh-menu a {
    color: var(--ihh-menu-link, #FFFFFF);
    font-family: var(--ihh-menu-font, system-ui);
    font-size: var(--ihh-menu-size, 15px);
    font-weight: var(--ihh-menu-weight, 500);
    text-decoration: none;
    position: relative;
    padding: 6px 2px;
    transition: color 0.18s ease, transform 0.18s ease;
    display: inline-flex;
    align-items: center;
}
.ihh-menu a:hover { color: var(--ihh-menu-link-hover, currentColor); }

/* Hover animations */
.ihh-menu[data-hover="underline"] a:hover {
    text-decoration: underline; text-underline-offset: 6px;
}
.ihh-menu[data-hover="fade"] a { transition: color 0.25s ease; }
.ihh-menu[data-hover="scale"] a:hover { transform: scale(1.08); }
.ihh-menu[data-hover="underline_grow"] a::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -4px;
    height: 2px;
    background: var(--ihh-menu-link-hover, currentColor);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}
.ihh-menu[data-hover="underline_grow"] a:hover::after { transform: scaleX(1); }

/* Login button styles */
.ihh-login-btn {
    padding: 8px 16px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.15s ease, opacity 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.ihh-login-btn--link {}
.ihh-login-btn--outlined {
    background: transparent;
    color: var(--ihh-login-text);
    border: 1.5px solid var(--ihh-login-border);
}
.ihh-login-btn--solid {
    background: var(--ihh-login-bg);
    color: var(--ihh-login-text);
    border: 1.5px solid var(--ihh-login-border);
}
.ihh-login-btn:hover { transform: translateY(-1px); opacity: 0.92; }

/* Hamburger (mobile) */
.ihh-hamburger {
    display: none;
    background: transparent;
    border: 0;
    width: 40px;
    height: 40px;
    color: var(--ihh-hamburger-color, #FFFFFF);
    cursor: pointer;
    align-items: center;
    justify-content: center;
}
.ihh-hamburger svg { width: 26px; height: 26px; }

/* === RESPONSIVE OVERRIDES (Tablet + Mobile) ===
   Body recebe data-valign-tablet/mobile, data-form-width-tablet/mobile,
   data-arrangement-tablet/mobile com o valor resolvido pra cada viewport. */

/* TABLET (768-1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    body[data-valign-tablet="top"]    .ihh-content-wrap { justify-content: flex-start; align-items: flex-start; }
    body[data-valign-tablet="middle"] .ihh-content-wrap { justify-content: center;     align-items: center; }
    body[data-valign-tablet="bottom"] .ihh-content-wrap { justify-content: flex-end;   align-items: flex-end; }

    body[data-form-width-tablet="narrow"] { --ihh-form-width: 360px; }
    body[data-form-width-tablet="medium"] { --ihh-form-width: 440px; }
    body[data-form-width-tablet="wide"]   { --ihh-form-width: 520px; }

    body[data-arrangement-tablet="inline"]  .ihh-form-real { display: grid; }
    body[data-arrangement-tablet="stacked"] .ihh-form-real { display: flex; flex-direction: column; gap: 14px; }
}

/* MOBILE (< 768px) — valign respeita data-attrs */
@media (max-width: 767px) {
    body[data-valign-mobile="top"]    .ihh-content-wrap { justify-content: flex-start !important; align-items: stretch !important; }
    body[data-valign-mobile="middle"] .ihh-content-wrap { justify-content: center !important;     align-items: stretch !important; }
    body[data-valign-mobile="bottom"] .ihh-content-wrap { justify-content: flex-end !important;   align-items: stretch !important; }
}

/* TABLET + MOBILE (< 1024px) — força form 100% width + sempre stacked
   Boa prática UX: forms em telas pequenas/médias funcionam melhor full-width. */
@media (max-width: 1023px) {
    .ihh-form-wrap {
        max-width: 100% !important;
        width: 100% !important;
        align-self: stretch !important;
    }
    .ihh-form-real {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        width: 100% !important;
    }
    .ihh-form-real .ihh-form-field {
        width: 100% !important;
        margin-bottom: 0 !important;
    }
    .ihh-form-real input[type="text"],
    .ihh-form-real input[type="search"],
    .ihh-form-real select,
    .ihh-form-real .ihh-purpose-tabs,
    .ihh-form-real .ihh-form-submit {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .ihh-form-real .ihh-form-submit {
        height: auto !important;
        align-self: stretch !important;
        margin-top: 0 !important;
    }
}

/* === MOBILE DRAWER === */
.ihh-mobile-drawer {
    position: fixed;
    inset: 0;
    background: var(--ihh-drawer-bg, #0F172A);
    background-image:
        radial-gradient(ellipse at top, rgba(255,255,255,0.06), transparent 70%),
        radial-gradient(ellipse at bottom right, rgba(6,182,212,0.06), transparent 60%);
    z-index: 100;
    padding: 80px 28px 32px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.32s;
}
.ihh-mobile-drawer.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0s;
}

/* Animações de entrada (a classe vai no body via data-attribute) */
.ihh-mobile-drawer[data-animation="slide_right"]      { transform: translateX(100%); }
.ihh-mobile-drawer[data-animation="slide_right"].is-open { transform: translateX(0); }

.ihh-mobile-drawer[data-animation="slide_left"]       { transform: translateX(-100%); }
.ihh-mobile-drawer[data-animation="slide_left"].is-open  { transform: translateX(0); }

.ihh-mobile-drawer[data-animation="fade"]             { transform: none; }
.ihh-mobile-drawer[data-animation="fade"].is-open     { transform: none; }

.ihh-mobile-drawer[data-animation="scale"]            { transform: scale(0.94); }
.ihh-mobile-drawer[data-animation="scale"].is-open    { transform: scale(1); }

/* Items */
.ihh-mobile-drawer ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.ihh-mobile-drawer li { position: relative; }
.ihh-mobile-drawer li + li {
    border-top: 1px solid var(--ihh-drawer-divider, rgba(255,255,255,0.08));
}
.ihh-mobile-drawer.no-divider li + li { border-top: 0; }
.ihh-mobile-drawer a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 4px;
    color: var(--ihh-drawer-item, #FFFFFF);
    font-family: var(--ihh-menu-font, system-ui);
    font-size: var(--ihh-drawer-item-size, 22px);
    font-weight: var(--ihh-drawer-item-weight, 600);
    text-decoration: none;
    transition: color 0.18s ease, padding 0.18s ease;
}
.ihh-mobile-drawer a::after {
    content: '→';
    font-size: 18px;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.ihh-mobile-drawer a:hover,
.ihh-mobile-drawer a:focus {
    color: var(--ihh-drawer-item-hover, #06B6D4);
    padding-left: 8px;
}
.ihh-mobile-drawer a:hover::after,
.ihh-mobile-drawer a:focus::after {
    opacity: 1;
    transform: translateX(0);
}

/* Stagger animation dos items quando o drawer abre */
.ihh-mobile-drawer.is-open li {
    animation: ihh-drawer-item-in 0.42s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.ihh-mobile-drawer.is-open li:nth-child(1) { animation-delay: 0.10s; }
.ihh-mobile-drawer.is-open li:nth-child(2) { animation-delay: 0.16s; }
.ihh-mobile-drawer.is-open li:nth-child(3) { animation-delay: 0.22s; }
.ihh-mobile-drawer.is-open li:nth-child(4) { animation-delay: 0.28s; }
.ihh-mobile-drawer.is-open li:nth-child(5) { animation-delay: 0.34s; }
.ihh-mobile-drawer.is-open li:nth-child(6) { animation-delay: 0.40s; }
.ihh-mobile-drawer.is-open li:nth-child(n+7) { animation-delay: 0.46s; }

@keyframes ihh-drawer-item-in {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ihh-mobile-drawer-close {
    position: absolute;
    top: 22px; right: 22px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--ihh-drawer-item, #FFFFFF);
    width: 44px; height: 44px;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ihh-mobile-drawer-close:hover {
    background: rgba(255,255,255,0.12);
    transform: rotate(90deg);
}

@media (max-width: 767px) {
    .ihh-menu ul.is-desktop { display: none; }
    .ihh-hamburger { display: inline-flex; }
}

/* ---------- Content area (presets) ---------- */

.ihh-content-wrap {
    position: relative;
    z-index: 4;
    flex: 1;
    padding: 32px clamp(40px, 8vw, 120px) clamp(48px, 8vh, 120px);
    display: grid;
    gap: clamp(24px, 4vh, 56px);
    align-content: center;
}

.ihh-content {
    color: var(--ihh-headline-color, #FFFFFF);
    max-width: 720px;
    text-align: var(--ihh-headline-align, left);
}
/* Garantir que headline/subtitle/tag respeitem alinhamento da Tipografia
   sem preset hardcode interferir. */
.ihh-headline { text-align: var(--ihh-headline-align, left); }
.ihh-subtitle { text-align: var(--ihh-subtitle-align, left); }

/* Alinhamento mobile-specific (override em < 768px) */
@media (max-width: 767px) {
    .ihh-content { text-align: var(--ihh-headline-align-mobile, var(--ihh-headline-align, left)); }
    .ihh-headline { text-align: var(--ihh-headline-align-mobile, var(--ihh-headline-align, left)); }
    .ihh-subtitle { text-align: var(--ihh-subtitle-align-mobile, var(--ihh-subtitle-align, left)); }
}

/* Tag/badge */
.ihh-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--ihh-tag-bg);
    color: var(--ihh-tag-text);
    border: 1px solid var(--ihh-tag-border);
    border-radius: var(--ihh-tag-radius, 9999px);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.ihh-tag i { font-size: 14px; }

/* Headline */
.ihh-headline {
    font-family: var(--ihh-headline-font);
    font-size: var(--ihh-headline-size-desktop, 72px);
    font-weight: var(--ihh-headline-weight, 800);
    color: var(--ihh-headline-color);
    line-height: 1.05;
    letter-spacing: var(--ihh-headline-tracking, -0.02em);
    margin: 0 0 16px;
}
.ihh-headline .ihh-hl { color: var(--ihh-highlight-color, #06B6D4); }

@media (max-width: 767px) {
    .ihh-headline { font-size: var(--ihh-headline-size-mobile, 36px); }
}

/* Subtitle — sem max-width próprio: a largura de leitura é controlada pelo .ihh-content.
   Se subtitle tivesse max-width próprio, o BLOCO ficaria colado à esquerda
   e text-align: center só centralizaria texto dentro do bloco. */
.ihh-subtitle {
    font-family: var(--ihh-subtitle-font);
    font-size: var(--ihh-subtitle-size-desktop, 20px);
    font-weight: var(--ihh-subtitle-weight, 400);
    color: var(--ihh-subtitle-color, rgba(255,255,255,0.85));
    text-align: var(--ihh-subtitle-align, left);
    line-height: 1.55;
    margin: 0;
    width: 100%;
}
@media (max-width: 767px) {
    .ihh-subtitle { font-size: var(--ihh-subtitle-size-mobile, 16px); }
}

/* CTAs (botões opcionais abaixo do subtítulo) */
.ihh-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
    justify-content: var(--ihh-cta-justify, flex-start);
}
.ihh-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    border: 1.5px solid transparent;
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
    min-width: 140px;
    line-height: 1.2;
}
.ihh-cta:hover { transform: translateY(-1px); filter: brightness(1.05); }
.ihh-cta:active { transform: translateY(0); }
.ihh-cta--solid    { box-shadow: 0 8px 24px rgba(0,0,0,0.25); }
.ihh-cta--outlined { background: transparent !important; }
.ihh-cta--ghost    { background: transparent !important; border-color: transparent !important; }

/* Form wrap — NÃO herda text-align do .ihh-content-wrap (titulo/subtítulo).
   Tem seu próprio alinhamento interno (--ihh-form-text-align) e posicionamento
   horizontal dentro do wrap (--ihh-form-self). */
.ihh-form-wrap {
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    padding: 28px 28px 32px;
    width: 100%;
    max-width: var(--ihh-form-width, 440px);
    color: #FFFFFF;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    text-align: var(--ihh-form-text-align, left);
    align-self: var(--ihh-form-self, center);
}

.ihh-form-wrap .ihh-form-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 8px;
}
.ihh-form-wrap input[type="text"],
.ihh-form-wrap input[type="search"],
.ihh-form-wrap select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.2);
    background: #FFFFFF;
    color: #0F172A;
    font-size: 15px;
    font-weight: 500;
    font-family: inherit;
}
.ihh-form-wrap input:focus,
.ihh-form-wrap select:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.4);
}
.ihh-form-wrap .ihh-form-field { margin-bottom: 14px; }
.ihh-form-wrap .ihh-form-field:last-child { margin-bottom: 0; }

.ihh-purpose-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 4px;
    border-radius: 14px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}
.ihh-purpose-tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,0.8);
    padding: 10px 12px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}
.ihh-purpose-tab.is-active {
    background: #FFFFFF;
    color: #0F172A;
}

/* Toggle de labels: data-show-labels="0" esconde via CSS */
.ihh-form-real[data-show-labels="0"] .ihh-form-label { display: none; }
.ihh-form-real[data-show-labels="0"] .ihh-form-field--purpose { gap: 0; }

/* Arranjo STACKED: tudo em coluna (default) */
.ihh-form-real[data-arrangement="stacked"] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ihh-form-real[data-arrangement="stacked"] .ihh-form-submit { margin-top: 0; }

/* Arranjo INLINE: tudo lado a lado em UMA linha (Finalidade, Cidade, Tipo, Botão) */
.ihh-form-real[data-arrangement="inline"] {
    display: grid;
    grid-template-columns:
        minmax(220px, auto)   /* tabs Finalidade */
        minmax(220px, 1.5fr)  /* cidade */
        minmax(180px, 1fr)    /* tipo */
        minmax(160px, auto);  /* botão */
    gap: 14px;
    align-items: end;
}
.ihh-form-real[data-arrangement="inline"] .ihh-form-submit {
    margin-top: 0;
    height: auto;
    align-self: stretch;
    /* alinha verticalmente com inputs (label ocupa ~20px) */
    transform: translateY(0);
}
.ihh-form-real[data-arrangement="inline"] .ihh-form-field { margin-bottom: 0; }

.ihh-form-submit {
    appearance: none;
    border: 0;
    width: 100%;
    padding: 14px 18px;
    border-radius: 14px;
    background: var(--ihh-highlight-color, #06B6D4);
    color: #0F172A;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.1s ease, opacity 0.15s ease;
    margin-top: 14px;
    white-space: nowrap;
}
.ihh-form-submit:hover { opacity: 0.94; }
.ihh-form-submit:active { transform: translateY(1px); }

/* ============== LAYOUT PRESETS ============== */

/* Default: flex column. Presets stack-* usam isso.
   Presets split-* reescrevem para grid 2-col. */
.ihh-content-wrap {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 3vh, 32px);
}

/* --- STACK PRESETS (tudo em coluna, valign controla onde o grupo fica)
   Preset só controla POSICIONAMENTO do bloco — text-align vem da Tipografia. --- */
.ihh-preset-centered_no_form .ihh-content-wrap { align-items: center; }
.ihh-preset-centered_no_form .ihh-content      { max-width: min(900px, 96%); width: 100%; }

.ihh-preset-left_no_form .ihh-content-wrap     { align-items: flex-start; }
.ihh-preset-left_no_form .ihh-content          { max-width: 720px; }

.ihh-preset-right_no_form .ihh-content-wrap    { align-items: flex-end; }
.ihh-preset-right_no_form .ihh-content         { max-width: 720px; }

.ihh-preset-stacked_bottom .ihh-content-wrap   { align-items: center; }
.ihh-preset-stacked_bottom .ihh-content        { max-width: min(960px, 96%); width: 100%; }
.ihh-preset-stacked_bottom .ihh-form-wrap      { max-width: min(960px, 96%); width: 100%; }

/* --- SPLIT PRESETS (grid 2-col) --- */
.ihh-preset-split_right .ihh-content-wrap,
.ihh-preset-split_left  .ihh-content-wrap {
    display: grid;
    column-gap: clamp(32px, 5vw, 72px);
    row-gap: 32px;
    align-items: center;
}

.ihh-preset-split_right .ihh-content-wrap {
    grid-template-columns: minmax(0, 1fr) var(--ihh-form-width, 440px);
}
.ihh-preset-split_right .ihh-form-wrap { justify-self: stretch; max-width: 100%; }

.ihh-preset-split_left .ihh-content-wrap {
    grid-template-columns: var(--ihh-form-width, 440px) minmax(0, 1fr);
}
.ihh-preset-split_left .ihh-form-wrap { order: 0; justify-self: stretch; max-width: 100%; }
.ihh-preset-split_left .ihh-content   { order: 1; }

/* --- VERTICAL ALIGN: controla onde o GRUPO de elementos fica --- */
/* Para flex column presets */
.ihh-valign-top.ihh-preset-centered_no_form .ihh-content-wrap,
.ihh-valign-top.ihh-preset-left_no_form     .ihh-content-wrap,
.ihh-valign-top.ihh-preset-right_no_form    .ihh-content-wrap,
.ihh-valign-top.ihh-preset-stacked_bottom   .ihh-content-wrap {
    justify-content: flex-start;
    padding-top: clamp(80px, 14vh, 180px);
}

.ihh-valign-middle.ihh-preset-centered_no_form .ihh-content-wrap,
.ihh-valign-middle.ihh-preset-left_no_form     .ihh-content-wrap,
.ihh-valign-middle.ihh-preset-right_no_form    .ihh-content-wrap,
.ihh-valign-middle.ihh-preset-stacked_bottom   .ihh-content-wrap {
    justify-content: center;
}

.ihh-valign-bottom.ihh-preset-centered_no_form .ihh-content-wrap,
.ihh-valign-bottom.ihh-preset-left_no_form     .ihh-content-wrap,
.ihh-valign-bottom.ihh-preset-right_no_form    .ihh-content-wrap,
.ihh-valign-bottom.ihh-preset-stacked_bottom   .ihh-content-wrap {
    justify-content: flex-end;
    padding-bottom: clamp(80px, 14vh, 180px);
}

/* Para grid (split) presets */
.ihh-valign-top.ihh-preset-split_left    .ihh-content-wrap,
.ihh-valign-top.ihh-preset-split_right   .ihh-content-wrap {
    align-items: start;
    padding-top: clamp(80px, 14vh, 180px);
}
.ihh-valign-middle.ihh-preset-split_left    .ihh-content-wrap,
.ihh-valign-middle.ihh-preset-split_right   .ihh-content-wrap {
    align-items: center;
}
.ihh-valign-bottom.ihh-preset-split_left    .ihh-content-wrap,
.ihh-valign-bottom.ihh-preset-split_right   .ihh-content-wrap {
    align-items: end;
    padding-bottom: clamp(80px, 14vh, 180px);
}

/* ============== MOBILE POLISH (< 768px) ============== */
@media (max-width: 767px) {
    /* topbar: mais compacto, logo menor, sem barra de menu (vai pra drawer) */
    .ihh-topbar {
        padding: 14px 16px;
        gap: 12px;
    }
    .ihh-logo img { height: clamp(36px, 8vw, 56px); }

    /* todos os presets colapsam: conteúdo em cima, form em baixo */
    .ihh-content-wrap[class] {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        justify-items: stretch !important;
        gap: 24px;
        padding-inline: 18px !important;
        padding-block: 16px 36px;
    }
    .ihh-content[class] {
        max-width: 100% !important;
        text-align: left !important;
        order: 0 !important;
    }
    .ihh-form-wrap[class] {
        max-width: 100% !important;
        order: 1 !important;
        padding: 20px 18px 22px !important;
        border-radius: 18px !important;
    }
    .ihh-content .ihh-tag {
        margin-left: 0;
        margin-right: auto;
        font-size: 11px;
        padding: 6px 12px;
        margin-bottom: 14px;
    }

    /* Tipografia responsiva — clampada e usa vars mobile-size definidas em CSS vars */
    .ihh-headline {
        font-size: clamp(28px, 8.5vw, var(--ihh-headline-size-mobile, 36px));
        line-height: 1.08;
        margin-bottom: 10px;
    }
    .ihh-subtitle {
        font-size: clamp(14px, 4vw, var(--ihh-subtitle-size-mobile, 16px));
        line-height: 1.5;
    }

    /* CTAs viram full-width empilhados no mobile */
    .ihh-ctas {
        flex-direction: column;
        gap: 10px;
        margin-top: 18px;
    }
    .ihh-cta {
        width: 100%;
        padding: 14px 16px;
        font-size: 15px;
    }

    /* Form submit maior pra fácil toque */
    .ihh-form-submit {
        padding: 16px 18px;
        font-size: 15px;
    }
    .ihh-purpose-tab { padding: 12px 8px; font-size: 13px; }

    /* Form "lado a lado" colapsa pra empilhado no mobile (independente da preferência desktop) */
    .ihh-form-real[data-arrangement="inline"] {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 14px !important;
    }
    .ihh-form-real[data-arrangement="inline"] .ihh-form-submit {
        height: auto;
        align-self: stretch;
    }

    /* Preset "centered_no_form" no mobile: text-align left padrão pra evitar texto centrado largo */
    .ihh-preset-centered_no_form .ihh-content,
    .ihh-preset-centered_no_form .ihh-subtitle,
    .ihh-preset-centered_no_form .ihh-headline {
        text-align: left !important;
    }
    .ihh-preset-centered_no_form .ihh-content .ihh-tag { margin-left: 0; }
}

/* Telas EXTRA pequenas (<= 360px) */
@media (max-width: 360px) {
    .ihh-headline { font-size: clamp(24px, 9vw, 30px); }
    .ihh-content-wrap[class] { padding-inline: 14px !important; }
    .ihh-form-wrap[class] { padding: 18px 16px 20px !important; }
}
