/* Load after the incumbent style.min.css and custom.css; opt in with .lf-system.
   These refinements are reusable by future LPs. docs.css only styles the catalog. */
:root {
    --lf-gold-ink: #806515;
    --lf-whatsapp-hover: #0b6b5c;
    --lf-border-strong: #858585;
    --lf-error: #a12622;
    --lf-radius-field: 8px;
    --lf-radius-card: 12px;
    --lf-space-sm: 8px;
    --lf-space-md: 16px;
    --lf-duration: 300ms;
    --lf-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
.lf-system { accent-color: var(--primary-color); }
.lf-system ::selection { color: var(--dark-bg); background: var(--primary-light); }
.lf-system :where(a, button, input, summary):focus-visible {
    outline: 3px solid var(--primary-color);
    outline-offset: 4px;
    box-shadow: 0 0 0 2px var(--dark-bg);
}
.lf-system .btn,
.lf-system .btn-footer-whatsapp,
.lf-system .nav-cta-btn {
    min-height: 48px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    line-height: 1.5;
    transition: color var(--lf-duration) var(--lf-ease), background-color var(--lf-duration) var(--lf-ease), border-color var(--lf-duration) var(--lf-ease), transform var(--lf-duration) var(--lf-ease);
}
.lf-system .btn-gold { isolation: isolate; }
.lf-system .btn:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
    pointer-events: none;
}
.lf-system .btn:disabled::before { display: none; }
.lf-system .btn:not(:disabled):active { transform: translateY(0); }
.lf-system .btn-whatsapp-green { color: var(--text-strong, #1a1a1a); }
.lf-system .btn-whatsapp-green:hover {
    background: var(--lf-whatsapp-hover);
    color: var(--text-light);
}
.lf-system .lf-field-label {
    display: block;
    color: #1a1a1a;
    font-size: .875rem;
    font-weight: 600;
    margin-bottom: var(--lf-space-sm);
}
.lf-system .majestic-field {
    border-color: var(--lf-border-strong);
    border-radius: var(--lf-radius-field);
    caret-color: var(--lf-gold-ink);
}
.lf-system .majestic-field::placeholder { color: #666; opacity: 1; }
.lf-system .majestic-field:focus-visible {
    outline: 2px solid #1a1a1a;
    outline-offset: 3px;
    box-shadow: none;
    border-color: var(--primary-color);
}
.lf-system .majestic-field[aria-invalid="true"] { border: 2px solid var(--lf-error); }
.lf-system .lf-field-error { font-size: .875rem; color: var(--lf-error); margin-top: 0; }
.lf-system .majestic-field:disabled { color: #555; background: #ededed; cursor: not-allowed; }
.lf-system .lf-surface-light { color: #1a1a1a; background: #fff; }
.lf-system .lf-surface-light :where(h3, h4, .sec-card-title) { color: #1a1a1a; text-shadow: none; }
.lf-system .bg-dark .sec-card-title { color: #fff; text-shadow: none; }
.lf-system .bg-dark .sec-card-text { color: var(--text-muted); }
.lf-system .bg-dark .lf-surface-light .sec-card-title { color: #1a1a1a; }
.lf-system .bg-dark .lf-surface-light .sec-card-text { color: #555; }
.lf-system .lf-surface-light :where(.tag-gold, .section-subtitle, .ds-demo-card__label) { color: var(--lf-gold-ink); }
.lf-system .accordion-header { min-height: 48px; gap: var(--lf-space-md); }
.lf-system .accordion-header.active { color: var(--lf-gold-ink); }
.lf-system .accordion-header:focus-visible { outline-color: #1a1a1a; outline-offset: -5px; box-shadow: none; }
.lf-system .icon-toggle { flex: 0 0 24px; }
.lf-system .accordion-content { max-height: none; transition: none; }
.lf-system [hidden] { display: none !important; }
.lf-system .lf-media-link { display: block; border-radius: var(--lf-radius-card); }
.lf-system .lf-media-link:focus-visible { outline-offset: 5px; }
.lf-system .lf-media-link .gallery-thumb { width: 100%; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    .lf-system *, .lf-system *::before, .lf-system *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
    .lf-system [data-aos] { opacity: 1 !important; transform: none !important; }
    .lf-system :where(.btn, .sec-card, .facility-card, .gallery-thumb-wrapper, .gallery-thumb):hover { transform: none; }
}
