/* ═══════════════════════════════════════════════════════════
   Domek Pieniny — Design System v3.1
   Editorial luxury · Essonnes · Light rose-mauve palette
   v3.1 changes: lighter airier palette (arete'710-inspired),
   new desktop header with prominent booking CTA, lighter hero,
   subtle SVG section dividers, refined gold (cognac).
═══════════════════════════════════════════════════════════ */

/* ── Fonts ───────────────────────────────────────────────── */
/* font-display=swap on both. Preconnects in PHP wp_head priority 1. */
@import url('https://api.fontshare.com/v2/css?f[]=essonnes@400,700,400i,700i&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* Skip-link target for keyboard users (a11y) */
.dp-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  background: var(--c-text);
  color: var(--c-bg);
  padding: 12px 20px;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
}
.dp-skip-link:focus { left: 16px; top: 16px; }

/* ── Variables ───────────────────────────────────────────── */
:root {
  /* Surfaces — lighter, rose-tinted neutrals */
  --c-bg:      #fbf9f6;
  --c-alt:     #f3ede5;
  --c-cream:   #ebe1d6;
  --c-sand:    #ddc9b8;
  --c-hero:    #f1eae0;

  /* Text — warmer browns, less near-black */
  --c-text:    #2a1f18;
  --c-body:    #4a3a30;
  --c-muted:   #7a6a5d;
  --c-faint:   #a4937f;

  /* Accent — cognac gold (closer to arete #BE9469) */
  --c-gold:    #b8946a;
  --c-gold-a:  rgba(184,148,106,0.12);
  --c-gold-b:  rgba(184,148,106,0.26);
  --c-gold-c:  rgba(184,148,106,0.46);

  /* Rose-mauve accents for subtle warmth */
  --c-mauve:       #a18c8c;
  --c-mauve-soft:  #d9c8c8;

  --frame-w:   16px;
  --frame-r:   22px;
  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);

  /* Typography scale — semantic tokens (1.25 ratio steps).
     Stick to these; one-off sizes were the source of v2.x drift. */
  --t-eyebrow:  10.5px;   /* uppercase micro-label (section labels, button text) */
  --t-meta:     11.5px;   /* product meta, breadcrumb, footer */
  --t-body-sm:  13px;     /* card body, icon-card description */
  --t-body:     14px;     /* default body */
  --t-h6:       17px;     /* card title */
  --t-h5:       22px;     /* WC checkout, sub-section */
  --t-h4:       28px;     /* mobile product title */
  --t-h3:       32px;     /* related products, secondary heading */
  --t-h2:       44px;     /* product title desktop */
  --t-h1:       56px;     /* hero (Elementor controls this; reference only) */

  /* Letter-spacing scale (tracking) */
  --tr-tight:   -0.01em;  /* large display */
  --tr-snug:    0.02em;   /* small headings */
  --tr-wide:    1.5px;    /* nav, meta */
  --tr-wider:   2px;      /* tabs, ws labels */
  --tr-widest:  2.5px;    /* eyebrows */

  /* Font stacks */
  --ff-serif:   'Essonnes Text', 'Essonnes', 'Cormorant Garamond', Georgia, serif;
  --ff-sans:    'Jost', 'Lato', sans-serif;

  /* Elevation tokens — warm-tinted shadows (no pure-black blacks). */
  --el-1:       0 4px 14px rgba(42,31,24,0.05);              /* hairline lift */
  --el-2:       0 8px 28px rgba(42,31,24,0.07);              /* card hover */
  --el-3:       0 20px 48px rgba(42,31,24,0.08);             /* deep hover */
  --el-gold:    0 8px 24px rgba(184,148,106,0.26);           /* gold CTA hover */
  --el-gold-strong: 0 12px 36px rgba(184,148,106,0.30);

  /* Motion durations */
  --d-fast:     180ms;
  --d-base:     320ms;
  --d-slow:     440ms;

  /* Force light scheme — site has no dark mode; prevents UA inversions */
  color-scheme: light;
}

/* ── Base ────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: #e6d9cc; /* outer frame bg — warmer rose-sand, lighter than v3.0 */
  overflow-x: hidden;
}

body {
  font-family: 'Jost', 'Lato', sans-serif;
  font-weight: 300;
  color: var(--c-body);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  max-width: 100%;
  line-height: 1.75;
}

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  color: var(--c-text) !important;
  letter-spacing: -0.01em;
  line-height: 1.18;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
}

.elementor-widget-text-editor p,
.elementor-widget-text-editor {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  color: var(--c-body);
  line-height: 1.8;
}

/* Hide auto-generated WordPress page titles */
.entry-title,
.page-title,
h1.page-title,
.entry-header,
.page-header,
.elementor-page .entry-header { display: none !important; }

/* ── Frame ───────────────────────────────────────────────── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  border: var(--frame-w) solid var(--c-bg);
  border-radius: var(--frame-r);
  z-index: 99998;
  pointer-events: none;
}
body::after {
  content: '';
  position: fixed;
  inset: var(--frame-w);
  border: 1px solid var(--c-gold-b);
  border-radius: calc(var(--frame-r) - var(--frame-w) + 2px);
  z-index: 99997;
  pointer-events: none;
}

/* ── Keyframes ───────────────────────────────────────────── */
@keyframes dp-rise {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes dp-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes dp-drift-left {
  from { opacity: 0; transform: translateX(-16px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes dp-scale-up {
  from { opacity: 0; transform: scale(0.96) translateY(10px); }
  to   { opacity: 1; transform: scale(1)    translateY(0); }
}
@keyframes dp-line-grow {
  from { transform: scaleX(0); opacity: 0; }
  to   { transform: scaleX(1); opacity: 1; }
}
@keyframes dp-glow-pulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--c-gold-a); }
  50%       { box-shadow: 0 0 0 6px var(--c-gold-a); }
}
@keyframes dp-shimmer {
  0%   { background-position: -100% center; }
  100% { background-position: 200% center; }
}

/* ── Progress bar ────────────────────────────────────────── */
#dp-progress {
  position: fixed;
  top: var(--frame-w); left: var(--frame-w); right: var(--frame-w);
  height: 1.5px; z-index: 99999;
  opacity: 0; transition: opacity 0.3s; pointer-events: none;
}
#dp-progress-inner {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--c-gold), #d4b070);
  transition: width 0.35s var(--ease-out);
}
#dp-progress.dp-active { opacity: 1; }

/* ── Header — desktop (v3.1 refined) ─────────────────────── */
.site-header,
header.elementor-location-header {
  position: fixed !important;
  top: var(--frame-w) !important;
  left: var(--frame-w) !important;
  right: var(--frame-w) !important;
  z-index: 9900 !important;
  /* Lighter, more translucent — lets palette breathe through */
  background: rgba(251,249,246,0.82) !important;
  backdrop-filter: blur(22px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.5) !important;
  /* Hairline divider — barely there until scrolled */
  border-bottom: 1px solid transparent !important;
  transition: background 0.4s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
}
.elementor-location-header.dp-scrolled {
  background: rgba(251,249,246,0.94) !important;
  border-bottom-color: var(--c-gold-a) !important;
  box-shadow: 0 2px 24px rgba(42,31,24,0.05) !important;
}

/* Elementor's inner section must be transparent so the wrapper BG shows */
header.elementor-location-header .elementor-section,
header.elementor-location-header [data-id="hdr_sec"] {
  background-color: transparent !important;
  background-image: none !important;
  padding: 6px 32px !important;
}
header.elementor-location-header .elementor-container {
  align-items: center !important;
  min-height: 72px;
}

/* Logo text was white (built for dark BG) — override to dark */
[data-id="hdr_logo"] strong {
  color: var(--c-text) !important;
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  letter-spacing: 0.01em !important;
  font-weight: 400 !important;
}
[data-id="hdr_logo"] small  {
  color: var(--c-gold)  !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 9.5px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

/* Any white inline-styled text across light sections */
.elementor-widget-wrap [style*="color:#fff"],
.elementor-widget-wrap [style*="color: #fff"],
.elementor-widget-wrap [style*="color:white"],
.elementor-widget-wrap [style*="color: white"] {
  color: var(--c-text) !important;
}
.elementor-widget-wrap [style*="color:#fff"] strong,
.elementor-widget-wrap strong[style*="color:#fff"] {
  color: var(--c-text) !important;
}

/* Nav links — finer, more breathable */
.elementor-location-header .elementor-nav-menu--main a.elementor-item {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--c-body) !important;
  position: relative;
  padding: 10px 14px !important;
  transition: color 0.25s ease !important;
}
.elementor-location-header .elementor-nav-menu--main a.elementor-item::after {
  content: '';
  position: absolute;
  bottom: 2px; left: 14px; right: 14px;
  height: 1px;
  background: var(--c-gold);
  transform: scaleX(0); transform-origin: right;
  transition: transform 0.4s var(--ease-out);
}
.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main a.elementor-item-active {
  color: var(--c-text) !important;
}
.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu--main a.elementor-item-active::after {
  transform: scaleX(1); transform-origin: left;
}

/* Nav column that contains the injected CTA — switch to flex right-align
   so the menu and the CTA sit on the same row, CTA flush right. */
.dp-header-nav-col > .elementor-column-wrap,
.dp-header-nav-col > .elementor-widget-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}
.dp-header-nav-col .elementor-widget-nav-menu {
  width: auto !important;
  flex: 0 1 auto !important;
}
.dp-has-header-cta {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}
.dp-has-header-cta .elementor-nav-menu {
  margin-right: 4px;
}

/* Header booking CTA — injected by JS into the nav column.
   Solid cognac fill, sweep-fill to dark on hover. Arete-inspired prominence.
   Tightened in v3.1.2 — label fit fixed: lower letter-spacing + smaller padding,
   and JS uses the short label "Rezerwuj" so it never overflows the column. */
.dp-header-cta {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-family: var(--ff-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--c-bg);
  background: var(--c-gold);
  border: 1px solid var(--c-gold);
  padding: 10px 16px;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  box-shadow: var(--el-gold);
  transition: background var(--d-slow) ease, color var(--d-slow) ease, border-color var(--d-base) ease, transform var(--d-base) var(--ease-out), box-shadow var(--d-base) ease;
  position: relative;
  overflow: hidden;
  margin-left: 14px;
}
/* Tighter on smaller desktop breakpoints */
@media (max-width: 1280px) {
  .dp-header-cta { font-size: 9.5px; padding: 9px 13px; letter-spacing: 1.4px; margin-left: 10px; }
}
.dp-header-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--c-text);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.44s var(--ease-out);
  z-index: 0;
}
.dp-header-cta:hover {
  border-color: var(--c-text);
  box-shadow: 0 8px 24px rgba(184,148,106,0.28);
  transform: translateY(-1px);
}
.dp-header-cta:hover::before { transform: scaleX(1); transform-origin: left; }
.dp-header-cta > * { position: relative; z-index: 1; }
.dp-header-cta svg { flex-shrink: 0; transition: transform 0.3s var(--ease-out); }
.dp-header-cta:hover svg { transform: scale(1.12); }

/* Header padding offset */
.elementor-location-header ~ * { padding-top: 96px; }
body.home .elementor-location-header ~ * { padding-top: 0; }

/* ── Hero sections — all pages ───────────────────────────── */

/* Soft editorial gradient — v3.1 lighter, airier, rose-tinted */
[data-id$="_hero"],
/* removed legacy cream-gradient hero override — Elementor JSON controls bg-image */
[data-id="s_hero"].dp-legacy-gradient-suppressed {
  /* placeholder for legacy targeting */
}

/* Override any dark colors in hero headings */
[data-id$="_hero"] .elementor-heading-title,
[data-id="s_hero"] .elementor-heading-title {
  color: var(--c-text) !important;
}
[data-id$="_hero"] .elementor-widget-text-editor p,
[data-id="s_hero"] .elementor-widget-text-editor p {
  color: var(--c-body) !important;
}

/* Hero entrance animations — staggered */
[data-id$="_hero"] .elementor-widget:nth-child(1),
[data-id="s_hero"] .elementor-widget:nth-child(1) {
  animation: dp-rise 0.7s var(--ease-out) 0.1s both;
}
[data-id$="_hero"] .elementor-widget:nth-child(2),
[data-id="s_hero"] .elementor-widget:nth-child(2) {
  animation: dp-rise 0.9s var(--ease-out) 0.25s both;
}
[data-id$="_hero"] .elementor-widget:nth-child(3),
[data-id="s_hero"] .elementor-widget:nth-child(3) {
  animation: dp-rise 0.8s var(--ease-out) 0.45s both;
}
[data-id$="_hero"] .elementor-widget:nth-child(4),
[data-id="s_hero"] .elementor-widget:nth-child(4) {
  animation: dp-rise 0.7s var(--ease-out) 0.62s both;
}
[data-id$="_hero"] .elementor-widget:nth-child(5),
[data-id="s_hero"] .elementor-widget:nth-child(5) {
  animation: dp-fade 0.7s var(--ease-out) 0.78s both;
}

/* Hero padding: content clears fixed header */
[data-id$="_hero"] > .elementor-container,
[data-id="s_hero"] > .elementor-container {
  padding-top: 120px !important;
  padding-bottom: 90px !important;
}

/* Override any dark inline backgrounds set by Elementor */
[data-id$="_hero"] > .elementor-background-overlay,
/* allow Elementor overlay to render — needed for dark gradient over photo */

/* ── Section base overrides ──────────────────────────────── */

/* Any section that Elementor coloured dark — pull to warm neutral */
.elementor-section[style*="background-color: #1c0d04"],
.elementor-section[style*="background-color: #150a02"],
.elementor-section[style*="background-color: #1a0e05"],
.elementor-section[style*="background-color: #2d4a20"],
.elementor-section[style*="background-color: #0d1a08"] {
  background-color: var(--c-cream) !important;
}
.elementor-section[style*="background-color: #1c0d04"] .elementor-heading-title,
.elementor-section[style*="background-color: #150a02"] .elementor-heading-title {
  color: var(--c-text) !important;
}

/* Known dark IDs → convert to cream */
[data-id="ob_spec"],
[data-id="of_extra"],
[data-id="wr_routes"],
[data-id="wr_routes_grid"],
[data-id="at_dist"],
[data-id="ga_cta"],
[data-id="fq_cta"],
[data-id="s_cta"],
[data-id="s_bookcta"],
[data-id="s_brand"] {
  background-color: var(--c-cream) !important;
}
[data-id="ob_spec"] *,
[data-id="of_extra"] *,
[data-id="wr_routes"] *,
[data-id="wr_routes_grid"] *,
[data-id="at_dist"] * {
  color: var(--c-body) !important;
}

/* Center all Elementor containers */
.elementor-section > .elementor-container {
  max-width: 1200px;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Center column rows — prevents flex-start default when columns don't fill full width */
.elementor-row {
  justify-content: center !important;
  flex-wrap: wrap !important;
}

/* Center HTML widget content (icon cards, custom HTML) */
.elementor-widget-html > .elementor-widget-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.dp-icon-card { width: 100%; }

.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor p {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Section labels ──────────────────────────────────────── */
.dp-lbl,
.dp-section-label {
  display: block;
  font-family: 'Jost', sans-serif !important;
  font-size: 10.5px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--c-gold) !important;
  font-weight: 400;
  margin-bottom: 14px;
  animation: dp-drift-left 0.7s var(--ease-out) 0.1s both;
}

/* Section heading gold underline (animated on reveal) */
.dp-visible .elementor-widget-heading .elementor-heading-title {
  position: relative;
}
.dp-visible .elementor-widget-heading h2.elementor-heading-title::after {
  content: '';
  display: block;
  width: 30px; height: 1px;
  background: var(--c-gold);
  margin: 16px auto 0;
  animation: dp-line-grow 0.7s var(--ease-out) 0.35s both;
  transform-origin: left;
}

/* Left-aligned heading underline */
.dp-visible [style*="text-align:left"] h2.elementor-heading-title::after,
.dp-visible [style*="text-align: left"] h2.elementor-heading-title::after {
  margin-left: 0;
}

/* ── Buttons — elegant sweep fill ────────────────────────── */
.elementor-widget-button .elementor-button {
  font-family: 'Jost', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  transition: color 0.42s ease !important;
  background: transparent !important;
  border: 1px solid var(--c-gold-c) !important;
  color: var(--c-text) !important;
  padding: 14px 36px !important;
}
.elementor-widget-button .elementor-button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--c-text);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.44s var(--ease-out);
  z-index: 0;
}
.elementor-widget-button .elementor-button:hover { color: var(--c-bg) !important; }
.elementor-widget-button .elementor-button:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.elementor-widget-button .elementor-button-content-wrapper { position: relative; z-index: 1; }
.elementor-widget-button .elementor-button-wrapper { text-align: center !important; }

/* ── dp-icon-card — custom SVG icon cards ────────────────── */
.dp-icon-card {
  text-align: center;
  padding: 48px 28px 40px;
  background: var(--c-bg);
  border: 1px solid var(--c-gold-a);
  transition: transform 0.44s var(--ease-out),
              box-shadow 0.44s ease,
              border-color 0.35s ease;
  cursor: default;
}
.dp-icon-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--el-3);
  border-color: var(--c-gold-b);
}
.dp-icon-card__icon {
  width: 52px; height: 52px;
  margin: 0 auto 28px;
  color: var(--c-gold);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.44s var(--ease-out), color 0.3s;
}
.dp-icon-card:hover .dp-icon-card__icon {
  transform: scale(1.1) translateY(-3px);
  color: var(--c-text);
}
.dp-icon-card__icon svg { width: 100%; height: 100%; }
.dp-icon-card__title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif;
  font-size: 17px; font-weight: 400;
  color: var(--c-text);
  margin: 0 0 10px; line-height: 1.3;
}
.dp-icon-card__desc {
  font-family: 'Jost', sans-serif;
  font-size: 13px; font-weight: 300;
  color: var(--c-muted);
  line-height: 1.75; margin: 0;
}

/* ── Tables (clean, warm) ────────────────────────────────── */
.dp-table {
  width: 100%; max-width: 680px;
  margin: 0 auto; border-collapse: collapse;
  font-family: 'Jost', sans-serif; font-size: 14px;
}
.dp-table td {
  padding: 14px 20px;
  border-bottom: 1px solid var(--c-gold-a);
  color: var(--c-body);
}
.dp-table td:last-child {
  text-align: right;
  color: var(--c-gold);
  font-weight: 400;
}
.dp-table thead td, .dp-table th {
  font-size: 10px; letter-spacing: 2px;
  text-transform: uppercase; font-weight: 400;
  color: var(--c-muted); padding-bottom: 12px;
  border-bottom: 1px solid var(--c-gold-b);
}

/* ── Pricing cards ───────────────────────────────────────── */
.dp-price-card {
  border: 1px solid var(--c-gold-a);
  padding: 44px 40px; text-align: center;
  background: var(--c-bg);
  transition: transform 0.44s var(--ease-out), box-shadow 0.4s ease;
}
.dp-price-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--el-3);
}
.dp-price-card__label {
  font-family: 'Jost', sans-serif;
  font-size: 10px; letter-spacing: 3px;
  text-transform: uppercase; color: var(--c-gold);
  margin: 0 0 18px;
}
.dp-price-card__amount {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif;
  font-size: 52px; font-weight: 400;
  color: var(--c-text); line-height: 1;
  margin: 0 0 4px;
}
.dp-price-card__sub {
  font-size: 12px; color: var(--c-muted);
  margin: 0 0 28px; font-family: 'Jost', sans-serif;
}
.dp-price-card__divider {
  border: none; border-top: 1px solid var(--c-gold-a);
  margin: 0 0 24px;
}
.dp-price-card__list {
  list-style: none; padding: 0; margin: 0;
  font-family: 'Jost', sans-serif; font-size: 13px;
  color: var(--c-body); line-height: 2.2; text-align: left;
}
.dp-price-card__list li::before { content: '—  '; color: var(--c-gold); }

/* ── Minimal footer ──────────────────────────────────────── */
.dp-footer-min {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  padding: 28px 0 22px;
  border-top: 1px solid var(--c-gold-a);
  background: var(--c-bg);
}
.dp-footer-brand {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif;
  font-size: 17px; font-weight: 400;
  color: var(--c-text); text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.25s;
}
.dp-footer-brand:hover { color: var(--c-gold); }
.dp-footer-nav {
  display: flex; gap: 28px; flex-wrap: wrap; align-items: center;
  list-style: none; margin: 0; padding: 0;
}
.dp-footer-nav a {
  font-family: 'Jost', sans-serif;
  font-size: 10.5px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--c-muted);
  text-decoration: none; transition: color 0.25s;
}
.dp-footer-nav a:hover { color: var(--c-gold); }
.dp-footer-copy {
  font-family: 'Jost', sans-serif;
  font-size: 11px; color: var(--c-faint);
  letter-spacing: 0.5px; margin: 0;
}

/* Override Elementor footer global dark styles */
.elementor-location-footer {
  background: var(--c-bg) !important;
}
.elementor-location-footer .elementor-section {
  background: transparent !important;
}

/* ── Icon list (check items) ─────────────────────────────── */
.dp-check-list {
  list-style: none; padding: 0; margin: 0;
  font-family: 'Jost', sans-serif; font-size: 14px;
  color: var(--c-body); line-height: 2.4;
}
.dp-check-list li {
  display: flex; align-items: flex-start; gap: 12px;
}
.dp-check-list li::before {
  content: '';
  display: block;
  width: 18px; height: 1px;
  background: var(--c-gold);
  flex-shrink: 0;
  margin-top: 11px;
}

/* ── Photo frame ─────────────────────────────────────────── */
.dp-img-wrap {
  position: relative; display: inline-block; line-height: 0;
  box-shadow: 0 8px 32px rgba(44,32,24,0.09);
  transition: box-shadow 0.44s ease, transform 0.44s var(--ease-out);
}
.dp-img-wrap:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 52px rgba(44,32,24,0.13);
}
.dp-img-wrap::after {
  content: ''; position: absolute; inset: 12px;
  border: 1px solid var(--c-gold-c);
  pointer-events: none; z-index: 1;
  transition: inset 0.4s ease, border-color 0.4s ease;
}
.dp-img-wrap:hover::after { inset: 8px; border-color: var(--c-gold); }

/* Elementor image frame — only when JS hasn't already wrapped it in .dp-img-wrap */
.elementor-widget-image .elementor-image:not(.dp-img-wrap) { position: relative; display: inline-block; }
.elementor-widget-image .elementor-image:not(.dp-img-wrap)::after {
  content: ''; position: absolute; inset: 12px;
  border: 1px solid var(--c-gold-c); pointer-events: none; z-index: 1;
  transition: inset 0.4s ease, border-color 0.4s ease;
}
.elementor-widget-image:hover .elementor-image:not(.dp-img-wrap)::after { inset: 8px; border-color: var(--c-gold); }

/* ── Placeholder photo blocks ────────────────────────────── */
.dp-ph {
  background: linear-gradient(155deg, var(--c-alt) 0%, var(--c-cream) 55%, var(--c-sand) 100%);
  display: flex; align-items: center; justify-content: center;
  border-radius: 2px;
  font-family: 'Jost', sans-serif;
  font-size: 10px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--c-faint);
}

