/* Barauli Blocks v1.2 — minimal, clean, fast. One palette, two fonts, flat surfaces. */

/* Site-wide base: same two fonts everywhere (replaces Roboto/Open Sans/Poppins mix). */
body { font-family:Inter, "Helvetica Neue", Arial, sans-serif !important; }
h1, h2, h3 { font-family:Cardo, Georgia, serif !important; font-weight:400 !important; }
:root {
  --b-ink:#1F2422; --b-muted:#5D6864; --b-line:#E3E8E4;
  --b-sage:#5F7268; --b-sage-deep:#43544A; --b-mist:#EDF1EC; --b-cream:#FAF8F3;
  --b-dark:#1E2221; --b-radius:14px;
}

/* Type: Cardo headings, Inter body. Single scale. */
.wp-block-group h1, .wp-block-group h2, .wp-block-column h3 {
  font-family:Cardo, Georgia, serif !important; font-weight:400 !important;
  color:var(--b-ink) !important; letter-spacing:0; line-height:1.15 !important;
}
.wp-block-group h2 { font-size:clamp(1.7rem,2.6vw,2.2rem) !important; margin-top:0 !important; margin-bottom:.5rem !important; }
.wp-block-column h3 { font-size:1.15rem !important; margin:0 0 .35rem !important; }
.wp-block-group p, .wp-block-column p { line-height:1.65; font-size:1rem; }
.wp-block-group p[style*="#666"], .wp-block-column p[style*="#666"] { color:var(--b-muted) !important; }

/* Eyebrow: tiny caps. Left by default; optically centered in centered sections
   (letter-spacing adds trailing space, so nudge centered ones right). */
.wp-block-group p.has-small-font-size[style*="uppercase"] { font-size:11px !important; letter-spacing:2.5px !important; font-weight:700 !important; text-align:left; }
.wp-block-group p.has-small-font-size[style*="uppercase"].has-text-align-center { text-align:center !important; text-indent:2.5px; }
.wp-block-group p.has-small-font-size[style*="uppercase"]::before,
.wp-block-group p.has-small-font-size[style*="uppercase"]::after { display:none !important; }

