 /* landing page overrides */
        body { background: #f7f5f2; }
        .lp-header {
            background: #fff;
            padding: 16px 0;
            box-shadow: 0 2px 12px rgba(0,0,0,.08);
            position: sticky;
            top: 0;
            z-index: 100;
        }
        .lp-header .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .lp-header img { height: 48px; }
        .lp-phone {
            font-size: 1.1rem;
            font-weight: 600;
            color: var(--main-color, #b8893a);
            text-decoration: none;
        }
        .lp-phone i { margin-right: 6px; }

        .lp-hero {
            position: relative;
            height: 420px;
            display: flex;
            align-items: center;
            overflow: hidden;
        }
        .lp-hero-slide { height: 420px !important; min-height: unset !important; }
        .lp-hero .fs-wrapper { position: absolute; inset: 0; }
        .lp-hero .overlay { background: rgba(0,0,0,.55); position: absolute; inset: 0; z-index: 1; }
        .lp-hero .container { position: relative; z-index: 2; }
        .lp-hero h1 { color: #fff; font-size: 2.4rem; margin-bottom: 10px; }
        .lp-hero p  { color: rgba(255,255,255,.85); font-size: 1.1rem; margin-bottom: 0; }

        .lp-badge {
            display: inline-flex; align-items: center; gap: 8px;
            background: var(--main-color, #b8893a); color: #fff;
            border-radius: 30px; padding: 6px 16px;
            font-size: .85rem; font-weight: 600; margin-bottom: 16px;
        }

        .lp-form-wrap {
            background: #fff;
            border-radius: 16px;
            padding: 20px;
            box-shadow: 0 8px 40px rgba(0,0,0,.12);
            margin-top: -80px;
            position: relative;
            z-index: 10;
        }
        .lp-form-wrap h2 {
            font-size: 1.5rem;
            margin-bottom: 4px;
        }
        .lp-form-wrap .sub {
            color: #777; font-size: .9rem; margin-bottom: 24px;
        }
        .lp-form-wrap .form-group label {
            font-weight: 600; font-size: .85rem; color: #444; margin-bottom: 4px; display: block;
        }
        .lp-form-wrap .form-control {
            border: 1.5px solid #e0dbd3;
            border-radius: 8px;
            padding: 10px 14px;
            font-size: .95rem;
            width: 100%;
            transition: border-color .2s;
        }
        .lp-form-wrap .form-control:focus {
            border-color: var(--main-color, #b8893a);
            outline: none;
            box-shadow: 0 0 0 3px rgba(184,137,58,.15);
        }
        .btn-reservar {
            width: 100%;
            background: var(--main-color, #b8893a);
            color: #fff;
            border: none;
            border-radius: 10px;
            padding: 16px;
            font-size: 1.1rem;
            font-weight: 700;
            cursor: pointer;
            transition: opacity .2s;
            margin-top: 8px;
        }
        .btn-reservar:hover { opacity: .88; }
        .btn-whatsapp {
            width: 100%;
            background: #25D366;
            color: #fff;
            border: none;
            border-radius: 10px;
            padding: 14px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: opacity .2s;
            margin-top: 10px;
            display: flex; align-items: center; justify-content: center; gap: 8px;
            text-decoration: none;
        }
        .btn-whatsapp:hover { opacity: .88; color: #fff; }
        .divider-or {
            text-align: center; color: #aaa; font-size: .85rem;
            margin: 12px 0; position: relative;
        }
        .divider-or::before, .divider-or::after {
            content: ''; position: absolute; top: 50%;
            width: 42%; height: 1px; background: #e8e3db;
        }
        .divider-or::before { left: 0; }
        .divider-or::after  { right: 0; }

        .alert-success-lp {
            background: #d4edda; border: 1px solid #c3e6cb;
            border-radius: 10px; padding: 16px; color: #155724;
            margin-bottom: 20px; text-align: center;
        }
        .alert-error-lp {
            background: #f8d7da; border: 1px solid #f5c6cb;
            border-radius: 10px; padding: 16px; color: #721c24;
            margin-bottom: 20px; text-align: center;
        }

        /* benefícios lateral */
        .lp-side-title {
            font-size: 1.55rem;
            font-weight: 700;
            color: #2b2620;
            line-height: 1.3;
            margin-bottom: 22px;
        }
        .lp-side-title span { color: var(--main-color, #b8893a); }

        .lp-benefits-grid {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        .lp-benefit-card {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            background: #fff;
            border-radius: 12px;
            padding: 14px 16px;
            box-shadow: 0 2px 10px rgba(0,0,0,.06);
            text-align: left;
        }
        .lp-benefit-icon {
            flex-shrink: 0;
            width: 42px;
            height: 42px;
            border-radius: 10px;
            background: rgba(184,137,58,.1);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.25rem;
            color: var(--main-color, #b8893a);
        }
        .lp-benefit-text {
            flex: 1;
        }
        .lp-benefit-text strong {
            display: block;
            font-size: .92rem;
            font-weight: 700;
            color: #2b2620;
            margin-bottom: 2px;
        }
        .lp-benefit-text p {
            font-size: .82rem;
            color: #777;
            margin: 0;
            line-height: 1.45;
        }

        /* avaliação box */
        .lp-rating-box {
            background: var(--main-color, #b8893a);
            color: #fff;
            border-radius: 14px;
            padding: 22px 20px;
            text-align: left;
            margin-top: 18px;
            display: flex;
            align-items: center;
            gap: 16px;
        }
        .lp-rating-num {
            font-size: 3.4rem;
            font-weight: 800;
            line-height: 1;
        }
        .lp-rating-stars {
            font-size: 1.3rem;
            letter-spacing: 2px;
            margin: 6px 0 4px;
        }
        .lp-rating-label {
            font-size: .85rem;
            opacity: .88;
        }

        /* footer simples */
        .lp-footer {
            background: #1a1814; color: rgba(255,255,255,.6);
            text-align: center; padding: 20px;
            font-size: .85rem;
        }
        .lp-footer a { color: rgba(255,255,255,.8); }

        .field-error {
            display: block;
            color: #e53935;
            font-size: .78rem;
            margin-top: 4px;
            min-height: 16px;
        }

        @media(max-width: 768px){
            .lp-hero h1 { font-size: 1.7rem; }
            .lp-form-wrap { margin-top: -40px; padding: 24px 18px; }
        }