/* ── Scroll reveal (enhanced) ────────────────────────────── */
.dp-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.85s ease, transform 0.85s var(--ease-out);
}
.dp-reveal.dp-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger child columns */
.dp-reveal.dp-visible > .elementor-container > .elementor-row > .elementor-column:nth-child(1),
.dp-reveal.dp-visible > .elementor-container > .elementor-column:nth-child(1) {
  transition-delay: 0s !important;
}
.dp-reveal.dp-visible > .elementor-container > .elementor-row > .elementor-column:nth-child(2),
.dp-reveal.dp-visible > .elementor-container > .elementor-column:nth-child(2) {
  transition-delay: 0.1s !important;
}
.dp-reveal.dp-visible > .elementor-container > .elementor-row > .elementor-column:nth-child(3),
.dp-reveal.dp-visible > .elementor-container > .elementor-column:nth-child(3) {
  transition-delay: 0.2s !important;
}

/* Stagger icon cards within revealed sections — works for any count */
.dp-reveal.dp-visible .dp-icon-card { animation: dp-scale-up 0.65s var(--ease-out) both; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(1) { animation-delay: 0s; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(2) { animation-delay: 0.08s; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(3) { animation-delay: 0.16s; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(4) { animation-delay: 0.24s; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(5) { animation-delay: 0.32s; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(6) { animation-delay: 0.40s; }
.dp-reveal.dp-visible .dp-icon-card:nth-child(n+7) { animation-delay: 0.48s; }

/* ── Plugin placeholder (header) ─────────────────────────── */
.dp-plugin-ph {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center; padding: 8px 20px;
  border: 1px solid var(--c-gold-a); gap: 2px; min-width: 140px;
}
.dp-plugin-ph-label {
  font-family: 'Jost', sans-serif;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--c-gold);
}
.dp-plugin-ph-note { font-size: 9px; color: var(--c-faint); font-family: 'Jost', sans-serif; }

/* ── Contact form ────────────────────────────────────────── */
.dp-form input,
.dp-form textarea,
.dp-form select {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important; font-weight: 300 !important;
  color: var(--c-text) !important;
  background: var(--c-bg) !important;
  border: 1px solid var(--c-gold-a) !important;
  border-radius: 0 !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.dp-form input:focus, .dp-form textarea:focus {
  outline: none !important;
  border-color: var(--c-gold-b) !important;
  box-shadow: 0 0 0 3px var(--c-gold-a) !important;
}
.dp-form button[type="submit"] {
  font-family: 'Jost', sans-serif;
  letter-spacing: 2.5px; text-transform: uppercase;
  font-size: 11px; font-weight: 400;
  background: var(--c-text); color: var(--c-bg);
  border: none; cursor: pointer;
  transition: background 0.35s ease, transform 0.3s ease;
}
.dp-form button[type="submit"]:hover {
  background: var(--c-gold);
  transform: translateY(-1px);
}

/* ── Gallery carousel arrows ─────────────────────────────── */
.elementor-carousel .swiper-button-next,
.elementor-carousel .swiper-button-prev {
  background: var(--c-text) !important;
  color: var(--c-bg) !important;
  border-radius: 0 !important;
  width: 44px !important; height: 44px !important;
  transition: background 0.3s !important;
}
.elementor-carousel .swiper-button-next:hover,
.elementor-carousel .swiper-button-prev:hover {
  background: var(--c-gold) !important;
}

/* ── Accordion (FAQ) ─────────────────────────────────────── */
.elementor-widget-accordion .elementor-accordion-item {
  border-color: var(--c-gold-a) !important;
  border-radius: 0 !important;
  margin-bottom: 1px;
}
.elementor-widget-accordion .elementor-tab-title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 17px !important; font-weight: 400 !important;
  color: var(--c-text) !important;
  background: var(--c-bg) !important;
  padding: 20px 24px !important;
  transition: color 0.25s, background 0.25s;
}
.elementor-widget-accordion .elementor-tab-title.elementor-active,
.elementor-widget-accordion .elementor-tab-title:hover {
  color: var(--c-gold) !important;
  background: var(--c-alt) !important;
}
.elementor-widget-accordion .elementor-tab-content {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important; font-weight: 300 !important;
  color: var(--c-body) !important;
  background: var(--c-alt) !important;
  padding: 0 24px 22px !important;
  line-height: 1.85 !important;
  border-top: 1px solid var(--c-gold-a) !important;
}
.elementor-widget-accordion .elementor-accordion-icon { color: var(--c-gold) !important; }

/* ── Ornament / divider ──────────────────────────────────── */
.dp-ornament { overflow: hidden; line-height: 0; }
.dp-ornament svg { display: block; width: 100%; }

/* v3.1 — auto-injected curved SVG dividers between major sections.
   JS inserts <div class="dp-section-divider"> between non-hero elementor sections. */
.dp-section-divider {
  width: 100%;
  height: 36px;
  line-height: 0;
  background: transparent;
  pointer-events: none;
  margin: -1px 0;
}
.dp-section-divider svg { display: block; width: 100%; height: 100%; }
.dp-section-divider path { fill: var(--c-bg); }
/* When the section above is cream, divider fills with cream */
.dp-section-divider.dp-from-cream path { fill: var(--c-cream); }
.dp-section-divider.dp-from-alt path   { fill: var(--c-alt); }

/* ── Elementor icon-box overrides ────────────────────────── */
.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
  color: var(--c-gold) !important;
  font-size: 28px !important;
  transition: transform 0.4s var(--ease-out), color 0.3s;
}
.elementor-widget-icon-box:hover .elementor-icon { transform: translateY(-5px); }
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 17px !important; font-weight: 400 !important;
  color: var(--c-text) !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important; font-weight: 300 !important;
  color: var(--c-muted) !important; line-height: 1.75 !important;
}

/* ── Homepage overrides (hero, tiles, seasons) ───────────── */
[data-id="s_hero_col"] > .elementor-widget-wrap {
  padding-top: 130px !important;
  padding-bottom: 80px !important;
}
.dp-tile { background: var(--c-cream); }
.dp-season-card { background: var(--c-alt); }
.dp-season-card::before {
  background: linear-gradient(to top, rgba(44,32,24,0.65) 0%, rgba(44,32,24,0.08) 55%, transparent 100%);
}
.dp-attr-card {
  background: var(--c-bg);
  border: 1px solid var(--c-gold-a);
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s, transform 0.4s var(--ease-out), box-shadow 0.4s;
}
.dp-attr-card:hover {
  border-bottom-color: var(--c-gold);
  transform: translateY(-5px);
  box-shadow: var(--el-2);
}
.dp-attr-card h4 { color: var(--c-text) !important; }
.dp-attr-card p  { color: var(--c-body) !important; }
.dp-attr-dist    { color: var(--c-gold) !important; }
.dp-feature-icon {
  background: var(--c-gold-a);
  border-color: var(--c-gold-b);
}
.dp-feature:hover .dp-feature-icon {
  background: var(--c-gold-b);
  transform: translateY(-4px);
  animation: dp-glow-pulse 1.4s ease infinite;
}

/* ── Mobile header (hidden on desktop) ───────────────────── */
#dp-mobile-header { display: none; }
#dp-mob-nav       { display: none; }
#dp-mob-scrim     { display: none; }

/* ═══════════════ RESPONSIVE ════════════════════════════════ */

@media (max-width: 1024px) {
  /* Redeclare frame width var on root so calc()-based positions follow on mobile */
  :root { --frame-w: 12px; }

  *, *::before, *::after { max-width: 100%; }
  .elementor-section,
  .elementor-container,
  .elementor-row,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget-container { overflow-x: hidden !important; }
  img, video, iframe, embed, object, svg { max-width: 100% !important; height: auto; }

  .elementor-col-33 { width: 100% !important; }
  .elementor-col-25 { width: 50%  !important; }

  [data-id="gal_grid"] .elementor-widget-container > div {
    grid-template-columns: 1fr !important; gap: 14px !important;
  }
  [data-id="gal_grid"] .elementor-widget-container > div > div { height: 280px !important; }

  body::before { border-width: 12px; border-radius: 18px; }
  body::after  { inset: 12px; border-radius: 6px; }
  #dp-progress { top: 12px; left: 12px; right: 12px; }

  /* Kill background-attachment:fixed on mobile — known iOS Safari paint jank */
  [data-id$="_hero"],
  [data-id="s_hero"] { background-attachment: scroll !important; }

  /* Hide desktop header completely — also kill Elementor sticky re-injection */
  .site-header,
  header.elementor-location-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
  header.elementor-location-header * { display: none !important; }

  #dp-mobile-header {
    display: flex !important;
    position: fixed;
    top: 12px; left: 12px; right: 12px;
    height: 54px !important;
    max-height: 54px !important;
    overflow: hidden;
    background: rgba(250,248,245,0.95) !important;
    backdrop-filter: blur(18px);
    z-index: 9900;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    border-bottom: 1px solid var(--c-gold-a);
    transition: box-shadow 0.3s;
  }
  #dp-mobile-header.dp-scrolled {
    box-shadow: 0 4px 24px rgba(44,32,24,0.07);
  }

  .dp-mob-logo { display: flex; flex-direction: column; text-decoration: none; gap: 2px; }
  .dp-mob-logo strong {
    font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif;
    font-size: 16px; color: var(--c-text); font-weight: 400; line-height: 1;
  }
  .dp-mob-logo small {
    font-family: 'Jost', sans-serif;
    font-size: 8px; color: var(--c-gold);
    letter-spacing: 3px; text-transform: uppercase;
  }

  .dp-mob-burger {
    background: none; border: none; cursor: pointer;
    display: flex; flex-direction: column; gap: 5px;
    padding: 6px 0; width: 28px;
  }
  .dp-mob-burger span {
    display: block; height: 1px; width: 100%;
    background: var(--c-text);
    transition: transform 0.35s ease, opacity 0.3s;
    transform-origin: center;
  }
  .dp-mob-burger.dp-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .dp-mob-burger.dp-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .dp-mob-burger.dp-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  #dp-mob-nav {
    display: flex !important;
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(300px, 85vw);
    background: var(--c-bg);
    z-index: 99996;
    flex-direction: column;
    padding: 84px 36px 48px;
    border-left: 1px solid var(--c-gold-a);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.4s var(--ease-out);
  }
  #dp-mob-nav.dp-open { transform: translateX(0); }

  .dp-mob-close {
    position: absolute; top: 22px; right: 20px;
    background: none; border: none;
    color: var(--c-muted); font-size: 18px;
    cursor: pointer; padding: 6px; line-height: 1;
    transition: color 0.2s;
  }
  .dp-mob-close:hover { color: var(--c-gold); }

  .dp-mob-links { display: flex; flex-direction: column; gap: 0; flex: 1; }
  .dp-mob-links a {
    font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif;
    font-size: 22px; font-weight: 400;
    color: var(--c-text); text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--c-gold-a);
    display: block;
    transition: color 0.25s, padding-left 0.3s var(--ease-out);
  }
  .dp-mob-links a:hover { color: var(--c-gold); padding-left: 8px; }

  /* v3.2: mobile CTA — promoted to cognac-gold solid (same as header + floating).
     One brand expression for "Rezerwuj" across all three placements. */
  .dp-mob-cta {
    display: block; margin-top: 32px;
    background: var(--c-gold);
    border: 1px solid var(--c-gold);
    color: var(--c-bg);
    text-align: center; padding: 14px 20px;
    font-family: var(--ff-sans);
    font-size: var(--t-eyebrow);
    font-weight: 500;
    letter-spacing: var(--tr-widest);
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
    box-shadow: var(--el-gold);
    transition: background var(--d-base) ease, border-color var(--d-base) ease, box-shadow var(--d-base) ease;
  }
  .dp-mob-cta:hover {
    background: var(--c-text);
    border-color: var(--c-text);
    box-shadow: var(--el-gold-strong);
  }

  #dp-mob-scrim {
    display: block !important;
    position: fixed; inset: 0;
    background: rgba(44,32,24,0.35);
    z-index: 99995; opacity: 0; pointer-events: none;
    transition: opacity 0.4s ease; backdrop-filter: blur(2px);
  }
  #dp-mob-scrim.dp-open { opacity: 1; pointer-events: all; }

  .elementor-location-header ~ * { padding-top: 70px; }
  body.home .elementor-location-header ~ * { padding-top: 0; }

  [data-id$="_hero"] > .elementor-container,
  [data-id="s_hero"] > .elementor-container {
    padding-top: 90px !important;
    padding-bottom: 60px !important;
  }

  .dp-footer-min { flex-direction: column; align-items: flex-start; gap: 16px; }
  .dp-footer-nav  { gap: 16px; }
}

@media (max-width: 768px) {
  /* Phone-and-down: tighter frame + full-width columns */
  :root { --frame-w: 8px; }

  .elementor-col-20, .elementor-col-25, .elementor-col-30,
  .elementor-col-33, .elementor-col-40, .elementor-col-45,
  .elementor-col-50, .elementor-col-55, .elementor-col-60 {
    width: 100% !important; max-width: 100% !important;
  }
  [data-id="gal_grid"] .elementor-widget-container > div > div { height: 220px !important; }
  .dp-attr-card { padding: 28px 20px; }
  .dp-icon-card { padding: 36px 20px 30px; }
  [data-id="intro_right"] { order: 2; }
  [data-id="intro_left"]  { order: 1; }
  [data-id="loc_map_col"] { margin-top: 24px; }

  body::before { border-width: 8px; border-radius: 14px; }
  body::after  { inset: 8px; border-radius: 6px; }
  #dp-progress { top: 8px; left: 8px; right: 8px; }

  #dp-mobile-header { top: 8px; left: 8px; right: 8px; height: 54px; padding: 0 16px; }
  .elementor-location-header ~ * { padding-top: 62px; }

  [data-id$="_hero"] > .elementor-container,
  [data-id="s_hero"] > .elementor-container {
    padding-top: 76px !important;
    padding-bottom: 48px !important;
  }
  .dp-img-wrap::after { inset: 8px; }
  .dp-price-card { padding: 32px 24px; }
  .dp-price-card__amount { font-size: 42px; }
}

/* ════════════════════════════════════════════════════════════
   WOOCOMMERCE — editorial luxury
════════════════════════════════════════════════════════════ */

/* ── WC layout baseline ──────────────────────────────────── */
.woocommerce,
.woocommerce-page {
  font-family: 'Jost', sans-serif;
  color: var(--c-body);
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-family: 'Jost', sans-serif;
  font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--c-muted);
  padding-top: 110px;
  margin-bottom: 0;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--c-gold); text-decoration: none; transition: color 0.25s; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--c-text); }

/* WC notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 2px solid var(--c-gold) !important;
  background: var(--c-alt) !important;
  color: var(--c-text) !important;
  font-family: 'Jost', sans-serif; font-size: 13px;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button { background: transparent !important; }

/* Hide auto page title (we use hero) */
.woocommerce-products-header { display: none !important; }

/* ── All WC buttons ──────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button {
  font-family: 'Jost', sans-serif !important;
  font-size: 10.5px !important; font-weight: 400 !important;
  letter-spacing: 2.5px !important; text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 14px 36px !important;
  background: transparent !important;
  color: var(--c-text) !important;
  border: 1px solid var(--c-gold-c) !important;
  box-shadow: none !important;
  transition: background 0.42s ease, color 0.42s ease, border-color 0.3s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
  background: var(--c-text) !important;
  color: var(--c-bg) !important;
  border-color: var(--c-text) !important;
}

/* ── Product archive (shop page) ─────────────────────────── */
.woocommerce ul.products {
  gap: 28px;
}
.woocommerce ul.products li.product {
  background: var(--c-bg);
  border: 1px solid var(--c-gold-a);
  padding: 0; margin: 0 !important;
  transition: transform 0.44s var(--ease-out), box-shadow 0.4s ease, border-color 0.3s;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--el-3);
  border-color: var(--c-gold-b);
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { overflow: hidden; display: block; }
.woocommerce ul.products li.product a img {
  margin: 0 !important; display: block;
  transition: transform 0.6s var(--ease-out);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 20px; font-weight: 400;
  color: var(--c-text) !important;
  padding: 22px 24px 6px !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price {
  font-family: 'Jost', sans-serif;
  font-size: 12px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--c-gold) !important;
  padding: 0 24px;
}
.woocommerce ul.products li.product .button { margin: 14px 24px 24px !important; }

/* ── Single product ──────────────────────────────────────── */
.woocommerce div.product { padding-top: 100px; }

.woocommerce div.product .product_title {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 44px; font-weight: 400;
  color: var(--c-text) !important;
  line-height: 1.13; letter-spacing: -0.01em;
  margin-bottom: 14px !important;
}

.woocommerce div.product .price {
  font-family: 'Jost', sans-serif;
  color: var(--c-gold) !important;
  font-size: 14px; letter-spacing: 1px;
  margin-bottom: 22px;
}
.dp-price-prefix { font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--c-muted); margin-right: 5px; }
.dp-price-suffix { font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--c-muted); margin-left: 3px; }

.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: 'Jost', sans-serif;
  font-size: 14px; font-weight: 300;
  color: var(--c-body); line-height: 1.85;
  border-bottom: 1px solid var(--c-gold-a);
  padding-bottom: 28px; margin-bottom: 28px;
}

/* Hide quantity input — rental = single unit */
.woocommerce div.product form.cart .quantity { display: none !important; }

/* Product image */
.woocommerce div.product div.images .woocommerce-product-gallery__image { overflow: hidden; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  transition: transform 0.6s var(--ease-out);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:hover img { transform: scale(1.03); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--c-gold-a) !important;
  padding: 0 !important; margin-bottom: 0 !important; background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important; padding: 0 !important;
  margin: 0 20px 0 0 !important;
  transition: border-color 0.25s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover { border-bottom-color: var(--c-gold) !important; background: transparent !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'Jost', sans-serif !important;
  font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--c-muted) !important;
  padding: 14px 0 !important; background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--c-text) !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  padding: 36px 0 !important; background: none !important; border: none !important;
}

/* Attributes table */
.woocommerce table.shop_attributes { border: none; font-family: 'Jost', sans-serif; font-size: 13px; }
.woocommerce table.shop_attributes th {
  font-weight: 400; font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--c-muted); border-bottom: 1px solid var(--c-gold-a) !important;
  padding: 13px 16px 13px 0; background: none !important; width: 28%;
}
.woocommerce table.shop_attributes td {
  color: var(--c-text); border-bottom: 1px solid var(--c-gold-a) !important;
  padding: 13px 0; background: none !important;
}

/* Product meta */
.woocommerce div.product .product_meta {
  font-family: 'Jost', sans-serif; font-size: 11.5px; color: var(--c-muted);
  border-top: 1px solid var(--c-gold-a); padding-top: 20px;
}
.woocommerce div.product .product_meta a { color: var(--c-gold); text-decoration: none; }

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--c-gold) !important; }

/* Related products heading */
.related.products > h2,
.upsells.products > h2 {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 30px; font-weight: 400; color: var(--c-text);
  margin-bottom: 36px;
}

/* ── Booking platform buttons ─────────────────────────────── */
.dp-booking-platforms {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 10px;
}
.dp-book-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 26px;
  font-family: 'Jost', sans-serif;
  font-size: 10.5px; font-weight: 400;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--c-text); text-decoration: none;
  border: 1px solid var(--c-gold-a);
  transition: background 0.38s ease, color 0.38s ease, border-color 0.3s, transform 0.3s var(--ease-out);
}
.dp-book-btn:hover { transform: translateY(-2px); }
.dp-book-btn svg { flex-shrink: 0; transition: transform 0.3s; }
.dp-book-btn:hover svg { transform: scale(1.12); }

.dp-book-airbnb   { border-color: rgba(255,90,95,0.28); }
.dp-book-airbnb:hover   { background: #ff5a5f; border-color: #ff5a5f; color: #fff; }
.dp-book-booking  { border-color: rgba(0,99,191,0.25); }
.dp-book-booking:hover  { background: #0063bf; border-color: #0063bf; color: #fff; }
.dp-book-hrs      { border-color: var(--c-gold-b); }
.dp-book-hrs:hover      { background: var(--c-text); border-color: var(--c-text); color: var(--c-bg); }

.dp-book-disabled { opacity: 0.45; pointer-events: none; }

/* Booking platform note */
.dp-book-note {
  font-family: 'Jost', sans-serif;
  font-size: 11px; color: var(--c-muted);
  margin-top: 14px; line-height: 1.6;
}

/* ── Cart & Checkout ─────────────────────────────────────── */
.woocommerce table.shop_table { border: 1px solid var(--c-gold-a) !important; border-radius: 0 !important; }
.woocommerce table.shop_table th {
  font-family: 'Jost', sans-serif;
  font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--c-muted); font-weight: 400;
  border-bottom: 1px solid var(--c-gold-a) !important;
  background: var(--c-alt) !important; padding: 14px 20px !important;
}
.woocommerce table.shop_table td {
  font-family: 'Jost', sans-serif; color: var(--c-body);
  border-bottom: 1px solid var(--c-gold-a) !important;
  padding: 18px 20px !important;
}
.woocommerce-checkout h3 {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 22px; font-weight: 400; color: var(--c-text);
  border-bottom: 1px solid var(--c-gold-a); padding-bottom: 14px; margin-bottom: 24px;
}
.woocommerce form .form-row label {
  font-family: 'Jost', sans-serif;
  font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--c-muted); font-weight: 400; margin-bottom: 8px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important; font-weight: 300 !important;
  color: var(--c-text) !important; background: var(--c-bg) !important;
  border: 1px solid var(--c-gold-a) !important;
  border-radius: 0 !important; padding: 12px 16px !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--c-gold-b) !important;
  box-shadow: 0 0 0 3px var(--c-gold-a) !important;
  outline: none !important;
}
.woocommerce .order-total .amount {
  font-family: 'Essonnes Text', 'Essonnes', 'Cormorant Garamond', serif !important;
  font-size: 24px !important; color: var(--c-text) !important;
}

/* ── Floating booking button ─────────────────────────────── */
#dp-book-float {
  position: fixed;
  bottom: calc(var(--frame-w) + 18px);
  right: calc(var(--frame-w) + 18px);
  z-index: 9800;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out);
  pointer-events: none;
}
#dp-book-float.dp-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}
/* v3.2: floating booking CTA — unified with header CTA (cognac-gold solid).
   Same action everywhere = same visual language. Hover inverts to dark. */
#dp-book-float a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: var(--c-gold);
  color: var(--c-bg);
  font-family: var(--ff-sans);
  font-size: var(--t-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tr-widest);
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1;
  border: 1px solid var(--c-gold);
  box-shadow: var(--el-gold);
  transition: background var(--d-base) ease, border-color var(--d-base) ease, box-shadow var(--d-base) ease, transform var(--d-fast) var(--ease-out);
  white-space: nowrap;
}
#dp-book-float a:hover {
  background: var(--c-text);
  border-color: var(--c-text);
  box-shadow: var(--el-gold-strong);
  transform: translateY(-2px);
}
#dp-book-float svg { flex-shrink: 0; transition: transform 0.3s var(--ease-out); }
#dp-book-float a:hover svg { transform: scale(1.15); }

@media (max-width: 768px) {
  #dp-book-float {
    bottom: calc(8px + 14px);
    right: calc(8px + 14px);
  }
  #dp-book-float a { padding: 12px 18px; font-size: 9px; letter-spacing: 2px; gap: 8px; }
}

