/*
Theme Name: Barcelona Private Tours
Theme URI: https://github.com/Gugor
Author: Hugo Montoya && Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2026
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: barcelonaprivatetour

Based in BlankSlate WordPress Theme 2011-2026
BlankSlate is distributed under the terms of the GNU GPL
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{appearance:none;border-radius:0}input[type="search"]{appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
a { text-decoration: none;}


/* ===== CLASES UTILITARIAS DE TIPOGRAFÍA (opcionales) ===== */

/* Familias tipográficas */
.font-serif {
  font-family: var(--font-serif);
}

.font-sans {
  font-family: var(--font-sans);
}

.font-mono {
  font-family: var(--font-mono);
}

/* Estilos específicos por tipo de elemento (ejemplo) */
h1, .h1 {
  font-family: var(--font-serif);
  font-size: var(--text-4xl);
  font-weight: var(--font-light);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--ink-900);
}

h2, .h2 {
  font-family: var(--font-serif);
  font-size: var(--text-3xl);
  font-weight: var(--font-medium);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-normal);
  color: var(--ink-900);
}

h3, .h3 {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: var(--font-medium);
  line-height: var(--leading-tight);
  color: var(--ink-800);
}

h4, .h4 {
  font-family: var(--font-sans);
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-wide);
  color: var(--ink-800);
}


.section-header {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: clamp(44px, calc(1rem + 4svh), 112px) !important;
}

.section-navy {
    background-color: var(--ink-700);
}

.bpt-text-elegant {
    font-style: italic;
    font-size: clamp(16px, calc(1rem + 3svh), 1.5rem);
    color: var(--ink-200);
    font-family: var(--font-serif);
}



.bpt-text-strong {
    font-family: var(--font-serif);
    color: var(--ink-400);
    font-size: clamp(16px, calc(1rem + 3svh), 1.5rem);
}

.bpt-simple-layout {
    max-width: var(--mw-full);
    margin: 0 auto;
}

.mw-content {
    max-width: var(--mw-content);
}

.bpt-content {
    margin: 0 auto;
}

.section { padding: 5rem 10px; }

@media (min-width: 980px) {
    .section{ padding:10rem 80px;}
}

.section-center-content
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.section-fullwidth,
.section-fullwidth > * {
    width: 100%;
    padding: 0;
    display: grid;
    place-items: center;
}

.bpt-section-selfcentered {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--mw-content);
}

.box-centered{
    margin-left: auto;
    margin-right: auto;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--font-regular);
  line-height: var(--leading-relaxed);
  color: var(--ink-400);
}

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

.separator-cream {
    width: 300px;
    border: 1px solid var(--cream);
    border-radius: 4px;
}

/* Texto pequeño / meta */
.meta, .small {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  letter-spacing: var(--tracking-wide);
  color: var(--ink-500);
  text-transform: uppercase;
}

/* Eyebrow (etiquetas sobre títulos) */
.eyebrow {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--gold-400);
}

/* Colores principales de textos y alineamientos */
.text-color-primary {
    color:var(--ink-500) !important;
}

.text-color-secondary {
    color:var(--white) !important;
}

.text-color-accent {
    font-style:italic !important;
    color:var(--gold-400) !important;
}

.text-color-primary-lighter {
    color:var(--ink-100) !important;
}

