
main {
    background-color: var(--white-warm);
}

/* ── THUMBNAIL STRIP ────────────────────────────────────────────── */
.bpt-strip {
    display: flex;
    gap: 6px;
    padding: 10px 60px;
    background: var(--ink-900);
    border-bottom: 0.5px solid var(--ink-100);
    overflow-x: auto;
}
.bpt-strip::-webkit-scrollbar{height:3px;}
.bpt-strip::-webkit-scrollbar-thumb{background:var(--gold-300);}
.bpt-thumb{
    width:88px;height:60px;flex-shrink:0;
    border:1.5px solid transparent;
    overflow:hidden;cursor:pointer;transition:border-color .2s;
    position:relative;
}
.bpt-thumb:hover,.bpt-thumb.active{border-color: var(--gold-400);}
.bpt-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.bpt-thumb-video{
    background:var(--ink-400);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
}
.bpt-thumb-video svg{color: var(--gold-400);}
.bpt-thumb-video span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-100);}
.bpt-thumb-count{
    background:rgba(0,0,0,.5);
    display:flex;align-items:center;justify-content:center;
    /* font-size:12px; */
    color: var(--white-warm);
}

/* ── MAIN LAYOUT: contenido + sidebar ──────────────────────────── */
.bpt-layout{
    display:grid;
    grid-template-columns:1fr 360px;gap:0;
    max-width:1280px;
    margin:0 auto;
    padding:0 60px;
    align-items:start;
}
.bpt-content{
    display: flex;
    flex-direction:column;
    gap:5rem;
    padding:52px 60px 80px 0;
}
.bpt-sidebar{
    padding:40px 0 80px 48px;
    border-left:0.5px solid var(--gold-300);
}

/* ── CONTENIDO ──────────────────────────────────────────────────── */
.bpt-section-label{
    font-size:clamp(13px, calc(0.1rem + 1svh), 16px);
    letter-spacing:.18em;text-transform:uppercase;
    color: var(--gold-400);margin-bottom:10px;
    display:flex;align-items:center;gap:8px;
}
.bpt-section-label::before{content:'';display:block;width:20px;height:0.5px;background:var(--gold);}
.bpt-content h2{
    font-family:var(--font-serif);
    font-size:clamp(34px, calc(1rem + 2svh), 48px);
    font-weight:300;
    color:var(--ink-400);
    line-height:1.2;
    margin-bottom:20px;
}
.bpt-description{
    /* font-size:15px; */
    font-size:clamp(15px, calc(0.1rem + 1svh), 18px);
    color:var(--text-mid);
    line-height:1.85;
    margin-bottom:44px;}

/* Highlights */
.bpt-highlights{margin-bottom:44px;}
.bpt-highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.bpt-highlight-item{
    display:flex;align-items:flex-start;gap:10px;
    padding:12px 14px;
    border:0.5px solid var(--gold-300);
    border-radius: var(--border-radius-sm);
}
.bpt-highlight-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--gold-400);
    flex-shrink:0;
    margin-top:7px;
}
.bpt-highlight-text{
    font-size:clamp(13.5px, calc(0.1rem + 2svh), 16px);
    color:var(--ink-400);
    line-height:1.5;}

/* Includes / Excludes */
.bpt-inc-exc{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px;}
.bpt-inc-block,.bpt-exc-block{padding:24px;}
.bpt-inc-block{
    background:var(--cream);
    border:0.5px solid var(--gold-300); 
    border-radius: var(--border-radius-sm);
}
.bpt-exc-block{
    background:var(--white-warm);
    border:0.5px solid var(--gold-300);
    border-radius: var(--border-radius-sm);
}
.bpt-inc-block h3,.bpt-exc-block h3{
    font-size:clamp(12px, calc(0.1rem + 2svh), 18px);
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:14px;
}
.bpt-inc-block h3{color:var(--ink-400);}
.bpt-exc-block h3{color: var(--ink-500);}
.bpt-list{list-style:none;}
.bpt-list li{
    font-size:clamp(13.5px, calc(0.1rem + 2svh), 16px);
    color:var(--ink-400);
    padding:6px 0;
    border-bottom:0.5px solid var(--gold-300);
    display:flex;
    align-items:flex-start;
    gap:8px;
    line-height:1.4;
}
.bpt-list li:last-child{border-bottom:none;}
.bpt-list-icon{flex-shrink:0;margin-top:2px;}
.inc-icon{color:#4A9E72;}
.exc-icon{color:var(--ink-100);}

/* Meeting point */
.bpt-meeting{
    display:flex;align-items:flex-start;gap:14px;
    padding:20px 22px;border:0.5px solid var(--gold-300);
    margin-bottom:44px;
    border-radius: var(--border-radius-sm);
}
.bpt-meeting-icon{color: var(--gold-400);flex-shrink:0;margin-top:2px;}
.bpt-meeting-label{
    font-size:clamp(11px, calc(0.1rem + 0.7svh), 13px);
    letter-spacing:.08em;
    text-transform:uppercase;
    color: var(--ink-500);
    margin-bottom:4px;}
.bpt-meeting-value{
    font-size:clamp(14px, calc(0.1rem + 2svh), 16px);
    color:var(--ink-400);}

/* Video section */
.bpt-video-section{margin-bottom:44px;}
.bpt-video-wrapper{
    position:relative;padding-top:56.25%;
    background:var(--ink-400);margin-top:16px;
}
.bpt-video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}