/* ── WooCommerce mobile ───────────────────────────────────── */
@media (max-width: 768px) {

  /* Prevent any WC content from escaping the frame */
  .woocommerce-page #primary,
  .woocommerce-page .site-main {
    overflow-x: hidden;
    max-width: 100vw;
  }

  /* Pad breadcrumb + product inside the frame (8px frame + comfortable gap) */
  .woocommerce .woocommerce-breadcrumb {
    padding-top: 80px;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .woocommerce div.product {
    padding: 16px 20px 48px !important;
    overflow-x: hidden;
  }

  /* Stack image above summary, both full width */
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin: 0 0 24px !important;
  }

  /* Gallery image full-width, no overflow */
  .woocommerce div.product div.images img,
  .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }

  /* Title tighter on mobile */
  .woocommerce div.product .product_title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
  }

  /* Short description */
  .woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 13px !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
  }

  /* Add-to-cart button full width */
  .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100% !important;
    text-align: center !important;
    padding: 15px 20px !important;
    box-sizing: border-box;
  }

  /* Booking platform buttons: stacked, full-width */
  .dp-booking-platforms {
    flex-direction: column;
    gap: 10px;
  }
  .dp-book-btn {
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 20px;
  }

  /* Tabs: horizontally scrollable on very small screens */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex-shrink: 0; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 24px 0 !important; }

  /* Attributes table fills width */
  .woocommerce table.shop_attributes { width: 100%; }
  .woocommerce table.shop_attributes th,
  .woocommerce table.shop_attributes td { padding: 10px 0 !important; font-size: 12px; }

  /* Check list tighter */
  .dp-check-list { font-size: 13px; line-height: 2; }

  /* Product archive cards full width */
  .woocommerce ul.products li.product { width: 100% !important; }

  /* Tabs + related padding */
  .woocommerce-page .wc-tabs-wrapper,
  .woocommerce-page .related.products {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  .related.products > h2,
  .upsells.products > h2 { font-size: 24px !important; }
}

/* ════════════════════════════════════════════════════════════
   v3.4 — MOBILE FIT (≤ 768px): nothing escapes the viewport
   Inline-styled HTML widgets, fixed-px controls, oversized
   display type, and rigid flex rows all get tamed here.
════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Hard cap: nothing wider than viewport, ever */
  html, body { max-width: 100vw; overflow-x: hidden !important; }

  /* Flex/grid children need min-width:0 to allow shrink-below-content */
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget,
  .elementor-widget-wrap,
  .elementor-widget-container,
  .elementor-widget-html,
  .elementor-widget-html > *,
  .elementor-widget-html > * > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* HTML widgets — every descendant constrained, wrap long words */
  .elementor-widget-html * {
    max-width: 100% !important;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .elementor-widget-html img,
  .elementor-widget-html svg,
  .elementor-widget-html iframe,
  .elementor-widget-html video {
    max-width: 100% !important;
    height: auto;
  }

  /* Cap oversized inline display sizes */
  [style*="font-size:52px"], [style*="font-size: 52px"] { font-size: 32px !important; line-height: 1.1 !important; }
  [style*="font-size:44px"], [style*="font-size: 44px"] { font-size: 28px !important; line-height: 1.15 !important; }
  [style*="font-size:38px"], [style*="font-size: 38px"] { font-size: 24px !important; line-height: 1.2 !important; }
  [style*="font-size:32px"], [style*="font-size: 32px"] { font-size: 22px !important; }
  [style*="font-size:28px"], [style*="font-size: 28px"] { font-size: 20px !important; }
  [style*="font-size:24px"], [style*="font-size: 24px"] { font-size: 18px !important; }
  [style*="font-size:21px"], [style*="font-size: 21px"] { font-size: 17px !important; }
  [style*="font-size:19px"], [style*="font-size: 19px"] { font-size: 15.5px !important; }
  [style*="font-size:18px"], [style*="font-size: 18px"] { font-size: 15px !important; }
  [style*="font-size:17px"], [style*="font-size: 17px"] { font-size: 14.5px !important; }
  [style*="font-size:16px"], [style*="font-size: 16px"] { font-size: 14px !important; }
  [style*="font-size:15px"], [style*="font-size: 15px"] { font-size: 13.5px !important; }

  /* Inline fixed-px widths (date-picker style controls, badges) → fluid */
  [style*="width:130px"], [style*="width: 130px"],
  [style*="min-width:130px"], [style*="min-width: 130px"],
  [style*="width:140px"], [style*="width: 140px"],
  [style*="min-width:140px"], [style*="min-width: 140px"],
  [style*="width:160px"], [style*="width: 160px"],
  [style*="min-width:160px"], [style*="min-width: 160px"],
  [style*="width:180px"], [style*="width: 180px"],
  [style*="min-width:180px"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* Big inline padding (≥40px) shrinks on mobile */
  [style*="padding:40px"], [style*="padding: 40px"] { padding: 22px !important; }
  [style*="padding:48px"], [style*="padding: 48px"] { padding: 22px !important; }
  [style*="padding-left:40px"], [style*="padding-left: 40px"] { padding-left: 18px !important; }
  [style*="padding-right:40px"], [style*="padding-right: 40px"] { padding-right: 18px !important; }
  [style*="padding-top:80px"], [style*="padding-top: 80px"] { padding-top: 44px !important; }
  [style*="padding-bottom:80px"], [style*="padding-bottom: 80px"] { padding-bottom: 44px !important; }

  /* Big inline margins: cap so cards aren't pushed off-screen */
  [style*="margin-bottom:40px"], [style*="margin-bottom: 40px"] { margin-bottom: 22px !important; }
  [style*="margin-top:40px"], [style*="margin-top: 40px"] { margin-top: 22px !important; }

  /* Force flex rows in HTML widgets to wrap so children don't push wider */
  .elementor-widget-html [style*="display:flex"],
  .elementor-widget-html [style*="display: flex"] {
    flex-wrap: wrap !important;
    gap: 10px;
  }

  /* Inline grid-template-columns with explicit columns → single column */
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: 1fr !important;
  }

  /* Footer brand block: stack vertically with proper gap */
  .dp-footer-min { gap: 14px; padding: 22px 8px 18px; }

  /* Floating book CTA: smaller, doesn't crowd content */
  #dp-book-float a { font-size: 9.5px; padding: 11px 16px; letter-spacing: 2px; gap: 6px; }

  /* Buttons inside HTML widgets: full-width, single line if possible */
  .elementor-widget-html a[style*="padding"][style*="background"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-align: center;
  }

  /* Hero headings: scale below the inline cap rules */
  [data-id$="_hero"] .elementor-heading-title,
  [data-id="s_hero"] .elementor-heading-title {
    font-size: clamp(28px, 8.5vw, 38px) !important;
    line-height: 1.12 !important;
  }

  /* Tabs and breadcrumb already styled for WC — extend to anchors */
  .elementor-widget-text-editor p { font-size: 14px !important; line-height: 1.7 !important; }
}

/* Extra-narrow phones (≤ 380px): one more shrink pass */
@media (max-width: 380px) {
  :root { --frame-w: 6px; }
  body::before { border-width: 6px; border-radius: 12px; }
  body::after  { inset: 6px; }
  #dp-mobile-header { top: 6px; left: 6px; right: 6px; padding: 0 12px; }

  [style*="font-size:52px"] { font-size: 26px !important; }
  [style*="font-size:44px"] { font-size: 24px !important; }
  [style*="font-size:38px"] { font-size: 22px !important; }

  .elementor-section > .elementor-container,
  .elementor-section .elementor-widget-wrap { padding-left: 14px !important; padding-right: 14px !important; }
}

/* ════════════════════════════════════════════════════════════
   v3.1.2 — CONTRAST GUARANTEES across all section backgrounds
   Catches Elementor inline styles and global page fonts that
   would otherwise render too pale on the lighter v3.1 palette.
════════════════════════════════════════════════════════════ */

/* Universal baseline: every Elementor widget text inherits readable colors */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor span:not([style*="color"]),
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-image-box .elementor-image-box-title,
.elementor-widget-image-box .elementor-image-box-description {
  color: var(--c-body);
}

/* Headings always darker than body for hierarchy */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title,
h1, h2, h3 {
  color: var(--c-text);
}

/* Kill any inline color that's too pale to read on light bgs.
   Targets Elementor / page-builder inline whites + near-whites
   that linger from v2 dark sections. */
[style*="color:#fff"]:not(.dp-header-cta):not(.dp-header-cta *),
[style*="color: #fff"]:not(.dp-header-cta):not(.dp-header-cta *),
[style*="color:#ffffff"],
[style*="color: #ffffff"],
[style*="color:white"]:not(.dp-header-cta):not(.dp-header-cta *),
[style*="color: white"]:not(.dp-header-cta):not(.dp-header-cta *),
[style*="color:#eee"], [style*="color: #eee"],
[style*="color:#f0f0f0"], [style*="color: #f0f0f0"],
[style*="color:#ddd"], [style*="color: #ddd"],
[style*="color:#ccc"], [style*="color: #ccc"] {
  color: var(--c-text) !important;
}

/* Background-aware text colour — sections with explicit dark/cream bgs
   already had section overrides at L282; reinforce that descendants
   pick up the readable text color even if Elementor sets a child inline. */
.elementor-section[style*="background-color: #1c0d04"] *,
.elementor-section[style*="background-color: #150a02"] *,
.elementor-section[style*="background-color: #1a0e05"] *,
.elementor-section[style*="background-color: #2d4a20"] *,
.elementor-section[style*="background-color: #0d1a08"] *,
[data-id="ob_spec"] *,
[data-id="of_extra"] *,
[data-id="wr_routes"] *,
[data-id="wr_routes_grid"] *,
[data-id="at_dist"] *,
[data-id="ga_cta"] *,
[data-id="fq_cta"] *,
[data-id="s_cta"] *,
[data-id="s_bookcta"] *,
[data-id="s_brand"] * {
  color: var(--c-body);
}
.elementor-section[style*="background-color: #1c0d04"] h1,
.elementor-section[style*="background-color: #1c0d04"] h2,
.elementor-section[style*="background-color: #1c0d04"] h3,
[data-id="ob_spec"] h1, [data-id="ob_spec"] h2, [data-id="ob_spec"] h3,
[data-id="of_extra"] h1, [data-id="of_extra"] h2, [data-id="of_extra"] h3,
[data-id="wr_routes"] h1, [data-id="wr_routes"] h2, [data-id="wr_routes"] h3,
[data-id="at_dist"] h1, [data-id="at_dist"] h2, [data-id="at_dist"] h3,
[data-id="ga_cta"] h1, [data-id="ga_cta"] h2, [data-id="ga_cta"] h3,
[data-id="fq_cta"] h1, [data-id="fq_cta"] h2, [data-id="fq_cta"] h3,
[data-id="s_cta"] h1, [data-id="s_cta"] h2, [data-id="s_cta"] h3,
[data-id="s_bookcta"] h1, [data-id="s_bookcta"] h2, [data-id="s_bookcta"] h3,
[data-id="s_brand"] h1, [data-id="s_brand"] h2, [data-id="s_brand"] h3 {
  color: var(--c-text);
}

/* Hero text: gradient ends in #e2d3c4 — needs darker body for AA contrast */
[data-id$="_hero"] .elementor-widget-text-editor p,
[data-id="s_hero"] .elementor-widget-text-editor p,
[data-id$="_hero"] .elementor-widget-text-editor,
[data-id="s_hero"] .elementor-widget-text-editor {
  color: var(--c-text) !important;
}
[data-id$="_hero"] .elementor-heading-title,
[data-id="s_hero"] .elementor-heading-title {
  color: #1f150f !important; /* extra-dark for hero — contrast ~9:1 on sand */
}

/* Links inside body text — gold by default, dark on hover */
.elementor-widget-text-editor a,
.elementor-widget p a {
  color: var(--c-gold);
  text-decoration: none;
  border-bottom: 1px solid var(--c-gold-b);
  transition: color 0.25s, border-color 0.25s;
}
.elementor-widget-text-editor a:hover,
.elementor-widget p a:hover {
  color: var(--c-text);
  border-color: var(--c-text);
}

/* WooCommerce body text — same baseline */
.woocommerce, .woocommerce-page,
.woocommerce p, .woocommerce li, .woocommerce td {
  color: var(--c-body) !important;
}

/* ════════════════════════════════════════════════════════════
   v3.3 — INLINE-COLOR OVERRIDES at maximum specificity
   These catch hand-authored Elementor HTML widgets whose
   inline styles were written for the v1/v2 dark theme and
   now render unreadable on the v3.1 light surfaces.
   `html body` raises specificity to beat Elementor's own
   per-section <style> injections.
════════════════════════════════════════════════════════════ */

html body [style*="color:#fff"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *):not([style*="background:#c8a96e"]):not([style*="background: #c8a96e"]):not([style*="background:#b8946a"]):not([style*="background:var(--c-gold)"]),
html body [style*="color: #fff"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *),
html body [style*="color:#ffffff"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *),
html body [style*="color: #ffffff"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *),
html body [style*="color:white"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *),
html body [style*="color: white"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *),
html body [style*="color:rgba(255,255,255"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *),
html body [style*="color:rgba(255, 255, 255"]:not(.dp-header-cta):not(.dp-header-cta *):not(.dp-mob-cta):not(.dp-mob-cta *):not(#dp-book-float a):not(#dp-book-float a *) {
  color: var(--c-text) !important;
}

/* Semi-transparent white labels ("Ocena gości" etc.) → muted brown */
html body [style*="rgba(255,255,255,0.4)"]:not(.dp-header-cta *):not(.dp-mob-cta *),
html body [style*="rgba(255, 255, 255, 0.4)"]:not(.dp-header-cta *):not(.dp-mob-cta *),
html body [style*="rgba(255,255,255,0.5)"]:not(.dp-header-cta *):not(.dp-mob-cta *),
html body [style*="rgba(255,255,255,0.6)"]:not(.dp-header-cta *):not(.dp-mob-cta *),
html body [style*="rgba(255,255,255,0.7)"]:not(.dp-header-cta *):not(.dp-mob-cta *) {
  color: var(--c-muted) !important;
}

/* ════════════════════════════════════════════════════════════
   v3.3 — DE-AI-IFY ICONS in hand-authored HTML widgets
   The pattern: circular gold-tinted wrapper around a thick-
   stroke lucide/feather SVG. That's the AI-template look.
   Editorial fix: strip the wrapper, thin the stroke, give
   the icon air and let it stand alone in gold.
════════════════════════════════════════════════════════════ */

/* Strip circular gold-tint wrappers (the AI giveaway) */
.elementor-widget-html span[style*="background:rgba(200,169,110"],
.elementor-widget-html span[style*="background: rgba(200,169,110"],
.elementor-widget-html span[style*="background:rgba(184,148,106"],
.elementor-widget-html span[style*="background: rgba(184,148,106"],
.elementor-widget-html div[style*="background:rgba(200,169,110"],
.elementor-widget-html div[style*="background:rgba(184,148,106"] {
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
}

/* Force editorial stroke weight + colour on inline SVG icons inside HTML widgets */
.elementor-widget-html svg[stroke],
.elementor-widget-html span svg,
.elementor-widget-html a svg {
  stroke-width: 1 !important;
  stroke: var(--c-gold) !important;
  width: 22px !important;
  height: 22px !important;
  vertical-align: middle;
}

/* When the SVG IS the entire content of a heading-like block, give it space */
.elementor-widget-html svg + * { margin-left: 14px; }

/* Star ratings hand-written as text characters — keep gold but lighten weight */
.elementor-widget-html [style*="color:#c8a96e"][style*="★"],
.elementor-widget-html [style*="font-size:38px"][style*="color:#c8a96e"] {
  font-weight: 400 !important;
  letter-spacing: 0.05em;
}

/* Big numeric stats (e.g. "100%") — preserve impact but inherit dark colour
   already set above; ease the heavy 700 weight to match Essonnes serif. */
.elementor-widget-html [style*="font-size:38px"] {
  font-family: var(--ff-serif) !important;
  font-weight: 400 !important;
  letter-spacing: var(--tr-tight) !important;
  line-height: 1 !important;
}
.elementor-widget-html [style*="font-size:21px"] {
  font-family: var(--ff-serif) !important;
  font-weight: 400 !important;
}
.elementor-widget-html [style*="font-size:18px"][style*="font-weight:700"] {
  font-family: var(--ff-serif) !important;
  font-weight: 400 !important;
}
.elementor-widget-html [style*="font-size:15px"][style*="font-weight:700"] {
  font-family: var(--ff-serif) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* Gold-bg badges with white text (e.g. ".../noc" pricing) — keep them
   readable but soften: smaller scale, less aggressive weight, gold-on-cream */
.elementor-widget-html [style*="background:#c8a96e"][style*="color:#fff"],
.elementor-widget-html [style*="background: #c8a96e"][style*="color:#fff"] {
  background: var(--c-gold) !important;
  font-family: var(--ff-sans) !important;
  font-weight: 500 !important;
  font-size: 10.5px !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  padding: 8px 14px !important;
}

/* ════════════════════════════════════════════════════════════
   ACCESSIBILITY — reduced motion + focus + hover-only effects
════════════════════════════════════════════════════════════ */

/* Visible focus on all interactive elements (keyboard a11y) */
a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible,
.dp-icon-card:focus-visible,
.dp-book-btn:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--c-gold) !important;
  outline-offset: 3px !important;
}

/* Hide custom cursor on touch / coarse-pointer devices */
@media (hover: none), (pointer: coarse) {
  #dp-cursor, #dp-cursor-ring { display: none !important; }
}

/* Honour OS-level reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  /* Show scroll-reveal content immediately */
  .dp-reveal { opacity: 1 !important; transform: none !important; }
  /* Disable parallax / fixed bg */
  [data-id$="_hero"], [data-id="s_hero"] { background-attachment: scroll !important; }
  /* Disable custom cursor entirely */
  #dp-cursor, #dp-cursor-ring { display: none !important; }
  /* Disable hover lifts */
  .dp-icon-card:hover, .dp-attr-card:hover, .dp-img-wrap:hover,
  .woocommerce ul.products li.product:hover { transform: none !important; }
}
/* ============================================================
   ARETE-STYLE HEADER + HERO — added 2026-05-25
   ============================================================ */

/* Chevron-cut bottom on header */
.dp-hdr-chevron {
    position: relative;
    overflow: visible !important;
}
.dp-hdr-chevron::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -14px;
    height: 18px;
    background: #1c0d04;
    margin-top: -2px;
    clip-path: polygon(
        0 0, 100% 0,
        100% 0,
        96% 100%, 92% 0,
        88% 100%, 84% 0,
        80% 100%, 76% 0,
        72% 100%, 68% 0,
        64% 100%, 60% 0,
        56% 100%, 52% 0,
        48% 100%, 44% 0,
        40% 100%, 36% 0,
        32% 100%, 28% 0,
        24% 100%, 20% 0,
        16% 100%, 12% 0,
        8% 100%, 4% 0,
        0 100%
    );
    pointer-events: none;
}

/* Logo plaque (white rounded card on dark header) */
.dp-logo-plaque {
    display: inline-flex;
    align-items: center;
    padding: 0;
}
.dp-logo-plaque-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f6efe1;
    color: #1c0d04;
    border-radius: 12px;
    padding: 6px 18px 8px;
    min-width: 156px;
    max-height: 76px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
    position: relative;
    line-height: 1;
    font-family: "Cormorant Garamond", "Times New Roman", serif;
}
.dp-logo-mark {
    position: relative;
    width: 32px;
    height: 32px;
    margin-bottom: 2px;
}
.dp-logo-mark svg {
    width: 100%; height: 100%;
    display: block;
}
.dp-logo-mark-yr-l, .dp-logo-mark-yr-r {
    position: absolute;
    top: 10px;
    font-size: 7px;
    letter-spacing: 1.2px;
    font-weight: 600;
    font-family: "Inter", system-ui, sans-serif;
    color: #1c0d04;
}
.dp-logo-mark-yr-l { left: -10px; }
.dp-logo-mark-yr-r { right: -10px; }
.dp-logo-title {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 2.6px;
    margin-top: 1px;
}
.dp-logo-sub {
    font-family: "Inter", system-ui, sans-serif;
    font-size: 7px;
    letter-spacing: 3px;
    color: #4a3a26;
    margin-top: 2px;
    font-weight: 500;
}

