/* ================================================================
   PACKAGE CATEGORIES / TRAVEL STYLES LISTING
   ================================================================ */

:root {
    --pc-green:#123f32;
    --pc-green-dark:#092f28;
    --pc-orange:#e6672f;
    --pc-cream:#fbf7ef;
    --pc-paper:#fffdf9;
    --pc-text:#17282d;
    --pc-muted:#73807c;
    --pc-border:#e1e6e1;
    --pc-width:1320px;
    --pc-serif:"DM Serif Display",Georgia,serif;
    --pc-sans:"DM Sans",sans-serif;
}

.package-category-h1 {
    color: "#fff"
}

.package-category-h2 {
    color: "#fff"
}

.package-categories-page {
    color:var(--pc-text);
    font-family:var(--pc-sans);
}

.package-categories-page * {
    box-sizing:border-box;
}

.package-categories-page img {
    display:block;
    max-width:100%;
}

.package-categories-page a {
    color:inherit;
    text-decoration:none;
}

.package-categories-container {
    width:min(calc(100% - 48px),var(--pc-width));
    margin-inline:auto;
}

.package-categories-hero {
    min-height:500px;
    position:relative;
    overflow:hidden;
    background:var(--pc-green-dark);
}

.package-categories-hero-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.package-categories-hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(5,35,29,.94),rgba(5,35,29,.6) 48%,rgba(5,35,29,.14) 78%);
}

.package-categories-hero-content {
    min-height:500px;
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
}

.package-categories-breadcrumb {
    margin-bottom:35px;
    display:flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.68);
    font-size:12px;
}

.package-categories-eyebrow,
.package-categories-kicker {
    display:block;
    margin-bottom:9px;
    color:var(--pc-orange);
    font-size:11px;
    font-weight:800;
    letter-spacing:.2em;
    text-transform:uppercase;
}

.package-categories-hero h1 {
    max-width:820px;
    margin:0;
    font-family:var(--pc-serif);
    font-size:clamp(58px,6vw,88px);
    font-weight:400;
    line-height:.95;
}

.package-categories-hero-content > p {
    max-width:650px;
    margin:20px 0 25px;
    color:rgba(255,255,255,.8);
    font-size:15px;
    line-height:1.7;
}

.package-categories-primary-button,
.package-categories-light-button {
    width:max-content;
    min-height:48px;
    padding:0 20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:6px;
    font-size:13px;
    font-weight:700;
}

.package-categories-primary-button {
    background:var(--pc-orange);
    color:#fff!important;
}

.package-categories-light-button {
    background:#fff;
    color:var(--pc-green)!important;
}

.package-categories-intro {
    padding:70px 0;
    background:var(--pc-paper);
}

.package-categories-intro-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
    align-items:start;
}

.package-categories-intro h2 {
    margin:0;
    font-family:var(--pc-serif);
    font-size:44px;
    font-weight:400;
    line-height:1;
}

.package-categories-intro-grid > div:last-child p {
    margin:0 0 14px;
    color:var(--pc-muted);
    font-size:14px;
    line-height:1.8;
}

.package-categories-section {
    padding:80px 0;
    background:var(--pc-cream);
}

.package-categories-heading-row {
    margin-bottom:30px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
}

.package-categories-heading-row h2 {
    margin:0;
    font-family:var(--pc-serif);
    font-size:42px;
    font-weight:400;
}

.package-categories-search {
    min-width:300px;
    min-height:46px;
    padding:0 14px;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid var(--pc-border);
    border-radius:7px;
    background:#fff;
}

.package-categories-search i {
    color:var(--pc-green);
}

.package-categories-search input {
    width:100%;
    border:0;
    outline:0;
}

.package-categories-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.package-categories-card {
    overflow:hidden;
    border:1px solid var(--pc-border);
    border-radius:10px;
    background:#fff;
    box-shadow:0 8px 24px rgba(20,55,45,.04);
}

.package-categories-card[hidden] {
    display:none!important;
}

.package-categories-card-image {
    height:220px;
    position:relative;
    display:block;
    overflow:hidden;
    background:var(--pc-green-dark);
}

.package-categories-card-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s;
}

.package-categories-card:hover img {
    transform:scale(1.05);
}

.package-categories-card-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(5,30,25,.75),rgba(5,30,25,.03) 68%);
}

.package-categories-card-icon {
    width:48px;
    height:48px;
    position:absolute;
    left:14px;
    bottom:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--pc-green);
    font-size:20px;
}

.package-categories-package-count {
    position:absolute;
    right:12px;
    top:12px;
    padding:6px 9px;
    border-radius:18px;
    background:rgba(255,255,255,.94);
    color:var(--pc-text);
    font-size:10px;
    font-weight:700;
}

.package-categories-card-content {
    padding:18px;
}

.package-categories-card-content h3 {
    margin:0 0 8px;
    font-family:var(--pc-serif);
    font-size:24px;
    font-weight:400;
}

.package-categories-card-content p {
    min-height:78px;
    margin:0 0 14px;
    color:var(--pc-muted);
    font-size:12px;
    line-height:1.65;
}

.package-categories-card-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--pc-green)!important;
    font-size:12px;
    font-weight:700;
}

.package-categories-empty {
    display:none;
    padding:70px 20px;
    text-align:center;
}

.package-categories-empty.show {
    display:block;
}

.package-categories-empty i {
    color:var(--pc-green);
    font-size:46px;
}

.package-categories-empty h3 {
    margin:15px 0 5px;
    font-family:var(--pc-serif);
    font-size:28px;
    font-weight:400;
}

.package-categories-empty p {
    color:var(--pc-muted);
}

.package-categories-custom {
    padding:65px 0;
    background:var(--pc-green-dark);
    color:#fff;
}

.package-categories-custom-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.package-categories-kicker-light {
    color:#efb386;
}

.package-categories-custom h2 {
    margin:0;
    font-family:var(--pc-serif);
    font-size:40px;
    font-weight:400;
}

.package-categories-custom p {
    max-width:750px;
    margin:10px 0 0;
    color:rgba(255,255,255,.68);
    line-height:1.65;
}

@media(max-width:1100px) {
    .package-categories-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:720px) {
    .package-categories-container {
        width:min(calc(100% - 28px),var(--pc-width));
    }

    .package-categories-hero,
    .package-categories-hero-content {
        min-height:540px;
    }

    .package-categories-hero h1 {
        font-size:52px;
    }

    .package-categories-intro-grid,
    .package-categories-grid {
        grid-template-columns:1fr;
    }

    .package-categories-heading-row,
    .package-categories-custom-inner {
        display:block;
    }

    .package-categories-search {
        min-width:0;
        margin-top:18px;
    }

    .package-categories-custom .package-categories-light-button {
        margin-top:20px;
    }
}
