/* Ícone (Phosphor Light via máscara CSS — herda currentColor) */
.lt-icon{display:inline-block;width:1em;height:1em;flex:none;background:currentColor;-webkit-mask:var(--lt-icon) center/contain no-repeat;mask:var(--lt-icon) center/contain no-repeat;vertical-align:-.125em}
/* Botões */
.lt-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--font-sans);font-weight:500;font-size:12px;letter-spacing:var(--tracking-button);text-transform:uppercase;line-height:1;height:50px;padding:0 30px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;box-sizing:border-box;transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.lt-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.lt-btn:active{transform:translateY(1px)}
.lt-btn .lt-icon{font-size:16px}
.lt-btn--sm{height:38px;padding:0 20px;font-size:10.5px;gap:8px}
.lt-btn--sm .lt-icon{font-size:14px}
.lt-btn--lg{height:58px;padding:0 40px;font-size:13px}
.lt-btn--lg .lt-icon{font-size:18px}
.lt-btn--block{display:flex;width:100%}
.lt-btn--primary{background:var(--grad-gold);color:var(--lt-navy);border-color:transparent}
.lt-btn--primary:hover{filter:brightness(1.06) saturate(1.05);box-shadow:0 14px 28px -18px rgba(176,141,87,.9)}
.lt-btn--secondary{background:transparent;color:var(--lt-navy);border-color:var(--lt-navy)}
.lt-btn--secondary:hover{background:var(--lt-navy);color:var(--lt-cream)}
.lt-btn--dark{background:var(--lt-navy);color:var(--lt-cream)}
.lt-btn--dark:hover{background:var(--lt-navy-soft)}
.lt-btn--ghost{background:none;height:auto;padding:0 0 8px;border:0;border-bottom:1px solid var(--lt-gold);border-radius:0;color:var(--lt-navy)}
.lt-btn--ghost:hover{color:var(--lt-gold-ink)}
.lt-btn--on-dark.lt-btn--primary{background:var(--grad-gold-dark)}
.lt-btn--on-dark.lt-btn--secondary{color:var(--lt-cream);border-color:var(--lt-gold-on-dark)}
.lt-btn--on-dark.lt-btn--secondary:hover{background:var(--lt-cream);color:var(--lt-navy);border-color:var(--lt-cream)}
.lt-btn--on-dark.lt-btn--dark{background:var(--lt-cream);color:var(--lt-navy)}
.lt-btn--on-dark.lt-btn--ghost{color:var(--lt-cream);border-bottom-color:var(--lt-gold-on-dark)}
.lt-btn--on-dark.lt-btn--ghost:hover{color:var(--lt-gold-on-dark-light)}
.lt-btn[disabled],.lt-btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed;pointer-events:none}
/* Botão de ícone */
.lt-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--lt-line);border-radius:var(--radius-sm);background:transparent;color:var(--lt-navy);cursor:pointer;transition:all var(--dur-base) var(--ease-out);font-size:18px;box-sizing:border-box;text-decoration:none}
.lt-iconbtn:hover{border-color:var(--lt-gold);color:var(--lt-gold-ink)}
.lt-iconbtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.lt-iconbtn--sm{width:36px;height:36px;font-size:16px}
.lt-iconbtn--plain{border-color:transparent}
.lt-iconbtn--solid{background:var(--lt-navy);border-color:var(--lt-navy);color:var(--lt-cream)}
.lt-iconbtn--solid:hover{background:var(--lt-navy-soft);color:var(--lt-gold-on-dark-light);border-color:var(--lt-navy-soft)}
.lt-iconbtn--on-dark{border-color:var(--lt-navy-line);color:var(--lt-cream)}
.lt-iconbtn--on-dark:hover{border-color:var(--lt-gold-on-dark);color:var(--lt-gold-on-dark-light)}
/* Selo */
.lt-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-weight:500;font-size:10px;letter-spacing:.28em;text-transform:uppercase;line-height:1;padding:7px 12px 7px 13px;border:1px solid var(--lt-gold);color:var(--lt-gold-ink);background:transparent;border-radius:0;white-space:nowrap}
.lt-badge--navy{background:var(--lt-navy);border-color:var(--lt-navy);color:var(--lt-cream)}
.lt-badge--cream{background:var(--lt-cream);border-color:var(--lt-cream);color:var(--lt-navy)}
.lt-badge--gold{background:var(--grad-gold);border-color:transparent;color:var(--lt-navy)}
.lt-badge--glass{background:rgba(13,23,41,.55);border-color:rgba(235,211,162,.5);color:var(--lt-cream);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
/* Filetes */
.lt-rule{border:0;height:1px;margin:0;background:var(--lt-line);width:100%}
.lt-rule--gold{background:var(--grad-gold-rule)}
.lt-rule--short{width:56px;background:var(--grad-gold)}
.lt-ornament{display:flex;align-items:center;gap:14px;width:100%}
.lt-ornament::before,.lt-ornament::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(176,141,87,0),var(--lt-gold))}
.lt-ornament::after{background:linear-gradient(90deg,var(--lt-gold),rgba(176,141,87,0))}
.lt-ornament i{width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--lt-gold);flex:none}
.lt-dark .lt-ornament i{border-color:var(--lt-gold-on-dark)}
/* Logo */
.lt-logo{display:inline-flex;align-items:center;gap:16px;color:var(--lt-navy);text-decoration:none;border:0}
.lt-logo--stacked{flex-direction:column;gap:14px;text-align:center}
.lt-logo__name{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.2em;line-height:1;white-space:nowrap}
.lt-logo__sub{font-family:var(--font-sans);font-weight:500;text-transform:uppercase;letter-spacing:.4em;color:var(--lt-gold);line-height:1;margin-top:.9em;white-space:nowrap}
.lt-logo--dark{color:var(--lt-cream)}
.lt-logo--dark .lt-logo__sub{color:var(--lt-gold-on-dark)}
/* Campos */
.lt-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.lt-field__label{font-family:var(--font-sans);font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--lt-navy)}
.lt-field__hint{font-size:12px;line-height:1.5;color:var(--lt-ink-3)}
.lt-field--error .lt-field__hint{color:var(--lt-error)}
.lt-input{font-family:var(--font-sans);font-size:15px;font-weight:400;color:var(--lt-navy);background:transparent;border:0;border-bottom:1px solid var(--lt-line);border-radius:0;height:46px;padding:0 2px;width:100%;box-sizing:border-box;outline:none;transition:border-color var(--dur-base) var(--ease-out)}
.lt-input::placeholder{color:var(--lt-ink-3)}
.lt-input:hover{border-bottom-color:var(--lt-ink-3)}
.lt-input:focus{border-bottom-color:var(--lt-gold)}
.lt-field--error .lt-input{border-bottom-color:var(--lt-error)}
.lt-input[disabled]{opacity:.45;cursor:not-allowed}
.lt-input--boxed{border:1px solid var(--lt-line);padding:0 16px;background:var(--lt-white)}
.lt-input--boxed:focus{border-color:var(--lt-gold)}
textarea.lt-input{height:auto;min-height:110px;padding-top:12px;resize:vertical;line-height:1.6}
.lt-select{position:relative;display:flex;align-items:center}
.lt-select select{appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer}
.lt-select .lt-icon{position:absolute;right:4px;pointer-events:none;font-size:14px;color:var(--lt-gold-ink)}
/* Checkbox / rádio */
.lt-check{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:var(--lt-navy);line-height:1.4;user-select:none}
.lt-check input{position:absolute;opacity:0;width:0;height:0}
.lt-check__box{width:18px;height:18px;border:1px solid var(--lt-navy);display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;transition:all var(--dur-fast) var(--ease-out);color:var(--lt-cream);font-size:12px}
.lt-check__box .lt-icon{opacity:0}
.lt-check input:checked+.lt-check__box{background:var(--lt-navy)}
.lt-check input:checked+.lt-check__box .lt-icon{opacity:1}
.lt-check input:focus-visible+.lt-check__box{box-shadow:var(--focus-ring)}
.lt-check--radio .lt-check__box{width:14px;height:14px;transform:rotate(45deg);margin:0 2px}
.lt-check--radio .lt-check__box::after{content:"";width:6px;height:6px;background:var(--grad-gold);opacity:0;transition:opacity var(--dur-fast)}
.lt-check--radio input:checked+.lt-check__box{background:transparent;border-color:var(--lt-gold)}
.lt-check--radio input:checked+.lt-check__box::after{opacity:1}
.lt-check--disabled{opacity:.45;cursor:not-allowed}
/* Cartão */
.lt-card{position:relative;background:var(--lt-white);border:1px solid var(--lt-line);border-radius:0;box-sizing:border-box}
.lt-card--framed{border-color:var(--lt-gold)}
.lt-card--framed::after{content:"";position:absolute;inset:var(--rule-frame-offset);border:1px solid rgba(176,141,87,.45);pointer-events:none}
.lt-card--ivory{background:var(--lt-ivory);border-color:transparent}
.lt-card--navy{background:var(--lt-navy);border-color:var(--lt-navy);color:var(--lt-cream)}
.lt-card--navy.lt-card--framed{border-color:var(--lt-gold-on-dark)}
.lt-card--navy.lt-card--framed::after{border-color:rgba(201,166,107,.4)}
.lt-card--raised{box-shadow:var(--shadow-soft);border-color:transparent}
/* Moldura de imagem */
.lt-frame{position:relative;overflow:hidden;background:var(--lt-sand);width:100%}
.lt-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-photo) var(--ease-out)}
.lt-frame--placeholder{background:linear-gradient(135deg,#1B2A4A 0%,#14213D 55%,#0D1729 100%)}
.lt-frame--placeholder.lt-frame--light{background:linear-gradient(135deg,#F6F2EA 0%,#ECE5D8 100%)}
.lt-frame__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-family:var(--font-sans);font-weight:500;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(243,231,207,.6);text-align:center;padding:16px}
.lt-frame__ph--corner{inset:auto;top:24px;right:24px;flex-direction:row;padding:0;z-index:1}
.lt-frame--light .lt-frame__ph{color:var(--lt-ink-3)}
.lt-frame__ph .lt-icon{font-size:22px;opacity:.8}
.lt-frame--protect::after{content:"";position:absolute;inset:0;background:var(--grad-photo-protect);pointer-events:none}
/* Cartão de imóvel */
.lt-prop{display:flex;flex-direction:column;gap:20px;color:var(--lt-navy);text-decoration:none;border:0;cursor:pointer}
.lt-prop:hover{color:var(--lt-navy)}
.lt-prop:hover .lt-frame img{transform:scale(1.035)}
.lt-prop__media{position:relative}
.lt-prop__badges{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:2}
.lt-prop__body{display:flex;flex-direction:column;gap:10px}
.lt-prop__title{font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.15;letter-spacing:.1em;text-transform:uppercase;margin:0}
.lt-prop__specs{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:13px;color:var(--lt-ink-2);letter-spacing:.02em}
.lt-prop__specs span{display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-left:1px solid var(--lt-line)}
.lt-prop__specs span:first-child{padding-left:0;border-left:0}
.lt-prop__specs .lt-icon{color:var(--lt-gold-ink);font-size:15px}
.lt-prop__foot{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--lt-line);margin-top:4px}
.lt-prop__price{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:.04em}
.lt-prop__more{font-size:10.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--lt-gold-ink)}
/* Título de seção */
.lt-sechead{display:flex;flex-direction:column;gap:18px;max-width:720px}
.lt-sechead--center{align-items:center;text-align:center;margin-inline:auto}
.lt-sechead__title{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;line-height:1.1;margin:0;color:var(--text-strong);text-wrap:balance}
.lt-sechead__text{margin:0;font-size:16px;line-height:1.7;color:var(--text-muted);max-width:560px;text-wrap:pretty}
/* Abas */
.lt-tabs{display:flex;gap:36px;border-bottom:1px solid var(--lt-line);overflow-x:auto}
.lt-tab{position:relative;background:none;border:0;padding:0 0 16px;font-family:var(--font-sans);font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--lt-ink-3);cursor:pointer;white-space:nowrap;transition:color var(--dur-base) var(--ease-out)}
.lt-tab:hover{color:var(--lt-navy)}
.lt-tab[aria-selected="true"]{color:var(--lt-navy)}
.lt-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--grad-gold)}
.lt-tabs--dark{border-bottom-color:var(--lt-navy-line)}
.lt-tabs--dark .lt-tab{color:#98A0B0}
.lt-tabs--dark .lt-tab:hover,.lt-tabs--dark .lt-tab[aria-selected="true"]{color:var(--lt-cream)}
/* Diálogo */
.lt-dialog-overlay{position:fixed;inset:0;z-index:100;background:rgba(13,23,41,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:lt-fade var(--dur-base) var(--ease-out)}
.lt-dialog{position:relative;background:var(--lt-white);width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow:auto;padding:48px 44px 40px;box-sizing:border-box;box-shadow:var(--shadow-float);animation:lt-rise var(--dur-slow) var(--ease-out)}
.lt-dialog::after{content:"";position:absolute;inset:8px;border:1px solid rgba(176,141,87,.45);pointer-events:none}
.lt-dialog__close{position:absolute;top:16px;right:16px;z-index:2}
.lt-dialog__title{font-family:var(--font-display);font-weight:600;font-size:28px;letter-spacing:.12em;text-transform:uppercase;line-height:1.15;margin:12px 0 0;color:var(--lt-navy)}
.lt-dialog__body{margin-top:20px;font-size:15px;line-height:1.7;color:var(--lt-ink-2)}
.lt-dialog__actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;position:relative;z-index:1}
/* Dica */
.lt-tip{position:relative;display:inline-flex}
.lt-tip__bubble{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);background:var(--lt-navy);color:var(--lt-cream);font-size:12px;line-height:1.4;letter-spacing:.02em;padding:8px 12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);z-index:10}
.lt-tip__bubble::after{content:"";position:absolute;top:100%;left:50%;width:7px;height:7px;background:var(--lt-navy);transform:translate(-50%,-4px) rotate(45deg)}
.lt-tip:hover .lt-tip__bubble,.lt-tip:focus-within .lt-tip__bubble,.lt-tip--open .lt-tip__bubble{opacity:1;transform:translate(-50%,0)}
/* Aviso */
.lt-toast{display:flex;align-items:flex-start;gap:14px;background:var(--lt-navy);color:var(--lt-cream);padding:18px 20px;max-width:400px;box-sizing:border-box;box-shadow:var(--shadow-float);border-top:1px solid var(--lt-gold-on-dark);animation:lt-rise var(--dur-slow) var(--ease-out)}
.lt-toast>.lt-icon{font-size:20px;color:var(--lt-gold-on-dark);margin-top:1px}
.lt-toast__title{font-family:var(--font-sans);font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.lt-toast__text{font-size:13.5px;line-height:1.55;color:#C9C3B6;margin-top:4px}
.lt-toast__close{margin-left:auto;background:none;border:0;color:#98A0B0;cursor:pointer;padding:2px;font-size:16px}
.lt-toast__close:hover{color:var(--lt-cream)}
@keyframes lt-fade{from{opacity:0}to{opacity:1}}
@keyframes lt-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