/* Booking card — floating white card with date pickers + brown CTA */
.dp-book-card {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0;
    background: #ffffff;
    border-radius: 10px;
    padding: 8px 8px 8px 14px;
    align-items: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    min-width: 340px;
    max-height: 76px;
    font-family: "Inter", system-ui, sans-serif;
}
.dp-book-field {
    position: relative;
    padding: 2px 14px;
    border-right: 1px solid rgba(28, 13, 4, 0.08);
    cursor: pointer;
}
.dp-book-field:nth-of-type(1) { padding-left: 0; }
.dp-book-field:nth-of-type(2) { border-right: none; }
.dp-book-lbl {
    display: block;
    font-size: 10px;
    color: #5b4a36;
    letter-spacing: 0.8px;
    margin-bottom: 1px;
    text-transform: none;
    font-weight: 500;
}
.dp-book-val {
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #1c0d04;
}
.dp-book-day {
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}
.dp-book-mo {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
    font-size: 10px;
    color: #6b5a44;
}
.dp-book-mo em { font-style: normal; }
.dp-book-mo-name { text-transform: capitalize; }
.dp-book-mo-yr { color: #8b7a64; }
.dp-book-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.dp-book-cta {
    background: #c8a96e;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.4px;
    font-size: 13px;
    padding: 10px 20px;
    border: 0;
    border-radius: 6px;
    margin-left: 12px;
    cursor: pointer;
    transition: background 160ms ease, transform 120ms ease;
}
.dp-book-cta:hover { background: #b69458; transform: translateY(-1px); }

/* Hero composition: bottom-left over full-bleed image */
.dp-hero-arete > .elementor-container {
    align-items: flex-end !important;
}
.dp-hero-arete::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.0) 35%, rgba(0,0,0,0.55) 100%);
    pointer-events: none;
    z-index: 1;
}
.dp-hero-arete .elementor-container,
.dp-hero-arete .elementor-widget-wrap {
    position: relative;
    z-index: 2;
}
.dp-hero-arete .elementor-widget-heading h1 {
    font-family: "Cormorant Garamond", "Times New Roman", serif !important;
    font-weight: 500 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

/* Zigzag band — full-bleed geometric strip */
.dp-zigzag-band {
    background: #ffffff;
    padding: 0 !important;
}
.dp-zigzag-band .elementor-container,
.dp-zigzag-band .elementor-column-wrap,
.dp-zigzag-band .elementor-widget-wrap {
    padding: 0 !important;
}
.dp-zigzag-svg {
    display: block;
    width: 100%;
    height: 56px;
}

/* Responsive */
@media (max-width: 1024px) {
    .dp-book-card { min-width: 0; grid-template-columns: 1fr 1fr; }
    .dp-book-cta { grid-column: 1 / -1; margin: 10px 0 0; }
    .dp-logo-plaque-inner { min-width: 160px; padding: 10px 20px 14px; }
    .dp-logo-title { font-size: 18px; letter-spacing: 3px; }
}
@media (max-width: 768px) {
    .dp-hdr-chevron::after { display: none; }
    .dp-book-card { display: none; }
    .dp-hero-arete .elementor-widget-heading h1 { font-size: 36px !important; }
}

/* Hero min-height + position only (let Elementor JSON control the bg image) */
.elementor-element.elementor-element-s_hero,
.elementor-page-10 .elementor-element.elementor-element-s_hero,
.dp-hero-arete {
    background-color: #1c0d04 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 92vh !important;
    position: relative !important;
}
.dp-hero-arete .elementor-heading-title {
    color: #ffffff !important;
}
.dp-hero-arete .elementor-widget-text-editor p {
    color: rgba(255,255,255,0.92) !important;
}

/* HARD FIX: header section walnut bg + chevron flush against header */
.elementor-25 .dp-hdr-chevron,
.elementor-location-header .dp-hdr-chevron,
.dp-hdr-chevron {
    background-color: #1c0d04 !important;
}
.dp-hdr-chevron::after {
    bottom: -16px !important;
    height: 20px !important;
}
.dp-hdr-chevron > .elementor-container {
    background: #1c0d04 !important;
}
.dp-hdr-chevron .elementor-column,
.dp-hdr-chevron .elementor-widget-wrap {
    align-items: center !important;
    justify-content: flex-start;
}

/* HARD FIX: full-width walnut behind header */
header.site-header,
header.elementor-location-header,
.elementor-location-header,
body > header,
.elementor-25 {
    background-color: #1c0d04 !important;
}
.elementor-25 .elementor-section.elementor-top-section.dp-hdr-chevron {
    width: 100% !important;
    max-width: 100% !important;
}

/* Hide native date-picker indicators */
.dp-book-input::-webkit-calendar-picker-indicator,
.dp-book-input::-webkit-inner-spin-button,
.dp-book-input::-webkit-clear-button,
.dp-book-input::-webkit-datetime-edit {
    display: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
.dp-book-input {
    -webkit-appearance: none !important;
    appearance: none !important;
    color-scheme: light;
}
.dp-book-card { overflow: visible !important; }
.dp-hdr-chevron .elementor-element-hdr_book_col > .elementor-widget-wrap,
.dp-hdr-chevron .elementor-element-hdr_book_col {
    padding-right: 0 !important;
}
.dp-hdr-chevron .elementor-nav-menu a.elementor-item,
.elementor-25 .elementor-nav-menu a.elementor-item {
    color: #f6efe1 !important;
    opacity: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase;
}
.dp-hdr-chevron .elementor-nav-menu a.elementor-item:hover,
.dp-hdr-chevron .elementor-nav-menu a.elementor-item.elementor-item-active {
    color: #c8a96e !important;
}
.dp-hero-arete .elementor-widget-text-editor p,
.dp-hero-arete .elementor-element-hero_sub p,
.dp-hero-arete .elementor-element-hero_pre p {
    color: #f6efe1 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55), 0 0 18px rgba(0, 0, 0, 0.35) !important;
    opacity: 1 !important;
}
.dp-hero-arete .elementor-element-hero_pre p {
    color: #e7d6ad !important;
}

/* Hide Elementor mobile menu toggle on desktop */
@media (min-width: 769px) {
    .elementor-menu-toggle,
    div.elementor-menu-toggle,
    .elementor-widget-nav-menu .elementor-menu-toggle {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
    }
}
.dp-book-cta {
    color: #fff !important;
    background: #c8a96e !important;
}

/* Hide legacy floating booking CTA — header card handles booking now */
#dp-book-float,
#dp-mob-scrim,
.dp-mob-cta {
    display: none !important;
}

/* Hide legacy header CTA injected by dp-nav.js (new booking card replaces it) */
.dp-header-cta,
.dp-has-header-cta .dp-header-cta {
    display: none !important;
}

/* Chevron hides after scroll past 80px (body.dp-scrolled toggled by JS) */
.dp-hdr-chevron::after {
    transition: opacity 240ms ease, transform 320ms ease;
}
body.dp-scrolled .dp-hdr-chevron::after {
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    pointer-events: none !important;
}

/* Nav menu text fully white + bolder */
header.elementor-location-header .elementor-nav-menu a.elementor-item,
.elementor-25 .elementor-nav-menu li.menu-item > a.elementor-item,
.elementor-25 .elementor-nav-menu a.elementor-item,
.dp-hdr-chevron .elementor-nav-menu a.elementor-item,
.elementor-widget-nav-menu .elementor-nav-menu a {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
}
header.elementor-location-header .elementor-nav-menu a.elementor-item:hover,
header.elementor-location-header .elementor-nav-menu a.elementor-item.elementor-item-active,
.elementor-25 .elementor-nav-menu a.elementor-item:hover {
    color: #c8a96e !important;
}

/* AGGRESSIVE hide stray legacy dp-nav.js Rezerwuj link (NOT the Elementor button widget) */
.dp-hdr-chevron a.dp-header-cta,
header.elementor-location-header a.dp-header-cta,
a.dp-header-cta,
[id*="dp-book-float"],
.elementor-25 .elementor-menu-toggle,
.elementor-25 .elementor-widget-nav-menu .elementor-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Hero subparagraph (Marzysz...) — exact white */
.dp-hero-arete .elementor-element-hero_sub,
.dp-hero-arete .elementor-element-hero_sub p,
.dp-hero-arete .elementor-element-hero_sub .elementor-widget-container p {
    color: #ffffff !important;
}

/* MOBILE SCROLL PERF — disable heavy paint ops on small viewports */
@media (max-width: 1024px) {
    .elementor-location-header,
    header.elementor-location-header,
    .elementor-location-header.dp-scrolled {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #1c0d04 !important;
    }
    body,
    body::before,
    body::after,
    .elementor-section,
    [data-id] {
        background-attachment: scroll !important;
    }
    /* Drop costly multi-radial body bg on mobile */
    body {
        background-image: linear-gradient(165deg, #fbf9f6 0%, #f3ede5 40%, #ebe1d6 75%, #e2d3c4 100%) !important;
    }
    /* Disable backdrop-filter anywhere else on mobile */
    *,
    *::before,
    *::after {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    /* Reduce will-change scope on mobile (frees GPU layers) */
    .elementor-section {
        will-change: auto !important;
    }
    /* Disable smooth-scroll for touch — let native momentum work */
    html {
        scroll-behavior: auto !important;
    }
}

/* Per-page hero backgrounds (Unsplash CC0 nature) */
.dp-page-hero {
    position: relative !important;
    min-height: 56vh !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #1c0d04 !important;
}
.dp-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(28,13,4,0.35) 0%, rgba(28,13,4,0.55) 100%);
    pointer-events: none;
    z-index: 1;
}
.dp-page-hero > .elementor-container,
.dp-page-hero > .e-con-inner {
    position: relative;
    z-index: 2;
}
.dp-page-hero h1,
.dp-page-hero h2,
.dp-page-hero .elementor-heading-title,
.dp-page-hero p {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.4);
}
body.page-id-11 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1600&h=900&fit=crop&auto=format&q=78') !important; }
body.page-id-12 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1486870591958-9b9d0d1dda99?w=1600&h=900&fit=crop&auto=format&q=78') !important; }
body.page-id-13 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1483728642387-6c3bdd6c93e5?w=1600&h=900&fit=crop&auto=format&q=78') !important; }
body.page-id-14 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1519681393784-d120267933ba?w=1600&h=900&fit=crop&auto=format&q=78') !important; }
body.page-id-15 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1448375240586-882707db888b?w=1600&h=900&fit=crop&auto=format&q=78') !important; }
body.page-id-16 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1500382017468-9049fed747ef?w=1600&h=900&fit=crop&auto=format&q=78') !important; }
body.page-id-17 .dp-page-hero { background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1600&h=900&fit=crop&auto=format&q=78') !important; }

/* NEGATIVE/INVERT effect — text + buttons blend against hero bg */
.dp-hero-arete::before { display: none !important; }
.dp-page-hero::before { display: none !important; }

.dp-hero-arete .elementor-heading-title,
.dp-hero-arete .elementor-widget-text-editor p,
.dp-hero-arete .elementor-element-hero_pre p,
.dp-hero-arete .elementor-element-hero_sub p,
.dp-page-hero h1,
.dp-page-hero h2,
.dp-page-hero .elementor-heading-title,
.dp-page-hero p {
    color: #ffffff !important;
    mix-blend-mode: difference !important;
    text-shadow: none !important;
    isolation: isolate;
}

/* Buttons + booking CTA invert too (header card stays normal so it's still clickable+visible) */
.dp-hero-arete .elementor-button,
.dp-page-hero .elementor-button,
.dp-hero-arete .elementor-button-text,
.dp-page-hero .elementor-button-text {
    background: #ffffff !important;
    color: #000000 !important;
    mix-blend-mode: difference !important;
    border: 1px solid #ffffff !important;
    box-shadow: none !important;
}

/* Disable blend on mobile (GPU cost) */
@media (max-width: 1024px) {
    .dp-hero-arete .elementor-heading-title,
    .dp-hero-arete .elementor-widget-text-editor p,
    .dp-page-hero h1,
    .dp-page-hero h2,
    .dp-page-hero .elementor-heading-title,
    .dp-page-hero p,
    .dp-hero-arete .elementor-button,
    .dp-page-hero .elementor-button {
        mix-blend-mode: normal !important;
        text-shadow: 0 2px 14px rgba(0,0,0,0.45) !important;
    }
    .dp-hero-arete::before,
    .dp-page-hero::before {
        display: block !important;
    }
}

/* Card text legibility — stronger overlay + white text + shadow */
[data-id="s_sea_cards"] a,
[data-id="s_attr_cards"] a {
    position: relative;
}
[data-id="s_sea_cards"] a::after,
[data-id="s_attr_cards"] a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
        rgba(0,0,0,0.85) 0%,
        rgba(0,0,0,0.55) 35%,
        rgba(0,0,0,0.15) 65%,
        transparent 100%);
    pointer-events: none;
    z-index: 1;
}
[data-id="s_sea_cards"] a > *,
[data-id="s_attr_cards"] a > * {
    position: relative;
    z-index: 2;
}
[data-id="s_sea_cards"] *,
[data-id="s_attr_cards"] * {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6), 0 0 14px rgba(0,0,0,0.4) !important;
}
[data-id="s_sea_cards"] h3,
[data-id="s_sea_cards"] strong,
[data-id="s_attr_cards"] h3,
[data-id="s_attr_cards"] strong {
    font-weight: 700 !important;
}
/* Eyebrow label stays cream/gold for hierarchy */
[data-id="s_sea_cards"] [style*="letter-spacing"],
[data-id="s_attr_cards"] [style*="letter-spacing"] {
    color: #e7d6ad !important;
    font-weight: 600 !important;
}
/* Discount badge keeps its own color */
[data-id="s_sea_cards"] [style*="background:#c8a96e"],
[data-id="s_attr_cards"] [style*="background:#c8a96e"] {
    color: #1c0d04 !important;
    text-shadow: none !important;
    font-weight: 800 !important;
}

/* ============================================================
   SCROLL PERF v2 — kill all heavy compositing globally
   ============================================================ */

/* Drop mix-blend-mode everywhere (was hero negative effect — too heavy) */
.dp-hero-arete .elementor-heading-title,
.dp-hero-arete .elementor-widget-text-editor p,
.dp-hero-arete .elementor-element-hero_pre p,
.dp-hero-arete .elementor-element-hero_sub p,
.dp-page-hero h1,
.dp-page-hero h2,
.dp-page-hero .elementor-heading-title,
.dp-page-hero p,
.dp-hero-arete .elementor-button,
.dp-page-hero .elementor-button,
.dp-hero-arete .elementor-button-text,
.dp-page-hero .elementor-button-text {
    mix-blend-mode: normal !important;
    isolation: auto !important;
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.55), 0 0 28px rgba(0,0,0,0.35) !important;
}
/* Restore dark overlay for legibility */
.dp-hero-arete::before,
.dp-page-hero::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(28,13,4,0.30) 0%, rgba(28,13,4,0.55) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Disable backdrop-filter everywhere — biggest paint cost */
*, *::before, *::after {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Disable background-attachment: fixed everywhere */
*, body, .elementor-section, [data-id] {
    background-attachment: scroll !important;
}

/* Drop will-change on sections (frees layers) */
.elementor-section,
.elementor-top-section,
.elementor-element {
    will-change: auto !important;
}

/* Smooth-scroll: kill it (native momentum is faster) */
html { scroll-behavior: auto !important; }

/* Reset header bg to solid walnut (no blur) */
.elementor-location-header,
header.elementor-location-header,
.elementor-location-header.dp-scrolled {
    background: #1c0d04 !important;
}

/* CSS-side parallax kill: any inline transform on sections from JS — neutralize */
.elementor-section[style*="background-position"] {
    background-position: center center !important;
    background-attachment: scroll !important;
}

/* MAX-SPECIFICITY white text on sea + attr cards */
html body [data-id="s_sea_cards"],
html body [data-id="s_sea_cards"] *,
html body [data-id="s_sea_cards"] h1,
html body [data-id="s_sea_cards"] h2,
html body [data-id="s_sea_cards"] h3,
html body [data-id="s_sea_cards"] h4,
html body [data-id="s_sea_cards"] h5,
html body [data-id="s_sea_cards"] h6,
html body [data-id="s_sea_cards"] p,
html body [data-id="s_sea_cards"] span,
html body [data-id="s_sea_cards"] div,
html body [data-id="s_sea_cards"] strong,
html body [data-id="s_sea_cards"] a,
html body [data-id="s_sea_cards"] .elementor-heading-title,
html body [data-id="s_attr_cards"],
html body [data-id="s_attr_cards"] *,
html body [data-id="s_attr_cards"] h1,
html body [data-id="s_attr_cards"] h2,
html body [data-id="s_attr_cards"] h3,
html body [data-id="s_attr_cards"] h4,
html body [data-id="s_attr_cards"] h5,
html body [data-id="s_attr_cards"] h6,
html body [data-id="s_attr_cards"] p,
html body [data-id="s_attr_cards"] span,
html body [data-id="s_attr_cards"] div,
html body [data-id="s_attr_cards"] strong,
html body [data-id="s_attr_cards"] a,
html body [data-id="s_attr_cards"] .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7), 0 0 14px rgba(0,0,0,0.5) !important;
}
/* Discount badge keeps brown text on tan bg — restore */
html body [data-id="s_sea_cards"] [style*="background:#c8a96e"],
html body [data-id="s_attr_cards"] [style*="background:#c8a96e"] {
    color: #1c0d04 !important;
    text-shadow: none !important;
}

/* ============================================================
   OVERLAY CARDS — sea + attractions, text on photo with shadow
   ============================================================ */
.dp-ocard {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none !important;
    background: #1c0d04 center/cover no-repeat;
    border-radius: 4px;
    isolation: isolate;
    transition: transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 280ms ease;
    will-change: auto;
}
.dp-ocard-sea  { height: 420px; }
.dp-ocard-attr { height: 380px; }
.dp-ocard::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(0,0,0,0.10) 0%,
        rgba(0,0,0,0.10) 35%,
        rgba(0,0,0,0.65) 75%,
        rgba(0,0,0,0.90) 100%);
    z-index: 1;
    transition: background 280ms ease;
}
.dp-ocard:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(0,0,0,0.35); }
.dp-ocard:hover::before {
    background: linear-gradient(180deg,
        rgba(0,0,0,0.20) 0%,
        rgba(0,0,0,0.20) 30%,
        rgba(0,0,0,0.75) 75%,
        rgba(0,0,0,0.95) 100%);
}
.dp-ocard-badge {
    position: absolute;
    top: 16px; right: 16px;
    z-index: 3;
    background: #c8a96e;
    color: #1c0d04 !important;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    border-radius: 2px;
    text-shadow: none !important;
}
.dp-ocard-body {
    position: absolute;
    left: 24px; right: 24px; bottom: 24px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.7), 0 0 22px rgba(0,0,0,0.4) !important;
}
.dp-ocard-eyebrow {
    color: #e7d6ad !important;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
}
.dp-ocard-title {
    color: #ffffff !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -0.2px;
}
.dp-ocard-sub {
    color: #f2e9d8 !important;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 4px;
}
.dp-ocard-cta {
    color: #c8a96e !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-top: 4px;
}
.dp-ocard-meta {
    color: #e7d6ad !important;
    font-size: 12px;
    letter-spacing: 0.5px;
    margin-top: 6px;
    opacity: 0.92;
    border-top: 1px solid rgba(255,255,255,0.18);
    padding-top: 10px;
}

/* Override anything legacy that tries to dim card contents */
html body .dp-ocard,
html body .dp-ocard * {
    text-decoration: none !important;
}
html body .dp-ocard .dp-ocard-title,
html body .dp-ocard .dp-ocard-sub {
    color: inherit !important;
}

/* Force ocard body to bottom (grid override — beats wpautop wrapping) */
html body .dp-ocard,
html body a.dp-ocard {
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    align-items: end !important;
}
html body .dp-ocard .dp-ocard-body {
    position: static !important;
    grid-row: 2 / 3 !important;
    align-self: end !important;
    padding: 0 24px 24px 24px !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
}
html body .dp-ocard::before {
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
}
html body .dp-ocard-badge {
    grid-column: 1 / -1 !important;
    grid-row: 1 / 2 !important;
    justify-self: end !important;
    align-self: start !important;
    margin: 16px 16px 0 0 !important;
    position: static !important;
}

/* Hero text white + button text BLACK across all hero pages (highest specificity) */
html body .dp-hero-arete h1,
html body .dp-hero-arete h2,
html body .dp-hero-arete p,
html body .dp-hero-arete .elementor-widget-text-editor p,
html body .dp-hero-arete .elementor-element-hero_sub p,
html body .dp-hero-arete .elementor-heading-title,
html body .dp-page-hero h1,
html body .dp-page-hero h2,
html body .dp-page-hero p,
html body .dp-page-hero .elementor-widget-text-editor p,
html body .dp-page-hero .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.5), 0 0 28px rgba(0,0,0,0.35) !important;
}

/* Hero buttons: white fill + BLACK text */
html body .dp-hero-arete .elementor-button,
html body .dp-hero-arete .elementor-button .elementor-button-text,
html body .dp-page-hero .elementor-button,
html body .dp-page-hero .elementor-button .elementor-button-text,
html body .dp-page-hero a.elementor-button-link,
html body .dp-hero-arete a.elementor-button-link {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
    text-shadow: none !important;
    fill: #000000 !important;
}
html body .dp-hero-arete .elementor-button:hover,
html body .dp-page-hero .elementor-button:hover {
    background: #c8a96e !important;
    color: #000000 !important;
    border-color: #c8a96e !important;
}

/* ============================================================
   MOTOPRESS BOOKING SKIN â€” brand integration
   Walnut headers, cream/sand bg, tan accent, serif heads
   ============================================================ */

.mphb_sc_search_results-wrapper,
.mphb_sc_booking_form-wrapper,
.mphb_sc_search-wrapper,
.mphb-rooms-results-list,
.mphb_sc_payment-wrapper {
    background: #f6efe1;
    padding: 48px 36px;
    border-radius: 4px;
    color: #1c0d04;
    font-family: "Inter", system-ui, sans-serif;
}

body.page-id-81 main,
body.page-id-82 main,
body.page-id-83 main,
body.page-id-84 main,
body.page-id-85 main,
body.page-id-86 main,
body.page-id-87 main,
body.page-id-88 main {
    background: #ebe1d6;
    padding: 56px 0 80px;
}

body.page-id-81 .entry-title,
body.page-id-82 .entry-title,
body.page-id-83 .entry-title,
body.page-id-84 .entry-title,
body.page-id-85 .entry-title,
body.page-id-86 .entry-title,
body.page-id-87 .entry-title {
    font-family: "Cormorant Garamond", "Times New Roman", serif !important;
    font-weight: 500 !important;
    font-size: 48px !important;
    color: #1c0d04 !important;
    text-align: center;
    margin: 0 0 32px;
    letter-spacing: -0.3px;
}
.page-header {
    background: transparent;
    text-align: center;
    padding: 32px 0 8px;
}

