.pb-front-page {
    --pb-front-primary: #2563eb;
    --pb-front-text: #172033;
    --pb-front-muted: #667085;
    --pb-front-border: #e5ecf5;
    --pb-front-card: #ffffff;
}

.pb-heading,
.pb-block-title,
.pb-section-title {
    color: var(--pb-front-text);
    font-weight: 900;
    letter-spacing: -.025em;
    margin: 0 0 18px;
}

.pb-heading {
    margin: 24px 0 14px;
}

.pb-heading-hero {
    font-size: clamp(32px, 5vw, 58px);
    line-height: 1.05;
}

.pb-heading-small {
    font-size: 18px;
    letter-spacing: .02em;
}

.pb-paragraph {
    color: var(--pb-front-muted);
    font-size: 16px;
    line-height: 1.9;
    margin: 0 0 22px;
}

.pb-section-block {
    margin: 28px 0;
    border-radius: 28px;
    overflow: hidden;
}

.pb-section-subtitle {
    color: inherit;
    opacity: .76;
    max-width: 760px;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.pb-image {
    margin: 24px 0;
}

.pb-image img,
.pb-gallery-item img,
.pb-trip-image img,
.pb-tax-image img {
    display: block;
    width: 100%;
    height: auto;
}

.pb-image-rounded img {
    border-radius: 24px;
}

.pb-image-card {
    padding: 12px;
    border: 1px solid var(--pb-front-border);
    border-radius: 26px;
    background: var(--pb-front-card);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.pb-image-card img {
    border-radius: 18px;
}

.pb-image figcaption,
.pb-gallery-item figcaption {
    margin-top: 10px;
    color: var(--pb-front-muted);
    text-align: center;
    font-size: 14px;
}

.pb-button-wrap {
    margin: 22px 0;
}

.pb-button,
.pb-trip-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 20px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    transition: all .2s ease;
}

.pb-button:hover,
.pb-trip-button:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.pb-button-primary,
.pb-trip-button {
    background: var(--pb-front-primary);
    color: #ffffff;
}

.pb-button-secondary {
    background: #eef4ff;
    color: var(--pb-front-primary);
}

.pb-button-outline {
    border: 1px solid var(--pb-front-primary);
    color: var(--pb-front-primary);
    background: transparent;
}

.pb-button-dark {
    background: #111827;
    color: #ffffff;
}

.pb-trip-grid,
.pb-card-grid,
.pb-gallery-grid {
    display: grid;
    gap: 22px;
}

.pb-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.pb-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pb-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pb-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pb-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pb-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.pb-trips-block,
.pb-taxonomy-block,
.pb-gallery-block,
.pb-faq-block,
.pb-video-block {
    margin: 34px 0;
}

.pb-trip-card,
.pb-tax-card,
.pb-gallery-item {
    background: var(--pb-front-card);
    border: 1px solid var(--pb-front-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

.pb-trip-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3f6fb;
}

.pb-trip-image img,
.pb-tax-image img,
.pb-gallery-item img {
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.pb-trip-card:hover img,
.pb-tax-card:hover img,
.pb-gallery-item:hover img {
    transform: scale(1.035);
}

.pb-trip-content {
    padding: 18px;
}

.pb-trip-content h3 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.35;
}

.pb-trip-content h3 a,
.pb-tax-card {
    color: var(--pb-front-text);
    text-decoration: none;
}

.pb-trip-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    color: var(--pb-front-muted);
    font-size: 13px;
}

.pb-trip-meta span {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f8fbff;
    border: 1px solid var(--pb-front-border);
}

.pb-tax-card {
    display: block;
    position: relative;
    min-height: 150px;
}

.pb-tax-image {
    display: block;
    aspect-ratio: 4 / 3;
    background: #f3f6fb;
    overflow: hidden;
}

.pb-tax-title {
    display: block;
    padding: 14px 16px;
    font-weight: 900;
}

.pb-gallery-item {
    margin: 0;
}

.pb-gallery-item img {
    aspect-ratio: 4 / 3;
}

.pb-faq-item {
    border: 1px solid var(--pb-front-border);
    border-radius: 18px;
    padding: 0;
    margin-bottom: 12px;
    background: var(--pb-front-card);
    overflow: hidden;
}

.pb-faq-item summary {
    cursor: pointer;
    padding: 16px 18px;
    color: var(--pb-front-text);
    font-weight: 900;
}

.pb-faq-answer {
    padding: 0 18px 18px;
    color: var(--pb-front-muted);
    line-height: 1.8;
}

.pb-video-frame {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: #111827;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .1);
}

.pb-ratio-16x9 { aspect-ratio: 16 / 9; }
.pb-ratio-4x3 { aspect-ratio: 4 / 3; }
.pb-ratio-1x1 { aspect-ratio: 1 / 1; }

.pb-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.pb-divider {
    width: 100%;
    height: 1px;
    background: var(--pb-front-border);
}

.pb-divider-dots {
    height: 8px;
    background: radial-gradient(circle, var(--pb-front-primary) 2px, transparent 3px) center / 16px 8px repeat-x;
}

@media (max-width: 991px) {
    .pb-cols-4,
    .pb-cols-5,
    .pb-cols-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .pb-cols-2,
    .pb-cols-3,
    .pb-cols-4,
    .pb-cols-5,
    .pb-cols-6 {
        grid-template-columns: 1fr;
    }
}

/* Clearer default borders for any builder front forms/fields */
.pb-builder-content .form-control,
.pb-builder-content .form-select,
.pb-builder-content input,
.pb-builder-content textarea,
.pb-builder-content select {
    border: 1.5px solid #aebbd0;
}

/* Advanced builder frontend */
.pb-front-page{--pb-front-radius:24px;--pb-front-section-spacing:34px;--pb-front-container-width:1200px;--pb-front-button-radius:999px}.pb-section-block,.pb-trips-block,.pb-taxonomy-block,.pb-gallery-block,.pb-faq-block,.pb-video-block,.pb-columns-block{margin:var(--pb-front-section-spacing) 0}.pb-front-page .container{max-width:var(--pb-front-container-width)}.pb-button,.pb-trip-button{border-radius:var(--pb-front-button-radius)}.category-card,.featured-tour-card,.pb-gallery-item,.pb-faq-item{border-radius:var(--pb-front-radius)}
.pb-columns-grid{display:grid;grid-template-columns:repeat(var(--pb-desktop-cols,2),minmax(0,1fr));gap:var(--pb-columns-gap,24px)}.pb-column>*:first-child{margin-top:0}.pb-column>*:last-child{margin-bottom:0}
.pb-gallery-grid,.featured-tours-grid,.category-grid{grid-template-columns:repeat(var(--pb-desktop-cols,3),minmax(0,1fr))}.pb-gallery-item a{display:block}.pb-gallery-item img{width:100%;height:100%;object-fit:cover}.pb-image .pb-lightbox-link{display:block}.pb-lightbox-link{cursor:zoom-in}.pb-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(2,6,23,.92);display:flex;align-items:center;justify-content:center;padding:28px}.pb-lightbox[hidden]{display:none}.pb-lightbox img{max-width:min(1100px,90vw);max-height:82vh;object-fit:contain;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.35)}.pb-lightbox-close,.pb-lightbox-prev,.pb-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.pb-lightbox-close{top:24px;right:24px;width:44px;height:44px;font-size:30px}.pb-lightbox-prev,.pb-lightbox-next{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:26px}.pb-lightbox-prev{left:24px}.pb-lightbox-next{right:24px}.pb-lightbox-caption{position:absolute;left:24px;right:24px;bottom:20px;text-align:center;color:#fff;font-weight:700}.pb-lightbox-open{overflow:hidden}.pb-paragraph a{color:var(--pb-front-primary);font-weight:700}.pb-paragraph ul,.pb-paragraph ol{padding-inline-start:24px}
.pb-hide-desktop{display:none!important}@media (max-width:991px){.pb-hide-desktop{display:initial!important}.pb-hide-tablet{display:none!important}.pb-columns-grid,.pb-gallery-grid,.featured-tours-grid,.category-grid{grid-template-columns:repeat(var(--pb-tablet-cols,2),minmax(0,1fr))}}@media (max-width:575px){.pb-hide-tablet{display:initial!important}.pb-hide-mobile{display:none!important}.pb-columns-grid,.pb-gallery-grid,.featured-tours-grid,.category-grid{grid-template-columns:repeat(var(--pb-mobile-cols,1),minmax(0,1fr))}.pb-lightbox{padding:16px}.pb-lightbox-prev{left:10px}.pb-lightbox-next{right:10px}.pb-lightbox-close{top:12px;right:12px}}