.text-center {
    text-align: center !important;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

/* Tamaños de Textos */
.text-md-res{
    font-size: clamp(14px, calc(0.1rem + 1svh), 18px) !important;
}

.text-xmd-res{
    font-size: clamp(22px, calc(0.1rem + 4svh), 79px) !important;
    text-wrap: pretty;
}

/* Margins & Paddings */
.mb-header {
    margin-bottom: var(--mb-heading);
}

/* Botones */
.button, button, .btn {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
}

.btn-dark{
    font-size:clamp(12px,calc(0.1rem + 3svh), 18px);
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:15px 36px;
    background:var(--ink-900);
    color:var(--white);
    border:none;
    cursor:pointer;
    border-radius: var(--border-radius-sm);
}

.btn-gold {
    font-size: clamp(12px, calc(0.1rem + 1svh), 16px);
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 15px 32px;
    background: var(--gold-400);
    color: var(--ink-900);
    border: none;
    border-radius: var(--border-radius-sm);
    font-weight: 400;
    cursor: pointer;
}

.btn-ghost-light{
    font-size: clamp(12px, calc(0.1rem + 1svh), 16px);
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:15px 32px;
    background:transparent;
    color:var(--white);
    border:0.5px solid rgba(255,255,255,.3);
    border-radius: var(--border-radius-sm);
    font-weight:300;
    cursor:pointer;
}

/* Iconos */

.icon-box{width:48px;height:48px;border-radius:50%;background:var(--gold-050);border:0.5px solid var(--gold-300);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--gold-700);}

/* Navegación */

.desktop-navigation {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 40px;
  background:var(--white-warm);;
  border-bottom:0.5px solid var(--gold-300);
  position:sticky;top:0;z-index:100;
}

.logo {
  font-family:var(--font-serif);
  font-size:17px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-400);
}
.logo span {color:var(--gold-400);}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-links a{
  font-family:var(--font-sans);
  font-size:clamp(12px, calc(0.1rem + 1svh), 1.5rem);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-500);
  text-decoration:none;
  transition:color .2s;
}
.nav-links a:hover{color:var(--gold-400);}
.btn-nav {
    font-size: clamp(11px, calc(0.1rem + 1svh), 14px);
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 9px 20px;
    border: 0.5px solid var(--gold-400);
    border-radius: 0.5rem;
    color: var(--gold-400);
    background: var(--ink-600);
    cursor: pointer;
    transition: all .2s;
    font-family: var(--font-sans);
    font-weight: 700;
}
.btn-nav:hover{background:var(--gold-400);color: var(--white-warm);}

/* ===== ESTILOS ESPECÍFICOS DE COMPONENTES ===== */
.tour-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
    margin-bottom: 2rem;
}

.tour-gallery__item img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 6px;
    transition: opacity .2s;
}

.tour-gallery__item:hover img { opacity: .85; }

/* Vídeo responsive */
.tour-video { aspect-ratio: 16/9; margin-bottom: 2rem; }
.tour-video iframe { width: 100%; height: 100%; border: none; border-radius: 8px; }


/* TRUST BAR */
.trust-bar 
{
    display: flex;
    flex-direction: column;
    border-bottom:0.5px solid var(--gold-100);
}
@media (min-width: 980px)
{
    .trust-bar{
      background:var(--white-warm);
      padding:28px 80px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:0;

    }

}
.trust-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:0 24px;
  border-right:0.5px solid var(--gold-100);
}
.trust-item:last-child{border-right:none;}
.trust-num{
  font-family:var(--font-serif);
  font-size:40px;
  font-weight:300;
  color:var(--ink-800);
  letter-spacing:.02em;
}
.trust-num span{color:var(--gold-500);}
.trust-label{font-size:11px;letter-spacing:.08em;color:var(--gold-500);margin-top:4px;text-transform:uppercase;}
.trust-desc{font-size:12px;color:var(--gold-100);margin-top:2px;}

/* WHY US */
.section-label-left{
    font-size: clamp(12px, calc(0.1rem + 1svh), 14px);
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--gold-400);margin-bottom:14px;
    display:flex;align-items:center;gap:10px;
}
.section-label-left::before{
    content:'';
    display:block;
    width:24px;
    height:0.5px;
    background:var(--gold-400);}


.section-label{
    font-size: clamp(12px, calc(0.1rem + 1svh), 14px);
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--gold-600);
    margin-bottom:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;}
.section-label::before,.section-label::after{content:'';width:24px;height:0.5px;background:var(--gold-500);}

.section-title,
.section-title-left {
    font-family:var(--font-serif);
    font-size:var(--font-lg);
    font-weight:300;
    line-height:var(--lh-section);
    margin-bottom: var(--mb-section);
}