.mphb_sc_search-form,
.mphb_sc_booking_form-wrapper form {
    background: #ffffff;
    padding: 28px 32px;
    border-radius: 6px;
    box-shadow: 0 6px 22px rgba(28, 13, 4, 0.08);
    border: 1px solid rgba(200, 169, 110, 0.18);
    margin-bottom: 36px;
}
.mphb_sc_search-form p,
.mphb-required-fields-tip { margin: 0 0 14px; color: #5b4a36 !important; }
.mphb_sc_search-form label,
.mphb_sc_booking_form-wrapper label {
    color: #1c0d04 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
}
.mphb_sc_search-form input[type="text"],
.mphb_sc_search-form input[type="email"],
.mphb_sc_search-form input[type="tel"],
.mphb_sc_search-form input[type="number"],
.mphb_sc_search-form input.mphb-datepick,
.mphb_sc_search-form select,
.mphb_sc_booking_form-wrapper input,
.mphb_sc_booking_form-wrapper select,
.mphb_sc_booking_form-wrapper textarea {
    width: 100%;
    background: #fbf9f6 !important;
    border: 1px solid rgba(28, 13, 4, 0.18) !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    color: #1c0d04 !important;
    font-family: "Inter", system-ui, sans-serif !important;
}
.mphb_sc_search-form input:focus,
.mphb_sc_search-form select:focus,
.mphb_sc_booking_form-wrapper input:focus,
.mphb_sc_booking_form-wrapper select:focus {
    border-color: #c8a96e !important;
    box-shadow: 0 0 0 3px rgba(200, 169, 110, 0.22) !important;
    outline: none !important;
}

.mphb_sc_search-button,
.mphb-search-button input,
.mphb-book-button input,
.mphb-book-button,
.mphb-booking-form button[type="submit"],
.mphb_sc_booking_form-wrapper button,
.mphb-payment-button input,
input[type="submit"][name="mphb_search"],
.mphb-back-to-account-page-link,
.entry-content input[type="submit"] {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-family: "Inter", system-ui, sans-serif !important;
    box-shadow: 0 4px 12px rgba(200, 169, 110, 0.25) !important;
    text-decoration: none !important;
    display: inline-block !important;
}
.mphb_sc_search-button:hover,
.mphb-search-button input:hover,
.mphb-book-button input:hover,
.mphb-booking-form button[type="submit"]:hover,
.mphb_sc_booking_form-wrapper button:hover,
input[type="submit"][name="mphb_search"]:hover {
    background: #b69458 !important;
    border-color: #b69458 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(200, 169, 110, 0.32) !important;
}

.mphb-room-results-section,
.mphb_sc_search_results-wrapper article {
    background: #ffffff;
    padding: 32px;
    border-radius: 6px;
    box-shadow: 0 6px 22px rgba(28, 13, 4, 0.10);
    margin: 24px 0;
    border: 1px solid rgba(200, 169, 110, 0.16);
}
.mphb_sc_search_results-wrapper h2,
.mphb_sc_search_results-wrapper h3,
.mphb_sc_search_results-wrapper h4 {
    font-family: "Cormorant Garamond", "Times New Roman", serif !important;
    font-weight: 500 !important;
    color: #1c0d04 !important;
    letter-spacing: -0.2px !important;
    margin: 0 0 12px !important;
}
.mphb_sc_search_results-wrapper h2 { font-size: 32px !important; }
.mphb_sc_search_results-wrapper h3 { font-size: 24px !important; }
.mphb_sc_search_results-wrapper h4 {
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: "Inter", system-ui, sans-serif !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #5b4a36 !important;
}
.mphb_sc_search_results-wrapper a {
    color: #1c0d04 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #c8a96e !important;
}
.mphb_sc_search_results-wrapper a:hover { color: #c8a96e !important; }

.mphb-currency,
.mphb-room-price,
.mphb-price {
    font-family: "Cormorant Garamond", serif !important;
    color: #1c0d04 !important;
    font-weight: 600 !important;
}
.mphb-currency { color: #c8a96e !important; font-size: 18px !important; }

.mphb-room-details ul,
.mphb_sc_search_results-wrapper ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
}
.mphb-room-details li,
.mphb_sc_search_results-wrapper ul li {
    padding: 6px 0 6px 18px !important;
    position: relative !important;
    color: #4a3a30 !important;
    border-bottom: 1px dotted rgba(28, 13, 4, 0.10);
}
.mphb-room-details li::before,
.mphb_sc_search_results-wrapper ul li::before {
    content: "\00B7";
    position: absolute;
    left: 0;
    color: #c8a96e !important;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    top: 6px;
}

.mphb-booking-details,
.mphb-summary-details,
.mphb_sc_booking_form-wrapper table,
table.mphb-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(28, 13, 4, 0.06);
    margin: 24px 0;
}
.mphb-booking-details th,
.mphb-summary-details th,
.mphb_sc_booking_form-wrapper table th,
table.mphb-table th {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
    padding: 14px 18px !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
}
.mphb-booking-details td,
.mphb-summary-details td,
.mphb_sc_booking_form-wrapper table td,
table.mphb-table td {
    padding: 14px 18px !important;
    border-bottom: 1px solid rgba(28, 13, 4, 0.06) !important;
    color: #1c0d04 !important;
    font-size: 15px !important;
}

.mphb-errors-wrapper,
.mphb-errors,
.mphb-error,
.mphb-notice-error {
    background: #fff5f0 !important;
    border-left: 3px solid #c8482e !important;
    color: #6b1e0c !important;
    padding: 14px 18px !important;
    border-radius: 4px !important;
    margin: 16px 0 !important;
}
.mphb-success,
.mphb-notice-success {
    background: #f0f8ee !important;
    border-left: 3px solid #4a7d3a !important;
    color: #244a16 !important;
    padding: 14px 18px !important;
    border-radius: 4px !important;
    margin: 16px 0 !important;
}

.datepick-popup {
    background: #ffffff !important;
    border: 1px solid rgba(200, 169, 110, 0.32) !important;
    border-radius: 6px !important;
    box-shadow: 0 14px 36px rgba(28, 13, 4, 0.18) !important;
    font-family: "Inter", system-ui, sans-serif !important;
    padding: 12px !important;
}
.datepick-popup .datepick-cmd,
.datepick-popup .datepick-month-header {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
}
.datepick-popup td a,
.datepick-popup td span { color: #1c0d04 !important; }
.datepick-popup td.datepick-selected a,
.datepick-popup td a.datepick-selected {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    font-weight: 700 !important;
}

.single-mphb_room_type main { background: #ebe1d6; padding: 56px 0 80px; }
.single-mphb_room_type .entry-title {
    font-family: "Cormorant Garamond", serif !important;
    font-size: 56px !important;
    font-weight: 500 !important;
    color: #1c0d04 !important;
    margin: 0 0 28px;
}
.single-mphb_room_type .entry-content {
    max-width: 980px;
    margin: 0 auto;
    background: #ffffff;
    padding: 48px;
    border-radius: 6px;
    box-shadow: 0 8px 28px rgba(28, 13, 4, 0.10);
}

.mphb-booking-form,
.mphb_sc_booking_form-wrapper {
    background: #ffffff;
    padding: 36px;
    border-radius: 6px;
    box-shadow: 0 6px 22px rgba(28, 13, 4, 0.08);
}

body.page-id-81 .page-content,
body.page-id-83 .page-content,
body.page-id-84 .page-content,
body.page-id-85 .page-content,
body.page-id-86 .page-content,
body.page-id-87 .page-content,
body.page-id-88 .page-content {
    max-width: 1100px;
    margin: 0 auto;
}

/* MOBILE: ensure Elementor header stays visible on booking pages */
@media (max-width: 1024px) {
    body.page-id-81 header.elementor-location-header,
    body.page-id-82 header.elementor-location-header,
    body.page-id-83 header.elementor-location-header,
    body.page-id-84 header.elementor-location-header,
    body.page-id-85 header.elementor-location-header,
    body.page-id-86 header.elementor-location-header,
    body.page-id-87 header.elementor-location-header,
    body.page-id-88 header.elementor-location-header,
    body.single-mphb_room_type header.elementor-location-header {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    body.page-id-81 main,
    body.page-id-83 main,
    body.page-id-84 main,
    body.page-id-85 main,
    body.page-id-86 main,
    body.page-id-87 main,
    body.page-id-88 main {
        padding: 32px 16px 56px;
    }
    .mphb_sc_search_results-wrapper,
    .mphb_sc_booking_form-wrapper {
        padding: 24px 16px;
    }
}

/* Make the booking-card clickable: ensure inputs sit above label visuals */
.dp-book-card { position: relative; z-index: 1; }
.dp-book-field { z-index: 1; }
.dp-book-input {
    z-index: 2 !important;
    cursor: pointer !important;
}
.dp-book-cta {
    z-index: 3 !important;
    position: relative;
    cursor: pointer !important;
}

/* MPHB buttons â€” universal catch-all (beats Elementor pink-outline default) */
html body .mphb_sc_search_results-wrapper input[type="submit"],
html body .mphb_sc_search_results-wrapper button,
html body .mphb_sc_search_results-wrapper a.button,
html body .mphb_sc_search-form input[type="submit"],
html body .mphb_sc_search-form button,
html body .mphb_sc_booking_form-wrapper input[type="submit"],
html body .mphb_sc_booking_form-wrapper button,
html body input[type="submit"][value*="Zarezerw"],
html body input[type="submit"][value*="Szukaj"],
html body .mphb_sc_payment-wrapper button,
html body body[class*="page-id-8"] .entry-content input[type="submit"],
html body body[class*="page-id-8"] .entry-content button {
    background: #c8a96e !important;
    background-color: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-family: "Inter", system-ui, sans-serif !important;
    box-shadow: 0 4px 12px rgba(200, 169, 110, 0.25) !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-shadow: none !important;
    outline: none !important;
}
html body .mphb_sc_search_results-wrapper input[type="submit"]:hover,
html body .mphb_sc_search_results-wrapper button:hover,
html body .mphb_sc_search-form input[type="submit"]:hover,
html body .mphb_sc_search-form button:hover,
html body .mphb_sc_booking_form-wrapper input[type="submit"]:hover,
html body .mphb_sc_booking_form-wrapper button:hover {
    background: #b69458 !important;
    background-color: #b69458 !important;
    border-color: #b69458 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(200, 169, 110, 0.32) !important;
}

/* Override pink Elementor outline that leaks onto MPHB inputs */
html body .mphb_sc_search_results-wrapper .elementor-button,
html body .mphb_sc_search_results-wrapper .elementor-button-link,
html body .mphb_sc_search-form .elementor-button,
html body .mphb_sc_search-form .elementor-button-link {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
}

/* Result room link "Domek Pieniny" should still pop */
html body .mphb_sc_search_results-wrapper a[href*="accommodation"] {
    color: #1c0d04 !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #c8a96e !important;
}

/* Currency price emphasis */
html body .mphb_sc_search_results-wrapper .mphb-currency {
    color: #c8a96e !important;
    font-weight: 700 !important;
}

/* Mobile booking page header â€” final hard ensure */
@media (max-width: 1024px) {
    html body header.elementor-location-header,
    html body .elementor-25 {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Mobile header restyle â€” dp-mobile-header injected by dp-nav.js */
#dp-mobile-header {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid rgba(200,169,110,0.18) !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
    z-index: 9900 !important;
}
#dp-mobile-header * {
    color: #f6efe1 !important;
}
#dp-mobile-header a,
#dp-mobile-header .dp-footer-brand,
#dp-mobile-header .dp-mh-brand,
#dp-mobile-header [class*="brand"] {
    color: #ffffff !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
}
#dp-mobile-header .dp-mh-sub,
#dp-mobile-header small,
#dp-mobile-header [class*="sub"] {
    color: #c8a96e !important;
    font-family: "Inter", system-ui, sans-serif !important;
    font-size: 9px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}
#dp-mobile-header svg,
#dp-mobile-header .dp-mh-toggle {
    color: #c8a96e !important;
    fill: #c8a96e !important;
    stroke: #c8a96e !important;
}

/* On mobile, also keep Elementor header visible on booking pages (some pages hide it) */
@media (max-width: 1024px) {
    body.page-id-81 header.elementor-location-header,
    body.page-id-83 header.elementor-location-header,
    body.page-id-84 header.elementor-location-header,
    body.page-id-85 header.elementor-location-header,
    body.page-id-86 header.elementor-location-header,
    body.page-id-87 header.elementor-location-header,
    body.page-id-88 header.elementor-location-header,
    body.single-mphb_room_type header.elementor-location-header {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Mobile drawer (.dp-mob-nav) â€” match walnut palette */
#dp-mob-nav {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
}
#dp-mob-nav a {
    color: #f6efe1 !important;
    border-bottom: 1px solid rgba(200,169,110,0.12) !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
}
#dp-mob-nav a:hover { background: rgba(200,169,110,0.12) !important; color: #c8a96e !important; }

/* Hamburger menu icon BEIGE on mobile */
@media (max-width: 1024px) {
    #dp-mobile-header svg,
    #dp-mobile-header .dp-mh-toggle svg,
    #dp-mobile-header [class*="toggle"] svg,
    #dp-mobile-header .dp-mh-toggle,
    .elementor-menu-toggle svg,
    .elementor-menu-toggle path,
    .elementor-menu-toggle .e-font-icon-svg,
    div.elementor-menu-toggle svg,
    div.elementor-menu-toggle path {
        color: #e7d6ad !important;
        fill: #e7d6ad !important;
        stroke: #e7d6ad !important;
    }
}

/* Sticky mobile booking CTA â€” fixed bottom bar, mobile only */
#dp-mobile-cta-bar {
    display: none;
}
@media (max-width: 1024px) {
    #dp-mobile-cta-bar {
        position: fixed;
        left: 0; right: 0; bottom: 0;
        z-index: 9800;
        display: flex;
        align-items: stretch;
        background: rgba(28, 13, 4, 0.96);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border-top: 1px solid rgba(200, 169, 110, 0.32);
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.32);
        padding: 12px 16px;
        gap: 12px;
        transform: translateY(110%);
        transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
        will-change: transform;
    }
    #dp-mobile-cta-bar.dp-mob-cta-show {
        transform: translateY(0);
    }
    #dp-mobile-cta-bar .dp-mob-cta-price {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        line-height: 1.2;
    }
    #dp-mobile-cta-bar .dp-mob-cta-price strong {
        color: #ffffff;
        font-family: "Cormorant Garamond", serif;
        font-size: 18px;
        font-weight: 600;
    }
    #dp-mobile-cta-bar .dp-mob-cta-price span {
        color: #c8a96e;
        font-size: 10px;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        font-weight: 600;
    }
    #dp-mobile-cta-bar a.dp-mob-cta-btn {
        background: #c8a96e;
        color: #1c0d04 !important;
        font-family: "Inter", system-ui, sans-serif;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 1.8px;
        text-transform: uppercase;
        text-decoration: none !important;
        padding: 14px 22px;
        border-radius: 6px;
        align-self: center;
        box-shadow: 0 6px 18px rgba(200, 169, 110, 0.32);
        transition: background 200ms ease, transform 120ms ease;
    }
    #dp-mobile-cta-bar a.dp-mob-cta-btn:hover,
    #dp-mobile-cta-bar a.dp-mob-cta-btn:active {
        background: #b69458;
        transform: translateY(-1px);
    }
    /* pad body so content not hidden behind sticky bar */
    body { padding-bottom: 76px; }
}

/* Paired Zarezerwuj CTA â€” sits next to /kontakt/ button as inverse-styled sibling */
.dp-pair-book {
    margin-left: 12px !important;
    display: inline-block !important;
}
.dp-pair-book a,
.dp-pair-book.elementor-widget-button .elementor-button,
.dp-pair-book .elementor-button {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(200,169,110,0.32) !important;
    transition: background 200ms ease, transform 120ms ease !important;
}
.dp-pair-book a:hover,
.dp-pair-book .elementor-button:hover {
    background: #b69458 !important;
    border-color: #b69458 !important;
    color: #1c0d04 !important;
    transform: translateY(-1px);
}
/* When original is dark (.dp-pair-orig), keep visual distinction */
.dp-pair-orig + .dp-pair-book .elementor-button {
    background: #c8a96e !important;
    color: #1c0d04 !important;
}
/* When pair lives inside a flex/grid alongside original, ensure wrap on mobile */
@media (max-width: 640px) {
    .dp-pair-book { margin-left: 0 !important; margin-top: 10px !important; display: block !important; }
    .dp-pair-book .elementor-button { width: 100%; }
}

/* dp-mob-burger uses <span> bars â€” color them beige */
.dp-mob-burger {
    background: transparent !important;
    border: 0 !important;
}
.dp-mob-burger span {
    background: #e7d6ad !important;
    background-color: #e7d6ad !important;
}
.dp-mob-burger:hover span,
.dp-mob-burger:focus span,
.dp-mob-burger[aria-expanded="true"] span {
    background: #c8a96e !important;
    background-color: #c8a96e !important;
}

/* dp-mob-burger sizing + positioning */
#dp-mobile-header { display: flex !important; align-items: center; justify-content: space-between; }
.dp-mob-burger {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: 0 !important;
    margin-left: auto;
}
.dp-mob-burger span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #e7d6ad !important;
    background-color: #e7d6ad !important;
    border-radius: 2px !important;
    transition: transform 200ms ease, opacity 200ms ease, background 200ms ease;
}
.dp-mob-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); background: #c8a96e !important; }
.dp-mob-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.dp-mob-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); background: #c8a96e !important; }

/* Burger force-visible + force-beige, every breakpoint */
@media (max-width: 1024px) {
    html body #dp-mobile-header .dp-mob-burger {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin-left: auto !important;
        background: transparent !important;
        border: 0 !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 10 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    html body #dp-mobile-header .dp-mob-burger span {
        display: block !important;
        width: 26px !important;
        height: 2.5px !important;
        background: #e7d6ad !important;
        background-color: #e7d6ad !important;
        border-radius: 2px !important;
        opacity: 1 !important;
        transition: transform 240ms ease, opacity 200ms ease, background 200ms ease !important;
    }
    html body #dp-mobile-header .dp-mob-burger.dp-open span:nth-child(1),
    html body #dp-mobile-header .dp-mob-burger[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(8px) rotate(45deg) !important;
        background: #c8a96e !important;
    }
    html body #dp-mobile-header .dp-mob-burger.dp-open span:nth-child(2),
    html body #dp-mobile-header .dp-mob-burger[aria-expanded="true"] span:nth-child(2) {
        opacity: 0 !important;
    }
    html body #dp-mobile-header .dp-mob-burger.dp-open span:nth-child(3),
    html body #dp-mobile-header .dp-mob-burger[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg) !important;
        background: #c8a96e !important;
    }
}

/* MOBILE: make booking-card date inputs visibly tappable (iOS Safari fix).
   Strategy: lift the native input to top of stack, transparent bg, full-cell coverage,
   force colorScheme to surface the picker. Visual labels stay underneath as decoration. */
@media (max-width: 1024px) {
    .dp-book-card { position: relative; }
    .dp-book-field {
        position: relative;
        cursor: pointer;
        min-height: 60px;
    }
    /* Native date input â€” INVISIBLE but tappable on top of the field */
    .dp-book-input {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0.001 !important;        /* not zero â€” iOS sometimes ignores opacity:0 */
        background: transparent !important;
        border: 0 !important;
        cursor: pointer !important;
        z-index: 5 !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        font-size: 16px !important;       /* >=16px to prevent iOS zoom */
        color: transparent !important;
        color-scheme: light;
        pointer-events: auto !important;
    }
    /* Show the native calendar picker indicator (iOS already opens picker on tap) */
    .dp-book-input::-webkit-date-and-time-value { opacity: 0 !important; }
    /* Visual labels stay underneath */
    .dp-book-val,
    .dp-book-lbl { pointer-events: none; z-index: 1; position: relative; }
}

/* MOBILE iOS: prevent zoom on input focus â€” force font-size >= 16px on all booking inputs */
@media (max-width: 1024px) {
    .dp-book-input,
    .dp-book-card input,
    .dp-book-card select,
    .mphb_sc_search-form input,
    .mphb_sc_search-form select,
    .mphb_sc_search-form input.mphb-datepick,
    .mphb_sc_booking_form-wrapper input,
    .mphb_sc_booking_form-wrapper select,
    .mphb_sc_booking_form-wrapper textarea {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }
    /* Viewport meta is theme-controlled â€” but make sure inputs don't trigger zoom regardless */
    html { -webkit-text-size-adjust: 100%; }
}

/* ============================================================
   ROUND 2 â€” 2026-05-26
   Header: single-line nav, Kontakt CTA, logo nudge left
   Homepage: hero 2-col with booking card, chevron strip removed
   Global: button hovers, scroll-snap removed
   ============================================================ */

/* HEADER â€” single-line nav, no wrap */
html body .dp-hdr-chevron .elementor-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 4px !important;
}
html body .dp-hdr-chevron .elementor-nav-menu li {
    white-space: nowrap;
}
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item {
    padding: 0 12px !important;
    font-size: 12.5px !important;
    letter-spacing: 1.4px !important;
}
@media (max-width: 1100px) {
    html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item {
        font-size: 11.5px !important;
        padding: 0 8px !important;
        letter-spacing: 1px !important;
    }
}

/* Logo column slight left nudge */
html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
    margin-left: -6px;
}

/* Kontakt CTA in header right column â€” compact + hover */
html body .dp-hdr-chevron .elementor-element-hdr_contact_btn .elementor-button-link {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    transition: background 200ms ease, color 200ms ease, transform 120ms ease, box-shadow 200ms ease !important;
    box-shadow: 0 2px 8px rgba(200,169,110,0.22);
}
html body .dp-hdr-chevron .elementor-element-hdr_contact_btn .elementor-button-link:hover {
    background: transparent !important;
    color: #c8a96e !important;
    border-color: #c8a96e !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(200,169,110,0.35);
}

/* REMOVE chevron strip globally (user: "usunÄ…Ä‡ pasek pod zdjÄ™ciem z trĂłjkÄ…tami/gĂłrami") */
.dp-hdr-chevron::after { display: none !important; }
.dp-zigzag-band, [data-id="dp_zig_sec"], [data-id="wr_zig"] { display: none !important; }

/* ============================================================
   HERO BOOKING CARD â€” homepage right column
   ============================================================ */
.dp-hero-book-card {
    background: rgba(28, 13, 4, 0.78);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    border: 1px solid rgba(200, 169, 110, 0.32);
    border-radius: 10px;
    padding: 30px 28px;
    max-width: 380px;
    margin: 0 0 0 auto;
    color: #f6efe1;
    font-family: "Inter", system-ui, sans-serif;
    box-shadow: 0 20px 48px rgba(0,0,0,0.45);
}
.dp-hbc-title {
    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
    font-weight: 500;
    margin: 0 0 6px;
    color: #ffffff;
    line-height: 1.15;
}
.dp-hbc-sub {
    font-size: 12px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #c8a96e;
    margin: 0 0 18px;
    font-weight: 600;
}
.dp-hbc-field, .dp-hbc-field-half {
    display: block;
    margin-bottom: 12px;
}
.dp-hbc-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.dp-hbc-lbl {
    display: block;
    font-size: 10px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: rgba(246, 239, 225, 0.65);
    margin-bottom: 4px;
    font-weight: 600;
}
.dp-hero-book-card input,
.dp-hero-book-card select {
    width: 100%;
    background: rgba(246, 239, 225, 0.92) !important;
    border: 1px solid rgba(200, 169, 110, 0.28) !important;
    border-radius: 4px !important;
    padding: 10px 12px !important;
    font-size: 16px !important; /* prevent iOS zoom */
    color: #1c0d04 !important;
    font-family: "Inter", system-ui, sans-serif !important;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}
.dp-hero-book-card input:focus,
.dp-hero-book-card select:focus {
    outline: none !important;
    border-color: #c8a96e !important;
    box-shadow: 0 0 0 3px rgba(200,169,110,0.24) !important;
}
.dp-hbc-cta {
    width: 100%;
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    border-radius: 4px !important;
    padding: 14px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin-top: 8px !important;
    transition: background 200ms ease, color 200ms ease, transform 120ms ease, box-shadow 200ms ease !important;
    box-shadow: 0 6px 18px rgba(200,169,110,0.28) !important;
    font-family: "Inter", system-ui, sans-serif !important;
}
.dp-hbc-cta:hover {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border-color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(255,255,255,0.18) !important;
}
.dp-hbc-price {
    margin: 14px 0 0;
    text-align: center;
    font-size: 12px;
    color: rgba(246, 239, 225, 0.7);
    letter-spacing: 0.8px;
}
.dp-hbc-price strong {
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 600;
    margin: 0 4px;
}

/* Hero layout: trust Elementor's native column flex; only align vertically */
html body .dp-hero-arete > .elementor-container {
    align-items: flex-end !important;
}
html body .dp-hero-arete .elementor-element-s_hero_book_col {
    align-self: center !important;
}
@media (max-width: 880px) {
    .dp-hero-book-card { max-width: 100%; margin: 24px 0 0; padding: 22px 18px; }
}

/* Hero Zarezerwuj button: align left, hover */
html body .dp-hero-arete .elementor-element-hero_btn {
    text-align: left !important;
}
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-link {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border: 1px solid #ffffff !important;
    transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 120ms ease, box-shadow 220ms ease !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.18) !important;
}
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-link:hover {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(200,169,110,0.32) !important;
}

/* ============================================================
   GLOBAL BUTTON HOVERS â€” Elementor + custom buttons
   ============================================================ */
html body .elementor-button-link,
html body .elementor-button,
html body button.dp-book-cta,
html body .dp-pair-book .elementor-button {
    transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
}
html body .elementor-button-link:hover,
html body .elementor-button:hover {
    transform: translateY(-1.5px);
}
/* Default tan-gold button hover -> dark walnut invert */
html body .elementor-button-link[style*="background-color: #c8a96e"]:hover,
html body .elementor-button-link[style*="background:#c8a96e"]:hover,
html body .elementor-element[data-widget_type="button.default"] .elementor-button:hover {
    box-shadow: 0 8px 22px rgba(200,169,110,0.38) !important;
}

/* ============================================================
   SCROLL STUTTER FIX
   Snap targets / scroll-padding from legacy CSS were causing
   hero-edge resistance. Force scroll-snap none everywhere.
   ============================================================ */
html, body, * {
    scroll-snap-type: none !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    overscroll-behavior-y: auto !important;
}
html body .dp-hero-arete,
html body [data-id="s_hero"],
html body section.elementor-section-height-vh {
    scroll-snap-align: none !important;
    /* don't force a precise vh that triggers viewport unit churn on mobile */
}
/* Remove any sticky positioning that can intercept scroll on hero */
html body .dp-hero-arete { position: relative !important; }

/* ============================================================
   COMPENSATE FOR REMOVED CHEVRON STRIP
   Header no longer has decorative strip beneath â€” add
   subtle hairline divider only for separation
   ============================================================ */
html body header.elementor-location-header .dp-hdr-chevron {
    border-bottom: 1px solid rgba(200, 169, 110, 0.22) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}

/* ============================================================
   ROUND 3 â€” subpages CSS additions (2026-05-26)
   CTA bg, oferta cards, enlarged tiles, map embed, form hover
   ============================================================ */

