/* Barcelona Paella Experience - front-end styles for Elementor pages built by BPE Site Builder */
:root{
  --bpe-ink:#2a1a12; --bpe-ink-soft:#5a463a; --bpe-cream:#fbf5ea; --bpe-white:#fff;
  --bpe-saffron:#ffc40d; --bpe-saffron-dark:#e6ae00; --bpe-paprika:#b8321f; --bpe-olive:#55643a; --bpe-line:#e8dcc8;
  --bpe-radius:14px; --bpe-shadow:0 6px 24px rgba(42,26,18,.08);
  --bpe-serif:"Fraunces",Georgia,serif; --bpe-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.elementor-page{font-family:var(--bpe-sans);color:var(--bpe-ink)}
.elementor .elementor-widget-heading .elementor-heading-title{font-family:var(--bpe-serif);color:var(--bpe-ink);line-height:1.15}
.elementor h2.elementor-heading-title{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.4em}
.elementor h3.elementor-heading-title{font-size:1.3rem}
.elementor .elementor-widget-text-editor{font-size:1.06rem;line-height:1.7;color:var(--bpe-ink-soft)}
.elementor .elementor-widget-text-editor p{margin:0 0 1em}

/* sections */
.elementor .bpe-section{padding:clamp(48px,7vw,88px) 20px;gap:18px}
.elementor .bpe-section--alt{background:var(--bpe-cream)}
.elementor .bpe-section > .e-con-inner{gap:18px}
.elementor .bpe-section .elementor-widget-text-editor{max-width:760px}

/* hero */
.elementor .bpe-hero{padding:clamp(72px,11vw,150px) 20px clamp(56px,8vw,110px);
  background:linear-gradient(115deg,rgba(42,26,18,.92),rgba(42,26,18,.72)),linear-gradient(135deg,#7a2a14,#2a1a12);
  background-size:cover;background-position:center;color:#fff}
.elementor .bpe-hero--group{background:linear-gradient(115deg,rgba(33,38,24,.94),rgba(33,38,24,.76)),linear-gradient(135deg,#55643a,#2a1a12)}
.elementor .bpe-hero .elementor-heading-title{color:#fff;font-size:clamp(2.1rem,5vw,3.6rem);max-width:820px}
.elementor .bpe-hero .bpe-lead{font-size:1.2rem;line-height:1.6;color:#f6ecdc;max-width:680px}
.elementor .bpe-hero .bpe-lead p{color:#f6ecdc}

/* buttons */
.elementor .bpe-btn .elementor-button{font-family:var(--bpe-sans);font-weight:600;font-size:1rem;border-radius:999px;padding:15px 30px;transition:transform .15s,background .15s;line-height:1.2}
.elementor .bpe-btn--primary .elementor-button{background:var(--bpe-saffron);color:var(--bpe-ink)}
.elementor .bpe-btn--primary .elementor-button:hover{background:var(--bpe-saffron-dark);transform:translateY(-1px)}
.elementor .bpe-btn--ghost .elementor-button{background:transparent;color:var(--bpe-paprika);border:2px solid var(--bpe-paprika);padding:11px 22px}
.elementor .bpe-btn--ghost .elementor-button:hover{background:var(--bpe-paprika);color:#fff}
.elementor .bpe-btn--link .elementor-button{background:transparent;color:inherit;padding:15px 8px;text-decoration:underline;text-underline-offset:4px}
.elementor .bpe-hero .bpe-btn--link .elementor-button{color:#fff}
.elementor .bpe-btn-row{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:14px}
.elementor a:focus-visible,.elementor .elementor-button:focus-visible,.bpe-proposal-form :focus-visible{outline:3px solid var(--bpe-paprika);outline-offset:3px}

/* grids + cards */
.elementor .bpe-grid{display:grid!important;gap:22px;width:100%}
.elementor .bpe-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.elementor .bpe-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.elementor .bpe-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.elementor .bpe-card{background:#fff;border:1px solid var(--bpe-line);border-radius:var(--bpe-radius);padding:26px;box-shadow:var(--bpe-shadow);gap:10px;justify-content:flex-start}
.elementor .bpe-card .elementor-widget-text-editor{font-size:1rem;max-width:none}
.elementor .bpe-section--alt .bpe-card{background:#fff}
.elementor .bpe-card--secondary{box-shadow:none;background:transparent;border-style:dashed}
.elementor .bpe-card .bpe-btn{margin-top:auto}
.elementor .bpe-meta{font-size:.82rem!important;text-transform:uppercase;letter-spacing:.06em;color:var(--bpe-olive)!important;font-weight:600}
.elementor .bpe-note{font-size:.95rem!important;font-style:italic}

/* checklist */
.elementor .bpe-checklist .elementor-icon-list-item{padding:8px 0;align-items:flex-start}
.elementor .bpe-checklist .elementor-icon-list-icon{color:var(--bpe-olive);padding-top:4px}
.elementor .bpe-checklist .elementor-icon-list-text{font-size:1.05rem;color:var(--bpe-ink)}

/* FAQ accordion */
.elementor .bpe-faq .elementor-accordion-item{border:1px solid var(--bpe-line);border-radius:10px;margin-bottom:10px;background:#fff;overflow:hidden}
.elementor .bpe-faq .elementor-tab-title{padding:16px 20px}
.elementor .bpe-faq .elementor-accordion-title{font-family:var(--bpe-sans);font-weight:600;color:var(--bpe-ink);font-size:1.02rem}
.elementor .bpe-faq .elementor-tab-content{padding:0 20px 18px;color:var(--bpe-ink-soft);line-height:1.7;border:0}

/* cta band + notes */
.elementor .bpe-cta-band{background:var(--bpe-ink);padding:clamp(48px,7vw,80px) 20px;text-align:center;align-items:center}
.elementor .bpe-cta-band .elementor-heading-title{color:#fff}
.elementor .bpe-cta-band .elementor-widget-text-editor{color:#f1e5d2;margin:0 auto}
.elementor .bpe-note-band{background:var(--bpe-cream);padding:28px 20px}

/* contact / basics lists */
.bpe-basics,.bpe-contact-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.bpe-basics li,.bpe-contact-list li{background:#fff;border:1px solid var(--bpe-line);border-radius:var(--bpe-radius);padding:18px 20px;line-height:1.5}
.bpe-basics strong,.bpe-contact-list span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--bpe-olive);margin-bottom:4px}
.bpe-basics a,.bpe-contact-list a{color:var(--bpe-paprika)}

/* proposal form */
.bpe-form-wrap{max-width:820px}
.bpe-proposal-form .bpe-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.bpe-proposal-form .bpe-wide{grid-column:1/-1}
.bpe-proposal-form label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
.bpe-proposal-form input:not([type=checkbox]),.bpe-proposal-form textarea,.bpe-proposal-form select{width:100%;padding:12px 14px;border:1.5px solid #cdbfa6;border-radius:10px;font:inherit;background:#fff}
.bpe-proposal-form input[aria-invalid=true],.bpe-proposal-form textarea[aria-invalid=true]{border-color:var(--bpe-paprika);background:#fff5f3}
.bpe-proposal-form small{display:block;color:var(--bpe-ink-soft);margin-top:4px;font-size:.84rem}
.bpe-proposal-form .bpe-consent label{font-weight:400;font-size:.9rem}
.bpe-hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}
.bpe-btn-submit{background:var(--bpe-saffron);color:var(--bpe-ink);border:0;border-radius:999px;padding:16px 38px;font:600 1rem var(--bpe-sans);cursor:pointer}
.bpe-btn-submit:hover{background:var(--bpe-saffron-dark)}
.bpe-btn-submit[disabled]{opacity:.6;cursor:wait}
.bpe-form-error{background:#fff0ed;border:1px solid var(--bpe-paprika);color:#7d1f10;padding:12px 16px;border-radius:10px;margin-bottom:14px}
.bpe-form-success{background:#eef3e4;border:1px solid var(--bpe-olive);padding:20px 22px;border-radius:12px;font-size:1.05rem}
.bpe-admin-note{background:#fff8d6;border:1px dashed #b59b00;padding:12px 16px}
.bpe-booking-frame{display:block;width:100%;min-height:900px;border:0;border-radius:var(--bpe-radius)}

/* header CTA + menu helpers (theme-dependent; harmless otherwise) */
.menu-item.bpe-menu-cta>a{background:var(--bpe-saffron);color:var(--bpe-ink)!important;border-radius:999px;padding:10px 22px!important;font-weight:600}
.menu-item.bpe-menu-label>a{pointer-events:none;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.07em;color:var(--bpe-olive)!important}

/* footer shortcode */
.bpe-footer{background:var(--bpe-ink);color:#e9dcc6;padding:48px 20px}
.bpe-footer a{color:#fff}
.bpe-footer__inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:32px}
.bpe-footer__brand{font:700 1.3rem var(--bpe-serif);color:#fff;margin:0 0 .5em}
.bpe-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}

/* responsive */
@media (max-width:1024px){.elementor .bpe-cols-4,.elementor .bpe-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){
  .elementor .bpe-cols-2,.elementor .bpe-cols-3,.elementor .bpe-cols-4{grid-template-columns:1fr}
  .bpe-proposal-form .bpe-fields{grid-template-columns:1fr}
  .bpe-footer__inner{grid-template-columns:1fr}
  .elementor .bpe-btn-row .elementor-button{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* theme overrides (Bodega capitalises and resizes headings/text) */
.elementor .e-con h1.elementor-heading-title,.elementor .e-con h2.elementor-heading-title,.elementor .e-con h3.elementor-heading-title,.elementor .e-con .elementor-accordion-title{text-transform:none!important;letter-spacing:normal!important;font-family:var(--bpe-serif)}
.elementor .e-con .elementor-accordion-title{font-family:var(--bpe-sans)}
.elementor .e-con .elementor-widget-text-editor,.elementor .e-con .elementor-widget-text-editor p{text-transform:none;letter-spacing:normal;font-size:1.06rem;line-height:1.7}
.elementor .bpe-hero .bpe-lead,.elementor .bpe-hero .bpe-lead p{font-size:1.2rem}
.elementor .bpe-card .elementor-widget-text-editor,.elementor .bpe-card .elementor-widget-text-editor p{font-size:1rem}
.elementor .e-con .elementor-button{text-transform:none;letter-spacing:normal}

/* Bodega theme header: fit the 8-item BPE menu on one row */
nav.main_menu>ul>li{padding:0!important;margin:0!important}
nav.main_menu>ul>li>a{padding-left:7px!important;padding-right:7px!important;font-size:13px!important;white-space:nowrap}
nav.main_menu>ul>li>a .item_inner,nav.main_menu>ul>li>a .item_outer,nav.main_menu>ul>li>a .menu_icon_wrapper{padding:0!important;margin:0!important}
nav.main_menu{width:auto!important;white-space:nowrap;margin-left:60px!important;margin-right:-40px!important}
nav.main_menu>ul>li.bpe-menu-cta>a{line-height:42px!important;height:42px!important;padding:0 18px!important;margin:39px 0 0 8px!important;display:inline-block!important}

/* card photos */
.elementor .bpe-card{overflow:hidden}
.elementor .bpe-card-img{margin:-26px -26px 14px;width:calc(100% + 52px);max-width:none}
.elementor .bpe-card-img img{width:100%;height:200px;object-fit:cover;display:block;border-radius:0}

/* card photo full width fix */
.elementor .bpe-card-img{width:calc(100% + 52px)!important;max-width:none!important}
.bpe-card-img .elementor-widget-container{width:100%!important}
.bpe-card-img img{width:100%!important;max-width:100%!important;height:200px!important;object-fit:cover!important;display:block}

/* video facade (YouTube, loads only on click) */
.bpe-video{max-width:880px;margin:0 auto;position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#2a1a12}
.bpe-video-facade{all:unset;display:block;width:100%;height:100%;cursor:pointer;position:relative}
.bpe-video-facade img{width:100%;height:100%;object-fit:cover;display:block}
.bpe-video-play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:#ffc40d;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.bpe-video-play:after{content:"";position:absolute;left:30px;top:22px;border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent #2a1a12}
.bpe-video-facade:focus-visible{outline:3px solid #ffc40d;outline-offset:-3px}
.bpe-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bpe-video-facade img{height:135%;margin-top:-17.5%}
.bpe-video-facade img{position:absolute;left:0;top:50%;transform:translateY(-50%) scale(1.03);width:100%;height:auto;margin:0;object-fit:initial}