/* ── SIDEBAR ────────────────────────────────────────────────────── */
.bpt-sticky-card{
    position:sticky;top:90px;
}
.bpt-price-card{
    border:0.5px solid var(--gold-300);
    background:var(--white-warm);;
    margin-bottom:12px;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}
.bpt-price-card-head{
    background:var(--ink-400);padding:20px 22px;
}
.bpt-price-from{
    font-size:clamp(11px, calc(0.1rem + 0.7svh), 13px);
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink-100);
    margin-bottom:4px;
}
.bpt-price-amount{
    font-family:var(--font-sans);
    font-size:clamp(42px, calc(0.1rem + 2svh), 54px);
    font-weight:300;color:var(--gold-100);line-height:1;
}
.bpt-price-amount small{
    font-size:clamp(16px, calc(0.1rem + 1svh), 20px);
    font-family: var(--font-sans);
    font-weight:300;}
.bpt-price-note{
    font-size:clamp(13px, calc(0.1rem + 0.9svh), 16px);
    color:rgba(255,255,255,.35);
    margin-top:6px;
    line-height:1.5;
    border-radius: var(--border-radius-sm);
}

.bpt-price-card-body{padding:20px 22px;}
.bpt-pax-label{font-size:clamp(11px, calc(0.1rem + 0.7svh), 13px);letter-spacing:.08em;text-transform:uppercase;color: var(--ink-500);margin-bottom:8px;}
.bpt-pax-selector{
    display:flex;align-items:center;gap:0;
    border:0.5px solid var(--gold-300);
    margin-bottom:16px;width:100%;
}
.bpt-pax-btn{
    width:40px;height:40px;
    background:var(--white-warm);;border:none;cursor:pointer;
    font-size:clamp(18px, calc(0.1rem + 1.2svh), 20px);
    color:var(--ink-400);
    display:flex;align-items:center;justify-content:center;
    transition:background .15s;flex-shrink:0;
}
.bpt-pax-btn:hover{background:var(--cream);}
.bpt-pax-num{
    flex:1;text-align:center;
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(22px, calc(0.1rem + 1.4svh), 24px);
    font-weight:300;color:var(--ink-400);
    border-left:0.5px solid var(--gold-300);
    border-right:0.5px solid var(--gold-300);
    line-height:40px;
}
.bpt-price-breakdown{
    background:var(--cream);padding:14px 16px;
    margin-bottom:16px;border:0.5px solid var(--gold-300);
}
.bpt-breakdown-row{
    display:flex;justify-content:space-between;
    font-size:clamp(12px, calc(0.1rem + 0.8svh), 14px);
    color:var(--ink-400);padding:3px 0;
}
.bpt-breakdown-total{
    display:flex;justify-content:space-between;
    font-size:clamp(14px, calc(0.1rem + 0.9svh), 16px);
    padding:8px 0 0;margin-top:6px;
    border-top:0.5px solid var(--gold-300);
}
.bpt-breakdown-total span{color:var(--text-mid);}
.bpt-breakdown-total strong{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(20px, calc(0.1rem + 1.2svh), 24px);
    font-weight:300;color:var(--ink-400);
}
.bpt-price-disclaimer{
    font-size:clamp(11px, calc(0.1rem + 0.7svh), 13px);
    color: var(--ink-500);
    text-align:center;
    line-height:1.5;
    margin-bottom:16px;
}
.bpt-price-disclaimer em{color: var(--gold-400);font-style:normal;}
.bpt-btn-book{
    display:block;width:100%;
    font-family: var(--font-sans);
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:15px 20px;
    background:var(--gold-400);color:#000;
    border:none;cursor:pointer;font-weight:400;
    text-align:center;text-decoration:none;
    transition:background .2s;
}
.bpt-btn-book:hover{background:var(--gold-100);}

