/* BARCO DE SAL — capa visual exclusiva de la landing.
   Dashboard, credenciales, datos JSON y CRUD permanecen intactos.
   Paleta inspirada en el cuadro de flamenco del propio local. */
:root {
  --barco-navy: #30465c;
  --barco-deep: #22384b;
  --barco-blue: #6d889f;
  --barco-blush: #d89c9d;
  --barco-rose: #bd7e82;
  --barco-sand: #e8d5c8;
  --barco-ivory: #fbf5ef;
}
body.theme-costa,body.theme-brasa,body.theme-miga {
  --accent: var(--barco-blush);
  --accent-rgb: 216,156,157;
  --cream: var(--barco-ivory);
  --coal: var(--barco-deep);
  --ink: var(--barco-deep);
  --display: 'Palatino Linotype','Book Antiqua',Georgia,serif;
  background: var(--barco-ivory);
  color: var(--barco-deep);
}
.wrap { width:min(1190px,88vw) }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline-color: var(--barco-rose) }
.site-header {
  min-height:92px;
  padding:10px max(4.8vw,22px);
  background:rgba(251,245,239,.97);
  color:var(--barco-deep);
  border-bottom:1px solid #ad879451;
  box-shadow:0 8px 35px #233a4b0d;
  backdrop-filter:blur(20px);
}
.brand {gap:0;flex-shrink:0}
.barco-wordmark {width:clamp(220px,23vw,340px);height:auto;max-height:76px;object-fit:contain;mix-blend-mode:multiply}
.brand-fallback {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.main-nav a {color:var(--barco-deep);font-size:18px;font-weight:700;letter-spacing:.01em}
.main-nav a:hover {color:#b7797e}
.main-nav .nav-review {color:var(--barco-deep);border:1px solid #d0acb0;padding:12px 16px;border-radius:50px}
.nav-toggle {color:var(--barco-deep)}
.preview-notice {top:92px;background:#dae5e6;color:var(--barco-deep)}
.hero {min-height:800px;min-height:100svh;background:#243c4e}
.hero-photo {object-position:57% 50%;filter:none!important}
.hero-shade {
  background:linear-gradient(90deg,#192c3fe8 0%,#1e364ccc 25%,#223a4caa 41%,#27384c30 69%,transparent 88%),
             linear-gradient(0deg,#192b3bc9 0%,transparent 34%,#24344d16 100%);
}
.hero-content {padding:170px 0 105px}
.hero .eyebrow {color:#f2bdba;letter-spacing:3.2px;font-weight:800;font-size:11px}
.hero .eyebrow:before {content:'';display:inline-block;vertical-align:middle;width:32px;height:1px;background:#e3a9ab;margin-right:15px}
.hero h1,body.theme-brasa .hero h1,body.theme-miga .hero h1 {
  font:400 clamp(54px,7vw,106px)/.99 var(--display);
  letter-spacing:-2.3px;
  max-width:770px;
  margin:28px 0 23px;
  text-transform:none;
  font-style:normal;
  text-wrap:balance;
  text-shadow:0 4px 26px #15263740;
}
.hero .lead {font:400 clamp(18px,1.8vw,23px)/1.6 var(--display);max-width:560px;color:#f5e9e4}
.hero .button {border-radius:40px;letter-spacing:.1em}
.button-accent {background:#dba6a6;color:#263a4c}
.button-accent:hover {background:#ebbdba}
.hero .button-light {border-color:#f0dedb;color:#fff;background:#ffffff09}
.hero-traits {gap:19px;color:#f6ded9;font-size:11px}
.scroll-cue {color:#f4d8d6}
.eyebrow {color:var(--barco-rose);letter-spacing:2.7px}
.eyebrow-dark {color:#b87d83}
.intro {padding:115px 0 118px;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.intro h2 {color:var(--barco-deep);font-size:clamp(48px,5.3vw,80px);max-width:590px}
.intro-copy {padding-top:54px}
.intro-copy>p {color:#455367;font-size:clamp(20px,2.1vw,27px);line-height:1.66}
.intro-facts {border-color:#d3acaa;color:#7e747c;gap:9px 21px}
.text-link {color:#a76874;border-bottom:1px solid #c08d92;padding-bottom:7px}
.barco-art-frame {width:min(450px,100%);height:220px;margin-top:43px;overflow:hidden;border-radius:145px 145px 12px 12px;border:8px solid #f7e7df;box-shadow:0 17px 40px #374c6219;position:relative}
.barco-art-frame img {width:121%;max-width:none;height:100%;object-fit:cover;object-position:left center}
.barco-art-frame:after {content:'';position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#7290a8,#d99c9d,#f4dad0)}
.cinema {height:650px;background:var(--barco-deep)}
.cinema>img {filter:brightness(.9) saturate(.92);object-position:center 48%}
.cinema-card {background:rgba(251,245,239,.97);color:var(--barco-deep);border:0;border-top:5px solid #d99c9d;padding:45px;border-radius:100px 0 0 0}
.cinema-card small {color:#b87a80}
.cinema-card h2 {color:var(--barco-deep)}
.cinema-card p {color:#576579}
.menu-section {background:linear-gradient(155deg,#2c435a,#21374a 65%,#30475d);color:#fff}
.menu-section .eyebrow {color:#ecc1bc}
.section-head>p {color:#d8dfe3}
.menu-section h2 em {color:#e2a6a6}
.tabs-shell {border-color:#ffffff23}
.category-tabs button {color:#eee3e4;border-color:#ffffff4c;border-radius:50px}
.category-tabs button.is-active {background:var(--barco-blush);border-color:var(--barco-blush);color:#253a4a}
.dish-row {border-color:#ffffff29}
.dish-info small {color:#dfb4b5}
.dish-info h3 {color:#fff}
.dish-info p {color:#becbd4}
.dish-row>strong,.dish-detail {color:#e2b4b1}
.menu-photo {border-radius:130px 0 0 0;box-shadow:0 18px 60px #101f3180}
.menu-photo small {color:#f2c8c5}
.allergens {color:#d2c7c3}
.moments {padding:118px 0}
.moments h2 {color:var(--barco-deep)}
.moments h2 em {color:#bf8589}
.moments-cards {gap:12px}
.moments-cards article {border-radius:0;height:470px;padding-inline:42px;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
.moments-cards article:nth-child(even) {clip-path:polygon(0 0,93% 0,100% 100%,7% 100%)}
.moments-cards article span {left:42px;color:#f8c4c3}
.moments-cards h3 {max-width:260px}
.event-section {background:#ebd6d1;color:var(--barco-deep)}
.event-copy>p:not(.eyebrow) {color:#516274}
.event-image {border-color:#fff9;box-shadow:0 18px 42px #49637a30}
.reservation {background:linear-gradient(115deg,#38536b,#263d52 75%);color:#fff}
.reservation:before {content:'◌';font-size:480px;color:#ffffff09;right:-6vw;top:5%}
.reservation-copy>p:not(.eyebrow) {color:#dfdadd}
.reservation h2 em {color:#e7b0af}
.phone-card {border-color:#d99c9d}
.phone-card small {color:#edc5c1}
.phone-card span {color:#d9d9de}
.booking-form {background:#fcf3ed;color:#293b4e;border-radius:18px 18px 4px 4px;box-shadow:0 35px 80px #0d1d2d40}
.form-head {border-color:#e0c7c3}
.form-head>span {color:#c18d91}
.form-head small {color:#96787d}
.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea {border:1px solid #e4cec8;background:#fffdf9;border-radius:5px;color:#2f4353}
.booking-check a {color:#9e606c}
.whatsapp-submit {border-radius:50px;background:#237e5d}
.whatsapp-submit:hover:not(:disabled) {background:#176647}
.review {background:var(--barco-deep)}
.review>img {filter:brightness(.27) saturate(.7)}
.review-stars {color:#f0c0b6}
.visit {padding:115px 0}
.visit h2 {color:var(--barco-deep)}
.visit h2 em {color:#bc8288}
.visit-copy {color:#637082}
.visit-details small {color:#b57d81}
.visit>img {height:570px;object-position:center 45%;border-radius:160px 160px 0 0}
.visit-map {width:100%;height:570px;position:relative;overflow:hidden;border-radius:160px 160px 0 0;background:linear-gradient(145deg,#e6d8d0,#cad8dd);box-shadow:0 20px 55px #263e511f}
.visit-map iframe {position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .35s ease}
.visit-map.is-loaded iframe {opacity:1}
.map-consent,.map-unavailable>div {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;background:linear-gradient(145deg,#31495eea,#22384bf2);color:#fff}
.map-consent:before,.map-unavailable>div:before {content:'◎';font-size:75px;line-height:1;color:#dba3a455;margin-bottom:18px}
.map-consent small,.map-unavailable small {font-size:9px;font-weight:900;letter-spacing:2.5px;color:#e6b5b3}
.map-consent strong,.map-unavailable strong {font:400 clamp(28px,3vw,40px)/1.1 var(--display);margin:12px 0}
.map-consent p,.map-unavailable p {max-width:390px;font-size:12px;line-height:1.6;color:#d6dde1;margin:0 0 20px}
.map-consent button {border:0;border-radius:40px;padding:13px 18px;background:#e3acab;color:#263a4c;font-weight:900;font-size:11px;cursor:pointer}
.map-consent a {margin-top:14px;color:#f0dedb;font-size:11px;font-weight:800;text-decoration:none}
.visit-map.is-loaded .map-consent {display:none}
.social-links {display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:27px}
.social-links>span {width:100%;font-size:9px;font-weight:800;letter-spacing:2px;color:#9a7b7e;margin-bottom:3px}
.social-links a {display:inline-flex;align-items:center;padding:9px 13px;border:1px solid #c9afb0;border-radius:30px;color:#815c63;font-size:11px;font-weight:800;text-decoration:none;transition:.2s ease}
.social-links a:hover {background:var(--barco-deep);border-color:var(--barco-deep);color:#fff}
.button-dark {background:var(--barco-deep);color:#fff;border-radius:50px}
.site-footer {background:#203548;color:#f5ebeb;border-top:5px solid #d5a0a1}
.footer-brand {grid-template-columns:56px auto;gap:0 14px}
.barco-footer-symbol {grid-row:span 2;width:54px;height:54px;border-radius:50%;object-fit:contain;background:#faf4ed;padding:2px}
.footer-brand strong {font-family:var(--display);font-size:24px}
.footer-brand small {color:#dfc7c5}
.footer-links a,.creator {color:#e4d7d4}
.creator {color:#e5b0af}
.floating-booking,.floating-review {background:#e7b6b2;color:#243749}
.dish-modal {background:#263c50}
.dish-modal-copy p {color:#d6dfe2}
.dish-modal-copy>strong,.dish-modal-copy small,.modal-back {color:#efbbba}
.modal-back {border-bottom-color:#efbbba}

/* Variantes seleccionables desde el dashboard. Se declaran al final de la
   capa de marca para que el selector de diseño produzca cambios visibles. */
body.theme-brasa {
  --barco-navy:#252426;
  --barco-deep:#111113;
  --barco-blue:#5f5b57;
  --barco-blush:#c69a5c;
  --barco-rose:#b88749;
  --barco-sand:#d8c3a0;
  --barco-ivory:#171719;
  --accent-rgb:198,154,92;
  --display:'Palatino Linotype','Book Antiqua',Georgia,serif;
  background:#171719;
  color:#f1ece3;
}
body.theme-brasa .site-header {background:rgba(15,15,17,.96);border-bottom-color:#c59a5b38;box-shadow:0 12px 40px #0008}
body.theme-brasa .barco-wordmark {mix-blend-mode:normal;filter:grayscale(1) brightness(0) invert(1);opacity:.92}
body.theme-brasa .main-nav a,body.theme-brasa .nav-toggle {color:#eee8de}
body.theme-brasa .main-nav a:hover {color:#d2a765}
body.theme-brasa .main-nav .nav-review {color:#d6b47e;border-color:#a77d43}
body.theme-brasa .hero {background:#0e0e0f}
body.theme-brasa .hero-photo {filter:saturate(.62) contrast(1.08) brightness(.82)!important}
body.theme-brasa .hero-shade {background:linear-gradient(90deg,#080809f5,#111113dc 34%,#18161778 66%,transparent 92%),linear-gradient(0deg,#070708e0,transparent 46%)}
body.theme-brasa .hero h1 {text-transform:none;font-weight:400;letter-spacing:-2.5px;color:#fffaf1;text-shadow:0 8px 35px #000b}
body.theme-brasa .hero .eyebrow,body.theme-brasa .hero-traits,body.theme-brasa .scroll-cue {color:#d9b376}
body.theme-brasa .hero .eyebrow:before {background:#bd8c4c}
body.theme-brasa .hero .lead {color:#d8d1c8}
body.theme-brasa .button-accent {background:#c79a5a;color:#151414}
body.theme-brasa .button-accent:hover {background:#ddb675}
body.theme-brasa .hero .button-light {border-color:#b9aa96;color:#f5efe6;background:#ffffff08}
body.theme-brasa .eyebrow,body.theme-brasa .eyebrow-dark {color:#cda464}
body.theme-brasa .intro h2,body.theme-brasa .moments h2,body.theme-brasa .visit h2 {color:#f3eee6}
body.theme-brasa .intro-copy>p,body.theme-brasa .visit-copy {color:#bdb6ad}
body.theme-brasa .intro-facts {color:#a8a097;border-color:#5c5041}
body.theme-brasa .text-link {color:#d0a668;border-bottom-color:#745d3f}
body.theme-brasa .barco-art-frame {border-color:#292729;box-shadow:0 20px 50px #0008}
body.theme-brasa .cinema {background:#0c0c0d}
body.theme-brasa .cinema-card {background:rgba(24,24,25,.96);color:#eee8df;border-top-color:#bd8d4e;box-shadow:0 20px 50px #0008}
body.theme-brasa .cinema-card h2 {color:#f5efe6}
body.theme-brasa .cinema-card p {color:#bdb5aa}
body.theme-brasa .cinema-card small {color:#d2a765}
body.theme-brasa .menu-section {background:linear-gradient(145deg,#202023,#111113 68%,#292622)}
body.theme-brasa .category-tabs button.is-active {background:#c69a5c;border-color:#c69a5c;color:#151414}
body.theme-brasa .dish-info small,body.theme-brasa .dish-row>strong,body.theme-brasa .dish-detail {color:#d0aa6f}
body.theme-brasa .moments h2 em,body.theme-brasa .visit h2 em {color:#c69a5c}
body.theme-brasa .event-section {background:#211f1e;color:#f1ece4;border-block:1px solid #5b4932}
body.theme-brasa .event-copy>p:not(.eyebrow) {color:#bdb6ad}
body.theme-brasa .reservation {background:linear-gradient(120deg,#252427,#101011 76%)}
body.theme-brasa .reservation h2 em {color:#d0a363}
body.theme-brasa .reservation-copy>p:not(.eyebrow) {color:#bdb5ac}
body.theme-brasa .phone-card {border-color:#9d7746}
body.theme-brasa .booking-form {background:#211f20;color:#f0ebe3;box-shadow:0 35px 90px #0009}
body.theme-brasa .booking-form label,body.theme-brasa .form-head strong {color:#e4ddd3}
body.theme-brasa .booking-form input:not([type=checkbox]),body.theme-brasa .booking-form select,body.theme-brasa .booking-form textarea {background:#151516;border-color:#45403b;color:#f1ece4}
body.theme-brasa .booking-form input::placeholder,body.theme-brasa .booking-form textarea::placeholder {color:#77716b}
body.theme-brasa .form-head {border-color:#49423a}
body.theme-brasa .form-head>span,body.theme-brasa .form-head small {color:#cda464}
body.theme-brasa .visit-details {border-color:#403c38}
body.theme-brasa .visit-details small {color:#cda464}
body.theme-brasa .social-links>span {color:#9e8b71}
body.theme-brasa .social-links a {color:#d2ad73;border-color:#6b563a}
body.theme-brasa .social-links a:hover {background:#c69a5c;border-color:#c69a5c;color:#151414}
body.theme-brasa .map-consent,body.theme-brasa .map-unavailable>div {background:linear-gradient(145deg,#242326f2,#101011f7)}
body.theme-brasa .map-consent small,body.theme-brasa .map-unavailable small {color:#d0a66a}
body.theme-brasa .map-consent button {background:#c69a5c;color:#151414}
body.theme-brasa .button-dark {background:#c69a5c;color:#151414}
body.theme-brasa .site-footer {background:#0d0d0e;border-top-color:#a77c43;color:#eee8df}
body.theme-brasa .barco-footer-symbol {background:#eee7dc}
body.theme-brasa .floating-booking,body.theme-brasa .floating-review {background:#c69a5c;color:#151414}
body.theme-brasa .dish-modal {background:#171719}
body.theme-brasa .dish-modal-copy>strong,body.theme-brasa .dish-modal-copy small,body.theme-brasa .modal-back {color:#d1a769}
body.theme-brasa .dish-modal-copy p {color:#beb7ae}
body.theme-brasa .preview-notice {background:#282522;color:#e5d8c6}
body.theme-brasa .main-nav {background:rgba(15,15,17,.98);border-color:#6f5738;box-shadow:0 18px 35px #0009}

body.theme-miga {
  --barco-navy:#40574c;
  --barco-deep:#263b32;
  --barco-blue:#748d7e;
  --barco-blush:#b2b776;
  --barco-rose:#7f8951;
  --barco-sand:#deddbd;
  --barco-ivory:#f5f1df;
  --accent-rgb:178,183,118;
  --display:Georgia,'Times New Roman',serif;
}
body.theme-miga .site-header {background:rgba(245,241,223,.97);border-bottom-color:#77845445}
body.theme-miga .hero-shade {background:linear-gradient(90deg,#1e332ae8,#31483fc9 34%,#4b5e486e 66%,transparent 91%),linear-gradient(0deg,#1d3028c2,transparent 40%)}
body.theme-miga .hero h1 {font-style:italic;letter-spacing:-3px}
body.theme-miga .hero .eyebrow,body.theme-miga .hero-traits {color:#e5e7bd}
body.theme-miga .button-accent {background:#c4c98a;color:#26372f}
body.theme-miga .button,body.theme-miga .booking-form,body.theme-miga .cinema-card {border-radius:4px}
body.theme-miga .barco-art-frame,body.theme-miga .menu-photo,body.theme-miga .visit>img,body.theme-miga .visit-map {border-radius:4px}
body.theme-miga .menu-section {background:linear-gradient(155deg,#40594d,#263d34 70%,#506a58)}
body.theme-miga .reservation {background:linear-gradient(115deg,#587265,#2b4439 75%)}
body.theme-miga .event-section {background:#e6e3c7}
body.theme-miga .site-footer {background:#263b32;border-top-color:#a9af70}
@media(max-width:1100px) {
  .site-header {width:100%;max-width:100vw;min-height:72px;padding:7px 16px;gap:10px}
  .brand {min-width:0;max-width:calc(100vw - 100px)}
  .barco-wordmark {max-width:calc(100vw - 100px);max-height:62px}
  .nav-toggle {display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;margin-left:auto;margin-right:6px;border-radius:8px}
  .main-nav {display:none;position:absolute;top:72px;left:0;right:0;width:100%;max-width:100vw;background:rgba(251,245,239,.98);padding:22px;flex-direction:column;align-items:stretch;gap:12px;border-top:1px solid #b17f8460;box-shadow:0 18px 30px #152b3c32}
  .main-nav.open {display:flex}
  .main-nav a {font-size:18px;padding:9px;white-space:normal}
  .preview-notice {top:72px}
}
@media(max-width:1000px) {
  .site-header {gap:10px}
  .barco-wordmark {width:clamp(205px,24vw,285px)}
  .main-nav {gap:9px}
  .main-nav a {font-size:18px}
  .hero h1 {max-width:630px}
}
@media(max-width:760px) {
  html {scroll-padding-top:138px}
  .site-header {min-height:72px;padding:7px 16px}
  .barco-wordmark {width:215px;max-height:62px}
  .nav-toggle {display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;margin-left:auto;margin-right:6px;border-radius:8px}
  .main-nav {top:72px;background:rgba(251,245,239,.98);border-color:#b17f8460;box-shadow:0 18px 30px #152b3c32}
  .main-nav a {color:var(--barco-deep);font-size:18px}
  .preview-notice {top:72px}
  .hero {min-height:725px;min-height:95svh}
  .hero-photo {object-position:center}
  .hero-shade {background:linear-gradient(90deg,#172e43e9,#2039528a 71%,#25415826),linear-gradient(0deg,#1b3143d6,transparent 63%)}
  .hero-content {padding-top:135px;padding-bottom:78px}
  .hero h1,body.theme-brasa .hero h1,body.theme-miga .hero h1 {font-size:clamp(51px,11vw,78px);line-height:1.02;max-width:560px}
  .hero .lead {font-size:19px}
  .hero-traits {gap:10px;font-size:10px}
  .intro {grid-template-columns:1fr;padding:75px 0;gap:20px}
  .intro-copy {padding-top:0}
  .barco-art-frame {height:180px;margin-top:25px;max-width:390px}
  .cinema {height:550px}
  .cinema-card {border-radius:75px 0 0 0;padding:30px}
  .tabs-shell {position:fixed;z-index:59;top:72px;left:0;right:0;width:100%;max-width:100vw;margin:0;padding:10px 12px;background:rgba(35,56,75,.98);box-shadow:0 8px 22px #152b3c45}
  .menu-section {scroll-margin-top:138px}
  .menu-photo {border-radius:100px 0 0 0}
  .moments-cards article {height:380px;border-radius:0;padding-inline:34px;clip-path:polygon(5% 0,100% 0,95% 100%,0 100%)}
  .moments-cards article:nth-child(even) {clip-path:polygon(0 0,95% 0,100% 100%,5% 100%)}
  .moments-cards article span {left:34px}
  .visit>img,.visit-map {height:440px;border-radius:120px 120px 0 0}
  .map-consent,.map-unavailable>div {padding:34px 24px}
}
@media(max-width:390px) {
  .barco-wordmark {width:190px}
  .hero h1,body.theme-brasa .hero h1,body.theme-miga .hero h1 {font-size:46px}
  .hero-actions .button {padding:14px 16px}
  .hero-traits span:last-child {display:none}
}