.section-title{
    text-align: center;
    max-width:560px;
    margin-left: auto;
    margin-right: auto;
    
}

.section-title-left{
    text-align: left;
}

.pillars {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 32px;
    max-width: 80rem;
    margin: 0 auto;
}
.pillar{
  padding:36px 28px;
  border:0.5px solid var(--gold-100);
  position:relative;overflow:hidden;
  transition:border-color .2s;
}
.pillar::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:var(--gold-400);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s;
}
.pillar:hover::before{transform:scaleX(1);}
.pillar:hover{border-color:var(--gold-400);}
.pillar-icon{
  font-size:28px;
  margin-bottom:20px;
}
.pillar-title{
  font-family:var(--font-serif);
  font-size:22px;font-weight:400;color:var(--ink-400);margin-bottom:10px;
}
.pillar-text{font-size:13.5px;color:var(--ink-500);line-height:1.7;}
.pillar-num{
  position:absolute;bottom:20px;right:24px;
  font-family:var(--font-serif);
  font-size:64px;
  font-weight:300;
  color:rgba(201,168,76,.08);
  line-height:1;
  pointer-events:none;
}

/* ── BPT Tours Section ────────────────────────────── */
.bpt-tours-section {
    background: #0D1117;
}

.bpt-section-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #C9A84C;
    margin-bottom: 14px;
}
.bpt-section-label::before {
    content: '';
    display: block;
    width: 24px;
    height: 0.5px;
    background: #C9A84C;
}
.bpt-section-title {
    font-family: var(--font-serif);
    font-size: clamp(44px, calc(1rem + 4svh), 112px);
    font-weight: 300;
    color: var(--white-warm);
    line-height: 1.15;
    margin-bottom: 40px;
}
.bpt-section-title em { color: var(--gold-200); font-style: italic; }

.bpt-tours-bestsellers {
    width: 100%;
    max-width: var(--mw-content);
}

.bpt-tours-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 980px)
{
    .bpt-tours-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
        max-width: 1080px;
        margin: 0 auto;
        gap: 20px;
    }
}
.bpt-tours-grid-x3 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 20px;
}

.bpt-tours-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 3rem;
}

.bpt-tours-head h2 {
    font-size: clamp(32px, calc(1rem + 6svh), 64px);
}

.bpt-tour-card {
    background: #161D27;
    border: 0.5px solid rgba(255,255,255,.08);
    transition: border-color .2s, transform .2s;
    border-radius: var(--border-radius-sm);
}
.bpt-tour-card:hover {
    border-color: rgba(201,168,76,.4);
    transform: translateY(-4px);
}
.bpt-tour-img {
    height: 200px;
    background: #0D1117 center/cover no-repeat;
    position: relative;
}
.bpt-tour-label-tag {
    position: absolute;
    top: 16px; left: 16px;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    background: var(--gold-400);
    color: var(--ink-900);
    padding: 5px 12px;
}
.bpt-tour-body    { padding: 24px 22px 20px; }
.bpt-tour-category {
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-400);
    margin-bottom: 8px;
}
.bpt-tour-title {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 300;
    color: var(--white-warm);
    margin-bottom: 10px;
    line-height: 1.2;
}
.bpt-tour-meta   { display: flex; gap: 16px; margin-bottom: 16px; }
.bpt-tour-meta-item {
    font-size: 12px;
    color: var(--ink-100);
    display: flex;
    align-items: center;
    gap: 5px;
}
.bpt-tour-meta-item svg { color:var(--gold-400); }
.bpt-tour-divider {
    height: 0.5px;
    background: rgba(255,255,255,.08);
    margin-bottom: 16px;
}
.bpt-tour-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.bpt-tour-price {
    font-family: var(--font-serif);
    font-size: clamp(24px, calc(0.5rem + 4svh), 32px);
    font-weight: 400;
    color: var(--gold-200);
}
.bpt-tour-price small {
    font-size: 14px;
    font-family: var(--font-sans);
    font-weight: 300;
    color: var(--ink-050);
}
.bpt-btn-tour {
    font-size: clamp(11px, calc(0.1rem + 3svh), 14px);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gold-400);
    border: 0.5px solid rgba(201,168,76,.4);
    padding:12px 16px;
    background: transparent;
    text-decoration: none;
    transition: all .2s;
    font-family: var(--font-sans);
    border-radius: var(--border-radius-sm);
    line-height: 1;
}
.bpt-btn-tour:hover { background: var(--gold-400); color: var(--ink-900); }
.bpt-tours-cta { text-align: center; margin-top: 40px; }
.bpt-btn-ghost {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 14px 32px;
    background: transparent;
    color: var(--white-warm);
    border: 0.5px solid rgba(255,255,255,.2);
    text-decoration: none;
    transition: border-color .2s;
}
.bpt-btn-ghost:hover { border-color: var(--white-warm); }