/* Sidebar extras */
.bpt-sidebar-meta{
    border:0.5px solid var(--gold-300);padding:16px 18px;
    margin-bottom:12px;
    border-radius: var(--border-radius-sm);
}
.bpt-sidebar-meta-item{
    display:flex;align-items:center;gap:10px;
    padding:8px 0;border-bottom:0.5px solid var(--gold-300);
    font-size:13px;color:var(--text-mid);
}
.bpt-sidebar-meta-item:last-child{border-bottom:none;}
.bpt-sidebar-meta-item svg{color: var(--gold-400);flex-shrink:0;}
.bpt-sidebar-meta-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color: var(--ink-500);}

.bpt-sidebar-note{
    padding:14px 16px;
    background:rgba(201,168,76,.06);
    border:0.5px solid rgba(201,168,76,.2);
    font-size:12px;
    color:var(--ink-400);
    line-height:1.6;
    border-radius: var(--border-radius-sm);
}
.bpt-sidebar-note strong{color:var(--ink-400);font-weight:500;}

/* ── LIGHTBOX ───────────────────────────────────────────────────── */
.bpt-lightbox{
    display:none;position:fixed;inset:0;z-index:1000;
    background:rgba(0,0,0,.95);
    flex-direction:column;align-items:center;justify-content:center;
}
.bpt-lightbox.open{display:flex;}
.bpt-lightbox-img{
    max-width:90vw;max-height:80vh;object-fit:contain;
}
.bpt-lightbox-close{
    position:absolute;top:20px;right:28px;
    font-size:28px;color: var(--white-warm);cursor:pointer;background:none;border:none;opacity:.7;
    font-family: var(--font-sans);font-weight:300;line-height:1;
}
.bpt-lightbox-close:hover{opacity:1;}
.bpt-lightbox-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    background:rgba(255,255,255,.1);border:none;color: var(--white-warm);
    width:44px;height:44px;font-size:20px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s;
}
.bpt-lightbox-nav:hover{background:rgba(255,255,255,.2);}
.bpt-lightbox-prev{left:20px;}
.bpt-lightbox-next{right:20px;}
.bpt-lightbox-counter{
    position:absolute;bottom:20px;
    font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.08em;
}

/* ── BOOKING FORM MODAL ─────────────────────────────────────────── */
.bpt-modal-overlay{
    display:none;position:fixed;inset:0;z-index:500;
    background:rgba(0,0,0,.6);
    align-items:center;justify-content:center;
    padding:20px;
}
.bpt-modal-overlay.open{display:flex;}
.bpt-modal{
    background:var(--white-warm);;
    max-width:560px;width:100%;
    max-height:90vh;overflow-y:auto;
    position:relative;
}
.bpt-modal-head{
    background:var(--ink-400);padding:24px 28px;
}
.bpt-modal-head h2{
    font-family: var(--font-serif);
    font-size:26px;font-weight:300;color: var(--white-warm);margin-bottom:4px;
}
.bpt-modal-head p{font-size:12px;color:var(--ink-100);}
.bpt-modal-close{
    position:absolute;top:16px;right:20px;
    background:none;border:none;color: var(--white-warm);font-size:22px;cursor:pointer;opacity:.6;
    font-family: var(--font-sans);font-weight:300;
}
.bpt-modal-close:hover{opacity:1;}
.bpt-modal-body{padding:28px;}
.bpt-form-row{margin-bottom:18px;}
.bpt-form-row label{
    display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
    color: var(--ink-500);margin-bottom:6px;
}
.bpt-form-row input,
.bpt-form-row select,
.bpt-form-row textarea{
    width:100%;padding:10px 12px;
    border:0.5px solid var(--gold-300);
    font-family: var(--font-sans);
    font-size:14px;font-weight:300;
    color:var(--ink-900);
    background:var(--white-warm);
    outline:none;transition:border-color .2s;
    border-radius:0;
    -webkit-appearance:none;
}
.bpt-form-row input:focus,
.bpt-form-row select:focus,
.bpt-form-row textarea:focus{border-color: var(--gold-400);}
.bpt-form-row textarea{resize:vertical;min-height:100px;}
.bpt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bpt-form-estimate{
    background:var(--cream);padding:14px 16px;margin-bottom:20px;
    border:0.5px solid var(--gold-300);
    display:flex;justify-content:space-between;align-items:center;
}
.bpt-form-estimate-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color: var(--ink-500);}
.bpt-form-estimate-price{
    font-family: var(--font-serif);
    font-size:22px;
    font-weight:300;
    color:var(--ink-400);
}
.bpt-form-submit{
    width:100%;
    padding:14px;
    background:var(--gold-400);
    color:var(--ink-900);
    border:none;
    cursor:pointer;
    font-family: var(--font-sans);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:400;
    transition:background .2s;
}
.bpt-form-submit:hover{background:var(--gold-100);}
.bpt-form-legal{
    font-size:11px;
    color: var(--ink-500);
    text-align:center;
    margin-top:12px;line-height:1.5;
}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 960px) {
    .bpt-layout{grid-template-columns:1fr;padding:0 24px;}
    .bpt-content{padding:36px 0 40px;border-right:none;border-bottom:0.5px solid var(--gold-300);}
    .bpt-sidebar{padding:32px 0 60px;}
    .bpt-sticky-card{position:static;}
    .bpt-hero-content{padding:32px 24px;}
    .bpt-hero-title{font-size:36px;}
    .bpt-strip{padding:8px 24px;}
    .bpt-nav{padding:14px 24px;}
    .bpt-hero-badge{left:24px;}
    .bpt-hero-expand{right:24px;}
}
@media (max-width: 600px) {
    .bpt-highlights-grid{grid-template-columns:1fr;}
    .bpt-inc-exc{grid-template-columns:1fr;}
    .bpt-form-grid{grid-template-columns:1fr;}
}


