/* ============================================================
   Plaza Noble · Public Web · Screen-specific CSS
   ------------------------------------------------------------
   Compilado automaticamente de @push('head')<style> blocks
   em cada tela. NÃO edite à mão — edite a seção comentada e
   re-rode `python _tools/extract_site_styles.py`.
   ============================================================ */

/* === pn/404.blade.php === */
.pn-404 {
        background: var(--pn-pearl); min-height: calc(100vh - 71px);
        display: flex; align-items: center; justify-content: center;
        padding: 48px 56px;
    }
    .pn-404-inner { text-align: center; max-width: 640px; }
    .pn-404-number {
        font-family: var(--pn-font-display);
        font-size: clamp(140px, 18vw, 200px);
        font-weight: 500; letter-spacing: -0.05em;
        line-height: 0.85; color: var(--pn-gold);
    }
    .pn-404-number__italic { color: var(--pn-emerald); }
    .pn-404-kicker {
        font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
        margin-top: 24px;
    }
    .pn-404-title {
        font-family: var(--pn-font-display);
        font-size: clamp(32px, 5vw, 48px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 18px 0 0; line-height: 1;
    }
    .pn-404-sub {
        font-size: 16px; color: var(--pn-text);
        margin-top: 18px; line-height: 1.55;
    }
    .pn-404-ctas {
        margin-top: 36px;
        display: flex; justify-content: center; gap: 10px; flex-wrap: wrap;
    }

/* === pn/ajuda.blade.php === */
.pn-help { background: var(--pn-pearl); padding-bottom: var(--pn-s10); }
    .pn-help-hero { padding: var(--pn-s10) 0 var(--pn-s7); text-align: center; }
    .pn-help-hero__kicker { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
    .pn-help-hero__title {
        font-family: var(--pn-font-display);
        font-size: clamp(48px, 7vw, 64px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 18px 0 0; line-height: 1;
    }
    .pn-help-hero__title .pn-accent { font-style: normal; }
    .pn-help-search {
        margin: 32px auto 0; max-width: 560px;
        display: flex; align-items: center; gap: 8px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 6px 6px 6px 18px;
    }
    .pn-help-search input {
        flex: 1; border: 0; outline: 0;
        padding: 14px 14px; font-size: 15px;
        font-family: inherit; background: transparent;
    }
    .pn-help-search__btn {
        background: var(--pn-ink); color: var(--pn-pearl);
        border: 0; padding: 12px 20px; border-radius: 10px;
        font-size: 13px; cursor: pointer; font-family: inherit;
    }

    .pn-help-section { padding: var(--pn-s7) 0 0; max-width: 1100px; margin: 0 auto; }
    .pn-help-section--last { padding-top: var(--pn-s7); }
    .pn-help-secthead {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: 20px;
    }
    .pn-help-secthead__link {
        background: transparent; border: 0; color: var(--pn-gold-deep);
        font-size: 13px; cursor: pointer; font-family: inherit;
    }

    .pn-help-topics {
        margin-top: 20px;
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
    }
    .pn-help-topic {
        padding: 22px 24px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; cursor: pointer;
        display: flex; flex-direction: column; gap: 14px;
        text-decoration: none; color: inherit;
        transition: border-color .15s ease, transform .15s ease;
    }
    .pn-help-topic:hover { border-color: var(--pn-ink); transform: translateY(-2px); }
    .pn-help-topic__icon {
        width: 40px; height: 40px; border-radius: 10px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
    }
    .pn-help-topic__t { font-size: 15px; font-weight: 500; }
    .pn-help-topic__count { font-size: 11px; letter-spacing: 0.06em; margin-top: 4px; }

    .pn-help-faq {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; overflow: hidden;
    }
    .pn-help-faq__row {
        padding: 18px 24px;
        display: flex; align-items: center; justify-content: space-between;
        gap: 14px; cursor: pointer; font-size: 15px;
    }
    .pn-help-faq__row.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-help-faq__row:hover { background: rgba(15, 11, 10, 0.02); }

    .pn-help-cta {
        padding: 32px 36px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 18px;
        display: grid; grid-template-columns: 1fr auto;
        gap: 24px; align-items: center;
    }
    .pn-help-cta__kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.6);
    }
    .pn-help-cta__t {
        font-family: var(--pn-font-display);
        font-size: 32px; font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin-top: 10px;
    }

    @media (max-width: 1023px) {
        .pn-help-topics { grid-template-columns: repeat(2, 1fr); }
        .pn-help-cta { grid-template-columns: 1fr; }
    }

/* === pn/aurum.blade.php === */
.pn-aurum { background: var(--pn-pearl); }
    .pn-aurum-hero {
        background: var(--pn-ink); color: var(--pn-pearl);
        padding: var(--pn-s10) 0;
        position: relative; overflow: hidden;
    }
    .pn-aurum-hero__glow {
        position: absolute; right: -150px; top: -50px;
        width: 500px; height: 500px; border-radius: 50%;
        background: radial-gradient(circle, rgba(195, 162, 86, 0.35), transparent 70%);
        pointer-events: none;
    }
    .pn-aurum-hero__inner {
        position: relative;
        display: grid; grid-template-columns: 1.4fr 1fr;
        gap: var(--pn-s8); align-items: end;
    }
    .pn-aurum-hero__kicker {
        font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.65);
    }
    .pn-aurum-hero__title {
        font-family: var(--pn-font-display);
        font-size: clamp(64px, 10vw, 96px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        color: var(--pn-pearl);
        margin: 18px 0 0; line-height: 0.95;
    }
    .pn-aurum-hero__title .pn-accent { font-style: normal; color: var(--pn-gold); }
    .pn-aurum-hero__sub {
        font-size: 16px; color: rgba(245, 243, 238, 0.72);
        margin-top: 20px; max-width: 520px; line-height: 1.55;
    }

    .pn-aurum-hero__card {
        background: rgba(245, 243, 238, 0.06);
        border: 1px solid rgba(245, 243, 238, 0.12);
        border-radius: 16px;
        padding: 24px 28px;
    }
    .pn-aurum-hero__cardlabel {
        font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.6);
    }
    .pn-aurum-hero__points {
        display: flex; align-items: baseline; gap: 10px;
        margin-top: 8px;
    }
    .pn-aurum-hero__pointsn {
        font-family: var(--pn-font-display);
        font-size: 48px; font-weight: 500;
        letter-spacing: 0.02em; line-height: 1;
        color: var(--pn-gold);
    }
    .pn-aurum-hero__pointsu { font-size: 14px; color: rgba(245, 243, 238, 0.6); }
    .pn-aurum-hero__progress { margin-top: 18px; }
    .pn-aurum-hero__progresslabel {
        display: flex; justify-content: space-between;
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.6); margin-bottom: 8px;
    }
    .pn-aurum-hero__progressbar {
        height: 6px; background: rgba(245, 243, 238, 0.1);
        border-radius: 999px; overflow: hidden;
    }
    .pn-aurum-hero__progressfill {
        height: 100%; background: var(--pn-gold); border-radius: 999px;
    }

    .pn-aurum-section { padding: var(--pn-s10) 0 0; max-width: 1200px; margin: 0 auto; }
    .pn-aurum-section--last { padding-bottom: var(--pn-s10); }
    .pn-aurum-secthead {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: 20px;
    }
    .pn-aurum-secthead__link {
        background: transparent; border: 0; color: var(--pn-gold-deep);
        font-size: 13px; cursor: pointer; font-family: inherit;
    }
    .pn-aurum-secthead__link:hover { color: var(--pn-emerald); }

    .pn-aurum-tiers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
    .pn-aurum-tier {
        padding: 24px 22px;
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider);
        border-radius: 14px;
    }
    .pn-aurum-tier.is-current { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-aurum-tier__head { display: flex; justify-content: space-between; align-items: center; }
    .pn-aurum-tier__icon {
        font-size: 48px; font-weight: 500; letter-spacing: -0.04em; line-height: 1;
        color: var(--pn-text-muted);
    }
    .pn-aurum-tier.is-current .pn-aurum-tier__icon { color: var(--pn-gold); }
    .pn-aurum-tier__chip {
        padding: 4px 9px; background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; font-family: var(--pn-font-mono);
        font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
    }
    .pn-aurum-tier__name {
        font-family: var(--pn-font-display);
        font-size: 22px; font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin-top: 18px;
    }
    .pn-aurum-tier__pts {
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        margin-top: 6px;
        color: var(--pn-text-muted);
    }
    .pn-aurum-tier.is-current .pn-aurum-tier__pts { color: rgba(245, 243, 238, 0.55); }

    .pn-aurum-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .pn-aurum-benefit {
        padding: 22px 24px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px;
    }
    .pn-aurum-benefit.is-locked { opacity: 0.5; }
    .pn-aurum-benefit__head {
        display: flex; justify-content: space-between; align-items: flex-start;
    }
    .pn-aurum-benefit__icon {
        width: 40px; height: 40px; border-radius: 10px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
    }
    .pn-aurum-benefit.is-locked .pn-aurum-benefit__icon {
        background: rgba(15, 11, 10, 0.05); color: var(--pn-text-muted);
    }
    .pn-aurum-benefit__lock {
        padding: 3px 8px; background: rgba(15, 11, 10, 0.08);
        border-radius: 6px; font-size: 10px;
        letter-spacing: 0.08em; text-transform: uppercase;
        color: var(--pn-text-muted);
    }
    .pn-aurum-benefit__t { font-size: 15px; margin-top: 14px; letter-spacing: -0.005em; }
    .pn-aurum-benefit__sub { font-size: 12px; margin-top: 6px; line-height: 1.5; }

    .pn-aurum-bottom {
        display: grid; grid-template-columns: 1.4fr 1fr;
        gap: var(--pn-s7); align-items: flex-start;
    }
    .pn-aurum-statement {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; overflow: hidden;
    }
    .pn-aurum-statement__row {
        display: grid; grid-template-columns: 130px 1fr auto;
        gap: 14px; padding: 16px 20px; align-items: center;
    }
    .pn-aurum-statement__row.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-aurum-statement__d { font-size: 11px; letter-spacing: 0.06em; }
    .pn-aurum-statement__t { font-size: 14px; }
    .pn-aurum-statement__pts {
        font-size: 14px; font-weight: 500; color: var(--pn-emerald);
    }
    .pn-aurum-statement__pts.is-red { color: #a86060; }

    .pn-aurum-redeem {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 24px;
    }
    .pn-aurum-redeem__row {
        display: flex; gap: 14px; padding: 14px 0;
        align-items: center;
    }
    .pn-aurum-redeem__row.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-aurum-redeem__icon {
        width: 36px; height: 36px; border-radius: 10px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center; flex: 0 0 36px;
    }
    .pn-aurum-redeem__body { flex: 1; min-width: 0; }
    .pn-aurum-redeem__t { font-size: 13.5px; line-height: 1.4; }
    .pn-aurum-redeem__pts { font-size: 11px; letter-spacing: 0.08em; margin-top: 3px; }
    .pn-aurum-redeem__cta {
        background: transparent; border: 1px solid var(--pn-ink);
        padding: 7px 12px; border-radius: 999px;
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        cursor: pointer; font-family: var(--pn-font-mono);
        color: var(--pn-ink);
    }
    .pn-aurum-redeem__cta:hover { background: var(--pn-ink); color: var(--pn-pearl); }

    @media (max-width: 1023px) {
        .pn-aurum-hero__inner { grid-template-columns: 1fr; }
        .pn-aurum-tiers { grid-template-columns: repeat(2, 1fr); }
        .pn-aurum-benefits { grid-template-columns: 1fr 1fr; }
        .pn-aurum-bottom { grid-template-columns: 1fr; }
    }
    @media (max-width: 767px) {
        .pn-aurum-tiers, .pn-aurum-benefits { grid-template-columns: 1fr; }
        .pn-aurum-statement__row { grid-template-columns: 1fr; gap: 4px; }
    }

/* === pn/avaliar.blade.php === */
.pn-review { background: var(--pn-pearl); min-height: 100vh; padding: var(--pn-s8) 0 var(--pn-s10); }
    .pn-review-kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-review-title {
        font-family: var(--pn-font-display);
        font-size: clamp(36px, 5vw, 48px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 14px 0 0; line-height: 1.05;
    }
    .pn-review-title .pn-accent { font-style: normal; }
    .pn-review-sub { font-size: 14px; margin-top: 10px; }

    .pn-review-rating {
        margin-top: var(--pn-s8); padding: 28px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; text-align: center;
    }
    .pn-review-rating__label { font-size: 14px; margin-bottom: 18px; }
    .pn-review-rating__scale {
        display: flex; justify-content: center; gap: 10px;
        flex-wrap: wrap;
    }
    .pn-review-rating__btn {
        width: 44px; height: 44px; border-radius: 10px;
        background: transparent; color: var(--pn-ink);
        border: 1px solid var(--pn-divider);
        font-size: 15px; cursor: pointer;
        font-family: var(--pn-font-mono);
        transition: background .15s ease, color .15s ease;
    }
    .pn-review-rating__btn:hover { border-color: var(--pn-ink); }
    .pn-review-rating__btn.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-review-rating__feedback {
        margin-top: 14px; font-size: 13px;
        letter-spacing: 0.08em; text-transform: uppercase;
    }

    .pn-review-cats {
        margin-top: 18px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 24px;
    }
    .pn-review-cats__title { font-size: 14px; font-weight: 500; margin-bottom: 18px; }
    .pn-review-cats__grid {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 18px 32px;
    }
    .pn-review-cat__head {
        display: flex; justify-content: space-between;
        font-size: 13px; margin-bottom: 8px;
    }
    .pn-review-cat__val { font-weight: 500; }
    .pn-review-cat__bars { display: flex; gap: 4px; }
    .pn-review-cat__bar {
        flex: 1; height: 8px; border-radius: 4px;
        background: var(--pn-divider); border: 0; cursor: pointer;
        transition: background .15s ease;
    }
    .pn-review-cat__bar:hover { background: rgba(15, 11, 10, 0.3); }
    .pn-review-cat__bar.is-on { background: var(--pn-ink); }

    .pn-review-section { margin-top: 18px; }
    .pn-review-section__t { font-size: 14px; font-weight: 500; margin-bottom: 10px; }
    .pn-review-section__hint { font-size: 12px; margin-bottom: 14px; }

    .pn-review-chips { display: flex; flex-wrap: wrap; gap: 8px; }
    .pn-review-chip {
        padding: 10px 16px;
        border: 1px solid var(--pn-divider);
        background: #fff;
        border-radius: 999px; font-size: 13px;
        cursor: pointer;
        display: flex; align-items: center; gap: 8px;
        transition: border-color .15s ease, background .15s ease;
    }
    .pn-review-chip:hover { border-color: var(--pn-ink); }
    .pn-review-chip.is-active { border-color: var(--pn-ink); background: rgba(15, 11, 10, 0.04); }

    .pn-review-textarea {
        width: 100%; padding: 16px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 12px; font-size: 14px;
        font-family: inherit; outline: none;
        resize: vertical; line-height: 1.55;
    }
    .pn-review-textarea:focus { border-color: var(--pn-emerald); }

    .pn-review-photos {
        display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px;
    }
    .pn-review-photo {
        height: 120px; border-radius: 10px; overflow: hidden;
        background: var(--pn-pearl-warm);
        border: 0; padding: 0; cursor: pointer;
    }
    .pn-review-photo img { width: 100%; height: 100%; object-fit: cover; }
    .pn-review-photo--add {
        border: 2px dashed var(--pn-divider); background: transparent;
        display: grid; place-items: center;
        color: var(--pn-text-muted); text-align: center;
        font-size: 22px;
    }
    .pn-review-photo--add:hover { border-color: var(--pn-ink); color: var(--pn-ink); }
    .pn-review-photo__label {
        font-size: 11px; margin-top: 4px;
        letter-spacing: 0.06em;
    }

    .pn-review-actions {
        margin-top: var(--pn-s7);
        display: flex; justify-content: space-between;
        gap: 12px; flex-wrap: wrap;
    }

    @media (max-width: 1023px) {
        .pn-review-cats__grid { grid-template-columns: 1fr; }
        .pn-review-photos { grid-template-columns: repeat(2, 1fr); }
    }

/* === pn/cancelar.blade.php === */
.pn-cancel { background: var(--pn-pearl); min-height: 100vh; padding: var(--pn-s8) 0 var(--pn-s10); }
    .pn-cancel-kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-cancel-title {
        font-family: var(--pn-font-display);
        font-size: clamp(36px, 5vw, 48px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 14px 0 0; line-height: 1.05;
    }
    .pn-cancel-title .pn-accent { font-style: normal; }

    .pn-cancel-policy {
        margin-top: var(--pn-s7); padding: 20px 24px;
        background: var(--pn-emerald-soft);
        border: 1px solid rgba(12, 90, 55, 0.25);
        border-radius: 14px;
        color: var(--pn-emerald);
        display: flex; gap: 16px; align-items: flex-start;
    }
    .pn-cancel-policy > svg { flex: 0 0 20px; margin-top: 2px; }
    .pn-cancel-policy__t { font-size: 15px; font-weight: 500; }
    .pn-cancel-policy__sub { font-size: 13px; margin-top: 6px; line-height: 1.55; color: var(--pn-emerald); }

    .pn-cancel-card {
        margin-top: var(--pn-s5);
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 20px 24px;
    }
    .pn-cancel-card__title { font-size: 13px; font-weight: 500; margin-bottom: 14px; }
    .pn-cancel-card__list { display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
    .pn-cancel-card__row { display: flex; justify-content: space-between; }
    .pn-cancel-card__total {
        display: flex; justify-content: space-between;
        padding-top: 14px; border-top: 1px solid var(--pn-divider);
        margin-top: 4px;
        font-size: 14px; font-weight: 500;
    }
    .pn-cancel-card__totalv {
        font-family: var(--pn-font-display);
        font-size: 22px; font-weight: 500; letter-spacing: 0.02em;
    }

    .pn-cancel-section { margin-top: var(--pn-s7); }
    .pn-cancel-section__t { font-size: 14px; font-weight: 500; margin-bottom: 14px; }
    .pn-cancel-reasons { display: flex; flex-direction: column; gap: 8px; }
    .pn-cancel-reason {
        padding: 14px 18px;
        border: 1px solid var(--pn-divider);
        background: #fff;
        border-radius: 12px;
        cursor: pointer;
        display: flex; gap: 12px; align-items: center;
        font-size: 14px;
        transition: border-color .15s ease, background .15s ease;
    }
    .pn-cancel-reason:hover { border-color: var(--pn-ink); }
    .pn-cancel-reason.is-active { border: 1.5px solid var(--pn-ink); background: rgba(15, 11, 10, 0.03); }
    .pn-cancel-reason__radio {
        width: 18px; height: 18px; border-radius: 50%;
        border: 1.5px solid var(--pn-divider);
        padding: 3px;
    }
    .pn-cancel-reason.is-active .pn-cancel-reason__radio { border-color: var(--pn-ink); }
    .pn-cancel-reason__dot {
        width: 100%; height: 100%; border-radius: 50%;
        background: var(--pn-ink); display: block;
    }
    .pn-cancel-textarea {
        width: 100%; margin-top: 14px; padding: 14px 16px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 12px; font-size: 14px;
        font-family: inherit; outline: none; resize: vertical;
    }
    .pn-cancel-textarea:focus { border-color: var(--pn-emerald); }

    .pn-cancel-alt {
        margin-top: var(--pn-s5); padding: 18px 22px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 14px;
        display: flex; gap: 16px; align-items: center;
        text-decoration: none;
    }
    .pn-cancel-alt__body { flex: 1; }
    .pn-cancel-alt__t { font-size: 14px; font-weight: 500; }
    .pn-cancel-alt__sub { font-size: 12px; opacity: 0.7; margin-top: 4px; }
    .pn-cancel-alt__cta {
        background: var(--pn-pearl); color: var(--pn-ink);
        padding: 10px 16px; border-radius: 999px;
        font-size: 13px; white-space: nowrap;
    }

    .pn-cancel-actions {
        margin-top: var(--pn-s7);
        display: flex; justify-content: space-between;
        gap: 12px; flex-wrap: wrap;
    }
    .pn-cancel-actions__confirm {
        background: #a86060 !important; color: var(--pn-pearl) !important;
        border-color: #a86060 !important;
        padding: 14px 28px !important; font-size: 14px !important;
        font-weight: 500 !important;
    }

    .pn-cancel-actions__confirm:hover { background: #8e4f4f !important; }

/* === pn/chat.blade.php === */
body[data-screen="chat"] { overflow: hidden; }
    .pn-chat {
        height: 100vh;
        display: flex; flex-direction: column;
        background: var(--pn-pearl);
        overflow: hidden;
    }

    /* Nav */
    .pn-chat-nav {
        flex: 0 0 auto;
        border-bottom: 1px solid var(--pn-divider);
        background: var(--pn-pearl);
        padding: 18px 40px;
        display: flex; align-items: center; justify-content: space-between;
        gap: var(--pn-s4);
    }
    .pn-chat-nav__left { display: flex; align-items: center; gap: 14px; min-width: 0; }
    .pn-chat-nav__back {
        background: transparent; border: 0;
        width: 36px; height: 36px; border-radius: 50%;
        display: grid; place-items: center;
        cursor: pointer; color: var(--pn-text); text-decoration: none;
    }
    .pn-chat-nav__back svg { transform: rotate(180deg); }
    .pn-chat-nav__divider { width: 1px; height: 22px; background: var(--pn-divider); }
    .pn-chat-nav__breadcrumb {
        font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
        display: inline-flex; align-items: center; gap: 8px;
    }
    .pn-chat-nav__right { display: flex; align-items: center; gap: 14px; }
    .pn-chat-nav__online {
        display: flex; align-items: center; gap: 6px;
        font-size: 13px; color: var(--pn-text-muted);
    }
    .pn-chat-nav__dot {
        width: 8px; height: 8px; border-radius: 50%;
        background: var(--pn-emerald);
    }
    .pn-chat-nav__lang {
        background: transparent; border: 1px solid var(--pn-divider);
        padding: 8px 14px; border-radius: 999px;
        font-size: 13px; display: inline-flex; align-items: center; gap: 6px;
        font-family: inherit; cursor: pointer;
    }
    .pn-chat-nav__avatar {
        width: 32px; height: 32px; border-radius: 50%;
        background: var(--pn-gold); color: var(--pn-ink);
        display: grid; place-items: center;
        font-size: 13px; font-weight: 600;
    }

    /* Layout */
    .pn-chat-layout {
        flex: 1; min-height: 0;
        display: grid; grid-template-columns: 280px 1fr 360px;
    }
    .pn-chat-side {
        border-right: 1px solid var(--pn-divider);
        background: var(--pn-pearl);
        min-height: 0; overflow-y: auto;
    }
    .pn-chat-main {
        display: flex; flex-direction: column;
        background: var(--pn-pearl-warm);
        min-width: 0; min-height: 0;
    }
    .pn-chat-detail {
        border-left: 1px solid var(--pn-divider);
        background: var(--pn-pearl);
        min-height: 0; overflow-y: auto;
    }

    /* Left side — cotation list */
    .pn-chat-side__head {
        padding: 24px 24px 14px;
        display: flex; align-items: center; justify-content: space-between;
    }
    .pn-chat-side__kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-chat-side__add {
        background: var(--pn-ink); color: var(--pn-pearl);
        border: 0; width: 28px; height: 28px;
        border-radius: 50%;
        display: grid; place-items: center;
        cursor: pointer; font-size: 16px;
    }
    .pn-chat-side__search {
        width: calc(100% - 48px); margin: 0 24px 14px;
        padding: 10px 14px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 10px; font-size: 13px;
        outline: none; font-family: inherit;
    }
    .pn-chat-side__search:focus { border-color: var(--pn-emerald); }
    .pn-chat-cot {
        padding: 16px 24px;
        border-top: 1px solid var(--pn-divider);
        border-left: 3px solid transparent;
        cursor: pointer;
    }
    .pn-chat-cot.is-active {
        background: #fff;
        border-left-color: var(--pn-gold);
    }
    .pn-chat-cot__head {
        display: flex; align-items: center; justify-content: space-between; gap: 8px;
    }
    .pn-chat-cot__kind { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-chat-cot__status {
        font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
        padding: 3px 7px; border-radius: 999px;
    }
    .pn-chat-cot__status--gold    { color: var(--pn-gold-deep);  background: var(--pn-gold-soft); }
    .pn-chat-cot__status--emerald { color: var(--pn-emerald);    background: var(--pn-emerald-soft); }
    .pn-chat-cot__status--muted   { color: var(--pn-text-muted); background: rgba(15, 11, 10, 0.05); }
    .pn-chat-cot__route { font-size: 15px; margin-top: 6px; letter-spacing: -0.01em; }
    .pn-chat-cot__id { font-size: 11px; margin-top: 6px; letter-spacing: 0.04em; }
    .pn-chat-cot__last {
        font-size: 12px; margin-top: 8px; line-height: 1.4;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }

    /* Translation banner */
    .pn-chat-banner {
        flex: 0 0 auto;
        padding: 10px 40px;
        background: rgba(15, 11, 10, 0.04);
        border-bottom: 1px solid var(--pn-divider);
        display: flex; align-items: center; justify-content: space-between; gap: 14px;
    }
    .pn-chat-banner.is-active { background: rgba(12, 90, 55, 0.08); }
    .pn-chat-banner__label {
        display: flex; align-items: center; gap: 10px;
        font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
        color: var(--pn-text-muted); flex: 1; min-width: 0;
    }
    .pn-chat-banner.is-active .pn-chat-banner__label { color: var(--pn-emerald); }
    .pn-chat-banner__lang {
        padding: 2px 7px; background: rgba(15, 11, 10, 0.06);
        color: var(--pn-ink); border-radius: 6px;
    }
    .pn-chat-banner__on { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .pn-chat-banner__actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
    .pn-chat-banner__btn {
        background: transparent; border: 0; color: var(--pn-text);
        font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
        display: flex; align-items: center; gap: 6px;
        cursor: pointer; font-family: inherit;
    }

    /* Switch */
    .pn-chat-switch {
        width: 36px; height: 20px; padding: 2px; border-radius: 999px;
        background: rgba(15, 11, 10, 0.18);
        border: 0; cursor: pointer; display: flex;
        justify-content: flex-start;
        transition: background .15s ease, justify-content .15s ease;
    }
    .pn-chat-switch.is-on { background: var(--pn-emerald); justify-content: flex-end; }
    .pn-chat-switch__thumb {
        width: 16px; height: 16px; border-radius: 50%;
        background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    }

    /* Messages */
    .pn-chat-msgs {
        flex: 1; min-height: 0; overflow-y: auto;
        padding: 32px 40px;
        display: flex; flex-direction: column; gap: 24px;
    }
    .pn-chat-bubble {
        max-width: 560px; padding: 16px 20px;
        border-radius: 16px;
        font-size: 14.5px; line-height: 1.55;
    }
    .pn-chat-bubble--user {
        align-self: flex-end;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-bottom-right-radius: 4px;
    }
    .pn-chat-bubble--spec {
        align-self: flex-start;
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider);
        border-bottom-left-radius: 4px;
    }
    .pn-chat-bubble--system {
        align-self: center;
        background: rgba(15, 11, 10, 0.05); color: var(--pn-text-muted);
        font-family: var(--pn-font-mono);
        font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
        padding: 6px 14px; border-radius: 999px;
    }
    .pn-chat-msg {
        display: flex; flex-direction: column; gap: 6px;
        max-width: 100%;
    }
    .pn-chat-msg--user { align-items: flex-end; }
    .pn-chat-msg--spec { align-items: flex-start; }
    .pn-chat-msg__head {
        display: flex; align-items: center; gap: 8px;
        margin-left: 4px;
    }
    .pn-chat-avatar {
        width: 24px; height: 24px; border-radius: 50%;
        color: var(--pn-pearl);
        display: grid; place-items: center;
        font-size: 11px; font-weight: 600;
    }
    .pn-chat-avatar--sm { width: 24px; height: 24px; font-size: 10px; }
    .pn-chat-name { font-size: 12px; font-weight: 500; }
    .pn-chat-meta {
        font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
        color: var(--pn-text-muted); margin: 0 4px;
        display: inline-flex; align-items: center; gap: 4px;
    }
    .pn-chat-list { margin: 12px 0 0; padding-left: 18px; }
    .pn-chat-list li { margin: 2px 0; }

    .pn-chat-translation {
        display: flex; align-items: center; gap: 8px;
        margin-left: 4px; font-size: 11px;
        color: var(--pn-text-muted);
        letter-spacing: 0.06em; text-transform: uppercase;
    }
    .pn-chat-translation__btn {
        background: 0; border: 0; color: var(--pn-gold-deep);
        cursor: pointer; padding: 0;
        font: inherit; letter-spacing: inherit; text-transform: inherit;
        text-decoration: underline; text-underline-offset: 3px;
    }

    .pn-chat-options {
        display: flex; flex-direction: column; gap: 10px;
        align-self: flex-start; max-width: 480px;
    }
    .pn-chat-option {
        padding: 18px 20px;
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: flex; flex-direction: column; gap: 12px;
        cursor: pointer;
    }
    .pn-chat-option.is-selected { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-chat-option__head { display: flex; align-items: center; justify-content: space-between; }
    .pn-chat-option__kicker { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.75; }
    .pn-chat-option__op {
        font-family: var(--pn-font-display);
        font-size: 18px; margin-top: 4px;
        letter-spacing: 0.03em; text-transform: uppercase;
    }
    .pn-chat-option__badge {
        font-family: var(--pn-font-mono); font-size: 10px;
        padding: 4px 8px; background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-chat-option.is-selected .pn-chat-option__badge { background: var(--pn-gold); color: var(--pn-ink); }
    .pn-chat-option__ac { font-size: 13px; opacity: 0.85; }
    .pn-chat-option__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 12px; }
    .pn-chat-option__val { margin-top: 3px; font-size: 13px; }
    .pn-chat-option__foot {
        padding-top: 12px; border-top: 1px solid var(--pn-divider);
        display: flex; align-items: center; justify-content: space-between;
    }
    .pn-chat-option.is-selected .pn-chat-option__foot { border-top-color: rgba(245, 243, 238, 0.15); }
    .pn-chat-option__price { font-size: 18px; font-weight: 500; letter-spacing: -0.01em; }
    .pn-chat-option__foot .pn-mono { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.75; }

    .pn-chat-extras {
        display: flex; flex-direction: column; gap: 8px;
        margin-top: 12px; padding: 12px;
        background: rgba(15, 11, 10, 0.04); border-radius: 10px;
    }
    .pn-chat-extras__row { display: flex; justify-content: space-between; font-size: 13px; gap: 10px; }
    .pn-chat-extras__row > span:first-child { display: inline-flex; align-items: center; gap: 8px; }

    .pn-chat-confirm {
        margin-top: 14px; padding: 12px 14px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        border-radius: 10px; font-size: 13px;
        display: flex; align-items: center; gap: 10px;
    }

    .pn-chat-typing {
        display: flex; align-items: center; gap: 8px;
        color: var(--pn-text-muted);
        font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-chat-typing__dots { display: inline-flex; gap: 3px; }
    .pn-chat-typing__dots span {
        width: 4px; height: 4px; border-radius: 50%; background: var(--pn-text-muted);
    }

    /* Input */
    .pn-chat-input {
        flex: 0 0 auto;
        border-top: 1px solid var(--pn-divider);
        padding: 16px 40px 20px;
        background: var(--pn-pearl);
    }
    .pn-chat-input__box {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px;
        padding: 8px 8px 8px 18px;
        display: flex; align-items: flex-end; gap: 8px;
    }
    .pn-chat-input__box textarea {
        flex: 1; border: 0; outline: 0; resize: none;
        font-family: inherit; font-size: 14px; line-height: 1.5;
        padding: 8px 0; background: transparent; color: var(--pn-ink);
        min-width: 0;
    }
    .pn-chat-input__actions { display: flex; gap: 4px; }
    .pn-chat-input__actions button {
        width: 38px; height: 38px; border-radius: 10px;
        border: 1px solid var(--pn-divider); background: transparent;
        display: grid; place-items: center; cursor: pointer;
        color: var(--pn-ink);
    }
    .pn-chat-input__actions button:hover { border-color: var(--pn-ink); }
    .pn-chat-input__send {
        width: 44px !important; background: var(--pn-ink) !important;
        color: var(--pn-pearl) !important; border: 0 !important;
    }
    .pn-chat-input__foot {
        display: flex; justify-content: space-between; margin-top: 10px;
        font-size: 11px; color: var(--pn-text-muted);
        letter-spacing: 0.08em; text-transform: uppercase;
        flex-wrap: wrap; gap: 10px;
    }
    .pn-chat-input__foot-left { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
    .pn-chat-input__foot-left span {
        display: inline-flex; align-items: center; gap: 6px;
    }
    .pn-chat-input__lang { color: var(--pn-emerald); }

    /* Right detail */
    .pn-chat-detail__inner { padding: 24px; }
    .pn-chat-detail__head {
        display: flex; align-items: center; justify-content: space-between;
    }
    .pn-chat-detail__kicker { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-chat-detail__status {
        font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
        color: var(--pn-gold-deep); padding: 3px 8px;
        border-radius: 999px; background: var(--pn-gold-soft);
        font-family: var(--pn-font-mono);
    }
    .pn-chat-detail__id { font-size: 11px; letter-spacing: 0.04em; margin-top: 8px; }
    .pn-chat-detail__title {
        font-family: var(--pn-font-display);
        font-size: 22px; line-height: 1.15;
        letter-spacing: 0.04em; text-transform: uppercase;
        margin-top: 18px;
    }
    .pn-chat-detail__meta {
        margin-top: 20px; padding: 14px 16px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 12px;
        display: flex; flex-direction: column; gap: 10px; font-size: 13px;
    }
    .pn-chat-detail__meta-row { display: flex; align-items: center; gap: 10px; }
    .pn-chat-detail__meta-row > svg { flex: 0 0 auto; }
    .pn-chat-detail__meta-l { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
    .pn-chat-detail__meta-v { font-size: 13px; margin-top: 1px; }

    .pn-chat-detail__section {
        font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
        margin: 18px 0 10px;
    }
    .pn-chat-detail__selected {
        padding: 16px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 12px;
    }
    .pn-chat-detail__selected-head {
        display: flex; align-items: center; justify-content: space-between;
    }
    .pn-chat-detail__selected-op {
        font-family: var(--pn-font-display);
        font-size: 18px; letter-spacing: 0.03em; text-transform: uppercase;
    }
    .pn-chat-detail__selected-badge {
        font-family: var(--pn-font-mono); font-size: 10px;
        padding: 3px 8px; background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-chat-detail__selected-ac { font-size: 13px; opacity: 0.7; margin-top: 4px; }
    .pn-chat-detail__selected-meta {
        display: flex; justify-content: space-between;
        margin-top: 14px; padding-top: 14px;
        border-top: 1px solid rgba(245, 243, 238, 0.15);
        font-size: 12px; opacity: 0.85;
    }
    .pn-chat-detail__selected-price {
        font-family: var(--pn-font-display);
        font-size: 26px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 8px;
    }

    .pn-chat-detail__extras {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 12px; overflow: hidden;
    }
    .pn-chat-detail__extra {
        padding: 12px 14px;
        display: flex; align-items: center; justify-content: space-between;
        font-size: 13px;
    }
    .pn-chat-detail__extra.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-chat-detail__extra-v { font-weight: 500; }

    .pn-chat-detail__total {
        margin-top: 18px; padding: 16px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 12px;
    }
    .pn-chat-detail__total-row {
        display: flex; justify-content: space-between; align-items: baseline;
    }
    .pn-chat-detail__total-row > span:first-child { font-size: 13px; color: var(--pn-text); }
    .pn-chat-detail__total-val {
        font-family: var(--pn-font-display);
        font-size: 28px; font-weight: 500; letter-spacing: 0.02em;
    }
    .pn-chat-detail__total-sub { font-size: 11px; letter-spacing: 0.06em; margin-top: 4px; }
    .pn-chat-detail__cta { margin-top: 18px; min-height: 52px; }
    .pn-chat-detail__pdf { margin-top: 8px; }
    .pn-chat-detail__assurance {
        margin-top: 18px;
        display: flex; flex-direction: column; gap: 8px;
        font-size: 12px; color: var(--pn-text);
    }
    .pn-chat-detail__assurance span {
        display: inline-flex; align-items: center; gap: 8px;
    }

    /* Hide default header on chat */
    body[data-screen="chat"] > header.pn-header { display: none; }
    body[data-screen="chat"] > .pn-flow-crumb { display: none; }
    body[data-screen="chat"] > footer.pn-footer { display: none; }

    @media (max-width: 1180px) {
        .pn-chat-layout { grid-template-columns: 240px 1fr 320px; }
    }
    @media (max-width: 980px) {
        .pn-chat-layout { grid-template-columns: 1fr 320px; }
        .pn-chat-side { display: none; }
        .pn-chat-msgs { padding: 24px; }
        .pn-chat-input { padding: 14px 24px 18px; }
    }
    @media (max-width: 760px) {
        .pn-chat-layout { grid-template-columns: 1fr; }
        .pn-chat-detail { display: none; }
        .pn-chat-nav { padding: 14px 24px; }
    }

/* === pn/checkout.blade.php === */
.pn-checkout { background: var(--pn-pearl); min-height: 100vh; }

    /* Nav */
    .pn-checkout-nav {
        background: var(--pn-pearl);
        border-bottom: 1px solid var(--pn-divider);
    }
    .pn-checkout-nav__inner {
        display: flex; align-items: center; justify-content: space-between;
        padding: var(--pn-s5) 0; gap: var(--pn-s4); flex-wrap: wrap;
    }
    .pn-checkout-nav__brand { text-decoration: none; color: inherit; }
    .pn-checkout-nav__secure {
        font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
        display: inline-flex; align-items: center; gap: 6px;
    }
    .pn-checkout-nav__help { display: flex; align-items: center; gap: var(--pn-s4); font-size: 13px; }

    /* Stepper */
    .pn-checkout-stepper {
        display: flex; align-items: center; justify-content: center;
        padding: var(--pn-s8) 0 0; gap: 0;
    }
    .pn-checkout-step {
        display: flex; align-items: center; gap: var(--pn-s4);
        color: var(--pn-text-muted);
    }
    .pn-checkout-step.is-active, .pn-checkout-step.is-done { color: var(--pn-ink); }
    .pn-checkout-step__bullet {
        width: 36px; height: 36px; border-radius: 50%;
        border: 1.5px solid var(--pn-divider);
        display: grid; place-items: center;
        font-size: 12px; font-family: var(--pn-font-mono);
        background: transparent;
    }
    .pn-checkout-step.is-active .pn-checkout-step__bullet { border-color: var(--pn-ink); }
    .pn-checkout-step.is-done .pn-checkout-step__bullet { background: var(--pn-ink); border: 0; color: var(--pn-pearl); }
    .pn-checkout-step__l { font-size: 14px; }
    .pn-checkout-step.is-active .pn-checkout-step__l { font-weight: 500; }
    .pn-checkout-step__sep {
        flex: 0 0 80px; height: 1px;
        background: var(--pn-divider); margin: 0 var(--pn-s5);
    }
    .pn-checkout-step__sep.is-done { background: var(--pn-ink); }

    /* Main grid */
    .pn-checkout-main {
        padding: var(--pn-s8) 0 var(--pn-s10);
        display: grid; grid-template-columns: 1fr 420px;
        gap: var(--pn-s8); align-items: flex-start;
    }
    .pn-checkout-form { min-width: 0; }

    /* Block */
    .pn-checkout-block {
        padding: var(--pn-s7) 0;
        border-bottom: 1px solid var(--pn-divider);
    }
    .pn-checkout-block:first-child { padding-top: 0; }
    .pn-checkout-block__head {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: var(--pn-s6); gap: var(--pn-s4); flex-wrap: wrap;
    }
    .pn-checkout-block__title {
        font-family: var(--pn-font-display);
        font-size: 26px; font-weight: 500;
        letter-spacing: 0.04em; text-transform: uppercase;
        margin: 6px 0 0;
    }
    .pn-checkout-block__hint {
        font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
        display: inline-flex; align-items: center; gap: 6px;
    }
    .pn-checkout-block__add {
        background: transparent; border: 0;
        color: var(--pn-gold-deep); font-size: 13px;
        display: inline-flex; align-items: center; gap: 6px;
        cursor: pointer; font-family: inherit;
    }
    .pn-checkout-block__add:hover { color: var(--pn-emerald); }

    /* Fields grid */
    .pn-checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pn-s4); }
    .pn-checkout-grid--3 { grid-template-columns: 1fr 1fr 1fr; margin-top: var(--pn-s4); }
    .pn-checkout-field { display: flex; flex-direction: column; }
    .pn-checkout-field--full { grid-column: 1 / -1; }
    .pn-checkout-field__label {
        font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
        margin-bottom: 8px;
    }
    .pn-checkout-field__input {
        width: 100%; padding: 14px 16px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 10px;
        font-size: 15px; color: var(--pn-ink);
        outline: none; font-family: inherit;
    }
    .pn-checkout-field__input:focus { border-color: var(--pn-emerald); }

    /* Chips */
    .pn-checkout-chips {
        display: flex; flex-wrap: wrap; gap: 8px;
        margin-bottom: var(--pn-s5);
    }
    .pn-checkout-chip {
        display: inline-flex; align-items: center; gap: 8px;
        padding: 10px 16px; border: 1px solid var(--pn-divider);
        background: #fff; border-radius: 999px;
        font-size: 13px; cursor: pointer;
        transition: border-color .15s ease, background .15s ease;
    }
    .pn-checkout-chip:hover { border-color: var(--pn-ink); }
    .pn-checkout-chip.is-active { border-color: var(--pn-ink); background: rgba(15, 11, 10, 0.04); }
    .pn-checkout-msg-label {
        display: block; font-size: 11px; letter-spacing: 0.12em;
        text-transform: uppercase; margin-bottom: 8px;
    }
    .pn-checkout-textarea {
        width: 100%; padding: 14px 16px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 10px; font-size: 14px; color: var(--pn-ink);
        outline: none; resize: vertical; font-family: inherit;
    }
    .pn-checkout-textarea:focus { border-color: var(--pn-emerald); }

    /* Pay options */
    .pn-checkout-pay-options {
        display: grid; grid-template-columns: 1fr 1fr 1fr;
        gap: 10px; margin-bottom: var(--pn-s6);
    }
    .pn-checkout-pay {
        padding: 18px;
        border: 1px solid var(--pn-divider); background: #fff;
        border-radius: var(--pn-r-md); cursor: pointer;
        display: flex; gap: 14px; align-items: flex-start;
        transition: border-color .15s ease, background .15s ease;
    }
    .pn-checkout-pay:hover { border-color: var(--pn-ink); }
    .pn-checkout-pay.is-active {
        border: 1.5px solid var(--pn-ink);
        background: rgba(15, 11, 10, 0.03);
    }
    .pn-checkout-pay__radio {
        width: 18px; height: 18px; border-radius: 50%;
        border: 1.5px solid var(--pn-divider);
        margin-top: 2px; padding: 3px;
        flex: 0 0 18px;
    }
    .pn-checkout-pay.is-active .pn-checkout-pay__radio { border-color: var(--pn-ink); }
    .pn-checkout-pay__radio-dot {
        width: 100%; height: 100%; border-radius: 50%; background: var(--pn-ink);
    }
    .pn-checkout-pay__label {
        display: flex; align-items: center; gap: 8px;
        font-size: 14px; font-weight: 500;
    }
    .pn-checkout-pay__sub { font-size: 12px; margin-top: 4px; }

    /* Pix box */
    .pn-checkout-pix {
        padding: var(--pn-s6); background: #fff;
        border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: grid; grid-template-columns: auto 1fr;
        gap: var(--pn-s6); align-items: center;
    }
    .pn-checkout-pix__qr {
        width: 140px; height: 140px;
        background: repeating-conic-gradient(var(--pn-ink) 0% 25%, #fff 0% 50%) 50% / 12px 12px;
        border: 1px solid var(--pn-divider); border-radius: 4px;
    }
    .pn-checkout-pix__title { font-size: 16px; font-weight: 500; }
    .pn-checkout-pix__sub { font-size: 13px; margin-top: 6px; line-height: 1.5; }
    .pn-checkout-pix__code {
        margin-top: 14px; padding: 10px 14px;
        background: rgba(15, 11, 10, 0.05); border-radius: 8px;
        font-size: 12px; letter-spacing: 0.04em;
        display: flex; justify-content: space-between; gap: 14px;
    }
    .pn-checkout-pix__code > span:first-child {
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-checkout-pix__discount {
        margin-top: 14px; font-size: 13px;
        display: flex; align-items: center; gap: 6px;
    }

    /* Onsite */
    .pn-checkout-onsite {
        padding: var(--pn-s6); background: #fff;
        border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: flex; gap: var(--pn-s5); align-items: flex-start;
    }
    .pn-checkout-onsite__title { font-size: 16px; font-weight: 500; }
    .pn-checkout-onsite__sub { font-size: 13px; margin-top: 6px; line-height: 1.55; }

    /* Terms */
    .pn-checkout-terms {
        padding: var(--pn-s7) 0 0;
        display: flex; flex-direction: column;
        gap: 12px; font-size: 13px; color: var(--pn-text);
    }
    .pn-checkout-term {
        display: flex; align-items: flex-start; gap: 12px; cursor: pointer;
    }
    .pn-checkout-term__box {
        width: 18px; height: 18px; border-radius: 4px;
        border: 1.5px solid var(--pn-divider); background: #fff;
        display: grid; place-items: center;
        color: var(--pn-pearl); flex: 0 0 18px; margin-top: 2px;
    }
    .pn-checkout-term__box.is-checked {
        background: var(--pn-ink); border-color: var(--pn-ink);
    }

    /* Actions */
    .pn-checkout-actions {
        margin-top: var(--pn-s7);
        display: flex; align-items: center; justify-content: space-between;
        gap: var(--pn-s4); flex-wrap: wrap;
    }
    .pn-checkout-actions__back .pn-icon { transform: rotate(180deg); }
    .pn-checkout-actions__confirm { padding: 18px 32px; font-size: 16px; box-shadow: 0 12px 28px -10px rgba(195, 162, 86, 0.6); }

    /* Summary */
    .pn-checkout-side {
        position: sticky; top: 24px;
        align-self: flex-start;
    }
    .pn-checkout-summary {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-lg); overflow: hidden;
    }
    .pn-checkout-summary__head {
        display: grid; grid-template-columns: 120px 1fr;
        gap: var(--pn-s4); padding: 18px;
    }
    .pn-checkout-summary__img {
        width: 120px; height: 110px;
        border-radius: 8px; overflow: hidden;
        background: var(--pn-pearl-warm);
    }
    .pn-checkout-summary__img img { width: 100%; height: 100%; object-fit: cover; }
    .pn-checkout-summary__kicker {
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-checkout-summary__title {
        font-family: var(--pn-font-display);
        font-size: 16px; margin-top: 6px;
        line-height: 1.2; letter-spacing: 0.03em; text-transform: uppercase;
    }
    .pn-checkout-summary__sub { font-size: 12px; margin-top: 6px; }

    .pn-checkout-summary__meta {
        padding: 18px;
        border-top: 1px solid var(--pn-divider);
        font-size: 13px;
        display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
    }
    .pn-checkout-summary__metal {
        font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
    }
    .pn-checkout-summary__metav { margin-top: 4px; }

    .pn-checkout-summary__price {
        padding: 18px; border-top: 1px solid var(--pn-divider);
        display: flex; flex-direction: column; gap: 10px;
        font-size: 13px;
    }
    .pn-checkout-summary__line {
        display: flex; justify-content: space-between;
    }
    .pn-checkout-summary__total {
        display: flex; justify-content: space-between;
        padding-top: 14px;
        border-top: 1px solid var(--pn-divider);
        margin-top: 6px;
    }
    .pn-checkout-summary__total > span:first-child {
        font-size: 14px; font-weight: 500;
    }
    .pn-checkout-summary__totalval {
        font-family: var(--pn-font-display);
        font-size: 26px; font-weight: 500;
        letter-spacing: 0.02em;
    }
    .pn-checkout-summary__installments {
        font-size: 11px; letter-spacing: 0.06em; text-align: right;
    }
    .pn-checkout-summary__features {
        padding: 18px; border-top: 1px solid var(--pn-divider);
        display: flex; flex-direction: column; gap: 8px;
        font-size: 12px; color: var(--pn-text);
    }
    .pn-checkout-summary__features span {
        display: inline-flex; align-items: center; gap: 8px;
    }

    .pn-checkout-cross {
        margin-top: var(--pn-s4); padding: 16px 18px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: var(--pn-r-md);
        display: flex; gap: var(--pn-s4); align-items: flex-start;
        text-decoration: none;
    }
    .pn-checkout-cross__title { font-size: 13px; font-weight: 500; }
    .pn-checkout-cross__sub {
        font-size: 11px; color: rgba(245, 243, 238, 0.6);
        letter-spacing: 0.06em; margin-top: 4px; line-height: 1.5;
    }
    .pn-checkout-cross__cta {
        display: inline-block; margin-top: 10px;
        background: transparent; border: 1px solid rgba(245, 243, 238, 0.3);
        color: var(--pn-pearl);
        padding: 6px 12px; border-radius: 999px;
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
    }

    @media (max-width: 1023px) {
        .pn-checkout-main { grid-template-columns: 1fr; }
        .pn-checkout-side { position: static; }
        .pn-checkout-pay-options { grid-template-columns: 1fr; }
        .pn-checkout-pix { grid-template-columns: 1fr; }
        .pn-checkout-pix__qr { margin: 0 auto; }
    }
    @media (max-width: 767px) {
        .pn-checkout-grid, .pn-checkout-grid--3 { grid-template-columns: 1fr; }
        .pn-checkout-stepper { gap: 0; padding: var(--pn-s5) 0 0; flex-wrap: wrap; }
        .pn-checkout-step__sep { flex-basis: 30px; margin: 0 var(--pn-s3); }
        .pn-checkout-step__l { display: none; }
        .pn-checkout-summary__meta { grid-template-columns: 1fr; }
    }

/* === pn/comparar.blade.php === */
.pn-compare { background: var(--pn-pearl); padding: var(--pn-s7) 0 var(--pn-s10); }
    .pn-compare-head { padding-top: var(--pn-s5); }
    .pn-compare-kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-compare-title {
        font-family: var(--pn-font-display);
        font-size: clamp(40px, 5vw, 52px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 14px 0 0; line-height: 1;
    }
    .pn-compare-title .pn-accent { font-style: normal; }
    .pn-compare-sub { font-size: 14px; margin-top: 8px; }

    .pn-compare-scroll { padding: var(--pn-s7) 0 0; overflow-x: auto; }
    .pn-compare-table {
        display: grid;
        grid-template-columns: 220px repeat(3, 1fr);
        gap: 1px;
        background: var(--pn-divider);
        border: 1px solid var(--pn-divider);
        border-radius: 14px; overflow: hidden;
        min-width: 900px;
    }
    .pn-compare-cell { background: #fff; padding: 14px 20px; font-size: 13.5px; }
    .pn-compare-cell--empty { background: var(--pn-pearl); padding: 24px 20px; }
    .pn-compare-cell--top {
        padding: 20px;
        display: flex; flex-direction: column; gap: 12px;
    }
    .pn-compare-card {
        position: relative;
        border-radius: 10px; overflow: hidden;
        background: var(--pn-pearl-warm); height: 140px;
    }
    .pn-compare-card img {
        width: 100%; height: 100%; object-fit: cover; display: block;
    }
    .pn-compare-card__tag {
        position: absolute; top: 10px; left: 10px;
        font-family: var(--pn-font-mono); font-size: 10px;
        padding: 3px 8px; background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-compare-card__loc { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-compare-card__name {
        font-family: var(--pn-font-display);
        font-size: 19px; margin-top: 4px;
        letter-spacing: 0.03em; text-transform: uppercase;
    }
    .pn-compare-card__rating { display: flex; align-items: center; gap: 8px; }
    .pn-compare-card__rbadge {
        padding: 4px 8px; background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 6px; font-size: 12px; font-weight: 500;
    }
    .pn-compare-card__pricebox { margin-top: 4px; }
    .pn-compare-card__pricebox .pn-mono { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-compare-card__price {
        font-family: var(--pn-font-display);
        font-size: 24px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 2px;
    }

    .pn-compare-cell--label { font-weight: 500; color: var(--pn-text); display: flex; align-items: center; }
    .pn-compare-cell--val { display: flex; align-items: center; gap: 8px; }
    .pn-compare-cell--val.is-muted { color: var(--pn-text-muted); }
    .pn-compare-cell--val.is-good { color: var(--pn-emerald); }

/* === pn/config.blade.php === */
[x-cloak] { display: none !important; }
    .pn-settings { background: var(--pn-pearl); padding: var(--pn-s7) 0 var(--pn-s10); min-height: calc(100vh - 71px); }
    .pn-settings-grid {
        display: grid; grid-template-columns: 240px 1fr;
        gap: var(--pn-s7); align-items: flex-start;
        max-width: 1100px;
    }
    .pn-settings-side__kicker { margin-bottom: 14px; }
    .pn-settings-nav-item {
        display: flex; align-items: center; gap: 12px;
        padding: 12px 16px; cursor: pointer;
        background: transparent; color: var(--pn-text);
        border-radius: 10px;
        font-size: 14px; font-weight: 400;
        border-left: 3px solid transparent;
    }
    .pn-settings-nav-item.is-active {
        background: #fff; color: var(--pn-ink);
        font-weight: 500;
        border-left-color: var(--pn-gold);
    }
    .pn-settings-nav-item:hover { background: rgba(15, 11, 10, 0.03); }

    .pn-settings-blockhead { margin-bottom: 24px; }
    .pn-settings-blockhead__title {
        font-family: var(--pn-font-display);
        font-size: 36px; font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 0; line-height: 1.1;
    }
    .pn-settings-blockhead__sub { font-size: 13px; margin-top: 8px; letter-spacing: 0.06em; }

    .pn-settings-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px;
    }
    .pn-settings-row {
        display: grid; grid-template-columns: 200px 1fr auto;
        gap: 14px; padding: 14px 22px;
        align-items: center; font-size: 13.5px;
    }
    .pn-settings-row.is-bordered { border-top: 1px solid var(--pn-divider); }
    .pn-settings-row__l { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-settings-row__edit {
        background: transparent; border: 0; color: var(--pn-text-muted);
        cursor: pointer; font-size: 12px;
    }
    .pn-settings-row__edit:hover { color: var(--pn-emerald); }

    .pn-settings-toggle {
        display: grid; grid-template-columns: 1fr auto;
        gap: 14px; padding: 16px 22px; align-items: center;
    }
    .pn-settings-toggle.is-bordered { border-top: 1px solid var(--pn-divider); }
    .pn-settings-toggle__l { font-size: 14px; }
    .pn-settings-toggle__v { font-size: 12px; margin-top: 3px; }

    .pn-settings-switch {
        width: 42px; height: 24px; padding: 2px; border-radius: 999px;
        background: rgba(15, 11, 10, 0.15);
        border: 0; cursor: pointer; display: flex;
        justify-content: flex-start;
        transition: background .15s ease, justify-content .15s ease;
    }
    .pn-settings-switch.is-on { background: var(--pn-emerald); justify-content: flex-end; }
    .pn-settings-switch__thumb {
        width: 20px; height: 20px; border-radius: 50%;
        background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    }

    .pn-settings-note {
        margin-top: 18px; padding: 14px 18px;
        border-radius: 10px; font-size: 13px;
        display: flex; align-items: center; gap: 10px;
    }
    .pn-settings-note--good {
        background: var(--pn-emerald-soft);
        border: 1px solid rgba(12, 90, 55, 0.25);
        color: var(--pn-emerald);
    }

    .pn-settings-actions { margin-top: 18px; display: flex; gap: 8px; flex-wrap: wrap; }

    .pn-settings-warning {
        padding: 20px 24px;
        background: rgba(168, 96, 96, 0.1);
        border: 1px solid rgba(168, 96, 96, 0.4);
        border-radius: 12px;
        color: #5a2828; font-size: 13.5px; line-height: 1.6;
    }
    .pn-settings-delete-actions { margin-top: 18px; }
    .pn-settings-delete-btn {
        background: #a86060; color: var(--pn-pearl); border: 0;
        padding: 14px 22px; border-radius: 999px;
        font-size: 14px;
        display: flex; align-items: center; gap: 8px;
        cursor: pointer; font-family: inherit;
    }
    .pn-settings-delete-btn:hover { background: #8e4f4f; }
    .pn-settings-delete-note { font-size: 12px; margin-top: 10px; letter-spacing: 0.06em; }

    @media (max-width: 1023px) {
        .pn-settings-grid { grid-template-columns: 1fr; }
        .pn-settings-side {
            display: flex; overflow-x: auto; gap: 6px;
            border-bottom: 1px solid var(--pn-divider);
            padding-bottom: 14px;
        }
        .pn-settings-side__kicker { display: none; }
        .pn-settings-nav-item {
            white-space: nowrap;
            border-left: 0;
        }
    }

/* === pn/conta.blade.php === */
[x-cloak] { display: none !important; }
    .pn-acc { background: var(--pn-pearl); }
    .pn-acc-layout {
        display: grid; grid-template-columns: 260px 1fr;
        min-height: calc(100vh - 71px);
    }
    .pn-acc-side {
        border-right: 1px solid var(--pn-divider);
        background: var(--pn-pearl);
        padding: 24px 0;
    }
    .pn-acc-side__kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        padding: 0 24px 16px;
    }
    .pn-acc-side__divider {
        border-top: 1px solid var(--pn-divider);
        margin-top: 18px; padding-top: 14px;
    }
    .pn-acc-nav-item {
        display: flex; align-items: center; gap: 14px;
        padding: 12px 24px; cursor: pointer;
        font-size: 14px; color: var(--pn-text);
        border-left: 3px solid transparent;
        text-decoration: none;
    }
    .pn-acc-nav-item:hover { background: rgba(15, 11, 10, 0.03); }
    .pn-acc-nav-item.is-active {
        background: #fff; color: var(--pn-ink);
        font-weight: 500;
        border-left-color: var(--pn-gold);
    }
    .pn-acc-nav-item__badge {
        margin-left: auto;
        font-size: 10px; padding: 2px 7px;
        border-radius: 999px;
        background: rgba(15, 11, 10, 0.08); color: var(--pn-text-muted);
        letter-spacing: 0.08em;
    }
    .pn-acc-nav-item.is-active .pn-acc-nav-item__badge {
        background: var(--pn-gold); color: var(--pn-ink);
    }
    .pn-acc-nav-item__back svg { transform: rotate(180deg); }

    .pn-acc-main { padding: 32px 56px 80px; min-width: 0; }
    .pn-acc-section-head {
        display: flex; align-items: flex-end; justify-content: space-between;
        gap: 16px; margin-bottom: 28px; flex-wrap: wrap;
    }
    .pn-acc-section__title {
        font-family: var(--pn-font-display);
        font-size: 44px; font-weight: 500;
        letter-spacing: 0.04em; text-transform: uppercase;
        margin: 10px 0 0; line-height: 1;
    }
    .pn-acc-section-head__actions { display: flex; gap: 8px; flex-wrap: wrap; }

    .pn-acc-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
    }

    /* Tabs */
    .pn-acc-tabs {
        display: inline-flex; background: rgba(15, 11, 10, 0.05);
        border-radius: 999px; padding: 4px; margin-bottom: 24px;
    }
    .pn-acc-tab {
        border: 0; background: transparent;
        padding: 9px 16px; border-radius: 999px;
        font-size: 13px; cursor: pointer;
        color: var(--pn-text);
        display: flex; align-items: center; gap: 8px;
        font-family: inherit;
    }
    .pn-acc-tab.is-active { background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
    .pn-acc-tab__n { font-size: 10px; }

    /* Trip head */
    .pn-acc-trip-head {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        padding: 20px 24px; margin-bottom: 18px;
        display: flex; align-items: center; justify-content: space-between;
        gap: 14px; flex-wrap: wrap;
    }
    .pn-acc-trip-head__left { display: flex; align-items: center; gap: 18px; }
    .pn-acc-trip-head__kicker { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
    .pn-acc-trip-head__title { font-size: 22px; letter-spacing: -0.015em; margin-top: 4px; }
    .pn-acc-trip-head__right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

    /* Reservations list */
    .pn-acc-reslist { display: flex; flex-direction: column; gap: 12px; }
    .pn-acc-resitem {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: grid; grid-template-columns: 120px 1fr auto;
        gap: 20px; padding: 16px; align-items: center;
    }
    .pn-acc-resitem__img {
        width: 120px; height: 88px; border-radius: 8px;
        object-fit: cover; background: var(--pn-pearl-warm);
    }
    .pn-acc-resitem__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .pn-acc-resitem__when { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-acc-resitem__title {
        font-size: 18px; margin-top: 8px; letter-spacing: -0.01em;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-acc-resitem__loc { font-size: 12px; margin-top: 4px; }
    .pn-acc-resitem__pricebox {
        display: flex; flex-direction: column;
        align-items: flex-end; gap: 10px;
    }
    .pn-acc-resitem__price {
        font-family: var(--pn-font-display);
        font-size: 18px; font-weight: 500; letter-spacing: 0.02em;
    }

    .pn-acc-empty {
        background: #fff; border: 1px dashed var(--pn-divider);
        border-radius: var(--pn-r-md); padding: 48px 24px;
        text-align: center; color: var(--pn-text-muted);
    }
    .pn-acc-empty p { font-size: 14px; margin-top: 16px; }

    /* Itinerário */
    .pn-acc-trip-stats {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        padding: 24px; margin-bottom: 24px;
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
    }
    .pn-acc-trip-stats__n {
        font-family: var(--pn-font-display);
        font-size: 32px; font-weight: 500;
        letter-spacing: 0.02em; line-height: 1;
        color: var(--pn-emerald);
    }
    .pn-acc-trip-stats__l { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 6px; }

    .pn-acc-timeline__day {
        display: grid; grid-template-columns: 160px 1fr;
        gap: 32px; padding-bottom: 28px; margin-bottom: 28px;
    }
    .pn-acc-timeline__day.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-acc-timeline__date .pn-mono { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
    .pn-acc-timeline__dateval { font-size: 22px; font-weight: 500; letter-spacing: -0.02em; margin-top: 6px; }
    .pn-acc-timeline__items { display: flex; flex-direction: column; gap: 12px; }
    .pn-acc-timeline__row {
        display: grid; grid-template-columns: 80px 44px 1fr auto;
        gap: 16px; padding: 16px 18px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 12px; align-items: center;
    }
    .pn-acc-timeline__time { font-size: 18px; font-weight: 500; letter-spacing: -0.01em; }
    .pn-acc-timeline__icon {
        width: 44px; height: 44px; border-radius: 50%;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
    }
    .pn-acc-timeline__title { font-size: 16px; margin-top: 6px; letter-spacing: -0.01em; }
    .pn-acc-timeline__sub { font-size: 12px; margin-top: 3px; }

    /* Profile */
    .pn-acc-profile {
        padding: 24px; margin-bottom: 18px;
        display: grid; grid-template-columns: auto 1fr auto;
        gap: 24px; align-items: center;
    }
    .pn-acc-profile__avatar {
        width: 80px; height: 80px; border-radius: 50%;
        background: var(--pn-gold); color: var(--pn-ink);
        display: grid; place-items: center;
        font-size: 32px; font-weight: 600;
    }
    .pn-acc-profile__name { font-family: var(--pn-font-display); font-size: 24px; letter-spacing: 0.03em; text-transform: uppercase; }
    .pn-acc-profile__contact { font-size: 13px; margin-top: 4px; }
    .pn-acc-profile__tags { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

    .pn-acc-formblock { padding: 24px; margin-bottom: 14px; }
    .pn-acc-formblock__head {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: 20px; gap: 14px;
    }
    .pn-acc-formblock__title { font-size: 18px; font-weight: 500; letter-spacing: -0.01em; margin-bottom: 4px; }
    .pn-acc-formblock__hint { font-size: 12px; margin-bottom: 18px; }
    .pn-acc-formblock__addbtn {
        background: transparent; border: 0; color: var(--pn-gold-deep);
        font-size: 13px; display: flex; align-items: center; gap: 6px;
        cursor: pointer; font-family: inherit;
    }

    .pn-acc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .pn-acc-field__l { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 6px; }
    .pn-acc-field__v {
        padding: 12px 14px; background: var(--pn-pearl);
        border: 1px solid var(--pn-divider); border-radius: 8px;
        font-size: 14px;
    }

    .pn-acc-card-row {
        display: grid; grid-template-columns: auto 1fr auto;
        gap: 14px; padding: 14px 0; align-items: center;
    }
    .pn-acc-card-row.is-bordered { border-top: 1px solid var(--pn-divider); }
    .pn-acc-card-row__brand {
        width: 40px; height: 28px; border-radius: 5px;
        background: var(--pn-ink); color: var(--pn-pearl);
        display: grid; place-items: center;
        font-size: 9px; font-weight: 600;
        letter-spacing: 0.06em;
    }
    .pn-acc-card-row__name { font-size: 14px; }
    .pn-acc-card-row__exp { font-size: 11px; letter-spacing: 0.06em; margin-top: 2px; }
    .pn-acc-card-row__actions { display: flex; gap: 8px; align-items: center; }
    .pn-acc-card-row__edit {
        background: transparent; border: 0;
        color: var(--pn-text-muted); cursor: pointer; font-size: 12px;
    }

    /* Documents */
    .pn-acc-alert {
        padding: 14px 18px;
        background: var(--pn-gold-soft); border: 1px solid var(--pn-gold);
        border-radius: 12px;
        display: flex; align-items: center; gap: 14px;
        margin-bottom: 18px;
        color: var(--pn-gold-deep); font-size: 13px;
    }
    .pn-acc-alert__body { flex: 1; }
    .pn-acc-alert__btn {
        background: var(--pn-gold-deep); color: var(--pn-pearl);
        border: 0; padding: 8px 14px; border-radius: 999px;
        font-size: 12px; cursor: pointer; font-family: inherit;
    }
    .pn-acc-docs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .pn-acc-doc {
        padding: 18px 20px;
        display: flex; flex-direction: column; gap: 14px;
    }
    .pn-acc-doc__head { display: flex; align-items: flex-start; justify-content: space-between; }
    .pn-acc-doc__icon {
        width: 44px; height: 44px; border-radius: 10px;
        display: grid; place-items: center;
    }
    .pn-acc-doc__icon--emerald { background: var(--pn-emerald-soft); color: var(--pn-emerald); }
    .pn-acc-doc__icon--gold    { background: var(--pn-gold-soft);    color: var(--pn-gold-deep); }
    .pn-acc-doc__icon--danger  { background: rgba(168, 96, 96, 0.15); color: #a86060; }
    .pn-acc-doc__name { font-size: 16px; letter-spacing: -0.01em; }
    .pn-acc-doc__no { font-size: 11px; letter-spacing: 0.06em; margin-top: 4px; }
    .pn-acc-doc__actions { display: flex; gap: 8px; margin-top: auto; }
    .pn-acc-doc__actions > * { flex: 1; }

    /* Favoritos */
    .pn-acc-folders {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
        margin-bottom: 24px;
    }
    .pn-acc-folder { padding: 16px; display: flex; flex-direction: column; gap: 14px; cursor: pointer; }
    .pn-acc-folder__icon {
        width: 36px; height: 36px; border-radius: 10px;
        display: grid; place-items: center;
    }
    .pn-acc-folder__icon--gold     { background: var(--pn-gold-soft);    color: var(--pn-gold-deep); }
    .pn-acc-folder__icon--emerald  { background: var(--pn-emerald-soft); color: var(--pn-emerald); }
    .pn-acc-folder__icon--danger   { background: rgba(168, 96, 96, 0.15); color: #a86060; }
    .pn-acc-folder__icon--ink      { background: rgba(15, 11, 10, 0.08); color: var(--pn-ink); }
    .pn-acc-folder__name { font-size: 14px; font-weight: 500; letter-spacing: -0.005em; }
    .pn-acc-folder__count { font-size: 11px; letter-spacing: 0.06em; margin-top: 4px; }

    .pn-acc-favhead {
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: 14px;
    }
    .pn-acc-favhead__t { font-size: 16px; font-weight: 500; }
    .pn-acc-favs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .pn-acc-fav { overflow: hidden; display: flex; flex-direction: column; }
    .pn-acc-fav__img {
        width: 100%; height: 140px; object-fit: cover;
        background: var(--pn-pearl-warm);
    }
    .pn-acc-fav__body { padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
    .pn-acc-fav__tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .pn-acc-fav__title { font-size: 15px; letter-spacing: -0.01em; }
    .pn-acc-fav__loc { font-size: 12px; }
    .pn-acc-fav__foot {
        display: flex; align-items: center; justify-content: space-between;
        margin-top: 6px;
    }
    .pn-acc-fav__price { font-size: 14px; font-weight: 500; }

    /* Alertas */
    .pn-acc-notifgrid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
    .pn-acc-notiflist { overflow: hidden; }
    .pn-acc-notif {
        display: grid; grid-template-columns: 44px 1fr auto;
        gap: 14px; padding: 18px 20px; align-items: center;
        background: #fff;
    }
    .pn-acc-notif.is-bordered { border-top: 1px solid var(--pn-divider); }
    .pn-acc-notif.is-unread { background: var(--pn-gold-soft); }
    .pn-acc-notif__icon {
        width: 44px; height: 44px; border-radius: 50%;
        display: grid; place-items: center;
    }
    .pn-acc-notif__icon--gold    { background: var(--pn-gold-soft);    color: var(--pn-gold-deep); }
    .pn-acc-notif__icon--emerald { background: var(--pn-emerald-soft); color: var(--pn-emerald); }
    .pn-acc-notif__icon--ink     { background: rgba(15, 11, 10, 0.08); color: var(--pn-ink); }
    .pn-acc-notif__icon--muted   { background: rgba(15, 11, 10, 0.05); color: var(--pn-text-muted); }
    .pn-acc-notif__title {
        display: flex; align-items: center; gap: 8px;
        font-size: 14.5px; letter-spacing: -0.005em;
        overflow: hidden; text-overflow: ellipsis;
    }
    .pn-acc-notif.is-unread .pn-acc-notif__title { font-weight: 500; }
    .pn-acc-notif__dot {
        width: 8px; height: 8px; border-radius: 50%;
        background: var(--pn-gold); flex: 0 0 8px;
    }
    .pn-acc-notif__sub { font-size: 12px; margin-top: 4px; line-height: 1.45; }
    .pn-acc-notif__time { font-size: 11px; letter-spacing: 0.06em; white-space: nowrap; }

    .pn-acc-pa__head { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 12px; }
    .pn-acc-pa { padding: 14px; display: flex; flex-direction: column; }
    .pn-acc-pa__row { padding: 12px 6px; }
    .pn-acc-pa__row.is-bordered { border-top: 1px solid var(--pn-divider); }
    .pn-acc-pa__top {
        display: flex; align-items: center; justify-content: space-between;
        gap: 8px;
    }
    .pn-acc-pa__title {
        font-size: 13px; letter-spacing: -0.005em;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
        flex: 1;
    }
    .pn-acc-pa__meta {
        display: flex; justify-content: space-between;
        margin-top: 8px; font-size: 12px;
        letter-spacing: 0.04em;
    }
    .pn-acc-pa__cta { margin-top: 10px; justify-content: center; }

    .pn-acc-quietnote {
        margin-top: 18px; padding: 16px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 12px;
    }
    .pn-acc-quietnote__title {
        display: flex; align-items: center; gap: 10px;
        margin-bottom: 8px;
    }
    .pn-acc-quietnote__body { font-size: 12px; opacity: 0.7; line-height: 1.5; }

    /* Carteira */
    .pn-acc-walletnote {
        margin-bottom: 24px; padding: 14px 18px;
        background: var(--pn-emerald-soft); border: 1px solid rgba(12, 90, 55, 0.25);
        border-radius: 12px;
        color: var(--pn-emerald); font-size: 13px;
        display: flex; align-items: center; gap: 12px;
    }
    .pn-acc-walletnote > span { flex: 1; }
    .pn-acc-walletnote__btn {
        background: transparent; border: 1px solid var(--pn-emerald);
        color: var(--pn-emerald);
        padding: 7px 14px; border-radius: 999px;
        font-size: 12px; cursor: pointer; font-family: inherit;
    }
    .pn-acc-tickets { display: flex; flex-direction: column; gap: 14px; }
    .pn-acc-ticket {
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider);
        border-radius: 18px;
        display: grid; grid-template-columns: auto 1fr auto auto;
        gap: 24px; padding: 22px 28px; align-items: center;
        position: relative; overflow: hidden;
    }
    .pn-acc-ticket.is-active {
        background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink);
    }
    .pn-acc-ticket__icon {
        width: 56px; height: 56px; border-radius: 14px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
    }
    .pn-acc-ticket.is-active .pn-acc-ticket__icon {
        background: rgba(245, 243, 238, 0.12); color: var(--pn-pearl);
    }
    .pn-acc-ticket__kind {
        font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
        opacity: 0.7;
    }
    .pn-acc-ticket__chip {
        margin-left: 6px; padding: 2px 7px;
        background: var(--pn-emerald); color: var(--pn-pearl);
        border-radius: 999px;
        letter-spacing: 0.06em;
    }
    .pn-acc-ticket__title {
        font-family: var(--pn-font-display);
        font-size: 20px; margin-top: 6px;
        letter-spacing: 0.04em; text-transform: uppercase;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-acc-ticket__sub { font-size: 12.5px; margin-top: 6px; opacity: 0.85; }
    .pn-acc-ticket__qr {
        width: 88px; height: 88px;
        background: #fff; border-radius: 10px; padding: 6px;
    }
    .pn-acc-ticket__qr::before {
        content: ''; display: block; width: 100%; height: 100%;
        background: repeating-conic-gradient(var(--pn-ink) 0% 25%, #fff 0% 50%) 50% / 8px 8px;
        border-radius: 4px;
    }
    .pn-acc-ticket__actions {
        display: flex; flex-direction: column; gap: 8px;
        align-items: flex-end;
    }
    .pn-acc-ticket__code {
        font-size: 10px; letter-spacing: 0.1em;
        opacity: 0.7;
    }
    .pn-acc-ticket__open {
        background: var(--pn-ink); color: var(--pn-pearl);
        border: 0; padding: 10px 16px; border-radius: 999px;
        font-size: 13px; cursor: pointer;
        display: flex; align-items: center; gap: 8px;
        font-family: inherit; white-space: nowrap;
    }
    .pn-acc-ticket.is-active .pn-acc-ticket__open {
        background: var(--pn-pearl); color: var(--pn-ink);
    }

    @media (max-width: 1023px) {
        .pn-acc-layout { grid-template-columns: 1fr; }
        .pn-acc-side {
            display: flex; overflow-x: auto;
            padding: 14px 16px;
            border-bottom: 1px solid var(--pn-divider);
            border-right: 0;
        }
        .pn-acc-nav-item {
            white-space: nowrap;
            border-left: 0; border-bottom: 3px solid transparent;
            padding: 10px 16px;
        }
        .pn-acc-nav-item.is-active {
            background: transparent; border-left-color: transparent;
            border-bottom-color: var(--pn-gold);
        }
        .pn-acc-side__divider, .pn-acc-side__kicker { display: none; }
        .pn-acc-main { padding: 24px; }
        .pn-acc-resitem { grid-template-columns: 1fr; }
        .pn-acc-trip-stats { grid-template-columns: repeat(2, 1fr); }
        .pn-acc-notifgrid { grid-template-columns: 1fr; }
        .pn-acc-folders { grid-template-columns: repeat(2, 1fr); }
        .pn-acc-favs { grid-template-columns: 1fr 1fr; }
        .pn-acc-docs { grid-template-columns: 1fr; }
        .pn-acc-ticket { grid-template-columns: auto 1fr; gap: 14px; padding: 18px 20px; }
        .pn-acc-ticket__qr, .pn-acc-ticket__actions { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
        .pn-acc-ticket__qr { width: 64px; height: 64px; }
    }
    @media (max-width: 767px) {
        .pn-acc-fields { grid-template-columns: 1fr; }
        .pn-acc-favs { grid-template-columns: 1fr; }
        .pn-acc-folders { grid-template-columns: 1fr; }
        .pn-acc-timeline__day { grid-template-columns: 1fr; gap: 14px; }
        .pn-acc-timeline__row { grid-template-columns: 64px 36px 1fr; }
        .pn-acc-timeline__row > svg:last-child { display: none; }
        .pn-acc-section__title { font-size: 32px; }
    }

/* === pn/diario.blade.php === */
.pn-blog { background: var(--pn-pearl); padding-bottom: var(--pn-s10); }

    .pn-blog-head { padding: var(--pn-s10) 0 0; max-width: 1200px; margin: 0 auto; }
    .pn-blog-head__kicker { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
    .pn-blog-head__title {
        font-family: var(--pn-font-display);
        font-size: clamp(56px, 9vw, 88px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 24px 0 0; line-height: 0.95;
    }
    .pn-blog-head__title .pn-accent { font-style: normal; }

    .pn-blog-featured {
        padding: var(--pn-s8) 0 0;
        max-width: 1200px; margin: 0 auto;
        display: grid; grid-template-columns: 1.4fr 1fr;
        gap: var(--pn-s7); align-items: center;
    }
    .pn-blog-featured__img {
        border-radius: var(--pn-r-md); overflow: hidden;
        background: var(--pn-pearl-warm);
        aspect-ratio: 3 / 2;
    }
    .pn-blog-featured__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-blog-featured__meta {
        display: inline-flex; align-items: center; gap: 10px;
        font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
        flex-wrap: wrap;
    }
    .pn-blog-featured__title {
        font-family: var(--pn-font-display);
        font-size: clamp(36px, 5vw, 52px);
        font-weight: 500; letter-spacing: 0.03em;
        text-transform: uppercase;
        margin: 18px 0 0; line-height: 1.05;
    }
    .pn-blog-featured__sub {
        font-size: 16px; color: var(--pn-text);
        margin-top: 18px; line-height: 1.6; max-width: 420px;
    }
    .pn-blog-featured__cta { margin-top: 24px; }

    .pn-blog-grid-wrap { padding: var(--pn-s8) 0 0; max-width: 1200px; margin: 0 auto; }
    .pn-blog-grid__head {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: 20px; flex-wrap: wrap; gap: 14px;
    }
    .pn-blog-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
    .pn-blog-tab {
        padding: 6px 12px;
        background: transparent; color: var(--pn-text);
        border: 1px solid var(--pn-divider); border-radius: 999px;
        font-size: 12px; cursor: pointer; font-family: inherit;
    }
    .pn-blog-tab.is-active { background: var(--pn-ink); color: var(--pn-pearl); border: 0; }

    .pn-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .pn-blog-card { cursor: pointer; }
    .pn-blog-card__img {
        border-radius: var(--pn-r-md); overflow: hidden;
        background: var(--pn-pearl-warm);
        aspect-ratio: 3 / 2;
    }
    .pn-blog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-blog-card__meta {
        display: inline-flex; align-items: center; gap: 10px;
        font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
        margin-top: 18px;
    }
    .pn-blog-card__title {
        font-family: var(--pn-font-display);
        font-size: 22px; font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        line-height: 1.2; margin: 8px 0 0;
    }
    .pn-blog-card__date { font-size: 13px; margin-top: 6px; }

    .pn-blog-newsletter-wrap { padding: var(--pn-s9) 0 0; max-width: 1200px; margin: 0 auto; }
    .pn-blog-newsletter {
        padding: 48px 56px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 18px;
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 32px; align-items: center;
    }
    .pn-blog-newsletter__kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.6);
    }
    .pn-blog-newsletter__title {
        font-family: var(--pn-font-display);
        font-size: clamp(36px, 5vw, 48px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        color: var(--pn-pearl);
        margin: 14px 0 0; line-height: 1;
    }
    .pn-blog-newsletter__sub { font-size: 14px; color: rgba(245, 243, 238, 0.72); margin-top: 14px; line-height: 1.55; }

    .pn-blog-newsletter__form {
        display: flex; gap: 8px;
        background: rgba(245, 243, 238, 0.08);
        padding: 6px; border-radius: 999px;
        align-items: center;
    }
    .pn-blog-newsletter__form input {
        flex: 1; background: transparent; border: 0;
        color: var(--pn-pearl); padding: 10px 18px;
        font-size: 14px; outline: 0; font-family: inherit;
    }
    .pn-blog-newsletter__form input::placeholder { color: rgba(245, 243, 238, 0.5); }
    .pn-blog-newsletter__form button {
        background: var(--pn-gold); color: var(--pn-ink); border: 0;
        padding: 10px 20px; border-radius: 999px;
        font-size: 13px; cursor: pointer; font-family: inherit;
    }

    @media (max-width: 1023px) {
        .pn-blog-featured { grid-template-columns: 1fr; }
        .pn-blog-grid { grid-template-columns: 1fr 1fr; }
        .pn-blog-newsletter { grid-template-columns: 1fr; padding: 32px; }
    }
    @media (max-width: 767px) {
        .pn-blog-grid { grid-template-columns: 1fr; }
    }

/* === pn/disputa.blade.php === */
.pn-dispute { background: var(--pn-pearl); min-height: 100vh; padding: var(--pn-s8) 0 var(--pn-s10); }
    .pn-dispute-kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-dispute-title {
        font-family: var(--pn-font-display);
        font-size: clamp(36px, 5vw, 48px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 14px 0 0; line-height: 1.05;
    }
    .pn-dispute-title .pn-accent { font-style: normal; }

    .pn-dispute-stepper {
        margin-top: var(--pn-s8);
        display: flex; align-items: center; justify-content: center;
        gap: 0; flex-wrap: wrap;
    }
    .pn-dispute-step {
        display: flex; align-items: center; gap: 10px;
        color: var(--pn-text-muted);
    }
    .pn-dispute-step.is-active, .pn-dispute-step.is-done { color: var(--pn-ink); }
    .pn-dispute-step__bullet {
        width: 32px; height: 32px; border-radius: 50%;
        border: 1.5px solid var(--pn-divider);
        display: grid; place-items: center;
        font-size: 11px; font-family: var(--pn-font-mono);
        background: transparent;
    }
    .pn-dispute-step.is-active .pn-dispute-step__bullet { border-color: var(--pn-ink); }
    .pn-dispute-step.is-done .pn-dispute-step__bullet { background: var(--pn-ink); border: 0; color: var(--pn-pearl); }
    .pn-dispute-step__l { font-size: 13px; }
    .pn-dispute-step.is-active .pn-dispute-step__l { font-weight: 500; }
    .pn-dispute-step__sep {
        flex: 0 0 50px; height: 1px;
        background: var(--pn-divider); margin: 0 18px;
    }
    .pn-dispute-step__sep.is-done { background: var(--pn-ink); }

    .pn-dispute-card {
        margin-top: var(--pn-s8);
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px;
        padding: 24px 28px;
    }
    .pn-dispute-card__title { font-size: 16px; font-weight: 500; margin-bottom: 18px; }
    .pn-dispute-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .pn-dispute-cat {
        padding: 18px;
        border: 1px solid var(--pn-divider);
        background: #fff;
        border-radius: 14px;
        cursor: pointer;
        display: flex; gap: 14px; align-items: flex-start;
        transition: border-color .15s ease, background .15s ease;
    }
    .pn-dispute-cat:hover { border-color: var(--pn-ink); }
    .pn-dispute-cat.is-active { border: 1.5px solid var(--pn-ink); background: rgba(15, 11, 10, 0.03); }
    .pn-dispute-cat__icon {
        width: 36px; height: 36px; border-radius: 10px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center; flex: 0 0 36px;
    }
    .pn-dispute-cat__t { font-size: 14px; font-weight: 500; }
    .pn-dispute-cat__sub { font-size: 12px; margin-top: 4px; }

    .pn-dispute-sla {
        margin-top: 18px; padding: 18px 22px;
        background: var(--pn-gold-soft);
        border: 1px solid rgba(195, 162, 86, 0.4);
        border-radius: 14px;
        display: flex; gap: 14px; align-items: flex-start;
        color: var(--pn-gold-deep);
    }
    .pn-dispute-sla > svg { flex: 0 0 20px; margin-top: 2px; }
    .pn-dispute-sla strong { font-size: 14px; }
    .pn-dispute-sla__body {
        font-size: 13px; margin-top: 6px; line-height: 1.55;
        color: var(--pn-gold-deep);
    }

    .pn-dispute-actions {
        margin-top: var(--pn-s7);
        display: flex; justify-content: space-between;
        gap: 12px; flex-wrap: wrap;
    }

    @media (max-width: 767px) {
        .pn-dispute-cats { grid-template-columns: 1fr; }
        .pn-dispute-step__sep { flex-basis: 24px; margin: 0 8px; }
        .pn-dispute-step__l { display: none; }
    }

/* === pn/empresas.blade.php === */
.pn-business { background: var(--pn-pearl); }
    .pn-business-hero {
        background: var(--pn-ink); color: var(--pn-pearl);
        padding: var(--pn-s10) 0 calc(var(--pn-s10) + var(--pn-s5));
        position: relative; overflow: hidden;
    }
    .pn-business-hero__glow {
        position: absolute; right: -200px; top: -50px;
        width: 600px; height: 600px; border-radius: 50%;
        background: radial-gradient(circle, rgba(195, 162, 86, 0.3), transparent 70%);
        pointer-events: none;
    }
    .pn-business-hero__inner { position: relative; max-width: 1200px; margin: 0 auto; }
    .pn-business-hero__kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.65);
    }
    .pn-business-hero__title {
        font-family: var(--pn-font-display);
        font-size: clamp(56px, 10vw, 120px); font-weight: 500;
        letter-spacing: 0.025em; text-transform: uppercase;
        color: var(--pn-pearl);
        margin: 24px 0 0; line-height: 0.92; max-width: 1000px;
    }
    .pn-business-hero__title .pn-accent { font-style: normal; color: var(--pn-gold); }
    .pn-business-hero__sub {
        font-size: 18px; color: rgba(245, 243, 238, 0.72);
        margin-top: 28px; max-width: 560px; line-height: 1.55;
    }
    .pn-business-hero__ctas {
        display: flex; gap: 10px; margin-top: 36px; flex-wrap: wrap;
    }
    .pn-business-hero__alt {
        border-color: rgba(245, 243, 238, 0.3) !important;
        color: var(--pn-pearl) !important;
        background: transparent !important;
    }
    .pn-business-hero__alt:hover {
        border-color: var(--pn-pearl) !important;
    }

    .pn-business-section { padding: var(--pn-s10) 0 0; max-width: 1200px; margin: 0 auto; }
    .pn-business-section--last { padding: var(--pn-s10) 0; }

    .pn-business-features {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
    }
    .pn-business-feature {
        padding: 28px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px;
    }
    .pn-business-feature__icon {
        width: 44px; height: 44px; border-radius: 12px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
        margin-bottom: 18px;
    }
    .pn-business-feature__t {
        font-family: var(--pn-font-display);
        font-size: 20px; font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
    }
    .pn-business-feature__sub {
        font-size: 14px; color: var(--pn-text);
        margin-top: 8px; line-height: 1.55;
    }

    .pn-business-clients-wrap { text-align: center; }
    .pn-business-clients__kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-business-clients {
        display: flex; justify-content: center;
        gap: 48px; margin-top: 24px;
        flex-wrap: wrap; opacity: 0.65;
    }
    .pn-business-clients__name { font-size: 18px; letter-spacing: 0.18em; }

    .pn-business-form {
        padding: 48px 56px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 18px;
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: center;
    }
    .pn-business-form__kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
    .pn-business-form__title {
        font-family: var(--pn-font-display);
        font-size: clamp(32px, 4vw, 44px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 14px 0 0; line-height: 1.05;
    }
    .pn-business-form__sub { font-size: 14px; margin-top: 14px; line-height: 1.55; }
    .pn-business-form__grid {
        display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
    }
    .pn-business-form__submit {
        grid-column: 1 / -1; margin-top: 8px;
        justify-content: center;
    }

    @media (max-width: 1023px) {
        .pn-business-features { grid-template-columns: 1fr 1fr; }
        .pn-business-form { grid-template-columns: 1fr; padding: 32px; gap: 24px; }
    }
    @media (max-width: 767px) {
        .pn-business-features { grid-template-columns: 1fr; }
        .pn-business-form__grid { grid-template-columns: 1fr; }
        .pn-business-clients { gap: 24px; }
    }

/* === pn/home.blade.php === */
/* ============================================================
 * HOME · estilos específicos da home (variation-confident)
 * ============================================================ */
.pn-home-hero {
    position: relative;
    min-height: 820px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--pn-ink);
    color: var(--pn-pearl);
}
.pn-home-hero__bg {
    position: absolute; inset: 0;
    background-size: cover;
    opacity: 0;
    transition: opacity 0.6s ease;
}
.pn-home-hero__bg.is-active { opacity: 1; }
.pn-home-hero__overlay {
    position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(15,11,10,0.55) 0%, rgba(15,11,10,0.15) 30%, rgba(15,11,10,0.85) 100%);
}
.pn-home-hero__glow {
    position: absolute; right: -200px; top: 10%; width: 520px; height: 520px; border-radius: 50%;
    background: radial-gradient(circle, rgba(195,162,86,0.30) 0%, rgba(195,162,86,0) 70%);
    pointer-events: none;
}
.pn-home-hero__nav {
    position: relative; z-index: 2;
    border-bottom: 1px solid rgba(245,243,238,0.12);
}
.pn-home-hero__nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--pn-s6);
    padding: var(--pn-s5) var(--pn-s7);
    max-width: var(--pn-container-wide);
    margin: 0 auto;
}
.pn-home-hero__nav-links { display: flex; align-items: center; gap: var(--pn-s7); }
.pn-home-hero__nav-link {
    color: rgba(245,243,238,0.75);
    font-size: 13px;
    transition: color var(--pn-t-fast);
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 4px 0;
    position: relative;
}
.pn-home-hero__nav-link:hover { color: var(--pn-pearl); }
.pn-home-hero__nav-link.is-active { color: var(--pn-pearl); }
.pn-home-hero__nav-link.is-active::after {
    content: '';
    position: absolute; left: 0; right: 0; bottom: -8px;
    height: 1px; background: var(--pn-gold);
}
.pn-home-hero__nav-actions {
    display: flex; align-items: center; gap: var(--pn-s5);
    font-size: 13px; color: rgba(245,243,238,0.85);
}
.pn-home-hero__nav-actions a { color: rgba(245,243,238,0.85); }
.pn-home-hero__nav-actions a:hover { color: var(--pn-pearl); }

.pn-home-hero__content {
    position: relative; z-index: 1;
    flex: 1;
    display: flex; flex-direction: column; justify-content: center;
    padding: var(--pn-s11) var(--pn-s7) var(--pn-s9);
    max-width: var(--pn-container-wide);
    width: 100%;
    margin: 0 auto;
}
.pn-home-hero__text { text-align: center; margin-bottom: var(--pn-s10); }
.pn-divider-gold {
    display: inline-flex; align-items: center; gap: var(--pn-s4);
    font-family: var(--pn-font-body);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(245,243,238,0.7);
}
.pn-divider-gold::before, .pn-divider-gold::after {
    content: ''; height: 1px; width: 40px; background: rgba(245,243,238,0.45);
}
.pn-home-hero__h1 {
    font-size: clamp(48px, 6vw, 80px);
    color: var(--pn-pearl) !important;
    margin: var(--pn-s6) auto 0;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-family: var(--pn-font-display);
    font-weight: 500;
    max-width: 1100px;
}
.pn-home-hero__search { max-width: 1100px; margin: 0 auto; width: 100%; }
.pn-home-hero__segments {
    display: flex; justify-content: center; gap: var(--pn-s7);
    margin-top: var(--pn-s6); flex-wrap: wrap;
}
.pn-home-hero__seg-btn {
    background: transparent; border: 0; cursor: pointer;
    display: inline-flex; align-items: center; gap: var(--pn-s2);
    color: rgba(245,243,238,0.55);
    border-bottom: 1px solid transparent;
    padding-bottom: var(--pn-s2);
    font-size: 14px;
    transition: color var(--pn-t-fast), border-color var(--pn-t-fast);
}
.pn-home-hero__seg-btn:hover { color: var(--pn-pearl); }
.pn-home-hero__seg-btn.is-active {
    color: var(--pn-pearl);
    border-bottom-color: var(--pn-gold);
}
.pn-home-hero__meta {
    margin-top: var(--pn-s8);
    display: flex; align-items: center; gap: var(--pn-s4); justify-content: center;
    font-size: 12px;
    color: rgba(245,243,238,0.6);
}
.pn-home-hero__meta a { color: rgba(245,243,238,0.85); }
.pn-home-hero__meta-hint {
    margin-left: auto;
    font-family: var(--pn-font-body);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    opacity: 0.55;
}

/* Bairros */
.pn-grid--zero-gap { gap: 0 var(--pn-s10); }
.pn-bairro-row {
    display: grid;
    grid-template-columns: 40px 1.4fr 1fr auto;
    gap: var(--pn-s4);
    padding: var(--pn-s5) 0;
    border-top: 1px solid var(--pn-divider);
    align-items: center;
    text-decoration: none;
    color: var(--pn-text);
    transition: opacity var(--pn-t-fast);
}
.pn-bairro-row:hover { opacity: 0.7; }

/* Hospedagem · grid asymetrico */
.pn-hotels-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--pn-s6); }
.pn-hotels-grid__big-img {
    display: block;
    height: 560px;
    background-size: cover; background-position: center;
    border-radius: var(--pn-r-sm);
    overflow: hidden;
}
.pn-hotels-grid__big-meta {
    display: grid; grid-template-columns: 1fr auto;
    gap: var(--pn-s7); margin-top: var(--pn-s6); align-items: start;
}
.pn-hotels-grid__stack { display: grid; grid-template-rows: 1fr 1fr 1fr; gap: var(--pn-s4); }
.pn-hotels-grid__row {
    display: grid; grid-template-columns: 180px 1fr;
    gap: var(--pn-s5); align-items: center;
    padding-bottom: var(--pn-s4);
    border-bottom: 1px solid var(--pn-divider);
    text-decoration: none; color: var(--pn-text);
}
.pn-hotels-grid__row:last-child { border-bottom: 0; }
.pn-hotels-grid__row-img {
    height: 148px;
    background-size: cover; background-position: center;
    border-radius: var(--pn-r-sm);
}

/* Voos */
.pn-flights-tabs { display: flex; align-items: center; gap: var(--pn-s3); margin-bottom: var(--pn-s5); }
.pn-flights-list { display: flex; flex-direction: column; }
.pn-flight-row {
    display: grid;
    grid-template-columns: 40px 1.4fr 1.5fr 1.2fr 1fr 1fr 50px;
    gap: var(--pn-s4);
    padding: var(--pn-s4) 0;
    border-top: 1px solid var(--pn-divider);
    align-items: center;
    text-decoration: none; color: var(--pn-text);
}
.pn-flight-row:last-child { border-bottom: 1px solid var(--pn-divider); }
.pn-flight-row--charter { grid-template-columns: 40px 1.6fr 1.4fr 0.8fr 1fr 1.2fr 50px; }
.pn-flight-row__arrow {
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 1px solid var(--pn-emerald);
    display: grid; place-items: center;
    color: var(--pn-emerald);
}
.pn-flight-row:hover .pn-flight-row__arrow {
    background: var(--pn-emerald); color: var(--pn-pearl);
}

/* Carros · imagem dentro do card */
.pn-car-img {
    height: 140px;
    background-size: cover; background-position: center;
    border-radius: var(--pn-r-sm);
}

/* Experiências · grid asymétrico */
.pn-exp-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: var(--pn-s4);
}
.pn-exp-big {
    grid-row: span 2;
    position: relative;
    min-height: 580px;
    background-size: cover; background-position: center;
    border-radius: var(--pn-r-sm);
    color: var(--pn-pearl);
    display: flex; align-items: flex-end;
    text-decoration: none;
    overflow: hidden;
}
.pn-exp-big::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(15,11,10,0.85) 100%);
}
.pn-exp-big__inner { position: relative; z-index: 1; padding: var(--pn-s6); width: 100%; }
.pn-exp-card__img { height: 120px; background-size: cover; background-position: center; border-radius: var(--pn-r-sm); }

/* Restaurantes */
.pn-restaurants-list { display: flex; flex-direction: column; }
.pn-restaurant-row {
    display: grid;
    grid-template-columns: 56px 1.4fr auto 40px;
    gap: var(--pn-s6);
    padding: var(--pn-s6) 0;
    border-top: 1px solid var(--pn-divider);
    align-items: center;
    text-decoration: none; color: var(--pn-text);
}
.pn-restaurant-row:last-child { border-bottom: 1px solid var(--pn-divider); }
.pn-slot-row { display: flex; gap: var(--pn-s2); flex-wrap: wrap; }
.pn-slot {
    font-family: var(--pn-font-body);
    font-size: 12px;
    padding: 8px 12px;
    background: var(--pn-ink-soft);
    border: 1px solid var(--pn-divider);
    border-radius: var(--pn-r-sm);
}

/* Pacotes */
.pn-pack {
    background: var(--pn-white);
    border: 1px solid var(--pn-border);
    border-radius: var(--pn-r-xl);
    padding: var(--pn-s7) var(--pn-s6);
    display: flex; flex-direction: column; gap: var(--pn-s6);
}
.pn-pack--featured { background: var(--pn-ink); color: var(--pn-pearl); border-color: transparent; }
.pn-pack__name {
    font-size: 36px;
    margin-top: var(--pn-s5);
    letter-spacing: 0.04em;
    line-height: 1;
    font-family: var(--pn-font-display);
    text-transform: uppercase;
    color: var(--pn-emerald);
}
.pn-pack--featured .pn-pack__name { color: var(--pn-pearl); }
.pn-pack__days {
    font-size: 12px;
    color: var(--pn-text-muted);
    margin-top: var(--pn-s2);
    font-family: var(--pn-font-body);
    letter-spacing: 0.08em; text-transform: uppercase;
}
.pn-pack--featured .pn-pack__days { color: rgba(245,243,238,0.7); }
.pn-pack__footer {
    border-top: 1px solid var(--pn-divider);
    padding-top: var(--pn-s5);
    display: flex; justify-content: space-between; align-items: flex-end;
    margin-top: auto;
}
.pn-pack--featured .pn-pack__footer { border-color: rgba(245,243,238,0.15); }
.pn-pack__price {
    font-size: 30px;
    font-weight: 500;
    margin-top: var(--pn-s1);
    color: var(--pn-emerald);
    font-family: var(--pn-font-display);
    letter-spacing: 0.02em;
}
.pn-pack--featured .pn-pack__price { color: var(--pn-pearl); }

/* CTA dark */
.pn-cta-dark {
    background: var(--pn-ink);
    color: var(--pn-pearl);
    padding: var(--pn-s11) 0;
    margin-top: var(--pn-s11);
}
.pn-cta-dark__grid {
    display: grid; grid-template-columns: 1.4fr 1fr;
    gap: var(--pn-s9); align-items: end;
}
.pn-cta-dark__title {
    font-family: var(--pn-font-display);
    font-size: clamp(48px, 7vw, 96px);
    line-height: 0.9;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--pn-pearl);
}
.pn-cta-dark__sub {
    font-size: 16px;
    color: rgba(245,243,238,0.75);
    line-height: 1.6;
    max-width: 480px;
}
.pn-cta-dark__bottom {
    margin-top: var(--pn-s9);
    padding-top: var(--pn-s5);
    border-top: 1px solid rgba(245,243,238,0.15);
    display: flex; justify-content: space-between; gap: var(--pn-s5);
    color: rgba(245,243,238,0.55);
    font-size: 11px;
    letter-spacing: 0.14em;
}

/* Stats grid · reaproveitado de /sobre */
.pn-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--pn-divider);
    border-bottom: 1px solid var(--pn-divider);
}
.pn-stats-grid__cell {
    padding: var(--pn-s9) var(--pn-s7);
    border-right: 1px solid var(--pn-divider);
}
.pn-stats-grid__cell:last-child { border-right: 0; }
.pn-stats-grid__n {
    font-family: var(--pn-font-display);
    font-size: clamp(48px, 5.5vw, 80px);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
    color: var(--pn-emerald);
    text-transform: uppercase;
}
.pn-stats-grid__label {
    font-size: 14px;
    color: var(--pn-text-muted);
    margin-top: var(--pn-s4);
    max-width: 240px;
    line-height: 1.4;
}

/* Responsive · ≤1023 */
@media (max-width: 1023px) {
    .pn-home-hero__nav-links { display: none; }
    .pn-hotels-grid { grid-template-columns: 1fr; }
    .pn-hotels-grid__big-img { height: 420px; }
    .pn-flight-row, .pn-flight-row--charter { grid-template-columns: 30px 1.6fr 1fr 1fr 50px; }
    .pn-flight-row > :nth-child(3),
    .pn-flight-row > :nth-child(5) { display: none; }
    .pn-exp-grid { grid-template-columns: 1fr 1fr; }
    .pn-exp-big { grid-row: auto; grid-column: span 2; min-height: 360px; }
    .pn-cta-dark__grid { grid-template-columns: 1fr; gap: var(--pn-s6); }
    .pn-cta-dark__bottom { flex-direction: column; align-items: flex-start; gap: var(--pn-s3); }
    .pn-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .pn-stats-grid__cell:nth-child(2) { border-right: 0; }
    .pn-stats-grid__cell:nth-child(1), .pn-stats-grid__cell:nth-child(2) {
        border-bottom: 1px solid var(--pn-divider);
    }
    .pn-grid--zero-gap { gap: 0; }
}

/* Responsive · ≤767 */
@media (max-width: 767px) {
    .pn-home-hero { min-height: 720px; }
    .pn-home-hero__nav-actions { display: none; }
    .pn-home-hero__nav-actions .pn-btn { display: inline-flex; }
    .pn-home-hero__content { padding: var(--pn-s9) var(--pn-s4) var(--pn-s7); }
    .pn-home-hero__h1 { font-size: clamp(32px, 9vw, 52px); }
    .pn-home-hero__segments { gap: var(--pn-s4); }
    .pn-bairro-row { grid-template-columns: 30px 1fr auto; }
    .pn-bairro-row > :nth-child(3) { display: none; }
    .pn-hotels-grid__row { grid-template-columns: 1fr; }
    .pn-hotels-grid__row-img { height: 200px; }
    .pn-restaurant-row { grid-template-columns: 30px 1fr; gap: var(--pn-s3); }
    .pn-restaurant-row > :nth-child(3), .pn-restaurant-row > :nth-child(4) { grid-column: 1 / -1; }
    .pn-exp-grid { grid-template-columns: 1fr; }
    .pn-exp-big { grid-column: auto; }
    .pn-stats-grid { grid-template-columns: 1fr; }
    .pn-stats-grid__cell { border-right: 0; border-bottom: 1px solid var(--pn-divider); padding: var(--pn-s6) var(--pn-s4); }
    .pn-stats-grid__cell:last-child { border-bottom: 0; }
}

/* === pn/hoteis.blade.php === */
.pn-res { background: var(--pn-pearl); }

    /* Summary bar */
    .pn-res-summary {
        background: var(--pn-pearl);
        border-bottom: 1px solid var(--pn-divider);
        position: sticky; top: 64px; z-index: var(--pn-z-sticky, 30);
    }
    .pn-res-summary__inner { padding: var(--pn-s4) 0; }
    .pn-searchbar--compact { padding: 0; background: transparent; box-shadow: none; }
    .pn-searchbar--compact .pn-searchbar__field { padding: var(--pn-s3) var(--pn-s5); }
    .pn-searchbar--compact .pn-searchbar__btn {
        background: var(--pn-ink); color: var(--pn-pearl);
        padding: var(--pn-s3) var(--pn-s5);
    }

    /* Header */
    .pn-res-header { padding: var(--pn-s8) 0 var(--pn-s5); }
    .pn-res-header__inner {
        display: flex; align-items: flex-end; justify-content: space-between; gap: var(--pn-s5);
        flex-wrap: wrap;
    }
    .pn-res-crumb {
        font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
        display: flex; gap: 6px; align-items: center;
    }
    .pn-res-crumb a { color: inherit; text-decoration: none; }
    .pn-res-crumb a:hover { color: var(--pn-emerald); }
    .pn-res-title {
        font-size: clamp(36px, 5vw, 56px);
        font-weight: 500;
        letter-spacing: 0.04em;
        margin: var(--pn-s4) 0 0;
        line-height: 1.05;
        text-transform: uppercase;
    }
    .pn-res-title .pn-accent { font-style: normal; }
    .pn-res-subtitle {
        font-size: 13px; letter-spacing: 0.08em; margin-top: var(--pn-s3);
    }
    .pn-res-sort {
        display: inline-flex; gap: 4px; align-items: center;
        background: rgba(15, 11, 10, 0.05); border-radius: 999px; padding: 4px;
    }
    .pn-res-sort__btn {
        border: 0; background: transparent;
        padding: 10px 16px; border-radius: 999px;
        font-size: 13px; cursor: pointer; color: var(--pn-text);
        font-family: inherit;
        transition: background .15s ease;
    }
    .pn-res-sort__btn.is-active { background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.06); }

    /* Layout */
    .pn-res-layout {
        display: flex; gap: var(--pn-s5); align-items: flex-start;
        padding-bottom: var(--pn-s10);
    }
    .pn-res-filters { width: 240px; flex: 0 0 240px; position: sticky; top: 152px; align-self: flex-start; }
    .pn-res-list { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--pn-s4); }
    .pn-res-map { width: 320px; flex: 0 0 320px; position: sticky; top: 152px; height: calc(100vh - 180px); }

    /* Filters */
    .pn-res-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--pn-s5); }
    .pn-res-filters__clear { background: none; border: 0; color: var(--pn-text-muted); font-size: 12px; cursor: pointer; font-family: inherit; }
    .pn-res-filters__clear:hover { color: var(--pn-emerald); }
    .pn-res-filterblock { padding-bottom: var(--pn-s5); margin-bottom: var(--pn-s5); border-bottom: 1px solid var(--pn-divider); }
    .pn-res-filterblock--last { border-bottom: 0; }
    .pn-res-filterblock__title { font-size: 13px; font-weight: 500; margin-bottom: var(--pn-s4); }
    .pn-res-filterblock__priceline { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 8px; }
    .pn-res-filterblock__priceval { font-weight: 500; }
    .pn-res-filterblock__pricerow { display: flex; gap: 8px; margin-top: 14px; }
    .pn-res-range { width: 100%; accent-color: var(--pn-emerald); }
    .pn-res-input {
        flex: 1 1 0; min-width: 0; width: 100%;
        padding: 8px 10px; border: 1px solid var(--pn-divider);
        border-radius: 8px; font-size: 13px; background: #fff;
        font-family: inherit;
    }
    .pn-res-input:focus { outline: none; border-color: var(--pn-emerald); }

    .pn-res-stars { display: flex; flex-wrap: wrap; gap: 6px; }
    .pn-res-star-chip {
        display: inline-flex; align-items: center; gap: 6px;
        padding: 8px 12px; border: 1px solid var(--pn-divider);
        border-radius: 999px; font-size: 13px; background: #fff;
        cursor: pointer;
    }
    .pn-res-star-chip:hover { border-color: var(--pn-ink); }

    .pn-res-check {
        display: flex; align-items: center; justify-content: space-between;
        padding: 7px 0; font-size: 13px; cursor: pointer;
    }
    .pn-res-check__label { display: flex; align-items: center; gap: 10px; }
    .pn-res-check__box {
        width: 16px; height: 16px; border-radius: 4px;
        border: 1.5px solid var(--pn-divider); background: #fff;
        display: grid; place-items: center; color: var(--pn-pearl);
    }
    .pn-res-check__box.is-checked { background: var(--pn-ink); border-color: var(--pn-ink); }
    .pn-res-check__count { font-size: 11px; }
    .pn-res-radio { width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--pn-divider); background: #fff; }

    /* Result card */
    .pn-res-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md); display: grid;
        grid-template-columns: 240px 1fr; overflow: hidden;
        box-shadow: 0 1px 0 rgba(15, 11, 10, 0.02);
    }
    .pn-res-card__img { position: relative; min-height: 240px; background: var(--pn-pearl-warm); }
    .pn-res-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-res-card__heart {
        position: absolute; top: 14px; right: 14px;
        background: rgba(245, 243, 238, 0.95); border: 0;
        border-radius: 50%; width: 36px; height: 36px;
        display: grid; place-items: center; cursor: pointer;
        color: var(--pn-ink);
    }
    .pn-res-card__flags {
        position: absolute; left: 14px; top: 14px;
        display: flex; flex-direction: column; gap: 6px;
    }
    .pn-res-card__flag {
        font-family: var(--pn-font-mono);
        font-size: 10px; padding: 4px 8px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-res-card__photocount {
        position: absolute; left: 14px; bottom: 14px;
        font-family: var(--pn-font-mono); font-size: 10px;
        color: var(--pn-pearl); background: rgba(15, 11, 10, 0.6);
        padding: 4px 8px; border-radius: 6px; letter-spacing: 0.08em;
    }
    .pn-res-card__body { padding: var(--pn-s5); display: flex; flex-direction: column; gap: var(--pn-s3); min-width: 0; }
    .pn-res-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--pn-s4); }
    .pn-res-card__meta { min-width: 0; flex: 1; }
    .pn-res-card__loc {
        display: flex; align-items: center; gap: 8px;
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-res-card__stars { display: inline-flex; align-items: center; gap: 2px; margin-left: 4px; }
    .pn-res-card__name {
        font-family: var(--pn-font-display);
        font-size: 22px; margin-top: 6px;
        letter-spacing: 0.04em; text-transform: uppercase;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-res-card__rating { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
    .pn-res-card__rating-text { text-align: right; }
    .pn-res-card__rating-label { font-size: 13px; font-weight: 500; }
    .pn-res-card__rating-reviews { font-size: 11px; color: var(--pn-text-muted); margin-top: 2px; }
    .pn-res-card__rating-badge {
        padding: 6px 10px; background: var(--pn-ink);
        color: var(--pn-pearl); border-radius: 6px;
        font-size: 14px; font-weight: 500;
    }
    .pn-res-card__desc {
        font-size: 13px; color: var(--pn-text); line-height: 1.5;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
        overflow: hidden; margin: 0;
    }
    .pn-res-card__amenities { display: flex; flex-wrap: wrap; gap: 6px; }
    .pn-res-card__footer {
        margin-top: auto; padding-top: var(--pn-s4);
        border-top: 1px solid var(--pn-divider);
        display: flex; align-items: flex-end; justify-content: space-between;
        gap: var(--pn-s4);
    }
    .pn-res-card__pricebox { min-width: 0; }
    .pn-res-card__cancel {
        font-size: 11px; color: var(--pn-text);
        display: flex; align-items: center; gap: 8px;
        letter-spacing: 0.04em; text-transform: uppercase;
    }
    .pn-res-card__priceline { display: flex; align-items: baseline; gap: 10px; margin-top: 6px; flex-wrap: wrap; }
    .pn-res-card__priceold { font-size: 13px; color: var(--pn-text-muted); text-decoration: line-through; }
    .pn-res-card__price { font-size: 26px; font-weight: 500; letter-spacing: -0.02em; line-height: 1; }
    .pn-res-card__pernight { font-size: 12px; color: var(--pn-text-muted); }

    /* Jet teaser */
    .pn-res-jetteaser {
        margin-top: var(--pn-s3); padding: var(--pn-s5) var(--pn-s6);
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: var(--pn-r-lg);
        display: grid; grid-template-columns: auto 1fr auto;
        gap: var(--pn-s5); align-items: center;
    }
    .pn-res-jetteaser__icon {
        width: 52px; height: 52px; border-radius: 14px;
        background: rgba(245, 243, 238, 0.12);
        display: grid; place-items: center;
    }
    .pn-res-jetteaser__kicker {
        font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.7);
    }
    .pn-res-jetteaser__title { font-size: 20px; margin-top: 6px; letter-spacing: -0.015em; }
    .pn-res-jetteaser__sub { font-size: 12.5px; opacity: 0.7; margin-top: 4px; }

    /* Cross-sell */
    .pn-res-crosssell { margin-top: var(--pn-s7); padding-top: var(--pn-s7); border-top: 1px solid var(--pn-divider); }
    .pn-res-crosssell__head {
        display: flex; align-items: baseline; justify-content: space-between;
        margin-bottom: var(--pn-s5); gap: var(--pn-s4); flex-wrap: wrap;
    }
    .pn-res-crosssell__title { font-size: 26px; font-weight: 500; letter-spacing: -0.02em; margin-top: 6px; }
    .pn-res-crosssell__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pn-s3); }
    .pn-res-crosssell__card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md); padding: var(--pn-s5);
        display: flex; flex-direction: column; gap: var(--pn-s3);
        cursor: pointer; text-decoration: none; color: inherit;
        transition: border-color .15s ease, transform .15s ease;
    }
    .pn-res-crosssell__card:hover { border-color: var(--pn-ink); transform: translateY(-2px); }
    .pn-res-crosssell__cardhead { display: flex; align-items: center; justify-content: space-between; }
    .pn-res-crosssell__cardicon {
        width: 40px; height: 40px; border-radius: 10px;
        background: var(--pn-emerald-soft); color: var(--pn-emerald);
        display: grid; place-items: center;
    }
    .pn-res-crosssell__cardtitle {
        font-size: 15px; letter-spacing: -0.005em;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-res-crosssell__cardsub { font-size: 12px; color: var(--pn-text-muted); margin-top: 4px; }
    .pn-res-crosssell__cardfoot {
        margin-top: auto; display: flex; align-items: center; justify-content: space-between;
        font-size: 13px; font-weight: 500;
    }

    /* Pagination */
    .pn-res-pagination {
        padding-top: var(--pn-s7);
        display: flex; align-items: center; justify-content: space-between;
    }
    .pn-res-pagination__pages { display: flex; gap: 6px; }
    .pn-res-pagination__page,
    .pn-res-pagination__next {
        width: 40px; height: 40px; border-radius: 8px;
        border: 1px solid var(--pn-divider);
        background: #fff; color: var(--pn-text);
        font-size: 13px; cursor: pointer; font-family: inherit;
        display: grid; place-items: center;
    }
    .pn-res-pagination__page.is-active {
        border-color: var(--pn-ink); background: var(--pn-ink); color: var(--pn-pearl);
    }

    /* Map */
    .pn-res-map__inner {
        height: 100%; border-radius: var(--pn-r-md);
        overflow: hidden; border: 1px solid var(--pn-divider);
        position: relative; background: #dfd9cb;
    }
    .pn-res-map__bg { width: 100%; height: 100%; object-fit: cover; opacity: 0.45; filter: saturate(0.5); }
    .pn-res-map__pin {
        position: absolute; transform: translate(-50%, -50%);
        background: #fff; color: var(--pn-ink);
        padding: 4px 10px; border-radius: 999px;
        font-size: 12px; font-weight: 500;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        border: 1px solid var(--pn-divider);
    }
    .pn-res-map__pin.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: transparent; }
    .pn-res-map__zoom {
        position: absolute; top: 14px; right: 14px;
        background: #fff; border-radius: 10px;
        border: 1px solid var(--pn-divider);
        display: flex; flex-direction: column; overflow: hidden;
    }
    .pn-res-map__zoom button {
        width: 36px; height: 36px; border: 0;
        background: transparent; cursor: pointer; font-size: 16px;
    }
    .pn-res-map__zoom button:first-child { border-bottom: 1px solid var(--pn-divider); }
    .pn-res-map__legend {
        position: absolute; left: 14px; bottom: 14px; right: 14px;
        padding: 10px 14px; background: rgba(245, 243, 238, 0.95);
        border-radius: 10px; font-size: 12px;
        letter-spacing: 0.06em;
        display: flex; justify-content: space-between;
    }

    /* Responsive */
    @media (max-width: 1180px) {
        .pn-res-map { display: none; }
    }
    @media (max-width: 1023px) {
        .pn-res-filters { display: none; }
        .pn-res-layout { gap: var(--pn-s4); }
        .pn-res-crosssell__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 767px) {
        .pn-res-card { grid-template-columns: 1fr; }
        .pn-res-card__img { min-height: 200px; }
        .pn-res-card__top { flex-direction: column; gap: var(--pn-s3); }
        .pn-res-jetteaser { grid-template-columns: 1fr; text-align: center; }
        .pn-res-jetteaser__icon { margin: 0 auto; }
        .pn-res-crosssell__grid { grid-template-columns: 1fr; }
        .pn-res-header__inner { flex-direction: column; align-items: stretch; }
        .pn-res-sort { overflow-x: auto; white-space: nowrap; }
    }

/* === pn/onboarding.blade.php === */
[x-cloak] { display: none !important; }
    body[data-screen="onboarding"] > header.pn-header { display: none; }
    body[data-screen="onboarding"] > .pn-flow-crumb { display: none; }
    body[data-screen="onboarding"] > footer.pn-footer { display: none; }

    .pn-onb {
        background: var(--pn-ink); color: var(--pn-pearl);
        min-height: 100vh; position: relative; overflow: hidden;
    }
    .pn-onb-glow {
        position: absolute; inset: 0; pointer-events: none;
        transition: background 1.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .pn-onb-glow--0 { background: radial-gradient(circle at 80% 20%, rgba(195, 162, 86, 0.28), transparent 55%); }
    .pn-onb-glow--1 { background: radial-gradient(circle at 20% 80%, rgba(195, 162, 86, 0.22), transparent 55%); }
    .pn-onb-glow--2 { background: radial-gradient(circle at 60% 50%, rgba(195, 162, 86, 0.25), transparent 55%); }
    .pn-onb-glow--3 { background: radial-gradient(circle at 90% 90%, rgba(195, 162, 86, 0.32), transparent 55%); }

    .pn-onb-nav {
        position: relative;
        display: flex; align-items: center; justify-content: space-between;
        padding: 24px 56px;
    }
    .pn-onb-nav .pn-wordmark { color: var(--pn-pearl); }
    .pn-onb-skip {
        background: transparent; border: 0;
        color: rgba(245, 243, 238, 0.6);
        font-size: 13px; text-decoration: none;
    }
    .pn-onb-skip:hover { color: var(--pn-pearl); }

    .pn-onb-content {
        position: relative;
        padding: 80px 56px 0; max-width: 760px; margin: 0 auto;
    }
    .pn-onb-progress { display: flex; gap: 6px; margin-bottom: 48px; }
    .pn-onb-progress__bar {
        flex: 1; height: 2px; border-radius: 999px;
        background: rgba(245, 243, 238, 0.15);
        position: relative; overflow: hidden;
    }
    .pn-onb-progress__fill {
        position: absolute; inset: 0;
        background: var(--pn-gold); border-radius: 999px;
        transform: scaleX(0); transform-origin: left;
        transition: transform 800ms cubic-bezier(0.65, 0, 0.35, 1);
    }
    .pn-onb-progress__fill.is-on { transform: scaleX(1); }

    .pn-onb-kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.6);
    }
    .pn-onb-rule {
        height: 1px; background: rgba(245, 243, 238, 0.2);
        margin: 14px 0 22px; width: 48px;
    }
    .pn-onb-h1 {
        font-family: var(--pn-font-display);
        font-size: clamp(48px, 7vw, 72px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        color: var(--pn-pearl);
        margin: 0; line-height: 0.98;
    }
    .pn-onb-word { display: inline-block; }
    .pn-onb-h1 .pn-accent { font-style: normal; color: var(--pn-gold); }
    .pn-onb-sub {
        font-size: 17px; line-height: 1.55;
        color: rgba(245, 243, 238, 0.72);
        margin-top: 24px; max-width: 520px;
    }
    .pn-onb-body { margin-top: 48px; }

    /* welcome */
    .pn-onb-welcome { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .pn-onb-welcome__card {
        padding: 22px;
        background: rgba(245, 243, 238, 0.06);
        border: 1px solid rgba(245, 243, 238, 0.12);
        border-radius: 14px;
    }
    .pn-onb-welcome__icon {
        width: 36px; height: 36px; border-radius: 10px;
        background: var(--pn-gold); color: var(--pn-ink);
        display: grid; place-items: center;
        margin-bottom: 14px;
    }
    .pn-onb-welcome__t { font-size: 16px; font-weight: 500; }
    .pn-onb-welcome__sub {
        font-size: 13px; color: rgba(245, 243, 238, 0.65);
        margin-top: 6px; line-height: 1.5;
    }

    /* segments */
    .pn-onb-segments { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .pn-onb-seg {
        padding: 24px 18px;
        background: rgba(245, 243, 238, 0.06);
        color: var(--pn-pearl);
        border: 1px solid rgba(245, 243, 238, 0.12);
        border-radius: 14px; cursor: pointer;
        display: flex; flex-direction: column; align-items: center; gap: 12px;
        transition: all 380ms cubic-bezier(0.16, 1, 0.3, 1);
        font-family: inherit;
    }
    .pn-onb-seg:hover { transform: translateY(-2px); }
    .pn-onb-seg.is-active {
        background: var(--pn-pearl); color: var(--pn-ink); border: 0;
        transform: translateY(-2px);
    }
    .pn-onb-seg span { font-size: 15px; }

    /* styles */
    .pn-onb-styles { display: flex; flex-direction: column; gap: 10px; }
    .pn-onb-style {
        padding: 20px 24px;
        background: rgba(245, 243, 238, 0.06);
        color: var(--pn-pearl);
        border: 1px solid rgba(245, 243, 238, 0.12);
        border-radius: 14px; cursor: pointer;
        display: flex; justify-content: space-between; align-items: center;
        text-align: left; font-family: inherit;
        transition: all 380ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .pn-onb-style.is-active { background: var(--pn-pearl); color: var(--pn-ink); border: 0; }
    .pn-onb-style__t { font-size: 16px; font-weight: 500; }
    .pn-onb-style__sub {
        font-size: 12px; margin-top: 4px;
        letter-spacing: 0.08em; text-transform: uppercase;
        opacity: 0.65;
    }

    /* freqs */
    .pn-onb-freqs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
    .pn-onb-freq {
        padding: 28px 18px;
        background: rgba(245, 243, 238, 0.06);
        color: var(--pn-pearl);
        border: 1px solid rgba(245, 243, 238, 0.12);
        border-radius: 14px; cursor: pointer;
        font-size: 16px; font-family: inherit;
        transition: all 380ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    .pn-onb-freq.is-active { background: var(--pn-pearl); color: var(--pn-ink); border: 0; }

    /* CTAs */
    .pn-onb-ctas {
        margin-top: 48px; padding-bottom: 48px;
        display: flex; justify-content: space-between; gap: 12px;
    }
    .pn-onb-back, .pn-onb-next, .pn-onb-finish {
        padding: 14px 22px; border-radius: 999px;
        font-size: 14px; cursor: pointer; font-family: inherit;
        display: inline-flex; align-items: center; gap: 10px;
        text-decoration: none;
    }
    .pn-onb-back {
        background: transparent;
        border: 1px solid rgba(245, 243, 238, 0.3);
        color: var(--pn-pearl);
    }
    .pn-onb-back[disabled] {
        color: rgba(245, 243, 238, 0.3);
        cursor: not-allowed;
    }
    .pn-onb-next, .pn-onb-finish {
        background: var(--pn-gold); color: var(--pn-ink);
        border: 0; padding: 14px 28px; font-weight: 500;
        box-shadow: 0 12px 28px -10px rgba(195, 162, 86, 0.6);
    }

    @media (max-width: 767px) {
        .pn-onb-welcome, .pn-onb-segments, .pn-onb-freqs { grid-template-columns: 1fr 1fr; }
        .pn-onb-content { padding: 48px 24px 0; }
        .pn-onb-nav { padding: 20px 24px; }
        .pn-onb-h1 { font-size: 40px; }
    }

/* === pn/reserva.blade.php === */
.pn-booking { background: var(--pn-pearl); padding-bottom: var(--pn-s10); }
    .pn-booking-crumb { padding: var(--pn-s5) 0 0; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
    .pn-booking-crumb a { color: inherit; text-decoration: none; }
    .pn-booking-crumb a:hover { color: var(--pn-emerald); }
    .pn-booking-grid {
        padding: var(--pn-s5) 0 0;
        display: grid; grid-template-columns: 1fr 360px;
        gap: var(--pn-s7); align-items: flex-start;
    }
    .pn-booking-head {
        display: flex; align-items: center; gap: 14px;
        margin-bottom: 14px; flex-wrap: wrap;
    }
    .pn-booking-head__when { font-size: 12px; letter-spacing: 0.08em; }
    .pn-booking-title {
        font-family: var(--pn-font-display);
        font-size: clamp(40px, 5vw, 56px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 0; line-height: 1;
    }
    .pn-booking-title .pn-accent { font-style: normal; }
    .pn-booking-sub { font-size: 14px; margin-top: 8px; }

    .pn-booking-timeline {
        margin-top: var(--pn-s7);
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 24px 28px;
    }
    .pn-booking-timeline__title { font-size: 13px; font-weight: 500; margin-bottom: 18px; }
    .pn-booking-step {
        display: grid; grid-template-columns: 40px 1fr;
        gap: 14px; padding: 14px 0;
        align-items: center;
    }
    .pn-booking-step.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-booking-step__icon {
        width: 36px; height: 36px; border-radius: 50%;
        display: grid; place-items: center;
    }
    .pn-booking-step__icon--ink   { background: rgba(15, 11, 10, 0.08); color: var(--pn-ink); }
    .pn-booking-step__icon--gold  { background: var(--pn-gold-soft);    color: var(--pn-gold-deep); }
    .pn-booking-step__icon--muted { background: rgba(15, 11, 10, 0.05); color: var(--pn-text-muted); }
    .pn-booking-step__t { font-size: 15px; letter-spacing: -0.005em; }
    .pn-booking-step__sub { font-size: 12px; margin-top: 3px; }

    .pn-booking-card {
        margin-top: 18px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px;
    }
    .pn-booking-card__head {
        padding: 18px 24px;
        border-bottom: 1px solid var(--pn-divider);
        font-size: 14px; font-weight: 500;
    }
    .pn-booking-card__row {
        display: grid; grid-template-columns: 200px 1fr;
        gap: 14px; padding: 14px 24px; font-size: 13.5px;
    }
    .pn-booking-card__row.is-bordered { border-top: 1px solid var(--pn-divider); }
    .pn-booking-card__row > span:first-child {
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
    }

    .pn-booking-side { position: sticky; top: 24px; align-self: flex-start; }
    .pn-booking-actions { padding: 24px; }
    .pn-booking-actions__img {
        width: 100%; height: 140px; object-fit: cover;
        border-radius: 10px; display: block;
        background: var(--pn-pearl-warm);
    }
    .pn-booking-actions__total { margin-top: 18px; }
    .pn-booking-actions__total .pn-mono { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-booking-actions__totalv {
        font-family: var(--pn-font-display);
        font-size: 28px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 4px;
    }
    .pn-booking-actions__btns {
        display: flex; flex-direction: column; gap: 8px;
        margin-top: 20px;
    }
    .pn-booking-actions__cancel {
        color: #a86060; border-color: rgba(168, 96, 96, 0.4) !important;
    }

    .pn-booking-sos {
        margin-top: 14px; padding: 16px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 14px;
    }
    .pn-booking-sos__head {
        display: flex; align-items: center; gap: 10px;
    }
    .pn-booking-sos__body { font-size: 12px; opacity: 0.7; margin-top: 8px; line-height: 1.55; }
    .pn-booking-sos__cta { margin-top: 12px; }

    @media (max-width: 1023px) {
        .pn-booking-grid { grid-template-columns: 1fr; }
        .pn-booking-side { position: static; }
        .pn-booking-card__row { grid-template-columns: 1fr; gap: 4px; }
    }

/* === pn/sobre.blade.php === */
.pn-stats-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border-top: 1px solid var(--pn-divider);
        border-bottom: 1px solid var(--pn-divider);
    }
    .pn-stats-grid__cell {
        padding: var(--pn-s9) var(--pn-s7);
        border-right: 1px solid var(--pn-divider);
    }
    .pn-stats-grid__cell:last-child { border-right: 0; }
    .pn-stats-grid__n {
        font-family: var(--pn-font-display);
        font-size: clamp(40px, 5vw, 64px);
        font-weight: 500;
        letter-spacing: 0.04em;
        line-height: 1;
        color: var(--pn-emerald);
        text-transform: uppercase;
    }
    .pn-stats-grid__label {
        font-size: 13px;
        color: var(--pn-text-muted);
        margin-top: var(--pn-s4);
        line-height: 1.45;
    }
    @media (max-width: 1023px) {
        .pn-stats-grid { grid-template-columns: repeat(2, 1fr); }
        .pn-stats-grid__cell:nth-child(2) { border-right: 0; }
        .pn-stats-grid__cell:nth-child(1), .pn-stats-grid__cell:nth-child(2) {
            border-bottom: 1px solid var(--pn-divider);
        }
    }
    @media (max-width: 640px) {
        .pn-stats-grid { grid-template-columns: 1fr; }
        .pn-stats-grid__cell { border-right: 0; border-bottom: 1px solid var(--pn-divider); padding: var(--pn-s6) var(--pn-s5); }
        .pn-stats-grid__cell:last-child { border-bottom: 0; }
    }
    .pn-header__mobile { display: none; }
    @media (max-width: 767px) {
        .pn-header__burger { display: inline-flex; }
        .pn-header__mobile {
            position: absolute; top: 100%; left: 0; right: 0;
            background: var(--pn-pearl);
            border-top: 1px solid var(--pn-divider);
            padding: var(--pn-s5);
            display: flex; flex-direction: column; gap: var(--pn-s4);
            z-index: var(--pn-z-sticky);
        }
    }
    @media (min-width: 768px) {
        .pn-header__burger { display: none; }
    }

/* === pn/sos.blade.php === */
body[data-screen="sos"] > header.pn-header { display: none; }
body[data-screen="sos"] > .pn-flow-crumb { display: none; }
body[data-screen="sos"] > footer.pn-footer { display: none; }

    .pn-sos {
        background: #1a1714; color: var(--pn-pearl); min-height: 100vh;
    }
    .pn-sos-nav {
        border-bottom: 1px solid rgba(245, 243, 238, 0.12);
        padding: 20px 56px;
        display: flex; align-items: center; justify-content: space-between;
        gap: 14px; flex-wrap: wrap;
    }
    .pn-sos-nav .pn-wordmark { color: var(--pn-pearl); }
    .pn-sos-online {
        display: inline-flex; align-items: center; gap: 8px;
        font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.6);
    }
    .pn-sos-online__dot {
        width: 8px; height: 8px; border-radius: 50%;
        background: var(--pn-emerald);
    }
    .pn-sos-nav__link {
        color: rgba(245, 243, 238, 0.7); font-size: 13px; text-decoration: none;
    }

    .pn-sos-hero { padding: 56px 0 0; }
    .pn-sos-hero__kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.55);
    }
    .pn-sos-hero__title {
        font-family: var(--pn-font-display);
        font-size: clamp(56px, 8vw, 84px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        color: var(--pn-pearl);
        margin: 18px 0 0; line-height: 0.95;
    }
    .pn-sos-hero__sub {
        font-size: 17px; color: rgba(245, 243, 238, 0.72);
        margin-top: 18px; max-width: 540px; line-height: 1.55;
    }

    .pn-sos-grid {
        padding: 48px 0 0;
        display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
        max-width: 1100px; margin: 0 auto;
    }
    .pn-sos-emergency {
        grid-column: span 2;
        padding: 32px 36px;
        background: #a86060; color: var(--pn-pearl);
        border-radius: 18px;
        display: flex; justify-content: space-between; align-items: center;
        gap: 24px; flex-wrap: wrap;
    }
    .pn-sos-emergency__kicker {
        font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
        opacity: 0.7;
    }
    .pn-sos-emergency__title {
        font-family: var(--pn-font-display);
        font-size: 36px; font-weight: 500;
        letter-spacing: 0.04em; text-transform: uppercase;
        margin-top: 8px;
    }
    .pn-sos-emergency__sub { font-size: 13px; opacity: 0.85; margin-top: 8px; max-width: 480px; }
    .pn-sos-emergency__btn {
        background: var(--pn-pearl); color: #a86060;
        border: 0; padding: 18px 32px; border-radius: 999px;
        font-size: 16px; font-weight: 500;
        display: flex; align-items: center; gap: 12px;
        cursor: pointer; font-family: inherit; white-space: nowrap;
    }

    .pn-sos-tile {
        padding: 24px 26px;
        background: rgba(245, 243, 238, 0.05);
        border: 1px solid rgba(245, 243, 238, 0.1);
        border-radius: 14px;
        display: flex; gap: 18px; align-items: flex-start;
    }
    .pn-sos-tile.is-accent {
        background: var(--pn-gold-soft);
        border-color: rgba(195, 162, 86, 0.4);
    }
    .pn-sos-tile__icon {
        width: 44px; height: 44px; border-radius: 12px;
        background: rgba(245, 243, 238, 0.08); color: var(--pn-pearl);
        display: grid; place-items: center; flex: 0 0 44px;
    }
    .pn-sos-tile.is-accent .pn-sos-tile__icon { background: var(--pn-gold); color: var(--pn-ink); }
    .pn-sos-tile__body { flex: 1; min-width: 0; }
    .pn-sos-tile__t { font-size: 16px; font-weight: 500; }
    .pn-sos-tile__sub { font-size: 13px; color: rgba(245, 243, 238, 0.65); margin-top: 6px; line-height: 1.5; }
    .pn-sos-tile.is-accent .pn-sos-tile__sub { color: rgba(15, 11, 10, 0.7); }
    .pn-sos-tile__cta {
        background: transparent;
        color: var(--pn-pearl);
        border: 1px solid rgba(245, 243, 238, 0.25);
        padding: 10px 16px; border-radius: 999px;
        font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
        cursor: pointer; flex: 0 0 auto; white-space: nowrap;
        font-family: inherit; text-decoration: none;
    }
    .pn-sos-tile.is-accent .pn-sos-tile__cta {
        background: var(--pn-pearl); color: var(--pn-ink);
        border: 0;
    }

    .pn-sos-context-wrap { padding: 56px 0 64px; }
    .pn-sos-context {
        padding: 24px 28px;
        background: rgba(245, 243, 238, 0.05);
        border-radius: 14px;
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
        max-width: 1100px; margin: 0 auto;
    }
    .pn-sos-context__l {
        font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
        color: rgba(245, 243, 238, 0.55);
    }
    .pn-sos-context__v { font-size: 14px; margin-top: 6px; }

    .pn-sos .pn-container-narrow { color: var(--pn-pearl); }

    @media (max-width: 1023px) {
        .pn-sos-grid { grid-template-columns: 1fr; }
        .pn-sos-emergency { grid-column: span 1; flex-direction: column; align-items: stretch; }
        .pn-sos-context { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 767px) {
        .pn-sos-nav { padding: 16px 24px; }
        .pn-sos-tile { flex-wrap: wrap; }
    }

/* === pn/status.blade.php === */
.pn-status { background: var(--pn-pearl); padding-bottom: var(--pn-s10); }

    .pn-status-head { padding: var(--pn-s9) 0 0; max-width: 1100px; margin: 0 auto; }
    .pn-status-head__kicker { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
    .pn-status-head__row { display: flex; align-items: center; gap: 20px; margin-top: 24px; }
    .pn-status-head__dot {
        width: 16px; height: 16px; border-radius: 50%;
    }
    .pn-status-head__dot--ok {
        background: var(--pn-emerald);
        box-shadow: 0 0 0 6px rgba(12, 90, 55, 0.2);
    }
    .pn-status-head__dot--warn {
        background: var(--pn-gold);
        box-shadow: 0 0 0 6px rgba(195, 162, 86, 0.2);
    }
    .pn-status-head__title {
        font-family: var(--pn-font-display);
        font-size: clamp(40px, 6vw, 56px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 0; line-height: 1;
    }

    .pn-status-section { padding: var(--pn-s7) 0 0; max-width: 1100px; margin: 0 auto; }
    .pn-status-section .pn-kicker { margin-bottom: 18px; }

    .pn-status-services {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; overflow: hidden;
    }
    .pn-status-svc {
        display: grid; grid-template-columns: 24px 1fr auto auto;
        gap: 16px; padding: 18px 22px; align-items: center;
    }
    .pn-status-svc.is-bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-status-svc__dot { width: 10px; height: 10px; border-radius: 50%; }
    .pn-status-svc__dot--operational { background: var(--pn-emerald); }
    .pn-status-svc__dot--degraded    { background: var(--pn-gold); }
    .pn-status-svc__dot--down        { background: #a86060; }
    .pn-status-svc__name { font-size: 14px; }
    .pn-status-svc__uptime { font-size: 11px; letter-spacing: 0.06em; }
    .pn-status-svc__chip {
        font-size: 10px; padding: 4px 10px; border-radius: 999px;
        letter-spacing: 0.1em; text-transform: uppercase;
    }
    .pn-status-svc__chip--operational { background: var(--pn-emerald-soft); color: var(--pn-emerald); }
    .pn-status-svc__chip--degraded    { background: var(--pn-gold-soft);    color: var(--pn-gold-deep); }
    .pn-status-svc__chip--down        { background: rgba(168, 96, 96, 0.15); color: #a86060; }

    .pn-status-incidents { display: flex; flex-direction: column; gap: 10px; }
    .pn-status-incident {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 18px 22px;
    }
    .pn-status-incident__head {
        display: flex; align-items: center; justify-content: space-between;
        gap: 8px; flex-wrap: wrap;
    }
    .pn-status-incident__date {
        display: flex; align-items: center; gap: 10px;
        font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
    }
    .pn-status-incident__dot { width: 10px; height: 10px; border-radius: 50%; }
    .pn-status-incident__dot--minor    { background: var(--pn-gold); }
    .pn-status-incident__dot--resolved { background: var(--pn-emerald); }
    .pn-status-incident__dot--major    { background: #a86060; }
    .pn-status-incident__chip {
        font-size: 10px; padding: 4px 10px; border-radius: 999px;
        letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-status-incident__chip--minor    { background: var(--pn-gold-soft);    color: var(--pn-gold-deep); }
    .pn-status-incident__chip--resolved { background: var(--pn-emerald-soft); color: var(--pn-emerald); }
    .pn-status-incident__title { font-size: 16px; margin-top: 10px; letter-spacing: -0.01em; }
    .pn-status-incident__sub { font-size: 13px; color: var(--pn-text); margin-top: 6px; line-height: 1.55; }

/* === pn/sucesso.blade.php === */
.pn-success { background: var(--pn-pearl); min-height: 100vh; padding: var(--pn-s10) 0; }
    .pn-success-hero { text-align: center; }
    .pn-success-check {
        width: 80px; height: 80px; border-radius: 50%;
        background: var(--pn-emerald); color: var(--pn-pearl);
        display: grid; place-items: center;
        margin: 0 auto 24px;
    }
    .pn-success-code { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; }
    .pn-success-title {
        font-family: var(--pn-font-display);
        font-size: clamp(48px, 6vw, 64px); font-weight: 500;
        letter-spacing: 0.03em; text-transform: uppercase;
        margin: 18px 0 0; line-height: 1;
    }
    .pn-success-title .pn-accent { font-style: normal; }
    .pn-success-lead {
        font-size: 16px; color: var(--pn-text);
        margin: 18px auto 0; line-height: 1.55;
        max-width: 560px;
    }

    .pn-success-receipt-wrap { padding-top: var(--pn-s7); }
    .pn-success-receipt {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-lg); overflow: hidden;
    }
    .pn-success-receipt__head {
        padding: 24px 28px;
        display: grid; grid-template-columns: 120px 1fr auto;
        gap: 18px; align-items: center;
        border-bottom: 1px solid var(--pn-divider);
    }
    .pn-success-receipt__img {
        width: 120px; height: 88px; border-radius: 10px;
        overflow: hidden; background: var(--pn-pearl-warm);
    }
    .pn-success-receipt__img img { width: 100%; height: 100%; object-fit: cover; }
    .pn-success-receipt__kicker { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
    .pn-success-receipt__title {
        font-family: var(--pn-font-display);
        font-size: 22px; margin-top: 6px;
        letter-spacing: 0.03em; text-transform: uppercase;
    }
    .pn-success-receipt__sub { font-size: 13px; margin-top: 4px; }

    .pn-success-receipt__meta {
        padding: 18px 28px;
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
        border-bottom: 1px solid var(--pn-divider);
    }
    .pn-success-receipt__metal { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
    .pn-success-receipt__metav { font-size: 14px; margin-top: 4px; }

    .pn-success-receipt__foot {
        padding: 24px 28px;
        display: flex; align-items: center; justify-content: space-between;
        gap: 14px; flex-wrap: wrap;
    }
    .pn-success-receipt__totallabel { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
    .pn-success-receipt__total {
        font-family: var(--pn-font-display);
        font-size: 32px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 4px;
    }
    .pn-success-receipt__actions { display: flex; gap: 8px; flex-wrap: wrap; }

    .pn-success-next { margin-top: var(--pn-s8); }
    .pn-success-next__grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 12px; margin-top: var(--pn-s5);
    }
    .pn-success-next__card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 14px; padding: 20px 22px;
    }
    .pn-success-next__icon {
        width: 36px; height: 36px; border-radius: 10px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
        margin-bottom: 14px;
    }
    .pn-success-next__t { font-size: 15px; letter-spacing: -0.005em; }
    .pn-success-next__sub { font-size: 12px; margin-top: 6px; line-height: 1.5; }

    .pn-success-ctas {
        margin-top: var(--pn-s8);
        display: flex; align-items: center; justify-content: center;
        gap: 10px; flex-wrap: wrap;
    }

    @media (max-width: 1023px) {
        .pn-success-receipt__head { grid-template-columns: 100px 1fr; }
        .pn-success-receipt__head > .pn-tag { grid-column: 1 / -1; }
        .pn-success-receipt__meta { grid-template-columns: 1fr 1fr; }
        .pn-success-next__grid { grid-template-columns: 1fr; }
    }

/* === pn/voos.blade.php === */
.pn-flt { background: var(--pn-pearl); }

    /* Layout */
    .pn-flt-layout {
        display: flex; gap: var(--pn-s5); align-items: flex-start;
        padding-bottom: var(--pn-s10);
    }
    .pn-flt-filters { width: 260px; flex: 0 0 260px; position: sticky; top: 152px; align-self: flex-start; }
    .pn-flt-list { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--pn-s3); }
    .pn-flt-side { width: 300px; flex: 0 0 300px; position: sticky; top: 152px; align-self: flex-start; display: flex; flex-direction: column; gap: var(--pn-s3); }

    /* Filter — times grid */
    .pn-flt-times { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .pn-flt-time {
        padding: 10px 10px;
        background: #fff; color: var(--pn-text);
        border: 1px solid var(--pn-divider); border-radius: 8px;
        cursor: pointer; text-align: left;
        font-family: inherit;
        transition: background .15s ease, border-color .15s ease;
    }
    .pn-flt-time.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-flt-time__n { font-size: 12px; font-weight: 500; }
    .pn-flt-time__t { font-size: 10px; letter-spacing: 0.06em; opacity: 0.75; margin-top: 2px; }

    /* Flight card */
    .pn-flt-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        padding: var(--pn-s6) var(--pn-s5);
        display: grid; grid-template-columns: 96px 1fr 200px;
        gap: var(--pn-s5); align-items: center;
    }
    .pn-flt-card__airline { display: flex; flex-direction: column; align-items: center; gap: 6px; }
    .pn-flt-card__airlinebadge {
        width: 48px; height: 48px; border-radius: 50%;
        color: var(--pn-pearl); display: grid; place-items: center;
        font-size: 14px; font-weight: 600;
        font-family: var(--pn-font-mono); letter-spacing: 0.04em;
    }
    .pn-flt-card__airlinename {
        font-size: 11px; letter-spacing: 0.06em; text-align: center;
    }

    .pn-flt-card__itinerary { min-width: 0; }
    .pn-flt-card__row {
        display: grid; grid-template-columns: auto 1fr auto;
        gap: 18px; align-items: center; margin-bottom: 12px;
    }
    .pn-flt-card__time { text-align: center; }
    .pn-flt-card__time-h {
        font-family: var(--pn-font-display);
        font-size: 24px; font-weight: 500;
        letter-spacing: 0.02em; line-height: 1;
    }
    .pn-flt-card__time-d { font-size: 11px; margin-top: 4px; letter-spacing: 0.06em; }
    .pn-flt-card__path { position: relative; text-align: center; }
    .pn-flt-card__duration {
        font-size: 11px; letter-spacing: 0.08em;
        text-transform: uppercase; margin-bottom: 6px;
    }
    .pn-flt-card__line { display: flex; align-items: center; justify-content: center; gap: 8px; }
    .pn-flt-card__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--pn-ink); }
    .pn-flt-card__rail { flex: 1; height: 1px; background: var(--pn-divider); position: relative; max-width: 220px; }
    .pn-flt-card__rail--short { max-width: 50px; }
    .pn-flt-card__stopdot {
        position: absolute; top: 50%;
        width: 6px; height: 6px; border-radius: 50%;
        background: var(--pn-gold); transform: translate(-50%, -50%);
    }
    .pn-flt-card__stops { font-size: 11px; letter-spacing: 0.06em; margin-top: 8px; }
    .pn-flt-card__tags { display: flex; gap: 6px; flex-wrap: wrap; }

    .pn-flt-card__pricebox {
        display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
        border-left: 1px solid var(--pn-divider);
        padding-left: var(--pn-s5);
        min-width: 160px; align-self: stretch; justify-content: center;
    }
    .pn-flt-card__pricetext { text-align: right; }
    .pn-flt-card__kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
    .pn-flt-card__priceold { font-size: 12px; color: var(--pn-text-muted); text-decoration: line-through; margin-top: 4px; }
    .pn-flt-card__price {
        font-family: var(--pn-font-display);
        font-size: 26px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 4px; line-height: 1;
    }
    .pn-flt-card__pernote { font-size: 11px; margin-top: 4px; }

    /* Jet teaser larger variant for voos */
    .pn-res-jetteaser--lg { padding: var(--pn-s6) var(--pn-s7); }
    .pn-res-jetteaser--lg .pn-res-jetteaser__icon { width: 56px; height: 56px; }
    .pn-res-jetteaser--lg .pn-res-jetteaser__title { font-size: 22px; margin-top: 8px; }
    .pn-res-jetteaser--lg .pn-res-jetteaser__sub { font-size: 13px; }

    /* Side panels */
    .pn-flt-panel { background: #fff; border: 1px solid var(--pn-divider); border-radius: var(--pn-r-md); padding: 18px; }
    .pn-flt-panel__title { font-size: 13px; font-weight: 500; margin-bottom: 4px; }
    .pn-flt-panel__sub { font-size: 11px; letter-spacing: 0.06em; margin-bottom: 14px; }
    .pn-flt-cal { display: flex; flex-direction: column; gap: 6px; }
    .pn-flt-cal__row {
        display: flex; align-items: center; justify-content: space-between;
        padding: 10px 12px;
        background: transparent;
        border: 1px solid var(--pn-divider); border-radius: 8px;
        font-size: 13px; cursor: pointer;
    }
    .pn-flt-cal__row.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-flt-cal__price { font-weight: 500; }
    .pn-flt-cal__selnote { font-size: 9px; margin-left: 6px; opacity: 0.6; }

    .pn-flt-airport {
        display: flex; align-items: center; gap: 10px;
        padding: 9px 0; font-size: 13px; cursor: pointer;
    }
    .pn-flt-airport--bordered { border-top: 1px solid var(--pn-divider); }
    .pn-flt-airport__body { flex: 1; }
    .pn-flt-airport__code { font-size: 11px; color: var(--pn-ink); letter-spacing: 0.06em; }
    .pn-flt-airport__name { font-size: 11px; color: var(--pn-text-muted); margin-top: 2px; }
    .pn-flt-airport__diff { font-size: 12px; color: var(--pn-text-muted); }
    .pn-flt-airport__diff.is-cheaper { color: var(--pn-emerald); }

    /* Load more */
    .pn-flt-loadmore {
        padding-top: var(--pn-s7);
        display: flex; align-items: center; justify-content: space-between;
    }

    /* Responsive */
    @media (max-width: 1180px) {
        .pn-flt-side { display: none; }
    }
    @media (max-width: 1023px) {
        .pn-flt-filters { display: none; }
    }
    @media (max-width: 767px) {
        .pn-flt-card {
            grid-template-columns: 1fr;
            gap: var(--pn-s3);
        }
        .pn-flt-card__airline { flex-direction: row; justify-content: flex-start; }
        .pn-flt-card__pricebox {
            border-left: 0; padding-left: 0;
            border-top: 1px solid var(--pn-divider);
            padding-top: var(--pn-s3);
            align-items: stretch; flex-direction: row;
            justify-content: space-between; min-width: 0;
        }
        .pn-flt-card__row { gap: 10px; }
        .pn-flt-card__time-h { font-size: 20px; }
        .pn-res-jetteaser { grid-template-columns: 1fr; text-align: center; }
        .pn-res-jetteaser__icon { margin: 0 auto; }
    }


/* === pn/carro.blade.php (wave 2) === */
.pn-carro-sub { font-size: 14px; margin-top: 8px; }
    .pn-hotel-gallery--shorter { height: 480px; }

    .pn-carro-specs {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pn-s4);
    }
    .pn-carro-spec {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-sm);
        padding: 14px 16px;
        display: flex; align-items: center; gap: 12px;
    }
    .pn-carro-spec__l { font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-carro-spec__v { font-size: 13px; margin-top: 2px; }

    .pn-carro-includes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .pn-carro-include {
        display: flex; align-items: center; gap: 10px;
        font-size: 14px;
    }
    .pn-carro-include.is-off { color: var(--pn-text-muted); }
    .pn-carro-include__dash { width: 16px; opacity: 0.4; }

    .pn-carro-policy__sub { font-size: 12px; margin-top: 6px; }

    @media (max-width: 1023px) {
        .pn-carro-specs { grid-template-columns: repeat(2, 1fr); }
        .pn-carro-includes { grid-template-columns: 1fr; }
    }
    @media (max-width: 767px) {
        .pn-carro-specs { grid-template-columns: 1fr; }
    }

/* === pn/carros.blade.php (wave 2) === */
/* Car card */
    .pn-car-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: grid; grid-template-columns: 220px 1fr 200px;
        overflow: hidden;
    }
    .pn-car-card__img { position: relative; min-height: 200px; background: var(--pn-pearl-warm); }
    .pn-car-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-car-card__tag {
        position: absolute; top: 14px; left: 14px;
        font-family: var(--pn-font-mono); font-size: 10px; padding: 4px 8px;
        background: var(--pn-ink); color: var(--pn-pearl);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-car-card__body {
        padding: var(--pn-s5); display: flex; flex-direction: column;
        gap: var(--pn-s3); min-width: 0;
    }
    .pn-car-card__cat { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-car-card__model {
        font-family: var(--pn-font-display);
        font-size: 20px; margin-top: 6px;
        letter-spacing: 0.04em; text-transform: uppercase;
    }
    .pn-car-card__brand { font-size: 12px; margin-top: 4px; }
    .pn-car-card__specs {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pn-s3);
        font-size: 12px;
    }
    .pn-car-card__specs > div { display: flex; align-items: center; gap: 6px; }
    .pn-car-card__meta {
        display: flex; align-items: center; gap: var(--pn-s4);
        margin-top: auto; font-size: 12.5px; color: var(--pn-text);
        flex-wrap: wrap;
    }
    .pn-car-card__meta span { display: flex; align-items: center; gap: 6px; }
    .pn-car-card__tags { display: flex; gap: 6px; flex-wrap: wrap; }
    .pn-car-card__pricebox {
        padding: var(--pn-s5);
        border-left: 1px solid var(--pn-divider);
        display: flex; flex-direction: column;
        justify-content: space-between; align-items: flex-end;
        min-width: 180px;
    }
    .pn-car-card__pricetext { text-align: right; }
    .pn-car-card__kicker { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-car-card__price {
        font-family: var(--pn-font-display);
        font-size: 24px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 4px;
    }
    .pn-car-card__daily { font-size: 12px; margin-top: 4px; }

    @media (max-width: 767px) {
        .pn-car-card { grid-template-columns: 1fr; }
        .pn-car-card__pricebox { border-left: 0; border-top: 1px solid var(--pn-divider); flex-direction: row; align-items: center; }
    }

/* === pn/experiencia.blade.php (wave 2) === */
.pn-exp-timeline { display: flex; flex-direction: column; }
    .pn-exp-timeline__row {
        display: grid; grid-template-columns: 80px 40px 1fr;
        gap: 14px; padding: 14px 0;
        align-items: center;
    }
    .pn-exp-timeline__row--bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-exp-timeline__time { font-size: 14px; font-weight: 500; }
    .pn-exp-timeline__icon {
        width: 36px; height: 36px; border-radius: 50%;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
    }
    .pn-exp-timeline__title { font-size: 15px; }

    .pn-exp-incl { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pn-s7); }
    .pn-exp-incl__head { font-size: 13px; font-weight: 500; margin-bottom: 14px; }
    .pn-exp-incl__row {
        display: flex; align-items: center; gap: 10px;
        padding: 7px 0; font-size: 13px;
    }
    .pn-exp-incl__row > :first-child { width: 14px; flex: 0 0 14px; }

    /* Booking — date grid */
    .pn-exp-book__sub { font-size: 11px; margin-top: 4px; }
    .pn-exp-book__label {
        font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
        margin: var(--pn-s5) 0 10px;
    }
    .pn-exp-book__dates { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
    .pn-exp-book__date {
        padding: 10px 4px; text-align: center;
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider); border-radius: 8px;
        cursor: pointer; font-family: var(--pn-font-mono);
        transition: background .15s ease, color .15s ease;
    }
    .pn-exp-book__date:hover { border-color: var(--pn-ink); }
    .pn-exp-book__date.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-exp-book__date-dow { font-size: 10px; opacity: 0.7; letter-spacing: 0.06em; }
    .pn-exp-book__date-n { font-size: 16px; font-weight: 500; margin-top: 2px; }

    .pn-exp-book__people { display: flex; flex-direction: column; gap: 10px; }
    .pn-exp-book__person {
        display: grid; grid-template-columns: 1fr auto;
        gap: 14px; align-items: center;
    }
    .pn-exp-book__person-n { font-size: 14px; }
    .pn-exp-book__person-age { font-size: 11px; }
    .pn-exp-book__counter { display: flex; align-items: center; gap: 10px; }
    .pn-exp-book__counter button {
        width: 28px; height: 28px; border-radius: 50%;
        border: 1px solid var(--pn-divider); background: #fff;
        cursor: pointer; font-family: inherit; font-size: 14px;
    }
    .pn-exp-book__counter button:hover { border-color: var(--pn-ink); }
    .pn-exp-book__counter span {
        font-size: 14px; min-width: 14px; text-align: center;
    }

    @media (max-width: 767px) {
        .pn-exp-timeline__row { grid-template-columns: 70px 32px 1fr; gap: 10px; }
        .pn-exp-incl { grid-template-columns: 1fr; gap: var(--pn-s4); }
        .pn-exp-book__dates { grid-template-columns: repeat(4, 1fr); }
    }

/* === pn/experiencias.blade.php (wave 2) === */
.pn-exp-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: grid; grid-template-columns: 260px 1fr 200px;
        overflow: hidden;
    }
    .pn-exp-card__img { position: relative; min-height: 220px; background: var(--pn-pearl-warm); }
    .pn-exp-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-exp-card__tag {
        position: absolute; top: 14px; left: 14px;
        font-family: var(--pn-font-mono); font-size: 10px; padding: 4px 8px;
        background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-exp-card__heart {
        position: absolute; top: 14px; right: 14px;
        background: rgba(245, 243, 238, 0.95); border: 0;
        border-radius: 50%; width: 36px; height: 36px;
        display: grid; place-items: center; cursor: pointer;
        color: var(--pn-ink);
    }
    .pn-exp-card__body {
        padding: var(--pn-s5); display: flex; flex-direction: column;
        gap: var(--pn-s2); min-width: 0;
    }
    .pn-exp-card__meta {
        display: flex; align-items: center; gap: 10px;
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        flex-wrap: wrap;
    }
    .pn-exp-card__meta span { display: inline-flex; align-items: center; gap: 4px; }
    .pn-exp-card__title {
        font-family: var(--pn-font-display);
        font-size: 22px; letter-spacing: 0.04em;
        text-transform: uppercase;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-exp-card__desc {
        font-size: 13px; color: var(--pn-text); line-height: 1.5;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
        overflow: hidden; margin: 0;
    }
    .pn-exp-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
    .pn-exp-card__rating {
        margin-top: auto; display: flex; align-items: center; gap: 10px;
        font-size: 13px;
    }
    .pn-exp-card__rbadge {
        padding: 4px 8px; background: var(--pn-ink);
        color: var(--pn-pearl); border-radius: 6px;
        font-size: 12px; font-weight: 500;
    }
    .pn-exp-card__pricebox {
        padding: var(--pn-s5);
        border-left: 1px solid var(--pn-divider);
        display: flex; flex-direction: column;
        justify-content: space-between; align-items: flex-end;
        min-width: 180px;
    }
    .pn-exp-card__pricetext { text-align: right; }
    .pn-exp-card__kicker { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
    .pn-exp-card__price {
        font-family: var(--pn-font-display);
        font-size: 24px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 4px;
    }
    .pn-exp-card__cancel { font-size: 12px; margin-top: 4px; }

    @media (max-width: 767px) {
        .pn-exp-card { grid-template-columns: 1fr; }
        .pn-exp-card__pricebox { border-left: 0; border-top: 1px solid var(--pn-divider); flex-direction: row; }
    }

/* === pn/pacote.blade.php (wave 2) === */
.pn-pack-sub { font-size: 15px; margin-top: 8px; }
    .pn-pack-hero {
        margin-top: var(--pn-s5);
        border-radius: var(--pn-r-md); overflow: hidden;
        height: 420px;
    }
    .pn-pack-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }

    .pn-pack-included { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pn-s3); }
    .pn-pack-included__item {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-sm);
        padding: 16px 18px;
        display: flex; gap: 14px; align-items: flex-start;
    }
    .pn-pack-included__icon {
        width: 36px; height: 36px; border-radius: 10px;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
        flex: 0 0 36px;
    }
    .pn-pack-included__t { font-size: 14px; font-weight: 500; }
    .pn-pack-included__sub { font-size: 12px; margin-top: 3px; }

    .pn-pack-itin { display: flex; flex-direction: column; }
    .pn-pack-itin__row {
        display: grid; grid-template-columns: 180px 40px 1fr;
        gap: 14px; padding: 16px 0;
        align-items: flex-start;
    }
    .pn-pack-itin__row--bordered { border-bottom: 1px solid var(--pn-divider); }
    .pn-pack-itin__day {
        font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
        padding-top: 8px;
    }
    .pn-pack-itin__icon {
        width: 36px; height: 36px; border-radius: 50%;
        background: var(--pn-gold-soft); color: var(--pn-gold-deep);
        display: grid; place-items: center;
    }
    .pn-pack-itin__title { font-size: 16px; letter-spacing: -0.01em; }
    .pn-pack-itin__sub { font-size: 13px; margin-top: 4px; line-height: 1.5; }

    .pn-pack-hotel {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        overflow: hidden;
        display: grid; grid-template-columns: 360px 1fr;
    }
    .pn-pack-hotel__img { min-height: 240px; background: var(--pn-pearl-warm); }
    .pn-pack-hotel__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-pack-hotel__body { padding: var(--pn-s5) var(--pn-s6); }
    .pn-pack-hotel__head { display: flex; align-items: center; gap: 8px; }
    .pn-pack-hotel__rbadge {
        padding: 4px 8px; background: var(--pn-ink);
        color: var(--pn-pearl); border-radius: 6px;
        font-size: 12px; font-weight: 500;
    }
    .pn-pack-hotel__name {
        font-family: var(--pn-font-display);
        font-size: 22px; margin-top: 10px;
        letter-spacing: 0.04em; text-transform: uppercase;
    }
    .pn-pack-hotel__loc { font-size: 12px; margin-top: 4px; }
    .pn-pack-hotel__desc {
        font-size: 13px; color: var(--pn-text);
        margin: 12px 0; line-height: 1.5;
    }

    .pn-pack-book__priceold {
        font-size: 14px; color: var(--pn-text-muted);
        text-decoration: line-through; margin-top: 6px;
    }
    .pn-pack-book__concierge {
        margin-top: 8px; justify-content: center;
    }

    @media (max-width: 1023px) {
        .pn-pack-included { grid-template-columns: 1fr; }
        .pn-pack-hotel { grid-template-columns: 1fr; }
    }
    @media (max-width: 767px) {
        .pn-pack-itin__row { grid-template-columns: 1fr; gap: 8px; }
        .pn-pack-itin__day { padding-top: 0; }
    }

/* === pn/pacotes.blade.php (wave 2) === */
.pn-pack-card {
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-lg);
        overflow: hidden;
        display: grid; grid-template-columns: 300px 1fr 220px;
    }
    .pn-pack-card--featured {
        background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink);
    }
    .pn-pack-card__img { position: relative; min-height: 300px; background: var(--pn-pearl-warm); }
    .pn-pack-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-pack-card__tag {
        position: absolute; top: 14px; left: 14px;
        font-family: var(--pn-font-mono); font-size: 10px; padding: 4px 8px;
        background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-pack-card__body {
        padding: var(--pn-s6) var(--pn-s6);
        display: flex; flex-direction: column;
        gap: var(--pn-s4);
    }
    .pn-pack-card__kicker {
        font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
        opacity: 0.7;
    }
    .pn-pack-card--featured .pn-pack-card__kicker { opacity: 0.6; }
    .pn-pack-card__name {
        font-family: var(--pn-font-display);
        font-size: 30px; margin-top: 6px;
        letter-spacing: 0.04em; line-height: 1.05;
        text-transform: uppercase;
    }
    .pn-pack-card__meta {
        display: flex; gap: var(--pn-s4); margin-top: 10px;
        font-size: 12px; font-family: var(--pn-font-mono);
        letter-spacing: 0.06em; text-transform: uppercase;
        opacity: 0.85; flex-wrap: wrap;
    }
    .pn-pack-card__meta span { display: flex; align-items: center; gap: 4px; }
    .pn-pack-card__includes {
        display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
    }
    .pn-pack-card__include {
        display: flex; align-items: flex-start; gap: 8px;
        font-size: 13px; line-height: 1.45;
    }
    .pn-pack-card__include > :first-child { margin-top: 3px; opacity: 0.75; flex: 0 0 auto; }
    .pn-pack-card__flags { display: flex; gap: 6px; margin-top: auto; flex-wrap: wrap; }
    .pn-pack-card__flag {
        display: inline-flex; align-items: center; gap: 6px;
        padding: 4px 9px; background: rgba(15, 11, 10, 0.06);
        color: var(--pn-text); border-radius: 6px;
        font-family: var(--pn-font-mono); font-size: 10px;
        letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-pack-card--featured .pn-pack-card__flag {
        background: rgba(245, 243, 238, 0.1); color: var(--pn-pearl);
    }
    .pn-pack-card__pricebox {
        padding: var(--pn-s6) var(--pn-s6);
        border-left: 1px solid var(--pn-divider);
        display: flex; flex-direction: column;
        justify-content: space-between; align-items: flex-end;
        min-width: 220px;
    }
    .pn-pack-card--featured .pn-pack-card__pricebox {
        border-left-color: rgba(245, 243, 238, 0.15);
    }
    .pn-pack-card__pricetext { text-align: right; }
    .pn-pack-card__pkicker {
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        opacity: 0.7;
    }
    .pn-pack-card__priceold {
        font-size: 13px; text-decoration: line-through;
        opacity: 0.6; margin-top: 6px;
    }
    .pn-pack-card__price {
        font-family: var(--pn-font-display);
        font-size: 32px; font-weight: 500;
        letter-spacing: 0.02em; margin-top: 4px; line-height: 1;
    }
    .pn-pack-card__pnote {
        font-size: 11px; letter-spacing: 0.06em; margin-top: 4px;
        opacity: 0.75;
    }

    @media (max-width: 1023px) {
        .pn-pack-card { grid-template-columns: 240px 1fr; }
        .pn-pack-card__pricebox {
            grid-column: 1 / -1;
            border-left: 0;
            border-top: 1px solid var(--pn-divider);
            flex-direction: row; align-items: center;
        }
        .pn-pack-card--featured .pn-pack-card__pricebox {
            border-top-color: rgba(245, 243, 238, 0.15);
        }
    }
    @media (max-width: 767px) {
        .pn-pack-card { grid-template-columns: 1fr; }
        .pn-pack-card__includes { grid-template-columns: 1fr; }
    }

/* === pn/restaurante.blade.php (wave 2) === */
.pn-rest-gallery { height: 520px; }
    .pn-rest-about {
        font-size: 15px; line-height: 1.65;
        color: var(--pn-text); max-width: 680px; margin: 0;
    }

    .pn-rest-dishes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pn-s3); }
    .pn-rest-dish {
        padding: 18px 20px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-sm);
    }
    .pn-rest-dish__head {
        display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;
    }
    .pn-rest-dish__name { font-size: 16px; letter-spacing: -0.01em; }
    .pn-rest-dish__price { font-size: 15px; font-weight: 500; white-space: nowrap; }
    .pn-rest-dish__sub { font-size: 12.5px; color: var(--pn-text-muted); margin-top: 6px; line-height: 1.5; }
    .pn-rest-dish__tag { margin-top: 10px; }
    .pn-rest-menu-more { margin-top: var(--pn-s4); display: inline-flex; }

    .pn-rest-book__statement {
        font-size: 22px; font-weight: 500; letter-spacing: -0.015em; margin-top: 6px;
    }
    .pn-rest-book__date {
        border: 1px solid var(--pn-divider); border-radius: 10px;
        padding: 10px 14px; font-size: 14px;
        display: flex; align-items: center; gap: 10px;
    }
    .pn-rest-book__slots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
    .pn-rest-book__slot {
        padding: 10px 4px;
        background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider); border-radius: 8px;
        font-size: 13px; font-family: var(--pn-font-mono);
        cursor: pointer;
        transition: background .15s ease, color .15s ease;
    }
    .pn-rest-book__slot:hover { border-color: var(--pn-ink); }
    .pn-rest-book__slot.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }

    .pn-rest-book__people {
        display: flex; align-items: center; justify-content: space-between;
        padding: 10px 14px;
        border: 1px solid var(--pn-divider); border-radius: 10px;
    }
    .pn-rest-book__peoplel {
        display: inline-flex; align-items: center; gap: 8px;
        font-size: 14px;
    }

    .pn-rest-book__textarea {
        width: 100%; padding: 10px 14px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: 10px; font-size: 13px;
        outline: none; resize: vertical;
        font-family: inherit;
    }
    .pn-rest-book__textarea:focus { border-color: var(--pn-emerald); }

    @media (max-width: 767px) {
        .pn-rest-dishes { grid-template-columns: 1fr; }
        .pn-rest-book__slots { grid-template-columns: repeat(4, 1fr); }
    }

/* === pn/restaurantes.blade.php (wave 2) === */
.pn-rest-card {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        display: grid; grid-template-columns: 220px 1fr;
        overflow: hidden;
    }
    .pn-rest-card__img { position: relative; min-height: 260px; background: var(--pn-pearl-warm); }
    .pn-rest-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pn-rest-card__tag {
        position: absolute; top: 14px; left: 14px;
        font-family: var(--pn-font-mono); font-size: 10px; padding: 4px 8px;
        background: var(--pn-gold); color: var(--pn-ink);
        border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase;
    }
    .pn-rest-card__body {
        padding: var(--pn-s5); display: flex; flex-direction: column;
        gap: var(--pn-s3); min-width: 0;
    }
    .pn-rest-card__top {
        display: flex; justify-content: space-between; align-items: flex-start; gap: var(--pn-s4);
    }
    .pn-rest-card__meta { min-width: 0; flex: 1; }
    .pn-rest-card__loc {
        font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
        display: flex; align-items: center; gap: 6px;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-rest-card__name {
        font-family: var(--pn-font-display);
        font-size: 22px; margin-top: 6px;
        letter-spacing: 0.04em; text-transform: uppercase;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .pn-rest-card__rating { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
    .pn-rest-card__rating-text { text-align: right; }
    .pn-rest-card__rating-label { font-size: 13px; font-weight: 500; }
    .pn-rest-card__rating-reviews { font-size: 11px; color: var(--pn-text-muted); margin-top: 2px; }
    .pn-rest-card__rbadge {
        padding: 6px 10px; background: var(--pn-ink);
        color: var(--pn-pearl); border-radius: 6px;
        font-size: 14px; font-weight: 500;
    }
    .pn-rest-card__desc {
        font-size: 13px; color: var(--pn-text); line-height: 1.5;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
        overflow: hidden; margin: 0;
    }
    .pn-rest-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
    .pn-rest-card__slots {
        margin-top: auto; padding-top: var(--pn-s3);
        border-top: 1px solid var(--pn-divider);
    }
    .pn-rest-card__slotshead {
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: 10px; font-size: 12px;
        letter-spacing: 0.08em; text-transform: uppercase;
        flex-wrap: wrap; gap: 8px;
    }
    .pn-rest-card__slotrow { display: flex; gap: 6px; flex-wrap: wrap; }
    .pn-rest-card__slot {
        padding: 10px 14px; background: #fff; color: var(--pn-ink);
        border: 1px solid var(--pn-divider); border-radius: 8px;
        font-family: var(--pn-font-mono); font-size: 13px;
        cursor: pointer; text-decoration: none;
        transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .pn-rest-card__slot:hover { border-color: var(--pn-ink); }
    .pn-rest-card__slot.is-active {
        background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink);
    }
    .pn-rest-card__slot-more {
        display: inline-flex; align-items: center;
        padding: 10px 14px; background: transparent; color: var(--pn-text-muted);
        border: 1px dashed var(--pn-divider); border-radius: 8px;
        font-size: 12px;
    }

    @media (max-width: 767px) {
        .pn-rest-card { grid-template-columns: 1fr; }
        .pn-rest-card__top { flex-direction: column; gap: var(--pn-s3); }
    }

/* === pn/voo.blade.php (wave 2) === */
/* Voo reuses pn-hotel skeleton; only voo-specific overrides here */
    .pn-voo-airline { text-align: right; }
    .pn-voo-airline__name { font-size: 14px; font-weight: 500; }
    .pn-voo-airline__sub { font-size: 12px; margin-top: 4px; }

    .pn-voo-gallery {
        margin-top: var(--pn-s5);
        display: grid; grid-template-columns: 2fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 8px; height: 420px;
    }
    .pn-voo-gallery .pn-hotel-gallery__cell {
        border-radius: var(--pn-r-md); overflow: hidden;
        position: relative; background: var(--pn-pearl-warm);
    }
    .pn-voo-gallery .pn-hotel-gallery__cell--big { grid-row: span 2; }
    .pn-voo-gallery .pn-hotel-gallery__cell img {
        width: 100%; height: 100%; object-fit: cover; display: block;
    }

    /* Classes selector */
    .pn-voo-classes { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pn-s3); }
    .pn-voo-class {
        padding: var(--pn-s5);
        background: #fff; color: var(--pn-ink);
        border: 1.5px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        cursor: pointer;
        display: flex; flex-direction: column; gap: var(--pn-s3);
        transition: border-color .15s ease, background .15s ease;
    }
    .pn-voo-class:hover { border-color: var(--pn-ink); }
    .pn-voo-class.is-active { background: var(--pn-ink); color: var(--pn-pearl); border-color: var(--pn-ink); }
    .pn-voo-class__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; }
    .pn-voo-class__kicker { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.75; }
    .pn-voo-class__name {
        font-family: var(--pn-font-display);
        font-size: 20px; margin-top: 4px;
        letter-spacing: 0.04em; text-transform: uppercase;
    }
    .pn-voo-class__sub { font-size: 12.5px; line-height: 1.5; opacity: 0.85; }
    .pn-voo-class__foot {
        padding-top: 12px;
        border-top: 1px solid currentColor;
        opacity: 1;
        display: flex; align-items: center; justify-content: space-between;
        border-top-color: var(--pn-divider);
    }
    .pn-voo-class.is-active .pn-voo-class__foot { border-top-color: rgba(245, 243, 238, 0.15); }
    .pn-voo-class__foot .pn-mono { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.75; }
    .pn-voo-class__price {
        font-family: var(--pn-font-display);
        font-size: 18px; font-weight: 500; letter-spacing: 0.02em;
    }

    /* Legs */
    .pn-voo-legs { display: flex; flex-direction: column; gap: var(--pn-s4); }
    .pn-voo-leg {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        padding: var(--pn-s6);
    }
    .pn-voo-leg__head {
        display: flex; align-items: center; justify-content: space-between;
        margin-bottom: var(--pn-s5); gap: var(--pn-s3); flex-wrap: wrap;
    }
    .pn-voo-leg__kicker { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
    .pn-voo-leg__sub { font-size: 14px; margin-top: 6px; }
    .pn-voo-leg__row {
        display: grid; grid-template-columns: 1fr auto 1fr;
        gap: var(--pn-s5); align-items: center;
    }
    .pn-voo-leg__time {
        font-family: var(--pn-font-display);
        font-size: 36px; font-weight: 500;
        letter-spacing: 0.02em; line-height: 1;
    }
    .pn-voo-leg__plus1 { font-size: 14px; margin-left: 6px; }
    .pn-voo-leg__airport { font-size: 18px; margin-top: 8px; }
    .pn-voo-leg__city { font-size: 12px; margin-top: 3px; }
    .pn-voo-leg__center { text-align: center; padding: 0 var(--pn-s4); }
    .pn-voo-leg__dur { font-size: 11px; letter-spacing: 0.1em; margin-bottom: 8px; text-transform: uppercase; }
    .pn-voo-leg__rail { display: flex; align-items: center; gap: 6px; justify-content: center; }
    .pn-voo-leg__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pn-ink); }
    .pn-voo-leg__line { width: 100px; height: 1px; background: var(--pn-divider); }
    .pn-voo-leg__nostops { font-size: 11px; letter-spacing: 0.06em; margin-top: 8px; }
    .pn-voo-leg__right { text-align: right; }
    .pn-voo-leg__foot {
        display: flex; gap: var(--pn-s5); margin-top: var(--pn-s5);
        padding-top: var(--pn-s5); border-top: 1px solid var(--pn-divider);
        font-size: 12px; color: var(--pn-text); flex-wrap: wrap;
    }
    .pn-voo-leg__foot span { display: flex; align-items: center; gap: 6px; }

    /* A bordo grid */
    .pn-voo-aboard { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pn-s3); }
    .pn-voo-aboard__item {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-sm);
        padding: 14px 16px;
        display: flex; gap: 12px; align-items: flex-start;
    }
    .pn-voo-aboard__l { font-size: 13px; font-weight: 500; }
    .pn-voo-aboard__v { font-size: 11px; margin-top: 3px; line-height: 1.4; }

    /* Seatmap */
    .pn-voo-seatmap {
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-md);
        padding: var(--pn-s7) var(--pn-s5);
    }
    .pn-voo-seatmap__inner {
        display: flex; justify-content: center; align-items: flex-start;
        gap: var(--pn-s7); font-size: 11px;
    }
    .pn-voo-seatmap__legend {
        display: flex; flex-direction: column; gap: 8px;
        font-size: 11px; color: var(--pn-text-muted); letter-spacing: 0.06em;
    }
    .pn-voo-seatmap__legend > span { display: flex; align-items: center; gap: 6px; }
    .pn-voo-seat {
        width: 14px; height: 14px; border-radius: 3px;
        background: #fff; border: 1px solid var(--pn-divider);
        display: inline-block;
    }
    .pn-voo-seat--premium { background: rgba(195, 162, 86, 0.25); border-color: var(--pn-gold); }
    .pn-voo-seat--taken { background: rgba(15, 11, 10, 0.15); border-color: transparent; }
    .pn-voo-seat--mine { background: var(--pn-ink); border-color: transparent; }

    .pn-voo-seatgrid {
        display: grid;
        grid-template-columns: auto repeat(3, 24px) 14px repeat(3, 24px);
        gap: 6px;
    }
    .pn-voo-seatgrid__col { text-align: center; color: var(--pn-text-muted); }
    .pn-voo-seatgrid__row { color: var(--pn-text-muted); line-height: 24px; }
    .pn-voo-seatgrid .pn-voo-seat { width: 24px; height: 24px; }
    .pn-voo-seatgrid__aisle { width: 14px; }
    .pn-voo-seatmap__foot {
        margin-top: var(--pn-s5); padding-top: var(--pn-s4);
        border-top: 1px solid var(--pn-divider);
        display: flex; align-items: center; justify-content: space-between;
        font-size: 13px; gap: var(--pn-s3); flex-wrap: wrap;
    }

    /* Policy */
    .pn-voo-policy { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pn-s3); }
    .pn-voo-policy__item {
        padding: 16px 18px;
        background: #fff; border: 1px solid var(--pn-divider);
        border-radius: var(--pn-r-sm);
    }
    .pn-voo-policy__l { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
    .pn-voo-policy__v { font-size: 13.5px; margin-top: 6px; line-height: 1.5; }

    @media (max-width: 1023px) {
        .pn-voo-classes { grid-template-columns: 1fr; }
        .pn-voo-aboard { grid-template-columns: repeat(2, 1fr); }
        .pn-voo-policy { grid-template-columns: 1fr; }
        .pn-voo-seatmap__inner { flex-direction: column; align-items: center; gap: var(--pn-s5); }
    }
    @media (max-width: 767px) {
        .pn-voo-leg__row { grid-template-columns: 1fr; gap: var(--pn-s4); }
        .pn-voo-leg__right { text-align: left; }
        .pn-voo-aboard { grid-template-columns: 1fr; }
        .pn-voo-leg__time { font-size: 28px; }
    }