/* ABOUT PREVIEW */

.about-section {
    display: flex;
    flex-direction: column;
    align-items:center;
    justify-content: center;
}

@media (min-width: 980px )
{
    .about-section{
      /* padding:90px 80px; */
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:80px;
      align-items:center;
    }
}
.about-left{position:relative;}
.about-img-frame{
  width:100%;aspect-ratio:4/5;
  background:var(--cream);
  border:0.5px solid var(--gold-100);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  max-height: 80svh;
  overflow: hidden;
}
.about-img-image {
    max-width: 50svw;
    transition: transform 3s ease-in-out;
}

.about-img-image:hover {
    transform: scale(113%);
}
.about-img-accent{
  position:absolute;bottom:-24px;right:-24px;
  width:60%;aspect-ratio:1;
  background:var(--white-warn);border:0.5px solid var(--gold-100);
  z-index:-1;
}
.about-caption{
  position:absolute;
  bottom:24px;
  right:-24px;
  background:var(--white-warm);
  border:0.5px solid var(--gold-100);
  padding:16px 20px;
  min-width:180px;
}
.about-caption-num{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color: var(--gold-400);}
.about-caption-text{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);margin-top:2px;}
.section-text,
.section-full-text {
    font-size: clamp(14px, calc(0.1rem + 3svh), 18px);
    line-height:var(--leading-relaxed);
    margin-bottom:32px;
    letter-spacing: var(--ls-strech);
}

.section-text{
    max-width: 560px;
}

.btn-outline{
  font-family:var(--font-sans);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:13px 28px;
  background:transparent;
  color:var(--ink-500);
  border:0.5px solid var(--ink-500);
  border-radius: var(--border-radius);
  cursor:pointer;
  transition:all .2s;
  display:inline-block;
  border-radius: var(--border-radius-sm);
}
.btn-outline:hover{
    background:var(--ink-700);
    color:var(--white-warm);
}



/* TESTIMONIALS */
.testimonials{background:var(--cream);}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 32px;
    margin: 48px auto;
    max-width: 60rem;
}

.testimonial-card{
  background:var(--white-warm);;
  border:0.5px solid var(--gold-100);
  padding:64px 32px;
  position:relative;
}
.testimonial-card::before{
  content:'"';
  font-family:'Cormorant Garamond',serif;
  font-size:96px;font-weight:300;
  color:rgba(201,168,76,.2);
  position:absolute;
  top:12px;
  left:24px;
  line-height:1;
}
.testimonial-text{
  font-family:'Cormorant Garamond',serif;
  font-size:19px;font-weight:300;font-style:italic;
  color:var(--ink-400);line-height:1.6;margin-bottom:24px;
}
.testimonial-author{font-size:13px;color:var(--ink-400);letter-spacing:.06em;}
.testimonial-author strong{color:var(--ink-400);font-weight:500;}
.stars{color:var(--gold-400);font-size:13px;letter-spacing:2px;margin-bottom:16px;}