/* CTA section with bg photo + dark overlay (already set on Elementor side) */
html body section.dp-cta-bg {
    position: relative;
    color: #ffffff;
}
html body section.dp-cta-bg .elementor-heading-title,
html body section.dp-cta-bg h1,
html body section.dp-cta-bg h2,
html body section.dp-cta-bg h3,
html body section.dp-cta-bg p {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.5), 0 0 28px rgba(0,0,0,0.32) !important;
}
html body section.dp-cta-bg .elementor-button-link {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.32) !important;
    transition: background 200ms ease, color 200ms ease, transform 120ms ease, box-shadow 200ms ease !important;
}
html body section.dp-cta-bg .elementor-button-link:hover {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border-color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(255,255,255,0.18) !important;
}

/* Oferta â€” differentiate price cards */
html body [data-id="of_cards"] .elementor-column.dp-price-card-season > .elementor-widget-wrap {
    background: linear-gradient(160deg, #c8a96e 0%, #b69458 100%) !important;
    color: #1c0d04 !important;
    border-radius: 8px;
    padding: 32px 28px !important;
    box-shadow: 0 12px 36px rgba(28,13,4,0.18);
    position: relative;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-season > .elementor-widget-wrap::before {
    content: "G\0141\00D3WNY SEZON";
    position: absolute;
    top: 12px;
    right: 14px;
    background: #1c0d04;
    color: #c8a96e;
    padding: 4px 10px;
    font-size: 9px;
    letter-spacing: 1.6px;
    font-weight: 700;
    border-radius: 3px;
    text-transform: uppercase;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-season * {
    color: #1c0d04 !important;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason > .elementor-widget-wrap {
    background: #ffffff !important;
    border-radius: 8px;
    padding: 32px 28px !important;
    border: 1px solid rgba(200,169,110,0.32);
    box-shadow: 0 10px 32px rgba(28,13,4,0.10);
    position: relative;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason > .elementor-widget-wrap::before {
    content: "POZA SEZONEM";
    z-index: 5;
    position: absolute;
    top: 12px;
    right: 14px;
    background: #f6efe1;
    color: #1c0d04;
    padding: 4px 10px;
    font-size: 9px;
    letter-spacing: 1.6px;
    font-weight: 700;
    border-radius: 3px;
    text-transform: uppercase;
}
/* Add a contact CTA inside each price card via CSS pseudo (no JS) */
html body [data-id="of_cards"] .elementor-column.dp-price-card-season > .elementor-widget-wrap::after,
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason > .elementor-widget-wrap::after {
    content: "\2192  Zarezerwuj termin";
    display: block;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(28,13,4,0.16);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    text-align: center;
    color: #1c0d04;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-season,
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason {
    cursor: pointer;
    transition: transform 220ms ease;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-season:hover,
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason:hover {
    transform: translateY(-3px);
}

/* O obiekcie â€” enlarge 'Co czeka' icon tiles (ic1-ic9) */
html body [data-id="ob_icons1"] .elementor-element,
html body [data-id="ob_icons2"] .elementor-element,
html body [data-id="ob_icons3"] .elementor-element {
    transition: transform 240ms ease, box-shadow 240ms ease;
}
html body [data-id="ob_icons1"] .dp-icon-card,
html body [data-id="ob_icons2"] .dp-icon-card,
html body [data-id="ob_icons3"] .dp-icon-card,
html body [data-id="ob_icons1"] [class*="icon-card"],
html body [data-id="ob_icons2"] [class*="icon-card"],
html body [data-id="ob_icons3"] [class*="icon-card"] {
    padding: 36px 28px !important;
    background: #ffffff !important;
    border-radius: 6px;
    box-shadow: 0 6px 22px rgba(28,13,4,0.08);
    min-height: 220px;
}
html body [data-id="ob_icons1"] .dp-icon-card svg,
html body [data-id="ob_icons2"] .dp-icon-card svg,
html body [data-id="ob_icons3"] .dp-icon-card svg,
html body [data-id="ob_icons1"] [class*="icon-card"] svg,
html body [data-id="ob_icons2"] [class*="icon-card"] svg,
html body [data-id="ob_icons3"] [class*="icon-card"] svg {
    width: 52px !important;
    height: 52px !important;
    stroke-width: 1.2 !important;
    color: #c8a96e !important;
    margin-bottom: 16px;
}
html body [data-id="ob_icons1"] h3,
html body [data-id="ob_icons2"] h3,
html body [data-id="ob_icons3"] h3,
html body [data-id="ob_icons1"] h4,
html body [data-id="ob_icons2"] h4,
html body [data-id="ob_icons3"] h4 {
    font-size: 21px !important;
    line-height: 1.2 !important;
    margin: 0 0 10px !important;
    color: #1c0d04 !important;
}
html body [data-id="ob_icons1"] p,
html body [data-id="ob_icons2"] p,
html body [data-id="ob_icons3"] p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #4a3a30 !important;
}

/* Atrakcje â€” enlarge tiles in at_grid1 + at_grid2 */
html body [data-id="at_grid1"] .dp-icon-card,
html body [data-id="at_grid2"] .dp-icon-card,
html body [data-id="at_grid1"] [class*="icon-card"],
html body [data-id="at_grid2"] [class*="icon-card"] {
    padding: 40px 30px !important;
    background: #ffffff !important;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(28,13,4,0.10);
    min-height: 260px;
    transition: transform 240ms ease, box-shadow 240ms ease;
}
html body [data-id="at_grid1"] .dp-icon-card:hover,
html body [data-id="at_grid2"] .dp-icon-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(28,13,4,0.16);
}
html body [data-id="at_grid1"] svg,
html body [data-id="at_grid2"] svg {
    width: 58px !important;
    height: 58px !important;
    color: #c8a96e !important;
    margin-bottom: 18px;
}
html body [data-id="at_grid1"] h3,
html body [data-id="at_grid2"] h3,
html body [data-id="at_grid1"] h4,
html body [data-id="at_grid2"] h4 {
    font-size: 22px !important;
    line-height: 1.22 !important;
    color: #1c0d04 !important;
    margin: 0 0 12px !important;
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 500 !important;
}
html body [data-id="at_grid1"] p,
html body [data-id="at_grid2"] p {
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #4a3a30 !important;
}

/* Generic dp-photo-card hover */
html body .dp-photo-card {
    transition: transform 260ms ease, box-shadow 260ms ease;
}
html body .dp-photo-card:hover {
    transform: translateY(-3px) scale(1.005);
    box-shadow: 0 16px 40px rgba(28,13,4,0.24) !important;
}

/* Google Maps embed wrap */
html body .dp-map-wrap {
    margin-top: 18px;
}
html body .dp-map-wrap iframe { display: block; }

/* Form submit hover (kontakt form) */
html body [data-id="ko_form_sec"] button[type="submit"],
html body [data-id="ko_form_sec"] input[type="submit"],
html body .elementor-field-type-submit button,
html body .elementor-field-group .elementor-button {
    transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    font-weight: 700 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(200,169,110,0.28) !important;
}
html body [data-id="ko_form_sec"] button[type="submit"]:hover,
html body [data-id="ko_form_sec"] input[type="submit"]:hover,
html body .elementor-field-type-submit button:hover,
html body .elementor-field-group .elementor-button:hover {
    background: #1c0d04 !important;
    color: #c8a96e !important;
    border-color: #c8a96e !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(28,13,4,0.32) !important;
}

/* FAQ accordion â€” ensure answers visible on click + nice styling */
html body [data-id="fq_acc"] .elementor-accordion-item {
    background: #ffffff !important;
    border: 1px solid rgba(200,169,110,0.22) !important;
    border-radius: 6px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 4px 14px rgba(28,13,4,0.04);
}
html body [data-id="fq_acc"] .elementor-tab-title {
    background: transparent !important;
    border: 0 !important;
    padding: 18px 22px !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 18px !important;
    color: #1c0d04 !important;
    font-weight: 500 !important;
    cursor: pointer;
}
html body [data-id="fq_acc"] .elementor-tab-title.elementor-active {
    background: rgba(200,169,110,0.10) !important;
    color: #1c0d04 !important;
}
html body [data-id="fq_acc"] .elementor-tab-content {
    background: rgba(246,239,225,0.32) !important;
    border-top: 1px solid rgba(200,169,110,0.22) !important;
    padding: 22px !important;
    color: #1c0d04 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}
/* Let Elementor's accordion JS control display via slideUp/slideDown — don't force it */

/* Gallery rows â€” keep grid spacing nice */
html body [data-id^="ga_row"] .elementor-column {
    padding: 4px !important;
}
html body [data-id^="ga_row"] .dp-photo-card {
    min-height: 280px !important;
}
@media (max-width: 880px) {
    html body [data-id^="ga_row"] .dp-photo-card { min-height: 200px !important; }
}

/* ============================================================
   ROUND 5 â€” nav text white + logo nudged further left
   Mobile parity
   ============================================================ */

/* DESKTOP nav menu â€” pure white, stronger weight */
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item,
html body .elementor-25 .elementor-nav-menu a.elementor-item {
    color: #ffffff !important;
    opacity: 1 !important;
    font-weight: 600 !important;
}
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item:hover,
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item.elementor-item-active {
    color: #c8a96e !important;
}

/* LOGO column nudge further left */
html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
    margin-left: -22px !important;
}
@media (max-width: 1100px) {
    html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
        margin-left: -12px !important;
    }
}
@media (max-width: 768px) {
    html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
        margin-left: 0 !important;
    }
}

/* MOBILE HEADER â€” brand white + tighter left */
@media (max-width: 1024px) {
    #dp-mobile-header .dp-mob-logo {
        margin-left: -4px !important;
    }
    #dp-mobile-header .dp-mob-logo strong {
        color: #ffffff !important;
        font-weight: 600 !important;
    }
    #dp-mobile-header .dp-mob-logo small {
        color: rgba(231, 214, 173, 0.95) !important;
        font-weight: 600 !important;
    }
}

/* MOBILE DRAWER nav items white */
#dp-mob-nav a,
#dp-mob-nav .dp-mob-link {
    color: #ffffff !important;
    font-weight: 600 !important;
}
#dp-mob-nav a:hover {
    color: #c8a96e !important;
}

/* ============================================================
   HEADER FIX â€” undo legacy dp-has-header-cta flex collapse
   Make sure new Elementor Kontakt button renders properly
   ============================================================ */

/* Override legacy .dp-has-header-cta flex behavior on hdr_book_col */
html body .dp-hdr-chevron .elementor-element-hdr_book_col.dp-has-header-cta,
html body .dp-hdr-chevron .elementor-element-hdr_book_col {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
}
/* Allow the Kontakt button widget to claim height */
html body .dp-hdr-chevron .elementor-element-hdr_contact_btn {
    display: inline-block !important;
}
html body .dp-hdr-chevron .elementor-element-hdr_contact_btn .elementor-button-link {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    height: auto !important;
    min-height: 38px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* Widen header container â€” looks cramped at 1200 max-width on 1440 viewport */
html body .dp-hdr-chevron > .elementor-container {
    max-width: 1380px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Push nav center across full container (not stuck near logo) */
html body .dp-hdr-chevron .elementor-element-hdr_nav_col .elementor-widget-wrap {
    justify-content: center !important;
}

/* Mobile keep stack â€” only desktop applies above */
@media (max-width: 1024px) {
    html body .dp-hdr-chevron > .elementor-container {
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ============================================================
   White text on photo-backed sections (homepage)
   ============================================================ */
html body section.dp-sec-bg,
html body section.dp-sec-bg * {
    color: #ffffff !important;
}
html body section.dp-sec-bg h1,
html body section.dp-sec-bg h2,
html body section.dp-sec-bg h3,
html body section.dp-sec-bg h4,
html body section.dp-sec-bg h5,
html body section.dp-sec-bg h6,
html body section.dp-sec-bg p,
html body section.dp-sec-bg span,
html body section.dp-sec-bg li,
html body section.dp-sec-bg .elementor-heading-title,
html body section.dp-sec-bg .elementor-widget-text-editor p,
html body section.dp-sec-bg .elementor-widget-heading * {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.55), 0 0 28px rgba(0,0,0,0.34) !important;
}
/* Eyebrow / accent labels keep gold tint but bright */
html body section.dp-sec-bg .dp-lbl,
html body section.dp-sec-bg [class*="eyebrow"],
html body section.dp-sec-bg [class*="label"] {
    color: #e7d6ad !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important;
}
/* Override legacy inline-style blacklist for these sections */
html body section.dp-sec-bg [style*="color:"],
html body section.dp-sec-bg [style*="color: "] {
    color: #ffffff !important;
}
/* Buttons inside photo sections â€” solid tan w/ dark text + hover invert white */
html body section.dp-sec-bg .elementor-button-link,
html body section.dp-sec-bg .elementor-button {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
    text-shadow: none !important;
}
html body section.dp-sec-bg .elementor-button-link:hover,
html body section.dp-sec-bg .elementor-button:hover {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border-color: #ffffff !important;
}

/* Same treatment for tile/attr/sea overlay cards already on home */
html body [data-id="s_tiles"] *,
html body [data-id="s_sea_cards"] *,
html body [data-id="s_attr_cards"] * {
    text-shadow: 0 1px 4px rgba(0,0,0,0.55), 0 0 18px rgba(0,0,0,0.32) !important;
}

/* ============================================================
   ROUND 7 â€” badges above (z-index + overflow visible)
   Oferta of_extra table white text on photo bg
   Footer maker note styling
   ============================================================ */

/* Badges: make outer column overflow visible so badge sits above */
html body [data-id="of_cards"] .elementor-column,
html body [data-id="of_cards"] .elementor-column > .elementor-widget-wrap,
html body [data-id="of_cards"] .elementor-widget-wrap.elementor-element-populated {
    overflow: visible !important;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-season > .elementor-widget-wrap::before,
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason > .elementor-widget-wrap::before {
    z-index: 50 !important;
    top: -8px !important;
    right: 14px !important;
    padding: 5px 12px !important;
    font-size: 10px !important;
    box-shadow: 0 4px 12px rgba(28,13,4,0.28);
}

/* Oferta of_extra section text white (already has dp-cta-bg class set in round 3) */
html body [data-id="of_extra"],
html body [data-id="of_extra"] *,
html body [data-id="of_extra"] table,
html body [data-id="of_extra"] td,
html body [data-id="of_extra"] th,
html body [data-id="of_extra"] p,
html body [data-id="of_extra"] h1,
html body [data-id="of_extra"] h2,
html body [data-id="of_extra"] h3 {
    color: #ffffff !important;
}
html body [data-id="of_extra"] td {
    text-shadow: 0 1px 4px rgba(0,0,0,0.55), 0 0 14px rgba(0,0,0,0.32) !important;
    border-bottom-color: rgba(255,255,255,0.16) !important;
}
html body [data-id="of_extra"] table.dp-table {
    background: rgba(28,13,4,0.4) !important;
    border-radius: 6px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
html body [data-id="of_extra"] table.dp-table td:last-child {
    color: #c8a96e !important;
    font-weight: 700 !important;
}

/* Footer maker note */
.dp-footer-maker {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(200,169,110,0.16);
    font-size: 11px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-align: center;
    color: rgba(246,239,225,0.55);
    font-family: "Inter", system-ui, sans-serif;
}
.dp-footer-maker a {
    color: #c8a96e !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(200,169,110,0.32);
    transition: color 200ms ease, border-color 200ms ease;
}
.dp-footer-maker a:hover {
    color: #ffffff !important;
    border-bottom-color: #ffffff;
}

/* Tile1 + Tile2 â€” text overlay on photos: pure white */
html body [data-id="s_tiles"],
html body [data-id="s_tiles"] *,
html body [data-id="s_tiles"] h2,
html body [data-id="s_tiles"] h3,
html body [data-id="s_tiles"] p,
html body [data-id="s_tiles"] span,
html body [data-id="s_tiles"] strong {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.55), 0 0 18px rgba(0,0,0,0.32) !important;
}
/* eyebrows on tiles keep cream */
html body [data-id="s_tiles"] .dp-lbl,
html body [data-id="s_tiles"] [class*="label"] {
    color: #e7d6ad !important;
}

/* ============================================================
   ROUND 8 â€” header centering, hover polish, oferta inline CTA
   ============================================================ */

/* HEADER: tighten container to feel centered + equal gutters */
html body .dp-hdr-chevron > .elementor-container {
    max-width: 1180px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    margin: 0 auto !important;
}
/* Reset previous logo nudge â€” equal spacing left edge = Kontakt right edge */
html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
    margin-left: 0 !important;
}
/* Push nav padding so logo sits same distance from nav as Kontakt sits from nav right */
html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
    flex: 0 0 auto !important;
    width: auto !important;
}
html body .dp-hdr-chevron .elementor-element-hdr_nav_col {
    flex: 1 1 auto !important;
}
html body .dp-hdr-chevron .elementor-element-hdr_book_col {
    flex: 0 0 auto !important;
    width: auto !important;
}
@media (max-width: 1100px) {
    html body .dp-hdr-chevron > .elementor-container {
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* CTA bookcta Zarezerwuj hover */
html body [data-id="s_bookcta"] .elementor-button-link,
html body [data-id="s_bookcta"] .elementor-button {
    transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
}
html body [data-id="s_bookcta"] .elementor-button-link:hover,
html body [data-id="s_bookcta"] .elementor-button:hover {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border-color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(255,255,255,0.16) !important;
}

/* Oferta price-card real CTA button â€” replaces the ::after pseudo */
html body [data-id="of_cards"] .elementor-column.dp-price-card-season > .elementor-widget-wrap::after,
html body [data-id="of_cards"] .elementor-column.dp-price-card-offseason > .elementor-widget-wrap::after {
    display: none !important;
}
html body [data-id="of_cards"] .dp-pc-cta {
    display: block;
    margin-top: 22px;
    padding: 14px 24px;
    background: #1c0d04;
    color: #f6efe1;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    font-family: "Inter", system-ui, sans-serif;
    box-shadow: 0 6px 18px rgba(28,13,4,0.32);
    transition: background 200ms ease, color 200ms ease, transform 130ms ease, box-shadow 200ms ease;
}
html body [data-id="of_cards"] .dp-pc-cta:hover {
    background: #c8a96e;
    color: #1c0d04;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(200,169,110,0.42);
}
/* Season card uses inverse â€” light bg + walnut text on cream */
html body [data-id="of_cards"] .elementor-column.dp-price-card-season .dp-pc-cta {
    background: #ffffff;
    color: #1c0d04;
}
html body [data-id="of_cards"] .elementor-column.dp-price-card-season .dp-pc-cta:hover {
    background: #1c0d04;
    color: #ffffff;
}

/* Hero stronger legibility â€” title + sub already white via earlier rules; verify shadow */
html body .dp-hero-arete .elementor-heading-title {
    text-shadow: 0 4px 22px rgba(0,0,0,0.55), 0 2px 8px rgba(0,0,0,0.45) !important;
}
html body .dp-hero-arete .elementor-widget-text-editor p {
    text-shadow: 0 2px 12px rgba(0,0,0,0.55), 0 0 22px rgba(0,0,0,0.35) !important;
}
/* Hero booking card slightly darker bg for readability over bright hero photo */
.dp-hero-book-card {
    background: rgba(28, 13, 4, 0.86) !important;
}

/* wr_about: enforce 55/45 col widths (Elementor flex-basis was overridden somewhere) */
html body [data-id="wr_about"] > .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 36px;
}
html body [data-id="wr_about"] > .elementor-container > [data-id="wr_al"] {
    flex: 0 0 calc(55% - 18px) !important;
    width: calc(55% - 18px) !important;
    max-width: calc(55% - 18px) !important;
}
html body [data-id="wr_about"] > .elementor-container > [data-id="wr_ar"] {
    flex: 0 0 calc(45% - 18px) !important;
    width: calc(45% - 18px) !important;
    max-width: calc(45% - 18px) !important;
    min-width: 320px;
}
@media (max-width: 880px) {
    html body [data-id="wr_about"] > .elementor-container > [data-id="wr_al"],
    html body [data-id="wr_about"] > .elementor-container > [data-id="wr_ar"] {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
html body [data-id="wr_ph"] .dp-photo-card {
    height: 100% !important;
    min-height: 380px !important;
    width: 100% !important;
}

/* FAQ accordion â€” pure CSS visibility control via .elementor-active class */
html body .elementor-widget-accordion .elementor-tab-content,
html body [data-id="fq_acc"] .elementor-tab-content {
    display: none !important;
}
html body .elementor-widget-accordion .elementor-tab-content.elementor-active,
html body [data-id="fq_acc"] .elementor-tab-content.elementor-active,
html body .elementor-widget-accordion .elementor-active .elementor-tab-content,
html body [data-id="fq_acc"] .elementor-active .elementor-tab-content {
    display: block !important;
}
html body .elementor-tab-title { cursor: pointer !important; }

/* s_bookcta dp-book-section form â€” white labels + button hover anim */
html body .dp-book-section,
html body .dp-book-section div,
html body .dp-book-section input {
    color: #ffffff !important;
}
html body .dp-book-section input[type="date"] {
    color: #ffffff !important;
    color-scheme: dark;
    text-shadow: 0 1px 2px rgba(0,0,0,0.45);
}
/* Native date picker indicator on dark scheme */
html body .dp-book-section input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(1.4);
    opacity: 0.9;
    cursor: pointer;
}
html body .dp-book-section > div {
    background: rgba(28,13,4,0.42) !important;
    border-color: rgba(200,169,110,0.42) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

/* Zarezerwuj button hover animation â€” slide gold sheen + lift */
html body .dp-book-section button[type="submit"] {
    position: relative;
    overflow: hidden;
    color: #1c0d04 !important;
    transition: background 220ms ease, color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    box-shadow: 0 4px 12px rgba(200,169,110,0.32) !important;
}
html body .dp-book-section button[type="submit"]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.55) 50%, transparent 70%);
    transform: translateX(-110%);
    transition: transform 560ms cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
html body .dp-book-section button[type="submit"]:hover {
    background: #ffffff !important;
    color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 26px rgba(200,169,110,0.45) !important;
}
html body .dp-book-section button[type="submit"]:hover::before {
    transform: translateX(110%);
}

/* CTA sections â€” remove bg photo, plain walnut + clean white button */
html body section.dp-cta-bg {
    background-image: none !important;
    background-color: #1c0d04 !important;
}
html body section.dp-cta-bg > .elementor-background-overlay {
    display: none !important;
}
html body section.dp-cta-bg .elementor-heading-title,
html body section.dp-cta-bg h1,
html body section.dp-cta-bg h2,
html body section.dp-cta-bg h3,
html body section.dp-cta-bg p {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Clean white CTA button â€” matches reference */
html body section.dp-cta-bg .elementor-button-link,
html body section.dp-cta-bg .elementor-button {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border: 1px solid #ffffff !important;
    padding: 16px 36px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2.4px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
    transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
}
html body section.dp-cta-bg .elementor-button-link:hover,
html body section.dp-cta-bg .elementor-button:hover {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 26px rgba(200,169,110,0.32) !important;
}

/* Hero booking card â€” all labels + values pure white */
html body .dp-hero-book-card,
html body .dp-hero-book-card * {
    color: #ffffff !important;
}
html body .dp-hero-book-card .dp-hbc-lbl,
html body .dp-hero-book-card label,
html body .dp-hero-book-card .dp-hbc-title,
html body .dp-hero-book-card .dp-hbc-sub {
    color: #ffffff !important;
}
html body .dp-hero-book-card .dp-hbc-sub {
    color: rgba(255,255,255,0.92) !important;
}
html body .dp-hero-book-card .dp-hbc-price strong {
    color: #ffffff !important;
}
html body .dp-hero-book-card .dp-hbc-price {
    color: rgba(255,255,255,0.85) !important;
}
/* Inputs/selects keep dark text on light bg for readability */
html body .dp-hero-book-card input,
html body .dp-hero-book-card select {
    color: #1c0d04 !important;
}

/* All Elementor buttons on o-obiekcie + wypozyczalnia-rowerow â€” clean white style
   (matches reference: white bg + walnut text + tan-gold hover invert) */
html body.page-id-11 .elementor-button-link,
html body.page-id-11 .elementor-button,
html body.page-id-13 .elementor-button-link,
html body.page-id-13 .elementor-button {
    background: #ffffff !important;
    color: #1c0d04 !important;
    border: 1px solid #ffffff !important;
    padding: 16px 36px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2.4px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.14) !important;
    transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    text-decoration: none !important;
}
html body.page-id-11 .elementor-button-link:hover,
html body.page-id-11 .elementor-button:hover,
html body.page-id-13 .elementor-button-link:hover,
html body.page-id-13 .elementor-button:hover {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 26px rgba(200,169,110,0.32) !important;
}
/* Hero photo CTAs on these pages â€” keep white but darker shadow for legibility on photo */
html body.page-id-11 .dp-page-hero .elementor-button,
html body.page-id-13 .dp-page-hero .elementor-button {
    box-shadow: 0 6px 22px rgba(0,0,0,0.32) !important;
}

/* CTA sections â€” HIGHEST specificity to beat post-N.css per-element rules */
html body section[data-id="ob_cta"],
html body section[data-id="wr_cta"],
html body section[data-id="at_cta"],
html body section[data-id="ga_cta"],
html body section[data-id="fq_cta"],
html body section[data-id="of_extra"],
html body section.dp-cta-bg,
html body .elementor-section[data-id="ob_cta"],
html body .elementor-section[data-id="wr_cta"],
html body .elementor-section[data-id="at_cta"],
html body .elementor-section[data-id="ga_cta"],
html body .elementor-section[data-id="fq_cta"],
html body .elementor-section[data-id="of_extra"] {
    background-image: none !important;
    background-color: #1c0d04 !important;
    background: #1c0d04 !important;
}
html body section[data-id="ob_cta"] > .elementor-background-overlay,
html body section[data-id="wr_cta"] > .elementor-background-overlay,
html body section[data-id="at_cta"] > .elementor-background-overlay,
html body section[data-id="ga_cta"] > .elementor-background-overlay,
html body section[data-id="fq_cta"] > .elementor-background-overlay,
html body section[data-id="of_extra"] > .elementor-background-overlay {
    display: none !important;
}

/* Match Elementor's exact selector specificity for ob_cta + wr_cta + sibling CTAs */
.elementor-element.elementor-element-ob_cta:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-wr_cta:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-at_cta:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-ga_cta:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-fq_cta:not(.elementor-motion-effects-element-type-background),
.elementor-element.elementor-element-of_extra:not(.elementor-motion-effects-element-type-background),
.elementor-11 .elementor-element.elementor-element-ob_cta,
.elementor-13 .elementor-element.elementor-element-wr_cta,
.elementor-14 .elementor-element.elementor-element-at_cta,
.elementor-15 .elementor-element.elementor-element-ga_cta,
.elementor-16 .elementor-element.elementor-element-fq_cta,
.elementor-12 .elementor-element.elementor-element-of_extra {
    background-image: none !important;
    background-color: #1c0d04 !important;
    background: #1c0d04 !important;
}
.elementor-element.elementor-element-ob_cta > .elementor-background-overlay,
.elementor-element.elementor-element-wr_cta > .elementor-background-overlay,
.elementor-element.elementor-element-at_cta > .elementor-background-overlay,
.elementor-element.elementor-element-ga_cta > .elementor-background-overlay,
.elementor-element.elementor-element-fq_cta > .elementor-background-overlay,
.elementor-element.elementor-element-of_extra > .elementor-background-overlay {
    display: none !important;
    opacity: 0 !important;
}

/* Paired Zarezerwuj button on dp-cta-bg + dp-page-hero â€” match white style */
html body section.dp-cta-bg .dp-pair-book .elementor-button,
html body section.dp-cta-bg .dp-pair-book a,
html body section[data-id="ob_cta"] .dp-pair-book .elementor-button,
html body section[data-id="wr_cta"] .dp-pair-book .elementor-button,
html body section[data-id="at_cta"] .dp-pair-book .elementor-button,
html body section[data-id="ga_cta"] .dp-pair-book .elementor-button,
html body section[data-id="fq_cta"] .dp-pair-book .elementor-button {
    background: transparent !important;
    color: #ffffff !important;
    border: 1px solid #c8a96e !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.14) !important;
}
html body section.dp-cta-bg .dp-pair-book .elementor-button:hover,
html body section[data-id="ob_cta"] .dp-pair-book .elementor-button:hover,
html body section[data-id="wr_cta"] .dp-pair-book .elementor-button:hover,
html body section[data-id="at_cta"] .dp-pair-book .elementor-button:hover,
html body section[data-id="ga_cta"] .dp-pair-book .elementor-button:hover,
html body section[data-id="fq_cta"] .dp-pair-book .elementor-button:hover {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border-color: #c8a96e !important;
}

/* Round 21 â€” kill button wrapper halo/background + hide any leftover .dp-pair-book */
html body .dp-pair-book { display: none !important; }

/* Hero buttons on .dp-page-hero â€” strip the dark wrapper box + halo around white button */
html body .dp-page-hero .elementor-widget-button,
html body .dp-page-hero .elementor-element[data-widget_type*="button"],
html body .dp-page-hero .elementor-button-wrapper {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
}
/* Remove golden outline/halo from buttons on hero */
html body .dp-page-hero .elementor-button,
html body .dp-page-hero .elementor-button-link {
    outline: 0 !important;
    filter: none !important;
}
/* Specifically kill the .dp-pair-orig wrapper styling */
.dp-pair-orig {
    background: transparent !important;
    box-shadow: none !important;
}

/* ============================================================
   PHASE 1 â€” Pieniny Farmhouse rebrand (2026-06-21)
   Logo image plaque + hero logo + shrink booking widget + bigger nav
   ============================================================ */

/* HEADER LOGO â€” image instead of plaque text */
html body .dp-hdr-chevron .dp-logo-plaque-inner { display: none !important; }
html body .dp-hdr-chevron .dp-logo-plaque img {
    display: block !important;
    height: 64px !important;
    width: auto !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.22) !important;
}
@media (max-width: 1024px) {
    html body .dp-hdr-chevron .dp-logo-plaque img { height: 52px !important; }
}

/* NAV â€” bigger fonts */
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item,
html body .elementor-25 .elementor-nav-menu a.elementor-item {
    font-size: 14.5px !important;
    letter-spacing: 1.8px !important;
    font-weight: 600 !important;
    padding: 0 16px !important;
}
@media (max-width: 1200px) {
    html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item {
        font-size: 13px !important;
        padding: 0 12px !important;
    }
}

/* HERO LOGO â€” center + sizing */
html body .dp-hero-arete .elementor-element-hero_h1 {
    margin: 0 !important;
    padding: 0 !important;
}
html body .dp-hero-logo-wrap {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    margin: 0 0 24px 0 !important;
}
html body .dp-hero-logo-wrap img {
    transition: transform 320ms ease;
}
html body .dp-hero-logo-wrap img:hover {
    transform: scale(1.02);
}

/* SPRAWDĹą DOSTÄPNOĹšÄ† â€” shrink hero booking card (was covering whole screen on mobile) */
html body .dp-hero-book-card {
    max-width: 320px !important;
    padding: 22px 22px !important;
    border-radius: 8px !important;
}
html body .dp-hero-book-card .dp-hbc-title {
    font-size: 22px !important;
}
html body .dp-hero-book-card .dp-hbc-sub {
    font-size: 10px !important;
    margin-bottom: 14px !important;
}
html body .dp-hero-book-card .dp-hbc-lbl {
    font-size: 9px !important;
    margin-bottom: 2px !important;
}
html body .dp-hero-book-card input,
html body .dp-hero-book-card select {
    padding: 9px 10px !important;
    font-size: 14px !important;
}
html body .dp-hero-book-card .dp-hbc-cta {
    padding: 11px 16px !important;
    font-size: 12px !important;
    margin-top: 6px !important;
}
html body .dp-hero-book-card .dp-hbc-price {
    margin-top: 10px !important;
    font-size: 11px !important;
}
html body .dp-hero-book-card .dp-hbc-price strong {
    font-size: 18px !important;
}
@media (max-width: 880px) {
    html body .dp-hero-book-card {
        max-width: 88vw !important;
        padding: 16px 16px !important;
    }
}

/* FOOTER â€” brand updates */
html body footer .dp-footer-brand,
html body .elementor-location-footer .dp-footer-brand {
    font-family: "Cormorant Garamond", serif !important;
}

/* ============================================================
   PHASE 2 + 3 â€” Atrakcje v2, GPX downloads, Rules, Regulamin
   ============================================================ */

/* â”€â”€ Atrakcje 13-card grid with expandable details â”€â”€ */
html body .dp-attr-grid-v2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
}
@media (max-width: 980px) {
    html body .dp-attr-grid-v2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    html body .dp-attr-grid-v2 { grid-template-columns: 1fr; }
}
html body .dp-attr-card-v2 {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 22px rgba(28,13,4,0.10);
    transition: transform 240ms ease, box-shadow 240ms ease;
    border: 1px solid rgba(200,169,110,0.18);
}
html body .dp-attr-card-v2:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(28,13,4,0.16);
}
html body .dp-attr-summary {
    display: block !important;
    cursor: pointer;
    padding: 0;
    margin: 0;
    list-style: none !important;
}
html body .dp-attr-summary::-webkit-details-marker,
html body .dp-attr-summary::marker {
    display: none !important;
    content: "" !important;
}
html body .dp-attr-card-v2 .dp-attr-photo {
    display: block;
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-color: #1c0d04;
}
html body .dp-attr-card-v2 .dp-attr-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    gap: 12px;
}
html body .dp-attr-card-v2 .dp-attr-title {
    font-family: "Cormorant Garamond", serif;
    font-size: 20px;
    font-weight: 500;
    color: #1c0d04;
    line-height: 1.2;
}
html body .dp-attr-card-v2 .dp-attr-toggle {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #c8a96e;
    color: #1c0d04;
    font-size: 22px;
    font-weight: 300;
    transition: transform 240ms ease, background 240ms ease;
}
html body .dp-attr-card-v2[open] .dp-attr-toggle {
    transform: rotate(45deg);
    background: #1c0d04;
    color: #c8a96e;
}
html body .dp-attr-card-v2 .dp-attr-body {
    padding: 0 22px 22px;
    border-top: 1px solid rgba(200,169,110,0.18);
    margin-top: 0;
}
html body .dp-attr-card-v2 .dp-attr-body p {
    font-size: 14px;
    line-height: 1.7;
    color: #4a3a30;
    padding-top: 16px;
    margin: 0;
}