.bpt-related {
    padding: 80px 60px;
    background: var(--cream, #F7F2E8);
    border-top: 0.5px solid var(--gold-100, #F5E6BC);
}
 
.bpt-related-head {
    margin-bottom: 44px;
}
 
.bpt-related-label {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gold-600, #B07820);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}
 
.bpt-related-label::before {
    content: '';
    display: block;
    width: 24px;
    height: 0.5px;
    background: var(--gold-500, #C9943A);
}
 
.bpt-related-title {
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 36px;
    font-weight: 300;
    color: var(--ink-900, #0A0E14);
    line-height: 1.2;
}
 
/* ── Grid ─────────────────────────────────────────────────────────────────── */
 
.bpt-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 20px;
}
 
@media (max-width: 1099px) {
    .bpt-related-grid { grid-template-columns: repeat(2, 1fr); }
}
 
@media (max-width: 679px) {
    .bpt-related { padding: 60px 24px; }
    .bpt-related-grid { grid-template-columns: 1fr; }
    .bpt-related-title { font-size: 28px; }
}
 
/* ── Card ─────────────────────────────────────────────────────────────────── */
 
.bpt-related-card {
    background: var(--white-warm, #FDFAF5);
    border: 0.5px solid var(--gold-100, #F5E6BC);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color .2s, transform .2s;
}
 
.bpt-related-card:hover {
    border-color: var(--gold-400, #D4A84B);
    transform: translateY(-3px);
}
 
/* ── Imagen ───────────────────────────────────────────────────────────────── */
 
.bpt-related-img-link {
    display: block;
    text-decoration: none;
}
 
.bpt-related-img {
    height: 180px;
    background: var(--ink-700, #151D2B) center / cover no-repeat;
    position: relative;
    transition: opacity .2s;
}
 
.bpt-related-card:hover .bpt-related-img {
    opacity: .92;
}
 
.bpt-related-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: var(--gold-400, #D4A84B);
    color: var(--ink-900, #0A0E14);
    padding: 4px 10px;
}
 
/* ── Body ─────────────────────────────────────────────────────────────────── */
 
.bpt-related-body {
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
 
.bpt-related-cat {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-600, #B07820);
    margin-bottom: 8px;
}
 
.bpt-related-card-title {
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 19px;
    font-weight: 400;
    color: var(--ink-900, #0A0E14);
    line-height: 1.2;
    margin-bottom: 10px;
}
 
.bpt-related-card-title a {
    text-decoration: none;
    color: inherit;
}
 
.bpt-related-card-title a:hover {
    color: var(--gold-700, #8C5C00);
}
 
/* ── Meta ─────────────────────────────────────────────────────────────────── */
 
.bpt-related-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: auto;
    padding-bottom: 14px;
}
 
.bpt-related-meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 11px;
    color: var(--ink-300, #4A6580);
}
 
.bpt-related-meta-item svg {
    color: var(--gold-500, #C9943A);
    flex-shrink: 0;
}
 
/* ── Divider ──────────────────────────────────────────────────────────────── */
 
.bpt-related-divider {
    height: 0.5px;
    background: var(--gold-100, #F5E6BC);
    margin-bottom: 14px;
}
 
/* ── Footer ───────────────────────────────────────────────────────────────── */
 
.bpt-related-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
 
.bpt-related-price {
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 19px;
    font-weight: 300;
    color: var(--ink-900, #0A0E14);
}
 
.bpt-related-price small {
    font-size: 11px;
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-weight: 300;
    color: var(--ink-300, #4A6580);
}
 
.bpt-related-cta {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gold-700, #8C5C00);
    border: 0.5px solid var(--gold-400, #D4A84B);
    padding: 7px 14px;
    text-decoration: none;
    background: transparent;
    transition: background .2s, color .2s;
    white-space: nowrap;
}
 
.bpt-related-cta:hover {
    background: var(--gold-400, #D4A84B);
    color: var(--ink-900, #0A0E14);
}