.biptc-grid{--bip-ink:#28302d;--bip-muted:#68706c;--bip-white:#fff;--bip-soft:#e9e7df;--bip-accent:#9b624c;--bip-accent-dark:#744635;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;width:100%;font-family:Cabin,sans-serif}.biptc-cols-1{grid-template-columns:1fr}.biptc-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.biptc-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.biptc-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.biptc-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(40,48,45,.08);transition:transform .2s ease,box-shadow .2s ease;min-width:0;display:flex;flex-direction:column}.biptc-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(40,48,45,.13)}.biptc-media{display:block;position:relative;aspect-ratio:16/9;background:#e9e7df;overflow:hidden;text-decoration:none}.biptc-destination-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.biptc-card:hover .biptc-destination-image{transform:scale(1.035)}.biptc-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#eeeae0,#dad7cd);display:flex;align-items:center;justify-content:center;color:#68706c;font-size:13px}.biptc-book-cover{position:absolute;left:18px;bottom:-2px;width:72px;height:102px;object-fit:cover;border-radius:3px;box-shadow:0 5px 18px rgba(0,0,0,.25);border:3px solid #fff;background:#fff}.biptc-status{position:absolute;top:14px;right:14px;background:#2f7d4a;color:#fff;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 3px 12px rgba(40,48,45,.11)}.biptc-status-full{background:#c43d3d!important;color:#fff!important}.biptc-card-body{padding:25px 21px 21px;display:flex;flex-direction:column;flex:1}.biptc-meta{color:#68706c;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;line-height:1.4}.biptc-card h3{font-size:22px;line-height:1.15;letter-spacing:-.02em;margin:0 0 7px;color:#28302d}.biptc-card h3 a{color:inherit;text-decoration:none}.biptc-book{font-size:14px;line-height:1.4;font-weight:700;color:#744635;margin-bottom:10px}.biptc-book span{font-weight:400;color:#68706c}.biptc-card p{font-size:13.5px;line-height:1.55;color:#68706c;margin:0 0 16px}.biptc-link{margin-top:auto;color:#744635;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:7px}.biptc-link span{transition:transform .18s ease}.biptc-link:hover{color:#9b624c}.biptc-link:hover span{transform:translateX(3px)}@media(max-width:1000px){.biptc-grid,.biptc-cols-3,.biptc-cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}@media(max-width:700px){.biptc-grid,.biptc-cols-2,.biptc-cols-3,.biptc-cols-4{grid-template-columns:1fr;gap:24px}.biptc-card-body{padding:21px 19px 19px}.biptc-media{aspect-ratio:16/9}.biptc-book-cover{width:70px;height:99px;left:15px}.biptc-card h3{font-size:21px}}


/* Trip region filter */
.biptc-filter{max-width:1180px;margin:0 auto 42px;padding:0 24px;box-sizing:border-box;font-family:Cabin,sans-serif}.biptc-filter-heading{margin:0 0 14px;color:#28302d;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.biptc-filter-options{display:flex;flex-wrap:wrap;gap:10px}.biptc-filter-option{display:inline-flex;align-items:center;cursor:pointer}.biptc-filter-option input{position:absolute;opacity:0;pointer-events:none}.biptc-filter-option span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid #d9d6cc;border-radius:999px;background:#fff;color:#68706c;font-size:14px;font-weight:700;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.biptc-filter-option:hover span{border-color:#9b624c;color:#744635;transform:translateY(-1px)}.biptc-filter-option input:checked+span{background:#28302d;border-color:#28302d;color:#fff}.biptc-filter-option input:focus-visible+span{outline:2px solid #9b624c;outline-offset:2px}@media(max-width:700px){.biptc-filter{padding-left:18px;padding-right:18px;margin-bottom:30px}.biptc-filter-options{gap:8px}.biptc-filter-option span{min-height:40px;padding:0 15px;font-size:13px}}

/* v0.6.1: larger status badges and more prominent Explore trip CTA */
.biptc-status{
    top:14px;
    right:14px;
    padding:7px 12px;
    font-size:12px;
    line-height:1.2;
    letter-spacing:.055em;
}

.biptc-link{
    width:100%;
    box-sizing:border-box;
    justify-content:center;
    margin-top:auto;
    padding:12px 15px;
    border:1px solid #744635;
    border-radius:4px;
    background:#fff;
    color:#744635 !important;
    font-size:14px;
    line-height:1.2;
    letter-spacing:.01em;
    transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.biptc-link:hover{
    background:#744635;
    border-color:#744635;
    color:#fff !important;
    transform:translateY(-1px);
}

.biptc-link span{
    transition:transform .18s ease;
}

.biptc-link:hover span{
    transform:translateX(4px);
}

.biptc-filter{
    max-width:1180px;
    margin:0 auto 42px;
    padding:0 24px;
    box-sizing:border-box;
    font-family:Cabin,sans-serif;
}

.biptc-filter-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
}

.biptc-filter-heading{
    margin:0;
    color:#28302d;
    font-size:15px;
    font-weight:700;
    letter-spacing:.04em;
}

.biptc-filter-clear{
    color:#744635;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}

.biptc-filter-clear:hover{
    color:#9b624c;
}

.biptc-filter-options{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}

.biptc-filter-option{
    position:relative;
    display:inline-flex;
    align-items:center;
    cursor:pointer;
}

.biptc-filter-option input{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
}

.biptc-filter-option span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border:1px solid #d9d6cc;
    border-radius:999px;
    background:#fff;
    color:#28302d;
    font-size:14px;
    font-weight:700;
    transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.biptc-filter-option span::before{
    content:"";
    width:16px;
    height:16px;
    margin-right:9px;
    border:1.5px solid #b8b4aa;
    border-radius:3px;
    background:#fff;
    box-sizing:border-box;
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.biptc-filter-option:hover span{
    border-color:#9b624c;
    color:#744635;
    transform:translateY(-1px);
}

.biptc-filter-option input:checked + span{
    background:#28302d;
    border-color:#28302d;
    color:#fff;
}

.biptc-filter-option input:checked + span::before{
    border-color:#fff;
    background:#fff;
    box-shadow:inset 0 0 0 3px #28302d;
}

.biptc-filter-option input:focus-visible + span{
    outline:2px solid #9b624c;
    outline-offset:2px;
}

.biptc-filter-apply{
    min-height:44px;
    padding:0 20px;
    border:1px solid #744635;
    border-radius:4px;
    background:#744635;
    color:#fff;
    font-family:Cabin,sans-serif;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
}

.biptc-filter-apply:hover{
    background:#9b624c;
    transform:translateY(-1px);
}

@media(max-width:700px){
    .biptc-filter{
        padding-left:18px;
        padding-right:18px;
        margin-bottom:30px;
    }
    .biptc-filter-top{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
    .biptc-filter-options{
        gap:8px;
    }
    .biptc-filter-option span{
        min-height:42px;
        padding:0 14px;
        font-size:13px;
    }
    .biptc-filter-apply{
        width:100%;
        min-height:44px;
    }
}


/* v0.6.2: availability filter */
.biptc-filter-option input[name="biptc_availability"]:checked + span{
    background:#744635;
    border-color:#744635;
    color:#fff;
}

.biptc-filter-option input[name="biptc_availability"]:checked + span::before{
    border-color:#fff;
    background:#fff;
    box-shadow:inset 0 0 0 3px #744635;
}