/* PERSONALIZED */
.personalized {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

@media (min-width: 980px)
{
    .personalized {
      display:grid;
      grid-template-columns:5fr 4fr;
      gap:80px;
      align-items:stretch;
    }
}
.personalized-title{
  font-family:'Cormorant Garamond',serif;
  font-size:46px;font-weight:300;color:var(--ink-400);
  line-height:1.15;margin-bottom:20px;
}
.personalized-title em{color:var(--gold-400);font-style:italic;}
.personalized-text{font-size:clamp(15px, calc(0.5rem + 1.5svh), 22px);color:var(--ink-400);line-height:1.8;margin-bottom:36px;}
.personalized-right{
  display: grid;
  background:var(--ink-700);
  padding:36px 32px;
  border-radius: var(--border-radius-sm);
}
.pers-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-400);margin-bottom:20px;}
.pers-feature{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;}
.pers-feature:last-of-type{margin-bottom:0;}
.pers-dot{width:6px;height:6px;border-radius:50%;background:var(--gold-400);flex-shrink:0;margin-top:6px;}
.pers-feat-text{font-size:13.5px;color:#C0C8D8;line-height:1.6;font-size: var(--text-md);}
.pers-feat-text strong{color: var(--white-warm);font-weight:500;display:block;margin-bottom:2px;}

/* FINAL CTA */
.final-cta{
  background:var(--ink-700);
  text-align:center;
  border-top:0.5px solid rgba(201,168,76,.2);
}
.cta-divider{width:40px;height:0.5px;background:var(--gold-400);margin:0 auto 28px;}
.cta-title{
  font-family:var(--font-serif);
  font-size:50px;
  font-weight:300;
  color: var(--white-warm);
  line-height:1.15;margin-bottom:16px;
}
.cta-title em{color:var(--gold-200);font-style:italic;}
.cta-sub{font-size:14px;color:var(--ink-100);margin-bottom:40px;letter-spacing:.02em;}
.cta-buttons{display:flex;gap:16px;justify-content:center;}

/* FOOTER */
footer{
  background:var(--ink-800);padding:32px 80px;
  display:flex;align-items:center;justify-content:space-between;
  border-top:0.5px solid rgba(255,255,255,.06);
}
.footer-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:14px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-100);
}
.footer-logo span{color:var(--gold-400);}
.footer-copy{font-size:11px;color:#4A5568;letter-spacing:.04em;}

/* SVG ICONS INSIDE CARDS */
.icon-box{
  width:44px;height:44px;
  border:0.5px solid var(--gold-400);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
  color: var(--gold-400);
  border-radius: var(--border-radius-sm);
}


/* Decorative elements */
.hero-line{
  position:absolute;right:0;top:0;bottom:0;
  width:50%;
  background:var(--ink-200);
  overflow:hidden;
}
.grid-pattern{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.03) 1px,transparent 1px);
  background-size:40px 40px;
}
.hero-arc{
  position:absolute;left:-80px;top:50%;transform:translateY(-50%);
  width:200px;height:300px;border-radius:50%;
  border:0.5px solid rgba(201,168,76,.12);
  pointer-events:none;
}
.hero-arc-2{
  position:absolute;left:-40px;top:50%;transform:translateY(-50%);
  width:300px;height:450px;border-radius:50%;
  border:0.5px solid rgba(201,168,76,.06);pointer-events:none;
}