/* â”€â”€ GPX downloads â”€â”€ */
html body section.dp-gpx-section {
    color: #f6efe1;
}
html body .dp-gpx-grid {
    max-width: 920px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 20px;
}
html body .dp-gpx-card {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 22px 26px;
    background: rgba(246,239,225,0.06);
    border: 1px solid rgba(200,169,110,0.32);
    border-radius: 8px;
    transition: background 220ms ease, border-color 220ms ease;
}
html body .dp-gpx-card:hover {
    background: rgba(246,239,225,0.10);
    border-color: #c8a96e;
}
html body .dp-gpx-icon {
    width: 60px;
    height: 60px;
    color: #c8a96e;
    background: rgba(200,169,110,0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
html body .dp-gpx-icon svg { width: 32px; height: 32px; }
html body .dp-gpx-name {
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 4px;
    color: #ffffff;
}
html body .dp-gpx-desc {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(246,239,225,0.78);
    margin: 0;
}
html body .dp-gpx-dl {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    background: #c8a96e;
    color: #1c0d04 !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(200,169,110,0.28);
    transition: background 220ms ease, transform 130ms ease, box-shadow 220ms ease;
}
html body .dp-gpx-dl:hover {
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(255,255,255,0.16);
}
@media (max-width: 640px) {
    html body .dp-gpx-card {
        grid-template-columns: 48px 1fr;
        gap: 14px;
        padding: 16px;
    }
    html body .dp-gpx-icon { width: 48px; height: 48px; }
    html body .dp-gpx-dl {
        grid-column: 1 / -1;
        justify-content: center;
        margin-top: 4px;
    }
}

/* â”€â”€ Oferta house-rules + seasons â”€â”€ */
html body .dp-rules {
    color: #f6efe1;
    max-width: 880px;
    margin: 0 auto;
    padding: 0 20px;
}
html body .dp-rules-list {
    list-style: none;
    padding: 0;
    margin: 0 0 36px;
    display: grid;
    gap: 12px;
}
html body .dp-rules-list li {
    background: rgba(246,239,225,0.06);
    border-left: 3px solid #c8a96e;
    padding: 16px 22px;
    border-radius: 0 6px 6px 0;
    font-size: 16px;
    line-height: 1.6;
}
html body .dp-seasons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
@media (max-width: 640px) { html body .dp-seasons { grid-template-columns: 1fr; } }
html body .dp-season {
    background: rgba(200,169,110,0.14);
    border: 1px solid rgba(200,169,110,0.32);
    border-radius: 8px;
    padding: 22px 26px;
    color: #ffffff;
    line-height: 1.6;
    font-size: 15px;
}
html body .dp-season strong {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    margin-bottom: 6px;
    color: #c8a96e;
    font-weight: 500;
}

/* â”€â”€ Regulamin page typography â”€â”€ */
html body .dp-regulamin {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 24px;
    color: #1c0d04;
    line-height: 1.75;
    font-size: 16px;
}
html body .dp-regulamin h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
    font-weight: 500;
    margin: 40px 0 12px;
    color: #1c0d04;
    border-bottom: 1px solid rgba(200,169,110,0.32);
    padding-bottom: 8px;
}
html body .dp-regulamin h2:first-child { margin-top: 0; }
html body .dp-regulamin p {
    margin: 0 0 14px;
    color: #4a3a30;
}
html body .dp-regulamin strong {
    color: #1c0d04;
    font-weight: 600;
}

/* â”€â”€ Footer Regulamin link â”€â”€ */
html body footer.elementor-location-footer .dp-footer-nav a {
    margin: 0 10px;
}

/* AUDIT FIX â€” dp-reveal-done sections were stuck at opacity:0 because dp-visible
   class never got applied (IntersectionObserver init race). Force reveal once marked done. */
.dp-reveal.dp-reveal-done {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
/* Belt-and-suspenders â€” if IO never fires for off-screen sections at load,
   show them anyway so scroll past them works without invisible content. */
@media (prefers-reduced-motion: no-preference) {
    .dp-reveal:not(.dp-visible):not(.dp-reveal-done) {
        animation: dp-reveal-fallback 0.85s 1.6s ease forwards;
    }
}
@keyframes dp-reveal-fallback {
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   AUDIT FIXES â€” hide Hello Elementor duplicate page header,
   GPX 404 fallback message styled
   ============================================================ */

/* Hello Elementor theme adds <header class="page-header"><h1>page title</h1></header>
   above every Elementor page â†’ duplicate h1. Hide site-wide. */
html body main.site-main > .page-header,
html body main > .page-header,
html body .page-header {
    display: none !important;
}

/* ============================================================
   HERO REDO â€” centered single-column composition
   logo + booking card stacked, vertically and horizontally centered
   ============================================================ */

/* Container: center column stack */
html body .dp-hero-arete > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

/* Both columns full width, content centered */
html body .dp-hero-arete .elementor-element-s_hero_col,
html body .dp-hero-arete .elementor-element-s_hero_book_col {
    width: 100% !important;
    max-width: 760px !important;
    flex: 0 0 auto !important;
    align-self: center !important;
}
html body .dp-hero-arete .elementor-element-s_hero_col > .elementor-widget-wrap,
html body .dp-hero-arete .elementor-element-s_hero_book_col > .elementor-widget-wrap {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Logo: centered, 280px circle, soft glow */
html body .dp-hero-logo-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    width: 100% !important;
}
html body .dp-hero-logo-wrap img {
    display: block !important;
    width: min(320px, 70vw) !important;
    max-width: 320px !important;
    height: auto !important;
    border-radius: 50% !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.42) !important;
}
@media (max-width: 880px) {
    html body .dp-hero-logo-wrap img { width: min(220px, 60vw) !important; }
}

/* Booking card: centered, 380px */
html body .dp-hero-book-card {
    margin: 0 auto !important;
    max-width: 380px !important;
    width: 100% !important;
}

/* Hero button (Zarezerwuj) centered if present */
html body .dp-hero-arete .elementor-element-hero_btn {
    text-align: center !important;
    width: 100%;
    margin-top: 8px;
}
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-wrapper {
    display: flex !important;
    justify-content: center !important;
}

/* Hero section padding tune */
html body .dp-hero-arete {
    min-height: 100vh !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
}
@media (max-width: 880px) {
    html body .dp-hero-arete > .elementor-container {
        gap: 22px !important;
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
}

/* Kill .dp-img-wrap::after gold rectangle ONLY on hero logo (user wants ONLY small logo frame gone, NOT viewport-edge page frame) */
html body .dp-hero-logo-wrap .dp-img-wrap,
html body .dp-hero-logo-wrap span.dp-img-wrap {
    box-shadow: none !important;
}
html body .dp-hero-logo-wrap .dp-img-wrap::after,
html body .dp-hero-logo-wrap .dp-img-wrap::before,
html body .dp-hero-logo-wrap .elementor-image::after,
html body .dp-hero-logo-wrap .elementor-image::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* ============================================================
   CLIENT FEEDBACK ROUND 2 â€” 2026-06-21
   - Hide Kontakt CTA button in header (keep only nav)
   - Logo PNG: drop circle bg + box-shadow halo
   - Hide small dp-lbl eyebrow labels site-wide
   - Shrink SprawdĹş dostÄ™pnoĹ›Ä‡ search form
   ============================================================ */

/* HEADER â€” hide Kontakt button column (frame around page remains) */
html body .dp-hdr-chevron .elementor-element-hdr_book_col,
html body .dp-hdr-chevron .elementor-element-hdr_contact_btn {
    display: none !important;
}
/* Re-balance: logo gets more space, nav centers in remaining */
html body .dp-hdr-chevron .elementor-element-hdr_logo_col {
    flex: 0 0 auto !important;
}
html body .dp-hdr-chevron .elementor-element-hdr_nav_col {
    flex: 1 1 auto !important;
}

/* HERO LOGO â€” drop circle bg + box-shadow (PNG already has transparent corners) */
html body .dp-hero-logo-wrap img {
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 16px 36px rgba(0,0,0,0.28));
}

/* Mobile header logo too */
@media (max-width: 1024px) {
    html body .dp-hdr-chevron .dp-logo-plaque img {
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}
html body .dp-hdr-chevron .dp-logo-plaque img {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Hide small eyebrow labels (dp-lbl) â€” client wants them removed from sections */
html body .dp-lbl,
html body p.dp-lbl,
html body span.dp-lbl {
    display: none !important;
}

/* MotoPress SprawdĹş dostÄ™pnoĹ›Ä‡ â€” shrink form so it doesn't cover whole screen */
html body .mphb_sc_search-form {
    max-width: 540px !important;
    margin: 24px auto !important;
    padding: 22px 26px !important;
    box-shadow: 0 6px 22px rgba(28,13,4,0.08) !important;
}
html body .mphb_sc_search-form p {
    margin: 0 0 12px !important;
}
html body .mphb_sc_search-form label {
    font-size: 11px !important;
    letter-spacing: 1px !important;
    margin-bottom: 4px !important;
}
html body .mphb_sc_search-form input,
html body .mphb_sc_search-form select {
    padding: 9px 12px !important;
    font-size: 14px !important;
}
html body .mphb_sc_search-form input[type="submit"],
html body .mphb_sc_search-form button[type="submit"] {
    padding: 10px 24px !important;
    font-size: 12px !important;
}
@media (max-width: 640px) {
    html body .mphb_sc_search-form {
        max-width: 92vw !important;
        padding: 18px 18px !important;
    }
}
/* Results-page background: shrink page bg padding so form not lost in big page */
html body .page-id-81 main { padding: 32px 0 60px !important; }

/* ============================================================
   HOVER VISIBILITY FIX â€” text was disappearing on hover
   (walnut color on walnut bg, transparent color on transparent bg, etc)
   ============================================================ */

/* Nav menu items in walnut header â€” hover should be gold accent, NOT walnut */
html body .elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
html body .elementor-location-header .elementor-nav-menu--main a.elementor-item-active,
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item:hover,
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item.elementor-item-active {
    color: #c8a96e !important;
}

/* Generic safety: any anchor that gets darker on hover when sitting on dark bg â†’ switch to gold */
html body section.dp-cta-bg a:hover,
html body section.dp-sec-bg a:hover,
html body section.dp-hero-arete a:hover,
html body .elementor-location-header a:hover {
    color: #c8a96e !important;
    opacity: 1 !important;
}

/* Body-text inline links (default cream bg) â€” keep walnutâ†’gold on hover */
html body main a:hover {
    color: #c8a96e !important;
}

/* ============================================================
   SEARCH AVAILABILITY PAGE â€” photo bg with cream content cards
   Client request: cream surface only behind form + results, not whole page
   ============================================================ */

/* Page 81 (rezultaty-wyszukiwania) â€” photo background on page main */
html body.page-id-81 main,
html body.page-id-81 .site-main {
    background-image: url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1920&h=1080&fit=crop&auto=format&q=82") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: scroll !important;
    background-color: #1c0d04 !important;
    padding: 60px 24px 80px !important;
    position: relative;
}
html body.page-id-81 main::before {
    content: "";
    position: absolute; inset: 0;
    background: rgba(28, 13, 4, 0.55);
    z-index: 0;
    pointer-events: none;
}
html body.page-id-81 main > * { position: relative; z-index: 1; }

/* Page entry-title (RezuĹ‚taty wyszukiwania) â†’ white */
html body.page-id-81 .entry-title,
html body.page-id-81 main h1 { color: #ffffff !important; }

/* Search form card already styled â€” bump shadow + bigger radius */
html body.page-id-81 .mphb_sc_search-form {
    background: #f6efe1 !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.32) !important;
    border: 1px solid rgba(200,169,110,0.32) !important;
}

/* Results wrapper â€” also cream card on photo */
html body.page-id-81 .mphb_sc_search_results-wrapper {
    background: #f6efe1 !important;
    border-radius: 8px !important;
    padding: 32px 32px !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.32) !important;
    border: 1px solid rgba(200,169,110,0.32) !important;
    margin: 28px auto !important;
    max-width: 1080px !important;
}

/* Hide auto-injected entry header if duplicated by Hello Elementor */
html body.page-id-81 .page-header { display: none !important; }

/* ============================================================
   FOOTER HOVER FIX â€” links go WHITE on cream bg = invisible
   ============================================================ */

/* Footer nav anchors â€” explicit gold hover */
html body footer.elementor-location-footer a:hover,
html body footer.elementor-location-footer a:focus,
html body footer .dp-footer-nav a:hover,
html body footer .dp-footer-nav a:focus,
html body .dp-footer-brand:hover {
    color: #c8a96e !important;
}

/* Footer maker (Made by Vireo) â€” was white-on-cream, swap to walnut */
html body .dp-footer-maker a:hover {
    color: #1c0d04 !important;
    border-bottom-color: #1c0d04 !important;
}

/* Footer in-content body links (rare) â€” gold hover */
html body footer p a:hover { color: #c8a96e !important; }

/* ============================================================
   UNIVERSAL BUTTON STYLE â€” same on every page
   Default: tan/gold bg + walnut text + bold uppercase tracked
   Hover: invert to walnut bg + cream text + lift
   ============================================================ */

html body .elementor-button-link,
html body .elementor-button,
html body button.dp-book-cta,
html body .dp-hbc-cta,
html body .dp-pc-cta,
html body .mphb_sc_search-button,
html body .mphb_sc_search-form input[type="submit"],
html body .mphb_sc_search_results-wrapper button,
html body .mphb_sc_booking_form button[type="submit"],
html body .dp-gpx-dl,
html body section.dp-cta-bg .elementor-button-link,
html body section.dp-cta-bg .elementor-button,
html body .elementor-field-type-submit button {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    padding: 14px 32px !important;
    font-family: "Inter", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-shadow: 0 4px 14px rgba(200,169,110,0.28) !important;
    transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    text-shadow: none !important;
}
html body .elementor-button-link:hover,
html body .elementor-button:hover,
html body button.dp-book-cta:hover,
html body .dp-hbc-cta:hover,
html body .dp-pc-cta:hover,
html body .mphb_sc_search-button:hover,
html body .mphb_sc_search-form input[type="submit"]:hover,
html body .mphb_sc_search_results-wrapper button:hover,
html body .mphb_sc_booking_form button[type="submit"]:hover,
html body .dp-gpx-dl:hover,
html body section.dp-cta-bg .elementor-button-link:hover,
html body section.dp-cta-bg .elementor-button:hover,
html body .elementor-field-type-submit button:hover {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(28,13,4,0.32) !important;
}

/* Pair-orig (Zarezerwuj that was paired with kontakt) â€” disabled but keep style fallback */
html body .dp-pair-orig,
html body .dp-pair-orig:hover {
    background: transparent !important;
}

/* ============================================================
   SEARCH PAGE â€” deeper beige form bg + tighter width so photo visible
   ============================================================ */
html body.page-id-81 .mphb_sc_search-form {
    background: #efe4cb !important;
    max-width: 460px !important;
    margin: 24px auto !important;
    padding: 24px 28px !important;
    border-radius: 6px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.36) !important;
    border: 1px solid rgba(28,13,4,0.18) !important;
}
html body.page-id-81 .mphb_sc_search_results-wrapper {
    background: #efe4cb !important;
    max-width: 900px !important;
    margin: 28px auto !important;
    padding: 28px 32px !important;
    border-radius: 6px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.36) !important;
    border: 1px solid rgba(28,13,4,0.18) !important;
}
/* Inputs in form: white bg for legibility */
html body.page-id-81 .mphb_sc_search-form input[type="text"],
html body.page-id-81 .mphb_sc_search-form input[type="email"],
html body.page-id-81 .mphb_sc_search-form input.mphb-datepick,
html body.page-id-81 .mphb_sc_search-form select {
    background: #ffffff !important;
    border: 1px solid rgba(28,13,4,0.16) !important;
}

/* ============================================================
   FORCE canonical tan button on HERO + SUBPAGES too
   (override .dp-page-hero white button rule, page-id-N white button rules)
   ============================================================ */

html body .dp-page-hero .elementor-button,
html body .dp-page-hero .elementor-button-link,
html body .dp-hero-arete .elementor-button,
html body .dp-hero-arete .elementor-button-link,
html body section.dp-page-hero .elementor-button-link,
html body section.dp-page-hero .elementor-button,
html body.page-id-11 .elementor-button-link,
html body.page-id-11 .elementor-button,
html body.page-id-12 .elementor-button-link,
html body.page-id-12 .elementor-button,
html body.page-id-13 .elementor-button-link,
html body.page-id-13 .elementor-button,
html body.page-id-14 .elementor-button-link,
html body.page-id-14 .elementor-button,
html body.page-id-15 .elementor-button-link,
html body.page-id-15 .elementor-button,
html body.page-id-16 .elementor-button-link,
html body.page-id-16 .elementor-button {
    background: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.28) !important;
}
html body .dp-page-hero .elementor-button:hover,
html body .dp-page-hero .elementor-button-link:hover,
html body .dp-hero-arete .elementor-button:hover,
html body .dp-hero-arete .elementor-button-link:hover,
html body.page-id-11 .elementor-button-link:hover,
html body.page-id-11 .elementor-button:hover,
html body.page-id-12 .elementor-button-link:hover,
html body.page-id-12 .elementor-button:hover,
html body.page-id-13 .elementor-button-link:hover,
html body.page-id-13 .elementor-button:hover,
html body.page-id-14 .elementor-button-link:hover,
html body.page-id-14 .elementor-button:hover,
html body.page-id-15 .elementor-button-link:hover,
html body.page-id-15 .elementor-button:hover,
html body.page-id-16 .elementor-button-link:hover,
html body.page-id-16 .elementor-button:hover {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
}

/* ============================================================
   SEARCH PAGE â€” photo on FULL BODY, not just main
   so cream theme bg around main is replaced by photo too
   ============================================================ */

html body.page-id-81 {
    background-image: url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1920&h=1080&fit=crop&auto=format&q=82") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: scroll !important;
    background-color: #1c0d04 !important;
    position: relative;
}
html body.page-id-81::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(28, 13, 4, 0.50);
    z-index: 0;
    pointer-events: none;
}
html body.page-id-81 > * { position: relative; z-index: 1; }

/* Main no longer needs its own bg */
html body.page-id-81 main,
html body.page-id-81 .site-main {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: 32px 24px 80px !important;
}
html body.page-id-81 main::before { display: none !important; }

/* Form + results â€” solid BEIGE, not transparent */
html body.page-id-81 .mphb_sc_search-form {
    background: #efe4cb !important;
    max-width: 460px !important;
    margin: 24px auto !important;
    padding: 28px 30px !important;
    border-radius: 6px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.42) !important;
    border: 1px solid rgba(28,13,4,0.18) !important;
}
html body.page-id-81 .mphb_sc_search_results-wrapper {
    background: #efe4cb !important;
    max-width: 900px !important;
    margin: 28px auto !important;
    padding: 28px 32px !important;
    border-radius: 6px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.42) !important;
    border: 1px solid rgba(28,13,4,0.18) !important;
}
html body.page-id-81 .mphb-errors-wrapper {
    background: #fff5f0 !important;
    border-radius: 4px !important;
    padding: 14px 20px !important;
    max-width: 900px !important;
    margin: 16px auto !important;
}