/* Buttons + links: one style everywhere. */
.wp-block-button__link { border-radius:999px !important; padding:12px 26px !important; font-size:14px !important; font-weight:600 !important; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background:var(--b-ink) !important; color:#fff !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border:1px solid var(--b-ink) !important; color:var(--b-ink) !important; background:transparent !important; }

/* Sections: airy, flat. */
.wp-block-group[style*="padding-top:4rem"] { padding-top:72px !important; padding-bottom:72px !important; }

/* Hero: single overlay, no badge chrome. */
.wp-block-cover.is-dark { border-radius:0; }
.wp-block-cover.is-dark .wp-block-cover__background { background:rgba(20,26,24,.65) !important; }
.wp-block-cover.is-dark .wp-block-cover__inner-container { position:relative; z-index:2; }
.wp-block-cover.is-dark h1 { color:#fff !important; max-width:18ch; margin-left:auto; margin-right:auto; text-shadow:0 2px 24px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.6); }
.wp-block-cover.is-dark p { color:#E9ECE8 !important; text-shadow:0 1px 12px rgba(0,0,0,.5); }
.wp-block-cover.is-dark p strong { color:#fff; }
.wp-block-cover .wp-block-buttons .wp-block-button:not(.is-style-outline) .wp-block-button__link { background:#fff !important; color:var(--b-ink) !important; }
.wp-block-cover .wp-block-buttons .is-style-outline .wp-block-button__link { border-color:rgba(255,255,255,.7) !important; color:#fff !important; }

/* Cards: flat, 1px border, no lift/zoom. */
.wp-block-columns .wp-block-column.has-background[style*="radius"] {
  border-radius:var(--b-radius) !important; overflow:hidden;
  border:1px solid var(--b-line) !important; box-shadow:none !important; background:#fff !important;
}
.wp-block-column .wp-block-image { margin:0 0 1rem !important; }
.wp-block-column .wp-block-image img { width:100%; height:220px !important; object-fit:cover; display:block; }
.wp-block-columns .wp-block-column.has-background[style*="#54675c"] { background:var(--b-sage-deep) !important; border-color:var(--b-sage-deep) !important; }
.wp-block-columns .wp-block-column.has-background[style*="#54675c"] h3 { color:#fff !important; }
.wp-block-columns .wp-block-column.has-background[style*="#54675c"] p { color:#D8E0D9 !important; }
.wp-block-columns .wp-block-column.has-background[style*="#54675c"] .wp-block-button:not(.is-style-outline) .wp-block-button__link { background:#fff !important; color:var(--b-ink) !important; }

/* Welcome band: plain. */
.wp-block-group.has-background[style*="#f1f5f2"] { background:var(--b-cream) !important; }
.wp-block-group.has-background[style*="#f1f5f2"] .wp-block-image img { border-radius:var(--b-radius) !important; min-height:0; }
.wp-block-group ul.wp-block-list { list-style:none !important; padding:0 !important; margin-top:1rem !important; margin-bottom:1rem !important; }
.wp-block-group ul.wp-block-list li { position:relative; padding-left:26px; margin-bottom:.4rem; }
.wp-block-group ul.wp-block-list li::before {
  content:"—"; position:absolute; left:0; top:0; color:var(--b-sage); font-weight:700;
}

/* Dark band: flat ink, thin dividers instead of boxes. */
.wp-block-group.has-background[style*="#2b2d35"] { background:var(--b-dark) !important; border-radius:0; margin:0; }
.wp-block-group.has-background[style*="#2b2d35"] h2 { color:#fff !important; }
.wp-block-group.has-background[style*="#2b2d35"] .wp-block-column.has-background[style*="#3b3e47"] {
  background:transparent !important; border:none !important; border-top:1px solid rgba(255,255,255,.18) !important;
  border-radius:0 !important; padding-left:0 !important; padding-right:0 !important;
}
.wp-block-group.has-background[style*="#2b2d35"] h3 { color:#fff !important; }
.wp-block-group.has-background[style*="#2b2d35"] h3::after { display:none; }
.wp-block-group.has-background[style*="#2b2d35"] p { color:#B9C2BD !important; }

/* Deals: flat mist panel. */
.wp-block-group.has-background[style*="#dae4df"] { background:var(--b-mist) !important; border-radius:0; margin:0; }

/* Gallery: small radius, uniform. */
.wp-block-gallery.has-nested-images { gap:10px !important; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius:10px !important; aspect-ratio:1/1; object-fit:cover; }

/* Map */
.barauli-map iframe, .wp-block-column iframe { border-radius:var(--b-radius) !important; }

/* ————— Full-width site (no 1230px gutters) ————— */
#main > .container { width:100% !important; max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
#main-header-wrapper .container { width:100% !important; max-width:100% !important; }
/* Anchored sections clear the sticky header. */
#rooms { scroll-margin-top: 96px; }
/* Bands go edge-to-edge */
.wp-block-group.has-background[style*="#2b2d35"] { border-radius:0; margin:0; }
.wp-block-group.has-background[style*="#dae4df"] { border-radius:0; margin:0; }

/* ————— Static solid homepage header (no overlay void) ————— */
body.home #main { margin-top:0 !important; }
body.home .main-header-wrapper { margin-top:0 !important; background:#FAF8F3 !important; }
body.home .main-header { background:#FAF8F3 !important; }

/* ————— Logo lock (normal logo always, sized) ————— */
#logo a .normal_logo { display:block !important; }
#logo a .darkbg_logo { display:none !important; }
#logo img { max-height:64px !important; width:auto !important; }

/* ————— Minimal entrance (CSS-only, always ends visible) ————— */
@keyframes bHeroIn { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.wp-block-cover__inner-container > * { animation:bHeroIn .9s cubic-bezier(.22,.61,.36,1) both; }
.wp-block-cover__inner-container > *:nth-child(2) { animation-delay:.1s; }
.wp-block-cover__inner-container > *:nth-child(3) { animation-delay:.2s; }
.wp-block-cover__inner-container > *:nth-child(4) { animation-delay:.3s; }
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover__inner-container > * { animation:none; }
}

/* ————— Uniform premium motion + fit-and-finish ————— */
:root { --b-ease: cubic-bezier(.22,.61,.36,1); }
h1, h2, .wp-block-heading { text-wrap: balance; }
/* Safe rise: only plays after JS adds .b-in; otherwise content just shows. */
@keyframes bRise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.b-rv.b-in { animation:bRise .7s var(--b-ease) both; }
/* Equal-height cards, buttons pinned to the bottom edge. */
#main .wp-block-columns .wp-block-column { display:flex; flex-direction:column; }
#main .wp-block-column .wp-block-buttons { margin-top:auto; padding-top:1.1rem; }
/* Card hover: one lift, one shadow, everywhere. */
#main .wp-block-column.has-background[style*="radius"] { transition:transform .25s var(--b-ease), box-shadow .25s var(--b-ease); }
#main .wp-block-column.has-background[style*="radius"]:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(31,36,34,.12); }
/* Image zoom, same timing everywhere. */
#main .wp-block-column .wp-block-image, #main .wp-block-gallery figure.wp-block-image { overflow:hidden; }
#main .wp-block-column .wp-block-image img, #main .wp-block-gallery figure.wp-block-image img { transition:transform .6s var(--b-ease); }
#main .wp-block-column:hover .wp-block-image img, #main .wp-block-gallery figure.wp-block-image:hover img { transform:scale(1.05); }
/* Buttons + links share one transition. */
.wp-block-button__link, .barauli-footer-btn, .b-book, .b-btn { transition:transform .2s var(--b-ease), background .2s var(--b-ease), color .2s var(--b-ease), border-color .2s var(--b-ease), box-shadow .25s var(--b-ease); }
.wp-block-button__link:hover { transform:translateY(-2px); }
.wp-block-button__link:active, .barauli-footer-btn:active, .b-book:active, .b-btn:active { transform:translateY(0) scale(.98); }
/* Premium sheen sweep on solid buttons. */
.wp-block-button:not(.is-style-outline) .wp-block-button__link, .barauli-footer-btn.solid, .b-book, .b-btn { position:relative; overflow:hidden; isolation:isolate; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link::after, .barauli-footer-btn.solid::after, .b-book::after, .b-btn::after {
  content:""; position:absolute; top:0; left:-80%; width:45%; height:100%; z-index:1;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-20deg); transition:left .6s var(--b-ease); pointer-events:none;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after, .barauli-footer-btn.solid:hover::after, .b-book:hover::after, .b-btn:hover::after { left:135%; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { box-shadow:0 14px 28px rgba(31,36,34,.25); }
/* Ghost buttons fill on hover. */
.wp-block-button.is-style-outline .wp-block-button__link:hover { background:var(--b-ink) !important; border-color:var(--b-ink) !important; color:#fff !important; }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover { background:#fff !important; border-color:#fff !important; color:#1F2422 !important; }

/* ————— Mobile responsiveness ————— */
html, body { overflow-x:clip; }
/* Side gutters: constrained containers have no theme.json padding, so add it
   (keeps text/cards off the viewport edge on phones; backgrounds stay full-bleed). */
.wp-block-group__inner-container.is-layout-constrained { padding-left:20px; padding-right:20px; box-sizing:border-box; }
.barauli-map { margin-top:1.5rem; }
.barauli-map iframe { display:block; }
@media (max-width:782px) {
  #logo img { max-height:52px !important; }
  .home .wp-block-cover { min-height:56vh !important; }
  .wp-block-cover__inner-container { padding-left:20px; padding-right:20px; }
  .wp-block-table table { min-width:600px; }
  .wp-block-table th, .wp-block-table td { padding:10px 12px; }
  /* 16px inputs stop iOS Safari auto-zoom on focus. */
  .bbook-form input, .bbook-form select, .bbook-form textarea,
  .wpcf7-form input:not([type="submit"]), .wpcf7-form textarea, .wpcf7-form select { font-size:16px; }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image { width:calc(50% - 8px) !important; flex-grow:0 !important; }
  .wp-block-table { font-size:14px; }
  .wp-block-column iframe, .barauli-map iframe { height:300px !important; }
  .barauli-footer-actions .barauli-footer-btn { flex:1 1 auto; text-align:center; }
}
@media (prefers-reduced-motion: reduce) {
  .b-rv.b-in { animation:none; }
}

/* ————— Compact header + hero (no giant void) ————— */
#logo img { max-height:64px !important; width:auto !important; }
.main-header { padding:10px 0 !important; }
.transparent-header .main-header-wrapper { background:rgba(20,24,23,.55) !important; backdrop-filter:blur(6px); }
.home .wp-block-cover { min-height:62vh !important; }

/* ————— Navbar consistency (same type scale + sage accents as content) ————— */
#main-menu ul.menu > li > a {
  font-family:Inter, "Helvetica Neue", Arial, sans-serif !important;
  font-size:13px !important; font-weight:600 !important;
  letter-spacing:1.5px !important; text-transform:uppercase !important;
}
#main-menu ul.menu > li.current-menu-item > a,
#main-menu ul.menu > li.current-menu-ancestor > a,
#main-menu ul.menu > li > a:hover { color:#43544A !important; }
/* Dropdowns: flat, calm, no bulky imagery */
.megamenu-child-container.menu-hasbg { background-image:none !important; background:#fff !important; }
#main-menu ul.sub-menu { border-top:2px solid #5F7268 !important; box-shadow:0 18px 40px rgba(31,36,34,.12) !important; }
#main-menu ul.sub-menu a { font-size:13px !important; letter-spacing:.4px !important; text-transform:none !important; }
/* Mobile toggle reads as one clean button */
.dt-menu-toggle { font-family:Inter, Arial, sans-serif !important; font-size:13px !important; font-weight:700 !important; letter-spacing:2px !important; text-transform:uppercase !important; }

/* ————— New-generation footer (replaces theme filler footer) ————— */
#footer { display:none !important; }
.barauli-footer { background:#141817; color:#EDEFEA; margin-top:0; overflow:hidden; border-top:3px solid var(--b-sage, #5F7268); }
.barauli-footer-inner { max-width:1400px; margin:0 auto; padding:36px 32px 16px; }
.barauli-footer-logo { height:48px; width:auto; max-width:100%; margin:0 auto 12px; display:block; filter:brightness(0) invert(1); }
.barauli-footer-eyebrow { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:#9DB0A4; font-weight:700; margin:0 0 8px; text-align:center; }
.barauli-footer-cta { font-family:Cardo, Georgia, serif !important; font-weight:400 !important; color:#FAF8F3 !important; font-size:clamp(1.8rem,3.4vw,2.6rem) !important; line-height:1.05 !important; margin:0 0 16px !important; letter-spacing:-.01em; text-align:center !important; text-wrap:balance; }
.barauli-footer-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:12px; }
.barauli-footer-actions-lg .barauli-footer-btn { padding:16px 34px; font-size:15px; }
.barauli-footer-actions-lg .barauli-footer-btn.solid { box-shadow:0 14px 30px rgba(0,0,0,.35); }
.barauli-footer-note { text-align:center; font-size:12.5px; letter-spacing:.4px; color:#9DB0A4; margin:0 0 24px; }
.barauli-footer-btn { display:inline-block; border-radius:999px; padding:14px 30px; font-size:14px; font-weight:700; text-decoration:none; transition:transform .2s ease, background .2s ease, border-color .2s ease; }
.barauli-footer-btn:hover { transform:translateY(-2px); }
.barauli-footer-btn:focus-visible { outline:2px solid #FAF8F3; outline-offset:3px; }
.barauli-footer-btn.solid { background:#FAF8F3; color:#1F2422; }
.barauli-footer-btn.solid:hover { background:#fff; color:#1F2422; }
.barauli-footer-btn.ghost { border:1px solid rgba(250,248,243,.55); color:#FAF8F3; }
.barauli-footer-btn.ghost:hover { border-color:#FAF8F3; color:#FAF8F3; }
.barauli-footer-btn.wa { border:1px solid rgba(37,211,102,.6); color:#7BE3A3; }
.barauli-footer-btn.wa:hover { border-color:#25D366; color:#fff; background:rgba(37,211,102,.15); }
/* Ask AI tiles as 4th grid column (compact, side-style). */
.barauli-footer-ask-tiles { display:flex; gap:10px; flex-wrap:wrap; }
.barauli-footer-follow-title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#9DB0A4; margin:18px 0 10px; }
.barauli-ai-tile { width:44px; height:44px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:16px; font-weight:800; transition:transform .2s ease, box-shadow .25s ease; }
.barauli-ai-tile img { width:22px; height:22px; display:block; filter:brightness(0) invert(1); }
.barauli-ai-tile:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(0,0,0,.4); }
.barauli-ai-tile:focus-visible { outline:2px solid #FAF8F3; outline-offset:3px; }
.barauli-ai-tile.ai-gpt { background:#000; color:#fff; border:1px solid rgba(255,255,255,.25); }
.barauli-ai-tile.ai-claude { background:#1F3A37; color:#7DD3C8; }
.barauli-ai-tile.ai-grok { background:#000; color:#fff; border:1px solid rgba(255,255,255,.25); }
.barauli-ai-tile.ai-pplx { background:#C96F4A; color:#fff; }
.barauli-ai-tile.ai-gemini { background:#000; border:1px solid rgba(255,255,255,.25); }
.barauli-ai-tile.ai-gemini span { background:linear-gradient(135deg,#4796E3,#9177C7 45%,#D86A92 70%,#F2B950); -webkit-background-clip:text; background-clip:text; color:transparent; }
.barauli-footer-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; padding:24px 0; border-top:1px solid rgba(250,248,243,.14); }
.barauli-footer-grid h3 { font-family:Inter, Arial, sans-serif !important; font-size:11px !important; font-weight:700 !important; letter-spacing:2.5px !important; text-transform:uppercase !important; color:#9DB0A4 !important; margin:0 0 16px !important; }
.barauli-footer-grid ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.barauli-footer-grid li { margin-bottom:10px; font-size:15px; line-height:1.5; color:#C9D2CC; }
.barauli-footer-grid a { color:#EDEFEA; text-decoration:none; transition:color .15s ease; }
.barauli-footer-grid a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.barauli-footer-grid a:focus-visible { outline:2px solid #FAF8F3; outline-offset:2px; }
.barauli-footer-address { font-style:normal; font-size:15px; line-height:1.5; color:#C9D2CC; margin:0 0 14px; }
.barauli-footer-contact li { display:grid; gap:2px; }
.barauli-footer-contact li a { font-size:17px; font-weight:700; color:#FAF8F3; overflow-wrap:anywhere; }
.barauli-footer-mail { font-size:14px !important; font-weight:500 !important; }
.barauli-footer-label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#9DB0A4; }
.barauli-footer-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:20px; padding-top:16px; border-top:1px solid rgba(250,248,243,.14); font-size:13px; color:#9DB0A4; }
.barauli-footer-links a { color:#EDEFEA; text-decoration:none; }
.barauli-footer-links a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.barauli-footer-top { color:#EDEFEA; text-decoration:none; }
.barauli-footer-top:hover { color:#fff; }
@media (max-width:1024px) {
  .barauli-footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:782px) {
  .barauli-footer-inner { padding:32px 20px 20px; }
  .barauli-footer-grid { grid-template-columns:1fr; gap:24px; }
  .barauli-footer-actions { margin-bottom:12px; }
  .barauli-footer-note { margin-bottom:20px; }
}

/* Legacy pages: same minimal type + calm rows. */
.barauli-legacy-row { max-width:1120px; margin:0 auto; padding:28px 20px; }
.barauli-legacy-row::after { content:""; display:table; clear:both; }
.barauli-legacy-col { margin-bottom:18px; }
.barauli-legacy-heading { font-family:Cardo, Georgia, serif !important; color:var(--b-ink); }
.barauli-legacy-text { line-height:1.65; color:#333; }
.barauli-legacy-img, .barauli-legacy-imgwrap img { max-width:100%; height:auto; border-radius:12px; }
.barauli-legacy-sep { border:none; border-top:1px solid var(--b-line); margin:24px auto; max-width:1120px; }
.barauli-legacy-iconlist { list-style:none; padding:0; }
.barauli-legacy-iconlist li { padding:6px 0; border-bottom:1px solid var(--b-line); }

/* Hide dead theme slider shell entirely (header hero is native cover now). */
#slider .dt-sc-main-slider:empty { display:none !important; }
#slider:has(> .dt-sc-main-slider:empty) { display:none !important; }

@media (max-width:782px) {
  .wp-block-group[style*="padding-top:4rem"] { padding-top:52px !important; padding-bottom:52px !important; }
  .wp-block-column .wp-block-image img { height:190px !important; }
}