/* Tour image illustrations */
.ti-img{
  width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.ti-gothic{background:linear-gradient(160deg,#1a2535,#0a1018);}
.ti-tapas{background:linear-gradient(160deg,#1e1a10,#0f0d07);}
.ti-sailing{background:linear-gradient(160deg,#0a1625,#040d18);}


/* FAQ */
.faq{padding:90px 60px;background:var(--ink-900);}
.faq .section-label{color:var(--gold-400);}
.faq .section-label::before,.faq .section-label::after{background:var(--gold-400);}
.faq h2{color:var(--white);text-align:center;}
.faq-list{max-width:var(--mw-sm);margin:48px auto 0;}
.faq-item{border-bottom:0.5px solid var(--ink-500);padding:20px 0;}
.faq-q{
    font-size: clamp(15px, calc(0.1rem + 1.3svh), 18px);
    color:var(--white);
    font-weight:400;
    margin-bottom:8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.faq-q > svg { color: var(--ink-200);}
.faq-a{font-size:13.5px;color:var(--ink-200);line-height:var(--leading-relaxed);}

/* Page Styles */

.hero-page{
    min-height: 63svh;
    display: grid;
    place-items: center;
}
.hero-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}

.philosophy{max-width:var(--mw-content);margin:0 auto;}
.philosophy h2{font-family:var(--font-serif);font-size:38px;font-weight:300;color:var(--ink-900);line-height:1.2;margin-bottom:32px;}
.philosophy p{font-size:15.5px;color:var(--ink-400);line-height:1.9;margin-bottom:20px;}
.philosophy p:last-of-type{margin-bottom:0;}

.pull-quote{margin:56px 0;padding:44px 56px;background:var(--ink-900);position:relative;}
.pull-quote::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--gold-400);}
.pull-quote p{font-family:var(--font-serif);font-size:25px;font-style:italic;font-weight:300;color:var(--gold-200);line-height:1.5;margin:0;}


.team-intro{background:var(--cream);text-align:center;}
.team-intro-inner{
    max-width:680px;
    margin:0 auto;
    display: grid;
    place-content: center;
}
.team-intro h2{font-family:var(--font-serif);font-size:38px;font-weight:300;color:var(--ink-900);margin-bottom:28px;}
.team-intro p:last-of-type{margin-bottom:0;}

.founders{background:var(--cream);}
.founders-grid{display:grid;grid-template-columns:repeat(auti-fill, minmax(360px,1fr));gap:24px;max-width:980px;}
.founder-card{
    background:var(--white);
    border:0.5px solid var(--gold-100);
    overflow:hidden;
    border-radius: var(--border-radius-sm);
}
.founder-img{
    height:340px;
    background:var(--ink-700);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow: hidden;
}
.founder-img-pattern{
    position:absolute;
    inset:0;
    background:linear-gradient(160deg,var(--ink-600),var(--ink-900));
}
.founder-img-pattern > img {
    object-fit: cover;
    width: 100%;
    transition: transform 1s ease-in-out;
}
.founder-img-pattern > img:hover {
    transform: scale(1.1);
}
.founder-initial{font-family:var(--font-serif);font-size:80px;font-weight:300;color:var(--gold-400);opacity:.5;position:relative;z-index:2;}
.founder-body{padding:28px 26px;}
.founder-name{font-family:var(--font-serif);font-size:24px;font-weight:400;color:var(--ink-900);margin-bottom:4px;}
.founder-role{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-600);margin-bottom:18px;}
.founder-bio{font-size:var(--font-base);color:var(--ink-400);line-height:1.8;}

.cta-section{background:var(--ink-900);padding:100px 60px;text-align:center;}
.cta-section .section-label{color:var(--gold-400);justify-content:center;}
.cta-section .section-label::before,.cta-section .section-label::after{background:var(--gold-400);}
.cta-section h2{font-family:var(--font-serif);font-size:42px;font-weight:300;color:var(--white);margin-bottom:18px;line-height:1.2;}
.cta-section-text{font-size:15px;color:var(--ink-100);line-height:1.8;max-width:480px;margin:0 auto 40px;}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}



/* Personalized Tour Page*/
.hero-personalize{background:var(--ink-900);text-align:center;position:relative;overflow:hidden;}
.hero-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(212,168,75,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,168,75,.04) 1px,transparent 1px);background-size:48px 48px;}
.hero-inner{position:relative;z-index:2;max-width:620px;margin:0 auto;}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-400);margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:10px;}
.eyebrow::before,.eyebrow::after{content:'';width:24px;height:0.5px;background:var(--gold-400);}
h1{font-family:var(--font-serif);font-size:48px;font-weight:300;color:var(--white);line-height:1.15;margin-bottom:22px;}
h1 em{color:var(--gold-300);font-style:italic;}
.hero-sub{font-size:16px;color:var(--ink-100);line-height:1.8;max-width:540px;margin:0 auto;}