/* Big cream wrapper around form was .mphb_sc_search-wrapper (singular) â€” make transparent */
html body.page-id-81 .mphb_sc_search-wrapper,
html body.page-id-81 .mphb_sc_search-wrapper.mphb_sc_search-wrapper {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    max-width: 100% !important;
}

/* HTML element bg â€” let body bg show through */
html.page-id-81-html,
body.page-id-81 html { background: transparent !important; }

/* Gap between header and search form on page-id-81 */
html body.page-id-81 main,
html body.page-id-81 .site-main {
    padding-top: 90px !important;
}
html body.page-id-81 .mphb_sc_search-form {
    margin-top: 48px !important;
}

/* ============================================================
   STRICT BUTTON UNIFORMITY â€” pass 2
   Force default + HOVER on every button selector + every page
   ============================================================ */

/* Combined high-specificity selector to beat per-page Elementor CSS */
html body main .elementor-button,
html body main .elementor-button-link,
html body main button.dp-book-cta,
html body main .dp-hbc-cta,
html body main .dp-pc-cta,
html body main .dp-gpx-dl,
html body main .mphb_sc_search-button,
html body main .mphb_sc_search-form input[type="submit"],
html body main .mphb_sc_search-form button[type="submit"],
html body main .mphb_sc_search_results-wrapper button,
html body main .mphb_sc_booking_form button[type="submit"],
html body main .elementor-field-type-submit button,
html body main button[type="submit"],
html body main input[type="submit"],
html body .dp-hero-arete .elementor-button-link,
html body .dp-hero-arete .elementor-button,
html body .dp-hero-arete .dp-hbc-cta,
html body .dp-page-hero .elementor-button-link,
html body .dp-page-hero .elementor-button {
    background: #c8a96e !important;
    background-color: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    padding: 14px 32px !important;
    font-family: "Inter", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-shadow: 0 4px 14px rgba(200,169,110,0.28) !important;
    transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    text-shadow: none !important;
}

/* HOVER â€” overrides EVERY page + selector */
html body main .elementor-button:hover,
html body main .elementor-button-link:hover,
html body main button.dp-book-cta:hover,
html body main .dp-hbc-cta:hover,
html body main .dp-pc-cta:hover,
html body main .dp-gpx-dl:hover,
html body main .mphb_sc_search-button:hover,
html body main .mphb_sc_search-form input[type="submit"]:hover,
html body main .mphb_sc_search-form button[type="submit"]:hover,
html body main .mphb_sc_search_results-wrapper button:hover,
html body main .mphb_sc_booking_form button[type="submit"]:hover,
html body main .elementor-field-type-submit button:hover,
html body main button[type="submit"]:hover,
html body main input[type="submit"]:hover,
html body .dp-hero-arete .elementor-button-link:hover,
html body .dp-hero-arete .elementor-button:hover,
html body .dp-hero-arete .dp-hbc-cta:hover,
html body .dp-page-hero .elementor-button-link:hover,
html body .dp-page-hero .elementor-button:hover {
    background: #1c0d04 !important;
    background-color: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(28,13,4,0.38) !important;
}

/* Per-page-id overrides â€” block page-id rules from earlier rounds */
html body.page-id-11 .elementor-button:hover,
html body.page-id-11 .elementor-button-link:hover,
html body.page-id-12 .elementor-button:hover,
html body.page-id-12 .elementor-button-link:hover,
html body.page-id-13 .elementor-button:hover,
html body.page-id-13 .elementor-button-link:hover,
html body.page-id-14 .elementor-button:hover,
html body.page-id-14 .elementor-button-link:hover,
html body.page-id-15 .elementor-button:hover,
html body.page-id-15 .elementor-button-link:hover,
html body.page-id-16 .elementor-button:hover,
html body.page-id-16 .elementor-button-link:hover,
html body.page-id-17 .elementor-button:hover,
html body.page-id-17 .elementor-button-link:hover,
html body.page-id-176 .elementor-button:hover,
html body.page-id-176 .elementor-button-link:hover {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(28,13,4,0.38) !important;
}

/* CTA-section / .dp-cta-bg / .dp-sec-bg hovers â€” same canonical */
html body section.dp-cta-bg .elementor-button:hover,
html body section.dp-cta-bg .elementor-button-link:hover,
html body section.dp-sec-bg .elementor-button:hover,
html body section.dp-sec-bg .elementor-button-link:hover {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(28,13,4,0.38) !important;
}

/* Padding fixes for booking-card buttons that had tighter padding */
html body main .dp-hbc-cta { padding: 14px 28px !important; }
html body main button[type="submit"] { padding: 14px 32px !important; min-height: 44px !important; }

/* Kontakt form submit â€” letter-spacing bump to 2px */
html body.page-id-17 main button[type="submit"],
html body.page-id-17 main input[type="submit"],
html body.page-id-17 .elementor-field-type-submit button {
    letter-spacing: 2px !important;
}

/* ============================================================
   BUTTON UNIFORMITY v3 â€” repeat-class specificity bomb
   Beats per-post Elementor CSS (.elementor-element-XXXX rules)
   ============================================================ */

/* Default state â€” repeat-class specificity (0,0,6,0) */
html body main .elementor-button-link.elementor-button-link.elementor-button-link,
html body main .elementor-button.elementor-button.elementor-button,
html body main .dp-hbc-cta.dp-hbc-cta,
html body main .dp-pc-cta.dp-pc-cta,
html body main .dp-gpx-dl.dp-gpx-dl,
html body main button.dp-book-cta.dp-book-cta,
html body main .mphb_sc_search-button.mphb_sc_search-button,
html body main .mphb_sc_search-form input[type="submit"],
html body main .mphb_sc_search-form button[type="submit"],
html body main .mphb_sc_search_results-wrapper button[type="button"],
html body main .mphb_sc_search_results-wrapper a.button,
html body main button[type="submit"],
html body main input[type="submit"] {
    background: #c8a96e !important;
    background-color: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    padding: 14px 32px !important;
    font-family: "Inter", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    box-shadow: 0 4px 14px rgba(200,169,110,0.28) !important;
    transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 130ms ease, box-shadow 220ms ease !important;
    text-shadow: none !important;
}

/* HOVER â€” same specificity bomb */
html body main .elementor-button-link.elementor-button-link.elementor-button-link:hover,
html body main .elementor-button.elementor-button.elementor-button:hover,
html body main .dp-hbc-cta.dp-hbc-cta:hover,
html body main .dp-pc-cta.dp-pc-cta:hover,
html body main .dp-gpx-dl.dp-gpx-dl:hover,
html body main button.dp-book-cta.dp-book-cta:hover,
html body main .mphb_sc_search-button.mphb_sc_search-button:hover,
html body main .mphb_sc_search-form input[type="submit"]:hover,
html body main .mphb_sc_search-form button[type="submit"]:hover,
html body main .mphb_sc_search_results-wrapper button[type="button"]:hover,
html body main .mphb_sc_search_results-wrapper a.button:hover,
html body main button[type="submit"]:hover,
html body main input[type="submit"]:hover,
html body main .mphb_sc_search_results-wrapper button:hover {
    background: #1c0d04 !important;
    background-color: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(28,13,4,0.38) !important;
}

/* Inner span override â€” Elementor wraps button text in .elementor-button-content-wrapper > .elementor-button-text */
html body main .elementor-button-link.elementor-button-link.elementor-button-link:hover .elementor-button-text,
html body main .elementor-button.elementor-button.elementor-button:hover .elementor-button-text,
html body main .elementor-button-link.elementor-button-link.elementor-button-link:hover .elementor-button-icon,
html body main .elementor-button.elementor-button.elementor-button:hover .elementor-button-icon {
    color: #f6efe1 !important;
}

/* Wildcard nuke â€” any element with class containing "button" inside main, on hover, that isn't a nav */
html body main *[class*="elementor-button"]:not([class*="nav"]):not([class*="menu"]):not(.elementor-tab-title):hover {
    background-color: #1c0d04 !important;
    color: #f6efe1 !important;
}

/* Exclude home hero "O obiekcie" ghost button (transparent over photo) â€” opt-in canonical */
html body.home main .elementor-button-link.elementor-button-link.elementor-button-link {
    background: #c8a96e !important;
    color: #1c0d04 !important;
}
html body.home main .elementor-button-link.elementor-button-link.elementor-button-link:hover {
    background: #1c0d04 !important;
    color: #f6efe1 !important;
}

/* Header booking widget â€” its inner cta also follows canonical */
html body main .dp-hbc-cta.dp-hbc-cta { padding: 14px 28px !important; min-height: 44px !important; }

/* ============================================================
   BUTTON UNIFORMITY v4 â€” submit-button hover fix
   Theme/Elementor form submit overriding our hover rule.
   ============================================================ */

html body main form button[type="submit"]:hover,
html body main form input[type="submit"]:hover,
html body main .elementor-form button[type="submit"]:hover,
html body main .elementor-form input[type="submit"]:hover,
html body main .elementor-field-type-submit button:hover,
html body main .elementor-field-type-submit button[type="submit"]:hover,
html body main .mphb-booking-form button[type="submit"]:hover,
html body main .mphb_sc_search-form input[type="submit"]:hover,
html body main .mphb_sc_search-form button[type="submit"]:hover,
html body.page main button[type="submit"]:hover,
html body.page main input[type="submit"]:hover,
html body.single main button[type="submit"]:hover,
html body.single main input[type="submit"]:hover {
    background: #1c0d04 !important;
    background-color: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(28,13,4,0.38) !important;
}

/* Span/icon inside submit button â€” inherit cream on hover */
html body main form button[type="submit"]:hover *,
html body main .elementor-form button[type="submit"]:hover *,
html body main .elementor-field-type-submit button:hover *,
html body main button[type="submit"]:hover .elementor-button-content-wrapper,
html body main button[type="submit"]:hover .elementor-button-text,
html body main button[type="submit"]:hover span {
    color: #f6efe1 !important;
}

/* ============================================================
   HERO BUTTON FIX â€” kill white inner box + mix-blend-mode
   ============================================================ */

/* Force inner span to transparent + drop mix-blend-mode */
html body .dp-page-hero .elementor-button .elementor-button-text,
html body .dp-page-hero .elementor-button-link .elementor-button-text,
html body .dp-page-hero .elementor-button .elementor-button-content-wrapper,
html body .dp-page-hero .elementor-button-link .elementor-button-content-wrapper,
html body .dp-hero-arete .elementor-button .elementor-button-text,
html body .dp-hero-arete .elementor-button-link .elementor-button-text,
html body .dp-hero-arete .elementor-button .elementor-button-content-wrapper,
html body .dp-hero-arete .elementor-button-link .elementor-button-content-wrapper,
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-link .elementor-button-text {
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
    mix-blend-mode: normal !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    isolation: auto !important;
}

/* Kill mix-blend-mode + white bg on hero button shells */
html body .dp-page-hero .elementor-button,
html body .dp-page-hero .elementor-button-link,
html body .dp-hero-arete .elementor-button,
html body .dp-hero-arete .elementor-button-link,
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-link {
    mix-blend-mode: normal !important;
    isolation: auto !important;
}

/* Repeat canonical default + hover with HERO selectors for source-order win */
html body .dp-page-hero .elementor-button-link.elementor-button-link,
html body .dp-page-hero .elementor-button.elementor-button,
html body .dp-hero-arete .elementor-button-link.elementor-button-link,
html body .dp-hero-arete .elementor-button.elementor-button,
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-link.elementor-button-link {
    background: #c8a96e !important;
    background-color: #c8a96e !important;
    color: #1c0d04 !important;
    border: 1px solid #c8a96e !important;
    box-shadow: 0 4px 14px rgba(200,169,110,0.28) !important;
}
html body .dp-page-hero .elementor-button-link.elementor-button-link:hover,
html body .dp-page-hero .elementor-button.elementor-button:hover,
html body .dp-hero-arete .elementor-button-link.elementor-button-link:hover,
html body .dp-hero-arete .elementor-button.elementor-button:hover,
html body .dp-hero-arete .elementor-element-hero_btn .elementor-button-link.elementor-button-link:hover {
    background: #1c0d04 !important;
    background-color: #1c0d04 !important;
    color: #f6efe1 !important;
    border-color: #1c0d04 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(28,13,4,0.38) !important;
}
html body .dp-page-hero .elementor-button:hover .elementor-button-text,
html body .dp-page-hero .elementor-button-link:hover .elementor-button-text,
html body .dp-hero-arete .elementor-button:hover .elementor-button-text,
html body .dp-hero-arete .elementor-button-link:hover .elementor-button-text {
    color: #f6efe1 !important;
}

/* ============================================================
   NAV ACTIVE â€” kill gold underline ::after
   Keep gold text color on active page; just no underline.
   ============================================================ */

html body header .elementor-nav-menu li.current-menu-item a.elementor-item::after,
html body header .elementor-nav-menu li.current-menu-item a.elementor-item::before,
html body header .elementor-nav-menu a.elementor-item-active::after,
html body header .elementor-nav-menu a.elementor-item-active::before,
html body .elementor-location-header .elementor-nav-menu a.elementor-item-active::after,
html body .elementor-location-header .elementor-nav-menu a.elementor-item-active::before,
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item.elementor-item-active::after,
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item.elementor-item-active::before {
    content: none !important;
    display: none !important;
    background: transparent !important;
    height: 0 !important;
    width: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Belt-and-braces: nuke border-bottom + text-decoration on active item */
html body header .elementor-nav-menu li.current-menu-item a.elementor-item,
html body header .elementor-nav-menu a.elementor-item-active,
html body .elementor-location-header .elementor-nav-menu a.elementor-item-active,
html body .dp-hdr-chevron .elementor-nav-menu a.elementor-item.elementor-item-active {
    border-bottom: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* Also kill current-page-ancestor highlighting â€” only actual current page should be gold */
html body header .elementor-nav-menu li.current-page-ancestor:not(.current-menu-item) a.elementor-item,
html body header .elementor-nav-menu li.current-menu-ancestor:not(.current-menu-item) a.elementor-item,
html body header .elementor-nav-menu li.current-menu-parent:not(.current-menu-item) a.elementor-item {
    color: #ffffff !important;
}
html body header .elementor-nav-menu li.current-page-ancestor:not(.current-menu-item) a.elementor-item::after,
html body header .elementor-nav-menu li.current-page-ancestor:not(.current-menu-item) a.elementor-item::before {
    content: none !important;
    display: none !important;
}

/* ============================================================
   BOOKING FLOW CLEANUP
   - Photo bg on confirm page (page-id-83)
   - Hide redundant top Zarezerwuj + PotwierdĹş buttons on search cards
   ============================================================ */

/* Confirm page (potwierdzenie-rejestracji) â€” same photo bg as search */
html body.page-id-83 {
    background-image: url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1920&h=1080&fit=crop&auto=format&q=82") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: scroll !important;
    background-color: #1c0d04 !important;
    position: relative;
}
html body.page-id-83::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(28,13,4,0.50);
    z-index: 0;
    pointer-events: none;
}
html body.page-id-83 > * { position: relative; z-index: 1; }
html body.page-id-83 main,
html body.page-id-83 .site-main {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: 32px 24px 80px !important;
}
html body.page-id-83 main::before { display: none !important; }

/* Confirm page form/cart â€” same beige card treatment */
html body.page-id-83 .mphb-checkout-form,
html body.page-id-83 form,
html body.page-id-83 .mphb-cart-details,
html body.page-id-83 .mphb-reservation-cart {
    background: #efe4cb !important;
    max-width: 900px !important;
    margin: 24px auto !important;
    padding: 28px 32px !important;
    border-radius: 6px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.42) !important;
    border: 1px solid rgba(28,13,4,0.18) !important;
}
html body.page-id-83 .mphb-errors-wrapper {
    background: #fff5f0 !important;
    border-radius: 4px !important;
    padding: 14px 20px !important;
    max-width: 900px !important;
    margin: 16px auto !important;
}

/* Hide redundant reserve/confirm buttons on search results cards.
   Keep bottom "Zarezerwuj" (mphb-book-button) + "Zobacz szczegĂłĹ‚y" only. */
html body.page-id-81 .mphb-recommendation-reserve-button,
html body.page-id-81 .mphb-confirm-reservation,
html body.page-id-81 button.mphb-recommendation-reserve-button,
html body.page-id-81 button.mphb-confirm-reservation {
    display: none !important;
}

/* Also hide the "Wybierz pokĂłj z dostÄ™pnych" line â€” redundant once top button gone */
html body.page-id-81 .mphb-recommendation-message,
html body.page-id-81 .mphb-recommendation p:has(+ .mphb-empty-cart),
html body.page-id-81 .mphb-empty-cart-message {
    display: none !important;
}