.how-section{padding:70px 60px;}
.how-inner{max-width:920px;margin:0 auto;}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.how-step{text-align:center;padding:0 16px;position:relative;}
.how-icon{width:52px;height:52px;border-radius:50%;background:var(--white);border:0.5px solid var(--gold-300);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--gold-600);}
.how-step-text{font-size:13.5px;color:var(--ink-400);line-height:1.7;}
.how-connector{position:absolute;top:26px;left:calc(50% + 46px);width:calc(100% - 92px);height:0.5px;background:var(--gold-300);}

.micro-line{text-align:center;padding:0 60px 36px;}
.micro-line p{font-family:var(--font-serif);font-size:17px;font-style:italic;color:var(--gold-600);}

@media(max-width:760px){
  .how-steps{grid-template-columns:1fr;gap:32px;}
  .how-connector{display:none;}
  h1{font-size:34px;}
}

/* FOOTER */
.bpt-footer {
    background: var(--ink-900, #0A0E14);
    padding: 70px 60px 0;
}

.footer-top {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 56px;
    border-bottom: 0.5px solid var(--ink-500, #243244);
}

.footer-brand-logo {
    font-family: var(--font-serif, 'Cormorant Garamond', serif);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--white-warm, #FDFAF5);
    margin-bottom: 14px;
}

.footer-brand-logo span {
    color: var(--gold-400, #D4A84B);
}

.footer-tagline {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 13px;
    color: var(--ink-200, #6B8BA8);
    line-height: 1.7;
    max-width: 240px;
}

.footer-col-title {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold-400, #D4A84B);
    margin-bottom: 20px;
}

.footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.footer-links a {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 13.5px;
    color: var(--ink-100, #A8BDD0);
    text-decoration: none;
    transition: color .2s;
}

.footer-links a:hover {
    color: var(--gold-300, #E2BF6E);
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
}

.footer-contact-item:last-child {
    margin-bottom: 0;
}

.footer-contact-item svg {
    color: var(--gold-400, #D4A84B);
    flex-shrink: 0;
    margin-top: 2px;
}

.footer-contact-text {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 13.5px;
    color: var(--ink-100, #A8BDD0);
    line-height: 1.5;
}

.footer-contact-text a {
    color: inherit;
    text-decoration: none;
}

.footer-contact-text a:hover {
    color: var(--gold-300, #E2BF6E);
}

.footer-social {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.footer-social a {
    width: 38px;
    height: 38px;
    border: 0.5px solid var(--ink-500, #243244);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: border-color .2s, background .2s;
}

.footer-social a:hover {
    border-color: transparent;
}

.footer-social .instagram:hover {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.footer-social .facebook:hover {
    background: #1877F2;
}

.footer-social svg {
    width: 17px;
    height: 17px;
}

.footer-social .instagram svg,
.footer-social .facebook svg {
    color: var(--ink-100, #A8BDD0);
}

.footer-social .instagram:hover svg,
.footer-social .facebook:hover svg {
    color: #fff;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 0;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-copy {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 11.5px;
    color: var(--ink-300, #4A6580);
}

.footer-legal-links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.footer-legal-links a {
    font-family: var(--font-sans, 'Jost', sans-serif);
    font-size: 11.5px;
    color: var(--ink-300, #4A6580);
    text-decoration: none;
}

.footer-legal-links a:hover {
    color: var(--gold-300, #E2BF6E);
}

@media (max-width: 820px) {
    .footer-top {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 540px) {
    .bpt-footer {
        padding: 50px 24px 0;
    }
    .footer-top {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}