@font-face {
  font-family: "Marksys";
  src:
    url("../assets/marksy-regular-webfont.woff2") format("woff2"),
    url("../assets/marksy-regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Brockmann";
  src:
    url("../assets/brockmann-regular-webfont.woff2") format("woff2"),
    url("../assets/brockmann-regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Brockmann";
  src:
    url("../assets/brockmann-medium-webfont.woff2") format("woff2"),
    url("../assets/brockmann-medium-webfont.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

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

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  min-height: 100%;
  overflow-x: hidden;
  font-family: "Brockmann", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 6%, rgba(247, 118, 74, 0.12), transparent 30%),
    radial-gradient(circle at 84% 0%, rgba(111, 163, 191, 0.14), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
  color: #1f2f3a;
}

#app {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Marksys", "Brockmann", serif;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0.01em;
  text-transform: none;
}

:root {
  --ws-blue-100: #6fa3bf;
  --ws-blue-200: #5d93af;
  --ws-blue-300: #4b819d;
  --ws-blue-400: #2f5f73;
  --ws-blue-500: #1f2f3a;
  --ws-orange-100: #d6a56c;
  --ws-orange-200: #f08a5d;
  --ws-orange-300: #f7764a;
  --ws-orange-400: #c56747;
  --ws-orange-500: #9e4f33;
  --ws-white: #ffffff;
  --ws-black: #0e1a22;
  --ws-gray-blue: #8fa3ad;
  --cn-bg: #ffffff;
  --cn-ink: #1f2f3a;
  --cn-muted: #8fa3ad;
  --cn-icon: #f08a5d;
  --cn-primary: #f7764a;
  --cn-primary-deep: #c56747;
  --cn-soft: #ffffff;
  --cn-border: rgba(31, 47, 58, 0.12);
}

/* Keep the booking palette stable even if Tailwind CDN regenerates a bad arbitrary-color utility. */
.bg-\[\#d3dac6\] {
  --tw-bg-opacity: 1;
  background-color: #f08a5d;
}

.bg-\[\#d3dac6\]\/20 {
  background-color: rgb(111 163 191 / 0.14);
}

.bg-\[\#d3dac6\]\/30 {
  background-color: rgb(111 163 191 / 0.2);
}

.bg-\[\#d3dac6\]\/40 {
  background-color: rgb(111 163 191 / 0.26);
}

.bg-\[\#5d6b57\] {
  background-color: #2f5f73 !important;
}

.hover\:bg-\[\#4d5b47\]:hover {
  background-color: #1f2f3a !important;
}

.border-\[\#dadbd5\] {
  border-color: rgba(31, 47, 58, 0.12) !important;
}

.hover\:border-\[\#5d6b57\]\/40:hover,
.hover\:border-\[\#b77255\]\/50:hover {
  border-color: rgba(47, 95, 115, 0.34) !important;
}

.text-\[\#3d4a37\] {
  color: #1f2f3a !important;
}

.text-\[\#5d6b57\] {
  color: #8fa3ad !important;
}

.bg-\[\#b77255\] {
  background-color: #c56747 !important;
}

.fade-slide-enter {
  opacity: 0;
  transform: translateX(20px);
}

.fade-slide-enter-active {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 260ms ease, transform 260ms ease;
}

.fade-down-enter {
  opacity: 0;
  transform: translateY(-16px);
}

.fade-down-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 260ms ease, transform 260ms ease;
}

.scale-in-enter {
  opacity: 0;
  transform: scale(0.97);
}

.scale-in-enter-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 320ms ease, transform 320ms ease;
}

.logo {
  max-width: 250px;
  height: 64px !important;
}

.max-w-xl,
.w-full.max-w-xl.mx-auto {
  max-width: 54rem !important;
}

.cn-appShell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(247, 118, 74, 0.12), transparent 24%),
    radial-gradient(circle at 100% 10%, rgba(111, 163, 191, 0.14), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f5f9fc 100%);
}

.cn-appShellMedia {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.cn-appShellVideo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.01) contrast(0.93) brightness(0.54) blur(0.45px);
  transform: scale(1.03);
}

.cn-appShellTint {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(64, 31, 21, 0.86) 0%, rgba(116, 61, 42, 0.84) 20%, rgba(183, 114, 85, 0.74) 42%, rgba(122, 63, 42, 0.93) 74%, rgba(42, 19, 13, 0.995) 100%),
    radial-gradient(circle at 18% 18%, rgba(255, 196, 118, 0.1), transparent 32%),
    radial-gradient(circle at 78% 24%, rgba(255, 126, 46, 0.08), transparent 28%);
  mix-blend-mode: normal;
}

.cn-appShellGlow {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 168, 104, 0.1), rgba(255, 168, 104, 0)),
    radial-gradient(circle at top, rgba(255, 214, 164, 0.12), transparent 38%);
  backdrop-filter: blur(1px);
}

#app {
  position: relative;
  z-index: 1;
}

.cn-wizardCard {
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(140, 107, 83, 0.14);
  background: rgba(255, 252, 248, 0.96);
  box-shadow: 0 20px 50px rgba(103, 73, 54, 0.11);
  transition: transform 220ms ease, box-shadow 220ms ease;
  backdrop-filter: blur(12px);
}

.cn-wizardCardLight {
  border-color: rgba(239, 146, 91, 0.14);
  background: rgba(255, 250, 244, 0.94);
  box-shadow: 0 22px 58px rgba(169, 126, 84, 0.14);
  backdrop-filter: blur(10px);
}

.cn-wizardCardDark {
  border-color: rgba(78, 63, 53, 0.7);
  background: #241c18;
  box-shadow: 0 22px 54px rgba(34, 26, 21, 0.32);
}

.cn-wizardCard:hover {
  transform: translateY(-1px);
  box-shadow: 0 24px 56px rgba(103, 73, 54, 0.14);
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCardLight {
  border-radius: 1.8rem !important;
  overflow: visible;
}

.cn-wizardContent {
  position: relative;
  z-index: 1;
  background: transparent;
}

.cn-wizardCard .text-\[\#3d4a37\] {
  color: #2f2722 !important;
}

.cn-wizardCard .text-\[\#5d6b57\] {
  color: #78675a !important;
}

.cn-wizardCard .text-\[\#5d6b57\]\/30 {
  color: rgba(120, 103, 90, 0.42) !important;
}

.cn-wizardCard .border-\[\#dadbd5\] {
  border-color: rgba(140, 107, 83, 0.16) !important;
}

.cn-wizardCard .hover\:bg-\[\#dadbd5\]\/30:hover {
  background-color: rgba(201, 118, 79, 0.08) !important;
}

.cn-wizardCard .hover\:bg-\[\#f6f6f4\]:hover {
  background-color: rgba(201, 118, 79, 0.08) !important;
}

.cn-wizardCard .text-\[\#5d6b57\]\/45 {
  color: rgba(120, 103, 90, 0.58) !important;
}

.cn-wizardCard .text-\[\#5d6b57\]\/60,
.cn-wizardCard .text-\[\#5d6b57\]\/70 {
  color: rgba(120, 103, 90, 0.74) !important;
}

.cn-wizardCard .bg-\[\#5d6b57\],
.cn-wizardCard .bg-\[\#5d6b57\]\/5,
.cn-wizardCard .border-\[\#5d6b57\],
.cn-wizardCard .hover\:border-\[\#5d6b57\]\/40:hover,
.cn-wizardCard .hover\:border-\[\#5d6b57\]\/50:hover {
  border-color: #c9764f !important;
}

.cn-wizardCard .bg-\[\#5d6b57\],
.cn-wizardCard .bg-\[\#5d6b57\]\/5 {
  background-color: #c9764f !important;
}

.cn-wizardCard .bg-\[\#5d6b57\]\/5 {
  background-color: rgba(201, 118, 79, 0.12) !important;
}

.cn-wizardCard .hover\:bg-\[\#4d5b47\]:hover {
  background-color: #b86742 !important;
}

.cn-wizardCard .focus\:ring-\[\#5d6b57\]\/30:focus,
.cn-wizardCard .focus\:border-\[\#5d6b57\]:focus,
.cn-wizardCard .focus\:border-\[\#5d6b57\]:focus-visible {
  border-color: #c9764f !important;
  box-shadow: 0 0 0 2px rgba(201, 118, 79, 0.14) !important;
}

.cn-wizardCard .text-\[\#3d4a37\],
.cn-wizardCard .text-\[\#5d6b57\],
.cn-wizardCard .text-\[\#5d6b57\]\/30,
.cn-wizardCard .text-\[\#5d6b57\]\/45,
.cn-wizardCard .text-\[\#5d6b57\]\/60,
.cn-wizardCard .text-\[\#5d6b57\]\/70 {
  text-shadow: none;
}

.cn-preferenceBlock {
  display: grid;
  gap: 10px;
}

.cn-preferenceToggle {
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(201, 118, 79, 0.18);
  border-radius: 14px;
  background: rgba(255, 252, 248, 0.96);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  color: #40332a;
  font: inherit;
  cursor: pointer;
}

.cn-preferenceToggleLabel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cn-preferenceToggleValue {
  min-width: 0;
  color: #d9794f;
  font-size: 0.85rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cn-chipSelector {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cn-chipSelector[hidden] {
  display: none !important;
}

.cn-chipSelector.is-open {
  display: flex;
}

.cn-chipOption {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #dadbd5;
  background: #fbfbf8;
  color: #c86236;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.cn-rotateOverlay{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:radial-gradient(120px 220px at 80% 18%, rgba(122, 98, 70, 0.22), transparent 60%), linear-gradient(180deg, rgba(59, 46, 33, 0.96) 0%, rgba(38, 28, 20, 0.98) 100%);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}

.cn-rotateOverlay.is-visible{
  opacity:1;
  pointer-events:auto;
}

.cn-rotateCard{
  width:min(320px, 100%);
  padding:28px 24px 22px;
  border-radius:28px;
  border:1px solid rgba(233, 220, 202, 0.18);
  background:linear-gradient(180deg, rgba(108, 82, 57, 0.26) 0%, rgba(52, 40, 28, 0.58) 100%);
  box-shadow:0 24px 60px rgba(0, 0, 0, 0.34);
  color:#f7efe6;
  text-align:center;
  backdrop-filter:blur(12px);
}

.cn-rotateCard strong{
  display:block;
  margin:0 0 8px;
  font-size:1.5rem;
  font-weight:500;
  letter-spacing:-.03em;
}

.cn-rotateCard p{
  margin:0;
  color:rgba(247, 239, 230, 0.78);
  font-size:.95rem;
  line-height:1.4;
}

.cn-rotateIconWrap{
  position:relative;
  width:108px;
  height:108px;
  margin:0 auto 20px;
}

.cn-rotatePhone{
  position:absolute;
  inset:18px 30px;
  border-radius:18px;
  border:2px solid #e6d4c0;
  background:linear-gradient(180deg, rgba(123, 96, 67, 0.34) 0%, rgba(67, 49, 34, 0.18) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  animation:cnRotateDevice 1.7s cubic-bezier(.22,.61,.36,1) infinite;
  transform-origin:center center;
}

.cn-rotatePhone::before{
  content:"";
  position:absolute;
  top:7px;
  left:50%;
  width:26px;
  height:4px;
  border-radius:999px;
  background:rgba(230, 212, 192, 0.6);
  transform:translateX(-50%);
}

.cn-rotatePhoneScreen{
  position:absolute;
  inset:12px 8px;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(166, 133, 94, 0.35) 0%, rgba(98, 75, 51, 0.78) 100%);
}

.cn-rotateArc{
  position:absolute;
  inset:4px;
  border-radius:50%;
  border:2px dashed rgba(230, 212, 192, 0.42);
  animation:cnRotatePulse 1.7s ease-in-out infinite;
}

.cn-rotate-lock{
  overflow:hidden;
}

@keyframes cnRotateDevice{
  0%, 16%{transform:rotate(0deg) scale(1)}
  32%, 68%{transform:rotate(90deg) scale(1.02)}
  84%, 100%{transform:rotate(90deg) scale(1)}
}

@keyframes cnRotatePulse{
  0%, 100%{opacity:.36; transform:scale(.94)}
  50%{opacity:.82; transform:scale(1)}
}

.cn-chipOption.is-active {
  background: #f58a5e;
  border-color: #f58a5e;
  color: #fff;
}

.cn-guestMoreBtn {
  min-height: 44px;
  border-radius: 20px;
  border: 1px solid rgba(183, 114, 85, 0.58);
  background: rgba(255, 245, 233, 0.02);
  color: #fff5e9;
  font-size: 1rem;
  font-weight: 600;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.cn-guestMoreBtn:hover {
  border-color: rgba(245, 138, 94, 0.86);
  background: rgba(183, 114, 85, 0.12);
}

.cn-contactDrawer {
  border: 1px solid rgba(183, 114, 85, 0.58);
  border-radius: 36px;
  padding: 28px 32px 22px;
  background: rgba(255, 245, 233, 0.035);
  box-shadow: inset 0 1px 0 rgba(255, 245, 233, 0.03);
}

.cn-contactDrawerText {
  color: rgba(255, 245, 233, 0.86);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  margin-bottom: 22px;
}

.cn-contactDrawerActions {
  display: grid;
  gap: 16px;
}

.cn-contactActionBtn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  min-height: 78px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid rgba(255, 245, 233, 0.16);
  background: rgba(255, 245, 233, 0.1);
  color: #fff5e9;
  text-decoration: none;
  overflow-wrap: anywhere;
  font-size: 0.92rem;
  font-weight: 500;
}

.cn-contactActionBtn.is-email {
  font-size: .88rem;
}

.cn-zoneHeaderRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.cn-zoneHeaderRow label {
  margin-bottom: 0;
}

.cn-zoneChangeBtn {
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid rgba(245, 138, 94, 0.28);
  background: rgba(255, 245, 233, 0.04);
  color: #fff5e9;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.84rem;
  font-weight: 600;
}

.cn-zoneSelectedMeta {
  color: rgba(255, 245, 233, 0.7);
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-size: 0.88rem;
  margin-left: auto;
}

.cn-zoneSelectedMeta strong {
  color: #f58a5e;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin-left: 2px;
}

.cn-zoneCard {
  width: 100%;
  min-height: 164px;
  padding: 0;
  border-radius: 16px;
  border: 1px solid rgba(245, 138, 94, 0.26);
  background: rgba(255, 245, 233, 0.04);
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease, box-shadow 220ms ease;
  display: flex;
  align-items: center;
  text-align: left;
  overflow: hidden;
  position: relative;
}

.cn-zoneCard:hover {
  transform: translateY(-2px);
  border-color: rgba(245, 138, 94, 0.58);
  box-shadow: 0 22px 40px rgba(22, 13, 10, 0.22);
}

.cn-zoneCard:disabled {
  cursor: not-allowed;
}

.cn-zoneCard.is-selected {
  border-color: rgba(245, 138, 94, 0.96);
  background: rgba(183, 114, 85, 0.18);
  box-shadow: 0 20px 38px rgba(22, 13, 10, 0.32);
}

.cn-zoneCard.is-disabled {
  opacity: 0.72;
  border-color: rgba(245, 138, 94, 0.18);
  box-shadow: none;
}

.cn-zoneCard.is-disabled:hover {
  transform: none;
  border-color: rgba(245, 138, 94, 0.18);
  box-shadow: none;
}

.cn-zoneCard.is-disabled .cn-zoneCardHelper {
  color: rgba(255, 245, 233, 0.52);
}

.cn-zoneCard.is-wide {
  grid-column: 1 / -1;
  min-height: 28px;
}

.cn-zoneCardMedia,
.cn-zoneCardGlow {
  position: absolute;
  inset: 0;
}

.cn-zoneCardMedia {
  background-position: center;
  background-size: cover;
  opacity: 0.56;
  transform: scale(1.02);
  transition: opacity 220ms ease, transform 220ms ease, filter 220ms ease;
  filter: saturate(1.02) contrast(0.98) brightness(0.94);
}

.cn-zoneCardGlow {
  background:
    linear-gradient(180deg, rgba(28, 20, 16, 0.28) 0%, rgba(37, 28, 22, 0.44) 54%, rgba(37, 28, 22, 0.7) 100%),
    radial-gradient(circle at 18% 18%, rgba(255, 179, 135, 0.2), transparent 32%);
  transition: background 220ms ease;
}

.cn-zoneCard:hover .cn-zoneCardMedia,
.cn-zoneCard.is-selected .cn-zoneCardMedia {
  opacity: 0.72;
  transform: scale(1.05);
  filter: saturate(1.04) contrast(1) brightness(0.98);
}

.cn-zoneCard:hover .cn-zoneCardGlow,
.cn-zoneCard.is-selected .cn-zoneCardGlow {
  background:
    linear-gradient(180deg, rgba(28, 20, 16, 0.18) 0%, rgba(53, 35, 28, 0.34) 48%, rgba(37, 28, 22, 0.58) 100%),
    radial-gradient(circle at 18% 18%, rgba(255, 179, 135, 0.34), transparent 36%);
}

.cn-zoneCardInner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 26px 28px;
}

.cn-zoneCardIcon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgb(193 193 193 / 8%);
  color: #fff5e9;
  flex: 0 0 auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.cn-zoneCardIcon svg {
  color: #fff !important;
  stroke: #fff !important;
}

.cn-zoneCardIcon img,
.cn-zoneFileIcon {
  width: 38px;
  height: 38px;
  display: block;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7491%) hue-rotate(38deg) brightness(103%) contrast(101%) !important;
}

.cn-footerPill .cn-zoneFileIcon {
  filter: brightness(0) saturate(100%) invert(94%) sepia(15%) saturate(230%) hue-rotate(314deg) brightness(104%) contrast(98%) !important;
}

.cn-zoneCardText {
  display: grid;
  gap: 6px;
  min-width: 0;
  transition: opacity 180ms ease, transform 180ms ease;
}

.cn-zoneCardTitle {
  color: #2f2722;
  font-family: "Marksys", "Brockmann", serif;
  font-size: 1.02rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
}

.cn-zoneCardHelper {
  color: rgba(64, 51, 42, 0.68);
  font-size: 0.84rem;
}

.cn-zoneCard.is-selected .cn-zoneCardIcon,
.cn-zoneCard:hover .cn-zoneCardIcon {
  background: rgba(255, 245, 233, 0.12);
}

.cn-zoneGrid {
  grid-auto-rows: 1fr;
}

.cn-sunbedsModeCard {
  min-height: 126px;
  padding: 18px 20px;
  border-radius: 24px;
  border: 1px solid rgba(245, 138, 94, 0.24);
  background:
    linear-gradient(145deg, rgba(255, 245, 233, 0.08), rgba(255, 245, 233, 0.02)),
    rgba(255, 245, 233, 0.04);
  display: grid;
  gap: 8px;
  text-align: left;
  color: #fff5e9;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.cn-sunbedsModeCard:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 138, 94, 0.52);
  background:
    linear-gradient(145deg, rgba(255, 191, 143, 0.18), rgba(255, 245, 233, 0.04)),
    rgba(183, 114, 85, 0.12);
  box-shadow: 0 18px 34px rgba(22, 13, 10, 0.24);
}

.cn-sunbedsModeCard strong {
  font-family: "Marksys", "Brockmann", serif;
  font-size: 1.24rem;
  line-height: 1.1;
  text-transform: none;
  letter-spacing: 0.02em;
  color: #fff5e9;
}

.cn-sunbedsModeCard span:last-child {
  color: rgba(255, 245, 233, 0.82);
  font-size: 0.92rem;
  line-height: 1.45;
}

.cn-sunbedsModeCard.is-selected {
  border-color: rgba(245, 138, 94, 0.96);
  background:
    linear-gradient(145deg, rgba(245, 138, 94, 0.28), rgba(183, 114, 85, 0.14)),
    rgba(183, 114, 85, 0.18);
  box-shadow: 0 22px 40px rgba(22, 13, 10, 0.3);
}

.cn-sunbedsModeCard.is-disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.cn-sunbedsModeEyebrow {
  color: rgba(255, 199, 126, 0.88);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cn-zoneShowcase {
  display: grid;
  gap: 12px;
}

.cn-zoneHero,
.cn-zonePlanCard {
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255, 245, 233, 0.12);
}

.cn-zoneHero {
  position: relative;
  padding: 22px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at top right, rgba(255, 245, 233, 0.18), transparent 34%),
    radial-gradient(circle at bottom left, var(--cn-zone-accent), transparent 38%),
    var(--cn-zone-hero);
}

.cn-zoneHeroPreview::before {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-image: var(--cn-zone-preview);
  opacity: 0.62;
  mix-blend-mode: screen;
}

.cn-zoneHeroPreview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 18, 14, 0.18) 0%, rgba(26, 18, 14, 0.42) 100%);
}

.cn-zoneHeroPreview > * {
  position: relative;
  z-index: 1;
}

.cn-zoneHeroEyebrow,
.cn-zonePlanEyebrow {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 245, 233, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
}

.cn-zoneHeroTitle {
  font-family: "Marksys", "Brockmann", serif;
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 1.55rem;
  color: #fff5e9;
}

.cn-zoneHeroText {
  margin-top: 8px;
  color: rgba(255, 245, 233, 0.86);
  max-width: 28ch;
}

.cn-zoneSlider {
  display: grid;
  gap: 10px;
  width: 100%;
}

.cn-zoneSliderFrame {
  position: relative;
  width: 100%;
  min-height: 280px;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(255, 245, 233, 0.12);
  background: rgba(255, 245, 233, 0.04);
}

.cn-zoneSlide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 220ms ease;
}

.cn-zoneSlide.is-active {
  opacity: 1;
}

.cn-zoneSlide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cn-zoneSliderFrame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(22, 15, 12, 0.08) 0%, rgba(22, 15, 12, 0.28) 100%);
  pointer-events: none;
}

.cn-zoneSliderNav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(255, 245, 233, 0.12);
  background: rgba(120, 110, 109, 0.46);
  color: #fff5e9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cn-zoneSliderNav.is-prev {
  left: 18px;
}

.cn-zoneSliderNav.is-next {
  right: 18px;
}

.cn-zoneSliderDots {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.cn-zoneSliderDot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 245, 233, 0.34);
}

.cn-zoneSliderDot.is-active {
  width: 34px;
  background: #f58a5e;
}

.cn-zoneNarrative {
  display: none;
}

@media (min-width: 768px) {
  .cn-zoneGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cn-zoneShowcase {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .cn-contactDrawerActions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Final mobile footer/header correction */
@media (min-width: 601px) {
  #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    display: none !important;
  }
}

@media (max-width: 600px) {
  .cn-entrySoundBtn,
  body.cn-home-refined .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-entrySoundBtn {
    display: none !important;
  }

  .cn-pageShell .cn-entryBackWrap,
  .cn-pageShellActivities .cn-entryBackWrap,
  .cn-pageShellActivityWizard .cn-entryBackWrap,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-entryBackWrap {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    margin: 14px 0 20px 14px !important;
    padding: 0 !important;
    transform: none !important;
    z-index: auto !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header,
  body:not(.cn-home-refined) .cn-pageShell #header {
    margin-top: clamp(34px, 8svh, 58px) !important;
  }

  body.cn-home-refined .cn-headerBrand,
  body:not(.cn-home-refined) .cn-headerBrand {
    margin-top: clamp(12px, 3.6svh, 28px) !important;
  }

  #footer {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: clamp(48px, 10svh, 76px) auto 0 !important;
    padding: clamp(44px, 9svh, 64px) 24px calc(104px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "address"
      "socials"
      "actions" !important;
    justify-items: center !important;
    align-items: center !important;
    row-gap: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(250, 244, 236, .96) !important;
    box-shadow: none !important;
    color: #075486 !important;
    overflow: visible !important;
    text-align: center !important;
  }

  #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    grid-area: brand !important;
    display: block !important;
    width: 42px !important;
    height: auto !important;
    margin: 0 auto 10px !important;
    filter: none !important;
    opacity: .78 !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer .cn-footerTitle {
    grid-area: brand !important;
    margin: 0 auto !important;
    padding: 52px 0 0 !important;
    border: 0 !important;
    color: #075486 !important;
    line-height: .92 !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    display: block !important;
    color: #075486 !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-size: clamp(36px, 10vw, 44px) !important;
    font-weight: 400 !important;
    line-height: .86 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleSub,
  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    display: block !important;
    margin-top: 9px !important;
    color: #075486 !important;
    font-family: "Brockmann", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2),
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    grid-area: address !important;
    width: min(100%, 330px) !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 18px !important;
    color: #606779 !important;
    font-size: clamp(18px, 5.4vw, 22px) !important;
    font-weight: 400 !important;
    line-height: 1.24 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  #footer .cn-footerAddressIcon,
  #footer .cn-footerAddressIcon svg,
  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
  }

  #footer .cn-footerAddressDesktopBreak {
    display: none !important;
  }

  #footer p:nth-of-type(3) {
    display: none !important;
  }

  #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 4px auto 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 34px !important;
    color: #075486 !important;
  }

  #footer .cn-footerSocialIcon,
  #footer .cn-footerSocialIcon svg,
  body.cn-home-refined #footer .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footerSocialIcon svg {
    width: 34px !important;
    height: 34px !important;
    color: #075486 !important;
  }

  #footer .cn-footer-actions,
  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    display: none !important;
  }

  #footer .cn-mobileActionBar,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1200 !important;
    height: calc(86px + env(safe-area-inset-bottom)) !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    border-radius: 12px 12px 0 0 !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 -12px 26px rgba(0, 45, 84, .24) !important;
  }

  #footer .cn-mobileAction,
  body.cn-home-refined #footer .cn-mobileAction,
  body:not(.cn-home-refined) #footer .cn-mobileAction {
    min-width: 0 !important;
    padding: 9px 7px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border-left: 1px solid rgba(255, 255, 255, .58) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  #footer .cn-mobileAction:first-child,
  body.cn-home-refined #footer .cn-mobileAction:first-child,
  body:not(.cn-home-refined) #footer .cn-mobileAction:first-child {
    border-left: 0 !important;
  }

  #footer .cn-mobileActionIcon,
  #footer .cn-mobileActionIcon img,
  #footer .cn-mobileActionIcon svg,
  body.cn-home-refined #footer .cn-mobileActionIcon,
  body.cn-home-refined #footer .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileActionIcon svg,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon svg {
    width: 29px !important;
    height: 29px !important;
    font-size: 29px !important;
  }

  #footer .cn-mobileAction.is-whatsapp,
  body.cn-home-refined #footer .cn-mobileAction.is-whatsapp,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-whatsapp {
    color: #25D366 !important;
  }

  #footer .cn-mobileAction.is-whatsapp .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileAction.is-whatsapp .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-whatsapp .cn-mobileActionIcon img {
    filter: invert(57%) sepia(90%) saturate(568%) hue-rotate(88deg) brightness(96%) contrast(92%) !important;
  }

  #footer .cn-mobileAction.is-email,
  body.cn-home-refined #footer .cn-mobileAction.is-email,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-email {
    color: #ffffff !important;
  }

  #footer .cn-mobileAction.is-nerea,
  body.cn-home-refined #footer .cn-mobileAction.is-nerea,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-nerea {
    color: #F08A5D !important;
  }

  #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img {
    filter: invert(62%) sepia(56%) saturate(781%) hue-rotate(319deg) brightness(99%) contrast(90%) !important;
  }
}

/* Absolute final mobile footer mark alignment */
@media (max-width: 600px) {
  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    grid-template-areas:
      "mark"
      "brand"
      "address"
      "socials"
      "actions" !important;
    row-gap: 16px !important;
  }

  #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    grid-area: mark !important;
    margin: 0 auto -4px !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer .cn-footerTitle {
    grid-area: brand !important;
    padding: 0 !important;
  }
}

/* Absolute final mobile no-jump footer and centered heading */
@media (max-width: 600px) {
  body.cn-home-refined .cn-pageShellEntry #header,
  body:not(.cn-home-refined) .cn-pageShell #header {
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  body.cn-home-refined .cn-headerBrand,
  body:not(.cn-home-refined) .cn-headerBrand {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple,
  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 0 auto !important;
    padding: 0 6px !important;
    font-size: clamp(31px, 8.7vw, 36px) !important;
    line-height: .92 !important;
  }

  #footer .cn-mobileActionBar,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1200 !important;
    width: 100vw !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    border-radius: 12px 12px 0 0 !important;
    overflow: hidden !important;
    contain: none !important;
    background: #075486 !important;
    box-shadow: 0 -10px 22px rgba(0, 45, 84, .22) !important;
    -webkit-transform: none !important;
    transform: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
  }

  #footer .cn-mobileAction,
  body.cn-home-refined #footer .cn-mobileAction,
  body:not(.cn-home-refined) #footer .cn-mobileAction {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding: 7px 6px 8px !important;
    gap: 5px !important;
    border-left: 1px solid rgba(255, 255, 255, .56) !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  #footer .cn-mobileAction:first-child,
  body.cn-home-refined #footer .cn-mobileAction:first-child,
  body:not(.cn-home-refined) #footer .cn-mobileAction:first-child {
    border-left: 0 !important;
  }

  #footer .cn-mobileActionIcon,
  #footer .cn-mobileActionIcon img,
  #footer .cn-mobileActionIcon svg,
  body.cn-home-refined #footer .cn-mobileActionIcon,
  body.cn-home-refined #footer .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileActionIcon svg,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon svg {
    width: 25px !important;
    height: 25px !important;
    font-size: 25px !important;
  }

  body.cn-home-refined .cn-pageShellEntry,
  .cn-pageShell,
  .cn-pageShellActivities,
  .cn-pageShellRentals,
  .cn-pageShellActivityWizard {
    padding-bottom: 82px !important;
  }
}

/* Absolute final activities portrait background */
@media (max-width: 979px) and (orientation: portrait) {
  .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivities,
  body.cn-activities-landing .cn-pageShellActivities {
    background-color: #0699ad !important;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(0, 105, 128, .1)),
      url("../assets/bg-actividades-mob.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }
}

/* Absolute last activities mobile portrait layout */
@media (max-width: 600px) and (orientation: portrait) {
  body:not(.cn-home-refined) .cn-pageShellActivities {
    min-height: 100svh !important;
    padding: 18px 0 86px !important;
    align-items: center !important;
    background-color: #d7e7dc !important;
    background-image:
      linear-gradient(180deg, rgba(238, 245, 238, .58), rgba(218, 235, 226, .38) 34%, rgba(20, 154, 174, .16)),
      url("../assets/bg-actividades-mob.jpg") !important;
    background-position: right top !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities > .w-full,
  body.cn-activities-landing .cn-pageShellActivities > .w-full {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities #header {
    margin: 0 auto 0 !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-headerBrand {
    margin: 0 auto 2px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-mainBrandLogo {
    width: 58px !important;
    height: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreen,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreenPoster {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 14px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreenInner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster {
    margin: -2px auto 20px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster .cn-entryBadge {
    padding: 5px 14px 4px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster .cn-activityHeadline,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityHeadline {
    margin-top: 8px !important;
    color: #3f4d3c !important;
    font-size: clamp(34px, 9.8vw, 42px) !important;
    line-height: .9 !important;
    text-align: center !important;
    text-shadow: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    height: auto !important;
    margin: 0 0 0 50% !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    border: 1px solid rgba(255, 255, 255, .66) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .46) !important;
    box-shadow: 0 18px 44px rgba(31, 47, 58, .1) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
    box-sizing: border-box !important;
    transform: translateX(-50%) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion:hover .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion .cn-activityCard--accordion:hover {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1.03 !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 14px !important;
    transform: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityAgePill {
    top: 12px !important;
    left: 12px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 10px 0 9px !important;
    font-size: 13px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityAgePill svg {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardMeta--poster {
    inset: auto 0 14px !important;
    min-height: 104px !important;
    padding: 0 14px !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardTitle--poster {
    font-size: clamp(37px, 11vw, 46px) !important;
    line-height: .86 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityPosterAction {
    height: 34px !important;
    min-height: 34px !important;
    font-size: 12px !important;
  }
}

/* Absolute final mobile scroll/menu and heading polish */
@media (max-width: 600px) {
  body.cn-home-refined .cn-pageShellEntry #header,
  body:not(.cn-home-refined) .cn-pageShell #header {
    margin-top: clamp(10px, 2.6svh, 20px) !important;
    padding-top: 0 !important;
  }

  body.cn-home-refined .cn-headerBrand,
  body:not(.cn-home-refined) .cn-headerBrand {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple,
  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 0 auto !important;
    padding: 0 !important;
    font-size: clamp(31px, 8.5vw, 36px) !important;
    line-height: .92 !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    margin-bottom: 16px !important;
  }

  #footer .cn-mobileActionBar,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar {
    bottom: -1px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
    padding: 0 !important;
    overflow: hidden !important;
    contain: layout paint !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
  }

  #footer .cn-mobileAction,
  body.cn-home-refined #footer .cn-mobileAction,
  body:not(.cn-home-refined) #footer .cn-mobileAction {
    padding: 8px 6px 9px !important;
    gap: 6px !important;
    font-size: 12px !important;
  }

  #footer .cn-mobileActionIcon,
  #footer .cn-mobileActionIcon img,
  #footer .cn-mobileActionIcon svg,
  body.cn-home-refined #footer .cn-mobileActionIcon,
  body.cn-home-refined #footer .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileActionIcon svg,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon svg {
    width: 27px !important;
    height: 27px !important;
    font-size: 27px !important;
  }

  body.cn-home-refined .cn-pageShellEntry,
  .cn-pageShell,
  .cn-pageShellActivities,
  .cn-pageShellRentals,
  .cn-pageShellActivityWizard {
    padding-bottom: 96px !important;
  }
}

@media (max-width: 767px) {
  .cn-zoneGrid {
    grid-template-columns: 1fr;
  }

  .cn-zoneCard {
    min-height: 152px;
  }

  .cn-zoneCard.is-wide {
    min-height: 94px;
  }

  .cn-zoneCardInner {
    justify-content: flex-start;
    padding: 24px 22px;
  }

  .cn-zoneHeaderRow {
    align-items: center;
  }

  .cn-zoneSelectedMeta {
    font-size: 0.82rem;
  }

  .cn-zoneSliderFrame {
    min-height: 220px;
  }
}

.cn-calendar-wrap {
  width: min(100%, 430px);
}

.cn-calendar-wrap .flatpickr-calendar {
  box-shadow: none;
  border: 0;
  background: transparent;
  width: 100%;
}

.cn-calendar-wrap .flatpickr-rContainer,
.cn-calendar-wrap .flatpickr-days,
.cn-calendar-wrap .dayContainer,
.cn-calendar-wrap .flatpickr-weekdays {
  width: 100% !important;
}

.cn-calendar-wrap .dayContainer {
  min-width: 100% !important;
  justify-content: space-between;
}

.cn-calendar-wrap span.flatpickr-weekday,
.cn-calendar-wrap .flatpickr-day {
  width: calc(100% / 7);
  flex-basis: calc(100% / 7);
}

.cn-calendar-wrap .flatpickr-months {
  margin-bottom: 14px;
  align-items: center;
}

.cn-calendar-wrap .flatpickr-months .flatpickr-prev-month,
.cn-calendar-wrap .flatpickr-months .flatpickr-next-month {
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 6px;
  width: 38px;
  height: 38px;
  padding: 8px;
  z-index: 3;
  color: #f7764a;
  fill: #f7764a;
  border: 1px solid rgba(247, 118, 74, 0.18);
  border-radius: 999px;
  background: rgba(255, 250, 244, 0.82);
}

.cn-calendar-wrap .flatpickr-current-month {
  left: 42px;
  right: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: auto;
  padding: 0;
  font-size: 1.08rem;
  font-weight: 500;
  color: #7e624d;
  text-transform: none;
}

.cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months,
.cn-calendar-wrap .flatpickr-current-month input.cur-year {
  min-height: 40px;
  border: 1px solid rgba(199, 103, 71, 0.14);
  background: rgba(255, 252, 248, 0.92);
  color: #6d5441;
  font-size: 0.98rem;
  font-weight: 500;
}

.cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months {
  border-radius: 0.8rem;
  padding: 0 40px 0 16px;
}

.cn-calendar-wrap .flatpickr-current-month .numInputWrapper {
  height: 40px;
  background: transparent;
  display: inline-flex;
  align-items: center;
  padding: 0 14px 0 12px;
  border-left: 0;
}

.cn-calendar-wrap .flatpickr-current-month input.cur-year {
  width: 78px;
  padding: 0;
  border-radius: 0.8rem;
}

.cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.cn-calendar-wrap .flatpickr-current-month input.cur-year:hover,
.cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.cn-calendar-wrap .flatpickr-current-month input.cur-year:focus {
  background: #fff1df;
}

.cn-calendar-wrap .flatpickr-current-month .numInputWrapper span.arrowUp,
.cn-calendar-wrap .flatpickr-current-month .numInputWrapper span.arrowDown {
  display: none;
}

.cn-calendar-wrap .flatpickr-weekday {
  color: #3e3d3c;
  font-size: 0.84rem;
  font-weight: 500;
}

.cn-calendar-wrap .flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  box-sizing: border-box;
  color: #4a4a4a;
  cursor: pointer;
  font-weight: 400;
  font-size: 0.98rem;
  max-width: none;
  height: 40px;
  line-height: 40px;
  margin: 0;
  display: inline-block;
  position: relative;
  justify-content: center;
  text-align: center;
}

.cn-calendar-wrap .flatpickr-day:hover {
  background: rgba(247, 118, 74, 0.12);
  border-color: rgba(247, 118, 74, 0.28);
}

.cn-calendar-wrap .flatpickr-day.today,
.cn-calendar-wrap .flatpickr-day.cn-today,
.cn-calendar-wrap .flatpickr-day.cn-today:hover,
.cn-calendar-wrap .flatpickr-day.cn-today.flatpickr-disabled,
.cn-calendar-wrap .flatpickr-day.cn-today.flatpickr-disabled:hover {
  background: rgba(218, 219, 213, 1);
  border-color: rgba(247, 118, 74, 0.14);
  color: var(--cn-ink);
  font-weight: 600;
  text-decoration: none;
}

.cn-calendar-wrap .flatpickr-day.selected,
.cn-calendar-wrap .flatpickr-day.startRange,
.cn-calendar-wrap .flatpickr-day.endRange {
  background: #ff5c00;
  border-color: rgba(255, 92, 0, 0.34);
  color: #fff;
  font-weight: 600;
}

.cn-calendar-wrap .flatpickr-day.flatpickr-disabled,
.cn-calendar-wrap .flatpickr-day.flatpickr-disabled:hover {
  color: rgba(93, 107, 87, 0.24);
  text-decoration: line-through;
  background: transparent;
  cursor: not-allowed;
}

.cn-calendar-wrap .flatpickr-day.cn-hidden-extra-week {
  display: none !important;
}

.cn-footerPill {
  background: rgba(255, 250, 244, 0.76);
  border: 1px solid rgba(242, 128, 74, 0.24);
  border-radius: 999px;
  padding: 0.72rem 1.15rem;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #f5661f;
  backdrop-filter: blur(10px);
  white-space: nowrap;
  flex: 0 0 auto;
}

.cn-footerPillIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: inherit;
  flex: 0 0 auto;
}

.cn-footerPillIcon svg,
.cn-footerPillIcon img {
  display: block;
  width: 20px;
  height: 20px;
  color: inherit;
}

.cn-footerPillIconGroup {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.cn-footerPillText {
  flex: 1 1 auto;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
}

.cn-footerPillTextPhone {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1;
}

.cn-footerAddressTabletSpace {
  display: none;
}

.cn-footer-actions.mt-0.flex.flex-wrap.items-center.justify-center.gap-2 {
  margin-bottom: 10px;
  flex-wrap: nowrap;
  gap: 8px;
}

.cn-footerPill.is-whatsapp {
  border-color: rgba(38, 175, 96, 0.42);
  color: #1ea85d;
}

.cn-footerPill.is-instagram {
  border-color: rgba(65, 126, 230, 0.34);
  color: #2b73d7;
}

.cn-footerPill.is-call {
  border-color: rgba(245, 102, 31, 0.34);
  color: #f5661f;
}

.cn-footer--wizard {
  padding-top: 1.15rem;
}

.cn-footer--wizard .cn-footerTitle {
  margin-top: 0.9rem;
  color: #6f543f !important;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cn-footer--wizard .text-\[\#5d6b57\],
.cn-footer--wizard .cn-footerPhoneText,
.cn-footer--wizard .cn-footerLink,
.cn-footer--wizard .cn-footerSocialIcon {
  color: #7d644e !important;
}

.cn-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.cn-stepWrap {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cn-stepItem {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 0;
  padding: 0;
  color: #b09a87;
}

.cn-stepCircle {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 252, 248, 0.72);
  color: #b09a87;
  border: 1px solid rgba(176, 154, 135, 0.28);
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1;
  flex: 0 0 auto;
}

.cn-stepLabel {
  color: rgba(176, 154, 135, 0.88);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.cn-stepItem.is-active .cn-stepCircle {
  background: #ff5c00;
  color: #fff;
  border-color: #ff5c00;
}

.cn-stepItem.is-active .cn-stepLabel {
  color: #ff5c00;
  font-weight: 600;
}

.cn-stepItem.is-done .cn-stepCircle {
  background: rgba(255, 92, 0, 0.12);
  color: #ff5c00;
  border-color: rgba(255, 92, 0, 0.22);
}

.cn-stepBar {
  width: 32px;
  height: 2px;
  border-radius: 999px;
  background: rgba(176, 154, 135, 0.22);
  display: block;
}

.cn-stepBar.is-filled {
  background: rgba(255, 92, 0, 0.36);
}

.cn-btnBack {
  flex: 0 0 34%;
  min-height: 2.85rem;
  padding-top: 0.72rem !important;
  padding-bottom: 0.72rem !important;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.88rem !important;
  font-weight: 400;
}

.cn-btnPrimary {
  flex: 1 1 0;
  min-height: 2.85rem;
  padding-top: 0.72rem !important;
  padding-bottom: 0.72rem !important;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.88rem !important;
  font-weight: 400;
}

.cn-stepPane--date {
  padding: 1.5rem 2rem 1.8rem !important;
}

.cn-stepHero {
  margin-bottom: 1.4rem !important;
}

.cn-stepHeroTitle {
  margin: 0;
  color: #f5661f !important;
  font-family: "Marksys", "Brockmann", serif;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.cn-stepHeroLead {
  margin-top: 0.45rem;
  color: #6f543f !important;
  font-size: 0.98rem !important;
}

.cn-selectedDateCard {
  min-width: min(100%, 24rem);
  padding: 0.82rem 1.35rem !important;
  border: 1px solid rgba(245, 102, 31, 0.22);
  border-radius: 0.95rem !important;
  background: rgba(255, 251, 247, 0.86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.cn-selectedDateLabel {
  margin-bottom: 0.18rem !important;
  color: #8a6e58 !important;
  font-size: 0.78rem !important;
  text-transform: none;
}

.cn-selectedDateValue {
  color: #f5661f !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.cn-stepActionWrap {
  margin-top: 0.15rem;
}

.cn-btnWizardPrimary {
  min-width: 10.8rem;
  min-height: 3rem;
  border: 0;
  background: linear-gradient(180deg, #ff781f 0%, #ff5c00 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(255, 92, 0, 0.22);
  font-size: 0.98rem !important;
  font-weight: 500 !important;
}

.cn-btnWizardPrimary:hover {
  background: linear-gradient(180deg, #ff8a3c 0%, #ff6510 100%) !important;
  box-shadow: 0 16px 32px rgba(255, 92, 0, 0.24);
}

@media (min-width: 768px) {
  .md\:grid-cols-7,
  .md\:grid-cols-6 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

.cn-successBadge {
  position: relative;
}

.cn-icon-img,
.cn-footerPill img[src$=".svg"],
.cn-successCard img[src$=".svg"],
.cn-wizardCard img[src$=".svg"]:not(.logo) {
  filter: brightness(0) saturate(100%) invert(23%) sepia(9%) saturate(685%) hue-rotate(46deg) brightness(97%) contrast(86%);
}

.cn-successSummary {
  display: grid;
  gap: 4px;
}

.cn-successSummaryRow {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 18px;
}

.cn-successSummaryKey {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: #6b735f;
  font-size: 0.96rem;
}

.cn-successSummaryKey span:last-child {
  white-space: nowrap;
}

.cn-successSummaryValue {
  min-width: 0;
  text-align: right;
  color: #3d4a37;
  font-size: 0.96rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.cn-successSummaryValue.is-email {
  color: #3d4a37;
  text-decoration: none;
}

.cn-successActionBtn,
.cn-successResetBtn {
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(245, 138, 94, 0.24);
  background: rgba(255, 245, 233, 0.1);
  color: #fff5e9;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.cn-successActionBtn:hover,
.cn-successResetBtn:hover {
  border-color: rgba(245, 138, 94, 0.46);
  background: rgba(255, 245, 233, 0.16);
}

.cn-footerLink {
  color: #fff5e9;
  font-weight: 500;
  text-decoration: none;
}

.cn-footer .text-\[\#3d4a37\],
.cn-footer .text-\[\#5d6b57\] {
  color: #78675a !important;
}

.cn-footer .text-\[\#5d6b57\] {
  opacity: 0.88;
}

.cn-footer .cn-footerLink {
  color: #8b5839;
}

.cn-footerTitle {
  font-family: "Marksys", "Brockmann", serif;
  letter-spacing: .02em;
  text-transform: none;
  color: #2f2722 !important;
}

.cn-accept-wrap {
  position: relative;
}

.cn-accept-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  margin: 0;
  border-radius: 999px;
  border: 2px solid rgba(245, 138, 94, 0.34);
  background: rgba(255, 245, 233, 0.12);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cn-accept-checkbox::after {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #5d6b57;
  transform: scale(0);
  transition: transform .18s ease;
}

.cn-accept-checkbox:checked {
  border-color: #5d6b57;
  background: #eef3e8;
}

.cn-accept-checkbox:checked::after {
  transform: scale(1);
}

.cn-accept-checkbox.cn-accept-pulse {
  animation: cnAcceptPulse 1.2s ease-in-out infinite;
}

@keyframes cnAcceptPulse {
  0% { box-shadow: 0 0 0 0 rgba(93, 107, 87, 0.28); transform: scale(1); }
  50% { box-shadow: 0 0 0 10px rgba(93, 107, 87, 0); transform: scale(1.04); }
  100% { box-shadow: 0 0 0 0 rgba(93, 107, 87, 0); transform: scale(1); }
}

.cn-tooltip {
  position: fixed;
  z-index: 99999;
  max-width: 240px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(61, 74, 55, 0.94);
  color: #fff;
  font-size: 12px;
  line-height: 1.25;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
  pointer-events: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.cn-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 640px) {
  #app {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  #progress {
    margin-bottom: 18px;
  }

  .cn-steps {
    justify-content: space-between;
    gap: 10px;
    padding: 0 10px;
  }

  .cn-stepWrap {
    gap: 10px;
    flex: 0 0 auto;
  }

  .cn-stepBar {
    display: none;
  }

  .cn-stepLabel {
    display: none;
  }

  .cn-stepItem.is-active .cn-stepLabel {
    display: inline-block;
    font-size: 1.05rem;
    color: var(--cn-ink);
  }

  .cn-stepItem.is-active {
    gap: 14px;
  }

  .cn-actionRow {
    align-items: stretch;
  }

  .cn-btnBack {
    flex: 0 0 32%;
    min-width: 0;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 0.86rem;
  }

  .cn-btnPrimary {
    min-width: 0;
    font-size: 0.9rem;
  }

  .cn-stepPane {
    padding: 0 !important;
  }

  .cn-confirmHeader {
    margin-bottom: 12px !important;
    padding: 0 16px;
  }

  .cn-confirm-card {
    padding: 0 !important;
  }

  .cn-confirm-box {
    background: transparent !important;
    padding: 0 16px 16px !important;
    border-radius: 0 !important;
  }

  .cn-confirm-row {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  .cn-policyList {
    line-height: 1.34;
  }

  .cn-policyList li {
    align-items: flex-start;
  }

  .cn-footerPill {
    width: 100%;
    justify-content: center;
    padding: 8px 16px;
  }

  .cn-qrPanel {
    text-align: center;
  }

  .cn-successSummaryRow {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .cn-successSummaryValue {
    text-align: left;
  }

  .cn-qrLayout {
    align-items: center;
  }

  .cn-qrCode {
    margin-left: auto;
    margin-right: auto;
  }

  .cn-qrCode > * {
    margin-left: auto;
    margin-right: auto;
  }

  .cn-qrContent {
    width: 100%;
    text-align: center;
  }

  .cn-beforeGrid {
    grid-template-columns: 1fr;
  }
}

.cn-wizardCard input:not([type="checkbox"]),
.cn-wizardCard select,
.cn-wizardCard textarea {
  background: #fffdfa !important;
  border-color: rgba(140, 107, 83, 0.16) !important;
  color: #2f2722 !important;
}

.cn-wizardCard input::placeholder,
.cn-wizardCard textarea::placeholder {
  color: rgba(122, 104, 90, 0.48) !important;
}

.cn-wizardCard .cn-confirm-card,
.cn-wizardCard .cn-successCard,
.cn-wizardCard .cn-qrPanel,
.cn-wizardCard .cn-accept-wrap,
.cn-wizardCard .cn-confirm-box,
.cn-wizardCard .cn-confirm-row {
  background: rgba(250, 244, 238, 0.84) !important;
  border-color: rgba(201, 118, 79, 0.12) !important;
  color: #2f2722 !important;
}

.cn-wizardCard .cn-qrCode {
  background: #fff !important;
}

.cn-wizardCard .cn-beforeGrid > * {
  background: rgba(250, 244, 238, 0.84) !important;
  border-color: rgba(201, 118, 79, 0.14) !important;
  color: #2f2722 !important;
}

.cn-wizardCard .cn-confirm-card,
.cn-wizardCard .cn-successCard,
.cn-wizardCard .cn-qrPanel {
  border: 1px solid rgba(201, 118, 79, 0.12) !important;
}

.cn-wizardCard .cn-confirm-row {
  background: rgba(255, 252, 248, 0.96) !important;
}

.cn-wizardCard .cn-confirm-title,
.cn-wizardCard .cn-confirm-sub,
.cn-wizardCard .cn-successSummaryKey,
.cn-wizardCard .cn-successSummaryValue,
.cn-wizardCard .cn-successSummaryValue.is-email,
.cn-wizardCard .cn-policyList,
.cn-wizardCard .cn-qrContent p,
.cn-wizardCard .cn-confirm-box .text-\[\#3d4a37\],
.cn-wizardCard .cn-confirm-box .text-\[\#5d6b57\] {
  color: #2f2722 !important;
}

.cn-wizardCard .cn-confirm-box .text-\[\#5d6b57\],
.cn-wizardCard .cn-confirm-sub,
.cn-wizardCard .cn-policyList,
.cn-wizardCard .cn-successSummaryKey,
.cn-wizardCard .cn-qrContent .text-\[\#5d6b57\] {
  color: #78675a !important;
}

.cn-wizardCard .cn-successActionBtn,
.cn-wizardCard .cn-successResetBtn,
.cn-wizardCard #btnViewReservation {
  color: #2f2722 !important;
}

.cn-wizardCard .cn-successActionBtn img,
.cn-wizardCard .cn-successResetBtn img,
.cn-wizardCard #btnViewReservation img {
  filter: brightness(0) saturate(100%) invert(12%) sepia(17%) saturate(542%) hue-rotate(342deg) brightness(96%) contrast(89%) !important;
}

.cn-entryIntro {
  max-width: 34rem;
  margin: 0 auto 1.5rem;
  padding: 0;
  text-align: center;
  position: relative;
  z-index: 2;
}

.cn-entryIntroSimple {
  margin-bottom: 1.9rem;
}

.cn-entryKicker {
  font-family: "Brockmann", Arial, sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.5rem);
  line-height: 1;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #133a6c;
  margin-bottom: 0.35rem;
}

.cn-entryHeadline {
  margin: 0;
  color: #12396d;
  font-size: clamp(2.05rem, 4vw, 3rem);
  line-height: 0.92;
  letter-spacing: -4px;
}

.cn-entryHeadlineScript {
  display: inline-block;
  font-family: "Marksys", "Brockmann", serif;
  font-size: clamp(4.4rem, 10vw, 7.3rem);
  line-height: 0.88;
  letter-spacing: -4px;
}

.cn-entryHeadlineWave {
  width: 7rem;
  height: 0.7rem;
  margin: 0.55rem auto 0;
  border-bottom: 4px solid #6bc6d3;
  border-radius: 999px;
  opacity: 0.85;
}

.cn-entryBackWrap {
  position: absolute;
  top: 0.2rem;
  left: 0.2rem;
  z-index: 20;
}

.cn-entryBackBtn {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.82rem 1.25rem;
  border: 1px solid rgba(245, 102, 31, 0.46);
  border-radius: 999px;
  background: rgba(255, 252, 248, 0.92);
  color: #f5661f;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.96rem;
  font-weight: 500;
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.cn-entryBackBtn:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 102, 31, 0.64);
  background: #fffdfa;
}

.cn-entryScreen {
  position: relative;
}

.cn-pageShell {
  position: relative;
  min-height: 100vh;
  padding: 1.05rem 1.25rem 1.1rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 22%, rgba(255, 255, 255, 0.2) 100%),
    url('../assets/bg-sunbeds.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.cn-pageShellEntry {
  min-height: 100vh;
  min-width: 100vw;
  padding-top: 0.85rem;
  background-color: #f8efe5;
  background-image: url('../assets/bg-booking-act.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}

.cn-pageShellActivities {
  min-height: 100vh;
  padding-top: 0.85rem;
  background-color: #e8f3f2;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.18) 100%),
    url('../assets/bg-actividades-act.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities)::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 4%, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.16) 28%, rgba(255, 255, 255, 0) 54%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.36) 100%);
  pointer-events: none;
}

.cn-pageShell > .w-full {
  position: relative;
  z-index: 1;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl {
  max-width: 43rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) #header {
  margin-bottom: 0.15rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) #progress {
  margin-bottom: 0.9rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) #footer {
  margin-top: 1rem !important;
}

.cn-entryHero {
  position: relative;
  padding-top: 1rem !important;
  padding-bottom: 1.45rem !important;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

.cn-entryHero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 28%);
  pointer-events: none;
}

.cn-entryHeroKite {
  position: absolute;
  top: 0.8rem;
  right: 0.35rem;
  width: min(18vw, 11.75rem);
  z-index: 1;
  pointer-events: none;
}

.cn-entryHeroKiteImage {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 18px 24px rgba(14, 45, 78, 0.18));
}

.cn-entryGrid {
  display: grid;
  max-width: 84rem;
  margin: 0 auto;
  gap: 0.65rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  z-index: 2;
  align-items: stretch;
}

.cn-entryCard {
  --cn-entry-glow-mid: rgba(255, 251, 245, 0.88);
  --cn-entry-glow-solid: rgba(255, 251, 245, 1);
  --cn-entry-body-top: rgba(255, 255, 255, 0.01);
  --cn-entry-body-mid: rgba(255, 251, 245, 0.02);
  --cn-entry-body-bottom: rgba(255, 251, 245, 0.12);
  position: relative;
  display: block;
  min-height: 29.5rem;
  border: 1px solid rgba(31, 47, 58, 0.08);
  border-radius: 1.45rem;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 251, 0.98));
  box-shadow: 0 16px 28px rgba(14, 26, 34, 0.08);
  text-decoration: none;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cn-entryCard:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 36px rgba(14, 26, 34, 0.1);
  border-color: rgba(247, 118, 74, 0.2);
}

.cn-entryCard:hover .cn-entryCardMedia {
  transform: var(--cn-entry-media-transform, translateZ(0)) scale(1.012);
}

.cn-entryCard:hover .cn-entryTitle {
  color: #8b5839;
}

.cn-entryCard.is-alt {
  --cn-entry-glow-mid: rgba(241, 247, 251, 0.94);
  --cn-entry-glow-solid: rgba(235, 243, 248, 1);
  --cn-entry-body-top: rgba(255, 255, 255, 0.01);
  --cn-entry-body-mid: rgba(246, 242, 238, 0.05);
  --cn-entry-body-bottom: rgba(240, 235, 229, 0.18);
  background: linear-gradient(180deg, rgba(249, 252, 255, 0.92), rgba(234, 242, 247, 0.94));
}

.cn-entryCard.is-gastro {
  --cn-entry-glow-mid: rgba(255, 242, 235, 0.92);
  --cn-entry-glow-solid: rgba(250, 233, 224, 1);
  --cn-entry-body-top: rgba(255, 251, 246, 0.02);
  --cn-entry-body-mid: rgba(255, 244, 235, 0.08);
  --cn-entry-body-bottom: rgba(255, 241, 230, 0.2);
  background: linear-gradient(180deg, rgba(255, 248, 243, 0.96), rgba(250, 233, 224, 0.98));
}

.cn-entryCard.is-rental {
  --cn-entry-glow-mid: rgba(235, 245, 250, 0.94);
  --cn-entry-glow-solid: rgba(226, 239, 245, 1);
  --cn-entry-body-top: rgba(247, 252, 255, 0.02);
  --cn-entry-body-mid: rgba(236, 246, 252, 0.08);
  --cn-entry-body-bottom: rgba(226, 239, 248, 0.18);
  background: linear-gradient(180deg, rgba(243, 249, 252, 0.94), rgba(226, 239, 245, 0.96));
}

.cn-entryCard.is-relax {
  --cn-entry-glow-mid: rgba(248, 239, 227, 0.92);
  --cn-entry-glow-solid: rgba(241, 228, 210, 1);
  --cn-entry-body-top: rgba(255, 250, 245, 0.02);
  --cn-entry-body-mid: rgba(250, 238, 226, 0.08);
  --cn-entry-body-bottom: rgba(245, 227, 208, 0.18);
  background: linear-gradient(180deg, rgba(252, 245, 236, 0.94), rgba(241, 228, 210, 0.96));
}

.cn-entryCardMedia {
  position: absolute;
  inset: -1% -1% 30.6% -1%;
  background-position: var(--cn-entry-media-position, center top);
  background-size: cover;
  transform: var(--cn-entry-media-transform, translateZ(0)) scale(1);
  transform-origin: center top;
  transition: transform 260ms ease;
}

.cn-entryCardGlow {
  position: absolute;
  inset: auto -1% 28.8% -1%;
  height: 7.6rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--cn-entry-glow-mid) 58%, var(--cn-entry-glow-solid));
  z-index: 1;
  pointer-events: none;
}

.cn-entryCardBody {
  position: relative;
  z-index: 2;
  min-height: 29.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1rem 1.05rem;
  background: linear-gradient(180deg, var(--cn-entry-body-top) 0%, var(--cn-entry-body-mid) 46%, var(--cn-entry-body-bottom) 100%);
}

.cn-entryCardTop {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
  margin-bottom: 0;
}

.cn-entryCardCopy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.62rem;
  width: 100%;
  padding: 0.1rem 0 0;
}

.cn-entryDescription {
  margin: 0.08rem 0 0;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.96rem;
  line-height: 1.48;
  color: #2f5f73;
}

.cn-entryBadge {
  align-self: flex-start;
  padding: 0.1rem 0.82rem;
  border-radius: 999px;
  background: rgba(111, 163, 191, 0.16);
  border: 1px solid rgba(111, 163, 191, 0.2);
  color: #1f2f3a;
  box-shadow: none;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cn-entryIconBadge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 18px rgba(45, 71, 99, 0.10);
  color: #1aa1c5;
}

.cn-entryIconBadge.is-gastro {
  color: #ea8d42;
}

.cn-entryIconBadge.is-rental {
  color: #22a2c9;
}

.cn-entryIconBadge.is-relax {
  color: #f07a27;
}

.cn-entryIconBadge .cn-zoneFileIcon,
.cn-entryIconBadge svg,
.cn-entryIconBadge img {
  width: 1.58rem;
  height: 1.58rem;
  display: block;
}

.cn-entryBadge.is-soft {
  background: rgba(111, 163, 191, 0.16);
  border-color: rgba(93, 147, 175, 0.24);
  color: #2f5f73;
}

.cn-entryCard.is-gastro .cn-entryBadge {
  background: rgba(240, 138, 93, 0.14);
  border-color: rgba(240, 138, 93, 0.24);
  color: #9e4f33;
}

.cn-entryBadge.is-rental {
  background: rgba(111, 163, 191, 0.14);
  border-color: rgba(93, 147, 175, 0.24);
  color: #2f5f73;
}

.cn-entryBadge.is-relax {
  background: rgb(214 165 108 / 40%);
  border-color: rgba(197, 103, 71, 0.22);
  color: var(--ws-orange-500);
}

.cn-entryBrandMark {
  width: 8.9rem;
  max-width: 100%;
  height: auto;
  filter: none;
}

.cn-entryCard.is-gastro .cn-entryBrandMark {
  filter: none;
}

.cn-entryCard.is-gastro .cn-entryTitle {
  color: #c56747;
}

.cn-entryCard.is-gastro:hover .cn-entryTitle {
  color: #9e4f33;
}

.cn-entryCard.is-gastro .cn-entryDescription {
  color: #9e4f33;
}

.cn-entryCard.is-gastro .cn-entryAction {
  background: linear-gradient(180deg, #f08a5d, #c56747);
  color: #fffaf5;
}

.cn-entryCard.is-relax .cn-entryTitle {
  color: #c56747;
}

.cn-entryCard.is-relax:hover .cn-entryTitle {
  color: #9e4f33;
}

.cn-entryCard.is-relax .cn-entryDescription {
  color: #9e4f33;
}

.cn-entryCard.is-relax .cn-entryAction {
  background: linear-gradient(180deg, #f08a5d, #c56747);
  color: #fffaf5;
}

.cn-entryTitle {
  margin: 0;
  color: #1f2f3a;
  font-size: clamp(1.85rem, 2.45vw, 2.35rem);
  line-height: 0.85;
  letter-spacing: -2.5px;
}

.cn-entryAction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.985rem;
  width: 100%;
  min-height: 2.75rem;
  margin-top: 0rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #5d93af, #2f5f73);
  color: #fffdfa;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.cn-entryActionIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cn-entryActionIcon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.cn-mainBrandLogo {
  width: 4.3rem;
  height: auto !important;
  max-width: none;
  filter: brightness(0) saturate(100%) invert(14%) sepia(13%) saturate(1014%) hue-rotate(162deg) brightness(93%) contrast(89%);
}

.cn-wizardCardEntry {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.cn-wizardCardEntry .cn-wizardContent {
  background: transparent !important;
}

.cn-activityScreen {
  max-width: 100rem;
  margin: 0 auto;
  overflow: visible;
  padding: 1.4rem 1.2rem 1.8rem;
  border-radius: 2rem;
  background:
    linear-gradient(180deg, rgba(255, 249, 243, 0.72) 0%, rgba(255, 250, 245, 0.82) 38%, rgba(255, 251, 247, 0.9) 100%),
    url('../assets/bg-booking-act.jpg') center 24% / cover no-repeat;
  box-shadow: 0 24px 50px rgba(160, 124, 93, 0.10);
}

.cn-pageShellActivities .cn-activityScreen {
  max-width: 100%;
  padding: 1.4rem 1.2rem 1.8rem;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cn-activityScreenDynamic {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: none;
}

.cn-pageShellActivities .cn-activityScreenDynamic {
  overflow: visible;
}

.cn-activityScreenInner {
  position: relative;
  z-index: 1;
}

.cn-activityBackdrop {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.cn-pageShellActivities .cn-activityBackdrop {
  display: none;
}

.cn-activityBackdropLayer,
.cn-activityBackdropTint,
.cn-activityBackdropGlow {
  position: absolute;
  inset: 0;
}

.cn-activityBackdropLayer {
  background-repeat: no-repeat;
  background-size: cover;
  transition: opacity 1200ms ease, transform 1600ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
  filter: saturate(1.04) contrast(1.01);
}

.cn-activityBackdropLayer.is-base {
  background-image: url('../assets/bg-booking-act.jpg');
  inset: 0 46% 0 0;
  background-position: left bottom;
  opacity: 0.96;
  transform: scale(1.01);
  animation: cnActivityBgDriftBase 16s ease-in-out infinite alternate;
}

.cn-activityBackdropLayer.is-alt {
  background-image: url('../assets/bg-actividades-act.jpg');
  inset: 0 0 0 46%;
  background-position: right top;
  opacity: 0.92;
  transform: scale(1.01);
  animation: cnActivityBgDriftAlt 18s ease-in-out infinite alternate;
}

.cn-activityScreenDynamic[data-bg-state='alt'] .cn-activityBackdropLayer.is-base {
  opacity: 0.82;
  transform: scale(1.03);
}

.cn-activityScreenDynamic[data-bg-state='alt'] .cn-activityBackdropLayer.is-alt {
  opacity: 0.98;
  transform: scale(1.03);
}

.cn-activityBackdropTint {
  background:
    linear-gradient(180deg, rgba(255, 249, 242, 0.01) 0%, rgba(255, 251, 247, 0.03) 36%, rgba(255, 252, 248, 0.06) 100%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, 0.01) 100%);
}

.cn-activityBackdropGlow {
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 82% 16%, rgba(107, 194, 237, 0.03) 0%, rgba(107, 194, 237, 0) 30%),
    radial-gradient(circle at 50% 100%, rgba(239, 134, 87, 0.015) 0%, rgba(239, 134, 87, 0) 28%);
  mix-blend-mode: screen;
}

@keyframes cnActivityBgDriftBase {
  from {
    transform: scale(1.01) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.035) translate3d(-0.8%, 0.8%, 0);
  }
}

@keyframes cnActivityBgDriftAlt {
  from {
    transform: scale(1.03) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.055) translate3d(0.8%, -0.7%, 0);
  }
}

.cn-activityIntro {
  max-width: 36rem;
  margin: 0 auto 1.4rem;
  text-align: center;
}

.cn-activityHeadline {
  margin: 0.7rem 0 0;
  color: #2f2722;
  font-size: clamp(1.95rem, 4vw, 2.7rem);
  line-height: 0.92;
  letter-spacing: -4px;
}

.cn-activityLead {
  margin: 0.85rem auto;
  max-width: 42rem;
  color: #6f6257;
  font-size: clamp(0.98rem, 1.18vw, 1.08rem);
  line-height: 1.2;
  white-space: nowrap;
}

.cn-activityGrid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: stretch;
  overflow: visible;
}

.cn-activityGrid.is-rentals {
  max-width: 58rem;
  margin: 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.cn-activityCard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 5.5rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(140, 107, 83, 0.12);
  border-radius: 0.95rem;
  background: rgba(255, 252, 248, 0.9);
  box-shadow: 0 12px 24px rgba(103, 73, 54, 0.07);
  color: #2f2722;
  text-decoration: none;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
}

.cn-activityCard.is-visual {
  display: grid;
  min-height: 13.4rem;
  padding: 0;
  overflow: visible;
  align-content: stretch;
  grid-template-rows: minmax(0, 1fr) auto;
  background: rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(0.75px);
}

.cn-activityGrid:not(.is-rentals) .cn-activityCard.is-visual {
  min-height: 25.75rem;
}

.cn-activityGrid.is-rentals .cn-activityCard.is-visual {
  min-height: 21.5rem;
}

.cn-activityCard:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(103, 73, 54, 0.12);
  border-color: rgba(201, 118, 79, 0.26);
  background: #fffdfa;
}

.cn-activityCard:hover .cn-activityCardMedia {
  transform: scale(1.04);
}

.cn-activityCardMedia {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9.7rem;
  overflow: hidden;
  transform: scale(1);
  transition: transform 260ms ease;
}

.cn-activityGrid:not(.is-rentals) .cn-activityCardMedia {
  min-height: 23.35rem;
}

.cn-activityGrid.is-rentals .cn-activityCardMedia {
  min-height: 17rem;
}

.cn-activityCardImage {
  position: absolute;
  left: 50%;
  bottom: -1.25rem;
  top: auto;
  width: 10.75rem;
  height: 20.8rem;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
  transform: translateX(-50%);
  filter: drop-shadow(0 18px 24px rgba(32, 55, 76, 0.16));
  pointer-events: none;
  user-select: none;
}

.cn-activityGrid:not(.is-rentals) .cn-activityCardImage {
  width: calc(100% - 0.35rem);
  height: auto;
  max-height: calc(100% - 0.15rem);
  bottom: 0;
  transform: translateX(-50%);
  transform-origin: center bottom;
}

.cn-activityGrid.is-rentals .cn-activityCardImage {
  bottom: -0.75rem;
  width: auto;
  height: calc(102% * var(--cn-card-art-scale, 1));
}

.cn-activityCardImage.is-kitesurf {
  filter: drop-shadow(0 22px 30px rgba(32, 55, 76, 0.18));
}

.cn-activityCardImage.is-moto-acuatica {
  width: 10.75rem;
  height: 20.8rem;
  bottom: -1.25rem;
  object-fit: contain;
  object-position: center bottom;
}

.cn-activityGrid:not(.is-rentals) .cn-activityCardImage.is-moto-acuatica {
  width: calc(100% - 0.35rem);
  height: auto;
  max-height: calc(100% - 0.15rem);
  bottom: 0;
}

.cn-activityCardMeta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  width: 100%;
  padding: 0.8rem 0.55rem 1rem;
  background: transparent;
  border-top: 0;
  text-align: center;
  position: relative;
  z-index: 2;
}

.cn-activityCardTitle {
  font-family: "Marksys", "Brockmann", serif;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: clamp(1.12rem, 1vw, 1.46rem);
  line-height: 1;
  letter-spacing: -1.2px;
  color: #252C37;
  text-align: center;
  white-space: nowrap;
  background: transparent;
}

.cn-activityCardTitle.is-xl {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.cn-pageShellActivities {
  min-height: 100vh;
  padding-top: 0.45rem;
  padding-bottom: 0.75rem;
  background-color: #e8f3f2;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.18) 100%),
    url('../assets/bg-actividades-act.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.cn-pageShellActivities .cn-activityScreenPoster {
  max-width: 118rem;
  padding: 0.15rem 0.65rem 0.45rem;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cn-pageShellActivities .cn-activityScreenInner {
  border-radius: 1.8rem;
  padding: 0.85rem 0.7rem 0.7rem;
  background: linear-gradient(180deg, rgba(255, 250, 244, 0.54) 0%, rgba(255, 252, 248, 0.3) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.cn-activityIntroPoster {
  max-width: 52rem;
  margin: 0 auto 0.75rem;
}

.cn-activityIntroPoster .cn-entryBadge {
  margin-bottom: 0.35rem;
}

.cn-activityIntroPoster .cn-activityHeadline {
  margin-top: 0.15rem;
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 0.9;
  letter-spacing: -3px;
  color: #0f4c90;
}

.cn-activityIntroPoster .cn-activityLead {
  margin-top: 0.35rem;
  max-width: none;
  color: #2d5873;
  font-size: 0.94rem;
  line-height: 1.3;
}

.cn-activityGrid.cn-activityGrid--poster {
  gap: 0.55rem;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.cn-activityGrid--poster .cn-activityCard--poster {
  position: relative;
  min-height: 13.6rem;
  grid-template-rows: minmax(7.6rem, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(51, 122, 181, 0.16);
  border-radius: 1rem;
  background:
    linear-gradient(180deg, rgba(204, 237, 251, 0.96) 0%, rgba(204, 237, 251, 0.96) 58%, rgba(255, 251, 247, 0.98) 58%, rgba(255, 251, 247, 0.98) 100%);
  box-shadow: 0 12px 22px rgba(28, 74, 116, 0.11);
  backdrop-filter: none;
}

.cn-activityGrid--poster .cn-activityCard--poster:hover {
  transform: translateY(-2px);
  border-color: rgba(240, 118, 74, 0.22);
  box-shadow: 0 20px 34px rgba(28, 74, 116, 0.16);
  background:
    linear-gradient(180deg, rgba(204, 237, 251, 0.98) 0%, rgba(204, 237, 251, 0.98) 62%, rgba(255, 252, 248, 1) 62%, rgba(255, 252, 248, 1) 100%);
}

.cn-activityPosterIndex {
  position: absolute;
  left: 0.6rem;
  bottom: 4.3rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 0.55rem;
  background: #1880d4;
  color: #fff;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  box-shadow: 0 10px 18px rgba(24, 128, 212, 0.22);
}

.cn-activityGrid--poster .cn-activityCardMedia--poster {
  min-height: 8.25rem;
  padding: 0.4rem 0.2rem 0;
  transform: none;
  overflow: hidden;
}

.cn-activityGrid--poster .cn-activityCardMedia--poster::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2rem;
  background: linear-gradient(180deg, rgba(204, 237, 251, 0) 0%, rgba(204, 237, 251, 0.7) 100%);
  pointer-events: none;
}

.cn-activityGrid--poster .cn-activityCard--poster:hover .cn-activityCardMedia {
  transform: none;
}

.cn-activityGrid--poster .cn-activityCardImage {
  position: absolute;
  left: 50%;
  bottom: 0;
  top: auto;
  width: auto;
  height: var(--cn-poster-art-height, 110%);
  max-width: none;
  max-height: none;
  transform: translate(var(--cn-poster-art-shift-x, -50%), var(--cn-poster-art-shift-y, 0%));
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 14px 22px rgba(17, 52, 83, 0.14));
}

.cn-activityGrid--poster .cn-activityCardImage.is-kitesurf,
.cn-activityGrid--poster .cn-activityCardImage.is-windsurf,
.cn-activityGrid--poster .cn-activityCardImage.is-wake,
.cn-activityGrid--poster .cn-activityCardImage.is-wing,
.cn-activityGrid--poster .cn-activityCardImage.is-vela {
  max-height: none;
}

.cn-activityGrid--poster .cn-activityCardImage.is-summer-camp {
  width: 114%;
  height: var(--cn-poster-art-height, 103%);
}

.cn-activityGrid--poster .cn-activityCardImage.is-moto-acuatica {
  height: var(--cn-poster-art-height, 98%);
  max-width: none;
}

.cn-activityCardMeta--poster {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.18rem;
  padding: 0.65rem 0.62rem 0.72rem;
  text-align: left;
}

.cn-activityPosterEyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 1.2rem;
  padding: 0.08rem 0.46rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #0f4c90;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cn-activityCardTitle--poster {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  color: #153f74;
  font-size: clamp(0.98rem, 0.95vw, 1.25rem);
  line-height: 0.95;
  letter-spacing: -1.1px;
  text-align: left;
}

.cn-activityPosterStroke {
  display: block;
  width: 3.2rem;
  height: 0.14rem;
  margin: 0.05rem 0 0.08rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff7c1f, #f49a31);
}

.cn-activityPosterFacts {
  display: grid;
  gap: 0.12rem;
  width: 100%;
}

.cn-activityPosterFact {
  display: inline-flex;
  align-items: center;
  color: #34556f;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.66rem;
  line-height: 1.14;
}

.cn-activityPosterFact::before {
  content: "";
  width: 0.28rem;
  height: 0.28rem;
  margin-right: 0.34rem;
  border-radius: 999px;
  background: #ff7c1f;
  box-shadow: 0 0 0 4px rgba(255, 124, 31, 0.12);
  flex: 0 0 auto;
}

.cn-activityPosterFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.12rem;
}

.cn-activityPosterNote {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0.14rem 0.5rem;
  border-radius: 999px;
  background: rgba(32, 83, 131, 0.08);
  color: #205383;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.54rem;
  font-weight: 500;
  line-height: 1.15;
}

.cn-activityPosterAction {
  color: #ff7c1f;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.cn-pageShellActivities #footer {
  max-width: 84rem;
  padding: 0 1rem 0.35rem;
}

.cn-pageShellActivities .cn-footer {
  padding-top: 0.1rem;
  padding-bottom: 1.1rem;
}

.cn-pageShellActivities .cn-footer-actions.mt-0.flex.flex-wrap.items-center.justify-center.gap-2 {
  margin-bottom: 0.5rem;
}

.cn-activityCardArrow {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .cn-activityBackdropLayer {
    animation: none !important;
    transition: opacity 220ms ease !important;
  }
}

.cn-programStep {
  max-width: 64rem;
  margin: 0 auto;
}

.cn-programStep.is-kitesurf {
  max-width: 98rem;
}

.cn-programGrid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.cn-programGrid.is-kitesurf {
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(min(22rem, 100%), 1fr));
}

.cn-programCard {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 15.25rem;
  padding: 1.3rem;
  overflow: hidden;
  border-radius: 1.45rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 243, 0.96));
  box-shadow: 0 18px 36px rgba(103, 73, 54, 0.12);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cn-programGrid.is-kitesurf .cn-programCard {
  min-height: 24.5rem;
  padding: 0;
  border-color: rgba(104, 145, 183, 0.12) !important;
  background: var(--cn-program-tone, linear-gradient(180deg, rgba(235, 245, 255, 0.98), rgba(255, 249, 243, 0.96)));
}

.cn-programCard:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 44px rgba(84, 108, 132, 0.14);
  border-color: rgba(109, 154, 197, 0.2);
}

.cn-programCard.is-selected {
  box-shadow: 0 26px 48px rgba(59, 102, 139, 0.18);
  border-color: rgba(89, 134, 178, 0.28) !important;
}

.cn-programCardArt {
  position: relative;
  display: block;
  min-height: 12.5rem;
  overflow: hidden;
}

.cn-programGrid.is-kitesurf .cn-programCardArt {
  min-height: 17.5rem;
  border-radius: 1.45rem 1.45rem 0 0;
}

.cn-programCardImage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 18px 26px rgba(38, 80, 117, 0.16));
}

.cn-programGrid.is-kitesurf .cn-programCardImage {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  filter: none;
}

.cn-programGrid.is-kitesurf .cn-programCardImage.is-experience {
  width: 100%;
  height: 100%;
  bottom: auto;
  object-position: center 48%;
}

.cn-programGrid.is-kitesurf .cn-programCardImage.is-initiation {
  width: 100%;
  height: 100%;
  bottom: auto;
  object-position: center 52%;
}

.cn-programGrid.is-kitesurf .cn-programCardImage.is-progression {
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  object-fit: cover;
  object-position: center;
}

.cn-programCardContent {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 1.3rem;
}

.cn-programGrid.is-kitesurf .cn-programCardContent {
  margin-top: auto;
  min-height: 10.7rem;
  padding: 1.25rem 1.35rem 1.45rem;
  background: linear-gradient(180deg, rgba(255, 253, 250, 0.74), rgba(255, 250, 245, 0.97) 22%, rgba(255, 250, 245, 0.99) 100%);
  border-top: 1px solid rgba(104, 145, 183, 0.08);
  backdrop-filter: blur(8px);
}

.cn-programCardSummary {
  margin: 0.85rem 0 0;
  color: #5b6d7c;
  font-size: 0.92rem;
  line-height: 1.5;
}

.cn-programCardContent .inline-flex {
  min-height: 1.9rem;
  padding: 0.32rem 0.78rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(109, 154, 197, 0.18);
  color: #64819b;
  box-shadow: 0 8px 18px rgba(65, 100, 132, 0.08);
}

#btnContinueProgram {
  min-width: 13rem;
  height: 46px;
  min-height: 46px;
  padding: 0 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff7a21 0%, #ff5c00 100%);
  color: #fff;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 12px 28px rgba(255, 92, 0, 0.22);
}

#btnContinueProgram:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  box-shadow: none;
}

#btnContinueProgram:not(:disabled):hover {
  background: linear-gradient(180deg, #ff8a36 0%, #ff6510 100%);
}

.cn-programStep.is-relax {
  max-width: 82rem;
  position: relative;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.cn-relaxStep::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 2rem;
  background:
    linear-gradient(180deg, rgba(255, 250, 244, 0.9), rgba(255, 250, 244, 0.9)),
    url('../assets/bg-sunbeds.jpg');
  background-size: cover;
  background-position: center top;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  pointer-events: none;
  z-index: 0;
}

.cn-relaxStep > * {
  position: relative;
  z-index: 1;
}

.cn-relaxIntro {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}

.cn-relaxHeadline {
  font-size: clamp(2.3rem, 4.6vw, 3.35rem);
  line-height: 0.94;
  letter-spacing: -4px;
}

.cn-relaxLead {
  font-size: 1.12rem;
  line-height: 1.55;
}

.cn-relaxCallout {
  margin: 0.35rem 0 0;
  color: #4c4a47;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
}

.cn-relaxModes {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cn-relaxModeCard {
  position: relative;
  border-radius: 1.8rem;
  overflow: hidden;
  border: 1px solid rgba(155, 126, 102, 0.18);
  box-shadow: 0 20px 38px rgba(80, 57, 37, 0.12);
  background: #fff;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cn-relaxModeCard:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 44px rgba(80, 57, 37, 0.16);
}

.cn-relaxModeCard.is-selected {
  border-color: var(--cn-relax-accent, #7ec8f8);
  box-shadow: 0 22px 42px rgba(80, 57, 37, 0.16);
}

.cn-relaxModeMedia {
  position: relative;
  min-height: 26rem;
  padding: 1.4rem 1.45rem 1.35rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-position: center;
  background-size: cover;
}

.cn-relaxModeMedia::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 18, 26, 0.02) 0%, rgba(8, 18, 26, 0.18) 38%, rgba(8, 18, 26, 0.82) 100%);
  pointer-events: none;
}

.cn-relaxModeTop,
.cn-relaxModeContent,
.cn-relaxModeButton {
  position: relative;
  z-index: 1;
}

.cn-relaxModeTop {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.cn-relaxModeEyebrows {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.cn-relaxModeEyebrow,
.cn-relaxModeHelper {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.32rem 0.9rem;
  border-radius: 999px;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cn-relaxModeEyebrow {
  background: rgba(255, 255, 255, 0.9);
  color: #254e88;
}

.cn-relaxModeCard.is-featured .cn-relaxModeEyebrow {
  background: #df6c03;
  color: #fff;
}

.cn-relaxModeHelper {
  min-height: 1.8rem;
  background: rgba(255, 245, 232, 0.94);
  color: #a85e14;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.72rem;
}

.cn-relaxModeIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 26px rgba(36, 58, 81, 0.12);
}

.cn-relaxModeIcon .cn-zoneFileIcon {
  width: 2rem;
  height: 2rem;
  filter: brightness(0) saturate(100%) invert(21%) sepia(83%) saturate(1874%) hue-rotate(188deg) brightness(91%) contrast(93%);
}

.cn-relaxModeCard.is-featured .cn-relaxModeIcon .cn-zoneFileIcon {
  filter: brightness(0) saturate(100%) invert(55%) sepia(91%) saturate(1800%) hue-rotate(357deg) brightness(104%) contrast(101%);
}

.cn-relaxModeContent {
  color: #fff;
}

.cn-relaxModeTitle {
  margin: 0;
  font-family: "Marksys", "Brockmann", serif;
  color: #fff;
  font-size: 3.2rem;
  line-height: 0.9;
  letter-spacing: -3.4px;
}

.cn-relaxModeDuration {
  margin: 0.45rem 0 0;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.92);
}

.cn-relaxModePrice {
  margin: 0.55rem 0 0;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 3.45rem;
  line-height: 0.95;
  font-weight: 500;
  color: #fff;
}

.cn-relaxModeDescription {
  margin: 0.4rem 0 0;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}

.cn-relaxModeButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 22rem);
  min-height: 3.55rem;
  margin: 1rem auto 0;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #94d3f6, #6ebee9);
  color: #fff;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
}

.cn-relaxModeCard.is-featured .cn-relaxModeButton {
  background: linear-gradient(180deg, #ffad32, #ff8f0f);
}

.cn-relaxAddonCard {
  display: grid;
  grid-template-columns: minmax(15rem, 1.35fr) minmax(0, 1.6fr) minmax(14rem, 0.8fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(202, 153, 112, 0.22);
  border-radius: 1.8rem;
  background: rgba(255, 252, 248, 0.96);
  box-shadow: 0 18px 36px rgba(80, 57, 37, 0.1);
}

.cn-relaxAddonCard.is-selected {
  border-color: rgba(223, 108, 3, 0.34);
  box-shadow: 0 22px 40px rgba(223, 108, 3, 0.12);
}

.cn-relaxAddonMedia {
  min-height: 13rem;
  background-position: center;
  background-size: cover;
}

.cn-relaxAddonBody {
  padding: 1.35rem 1.45rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cn-relaxAddonEyebrow {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.36rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(223, 108, 3, 0.28);
  color: #df6c03;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cn-relaxAddonTitle {
  margin: 0.8rem 0 0;
  font-family: "Marksys", "Brockmann", serif;
  color: #163562;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 0.92;
  letter-spacing: -3px;
}

.cn-relaxAddonPriceRow {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-top: 0.85rem;
}

.cn-relaxAddonPrice {
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 3.15rem;
  line-height: 0.95;
  color: #df6c03;
}

.cn-relaxAddonStrike {
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1rem;
  color: #b8aea4;
  text-decoration: line-through;
}

.cn-relaxAddonDetail {
  margin: 0.7rem 0 0;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.45;
  color: #4d5b6d;
}

.cn-relaxAddonNote {
  margin: 0.65rem 0 0;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.95rem;
  color: #df6c03;
}

.cn-relaxAddonActions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem;
  border-left: 1px solid rgba(202, 153, 112, 0.16);
}

.cn-relaxAddonButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.55rem;
  border-radius: 999px;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid rgba(18, 57, 109, 0.48);
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.cn-relaxAddonButton:hover {
  transform: translateY(-1px);
}

.cn-relaxAddonButton.is-secondary {
  background: #fffdfa;
  color: #173f72;
}

.cn-relaxAddonButton.is-primary {
  border-color: transparent;
  background: linear-gradient(180deg, #f08b18, #df6c03);
  color: #fff;
  box-shadow: 0 14px 28px rgba(223, 108, 3, 0.2);
}

.cn-relaxSummary {
  border: 1px solid rgba(28, 63, 111, 0.12);
  border-radius: 1.2rem;
  background: rgba(238, 246, 252, 0.92);
  padding: 1rem 1.2rem;
  text-align: center;
  color: #173f72;
  font-family: "Brockmann", Arial, sans-serif;
}

.cn-slotBtn,
.cn-guestBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8rem;
  width: 100%;
  padding: 0.72rem 0.95rem;
  border: 1px solid rgba(140, 107, 83, 0.12);
  border-radius: 0.9rem;
  background: rgba(255, 252, 248, 0.9);
  color: #2f2722;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.88rem;
  font-weight: 400;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.cn-slotBtn:hover,
.cn-guestBtn:hover {
  transform: translateY(-1px);
  border-color: rgba(201, 118, 79, 0.26);
  box-shadow: 0 12px 24px rgba(103, 73, 54, 0.09);
}

.cn-slotBtn.is-selected,
.cn-guestBtn.is-selected {
  border-color: rgba(93, 107, 87, 0.36);
  background: #eef3e8;
  box-shadow: 0 10px 20px rgba(93, 107, 87, 0.16);
}

.cn-stepLabel,
.cn-footerTitle,
.cn-confirm-title,
.cn-successCard h2,
.cn-successCard h3,
.cn-qrPanel h3 {
  font-family: "Marksys", "Brockmann", serif !important;
}

.cn-footer {
  padding: 0.15rem 0 1.6rem;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.cn-footer-actions.mt-0.flex.flex-wrap.items-center.justify-center.gap-2 {
  margin-top: 0;
  margin-bottom: 0.7rem;
  flex-wrap: wrap;
  gap: 0.7rem;
  padding-top: 0.01rem;
}

.cn-footerPill {
  min-width: 12.1rem;
  min-height: 36px;
  justify-content: space-between;
  gap: 0.55rem;
  padding: 0.4rem 1rem;
  border: 2px solid rgb(65 169 139);
  background: transparent;
  color: #1f2f3a;
  box-shadow: none;
  font-family: "Brockmann", Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease, border-color 220ms ease;
}

.cn-footerPillIcon {
  width: 1.16rem;
  height: 1.16rem;
}

.cn-footerPillIcon svg,
.cn-footerPillIcon img {
  width: 1.16rem;
  height: 1.16rem;
}

.cn-footerPill:hover {
  transform: translateY(-1px);
  box-shadow: none;
  background: rgba(255,255,255,.26);
  border-color: rgba(31, 47, 58, 0.58);
}

.cn-footerPill.is-whatsapp {
  background: transparent;
  border-color: #35c7a1;
  color: #35c7a1;
}

.cn-footerPill.is-whatsapp .cn-footerPillText,
.cn-footerPill.is-whatsapp .cn-footerPillIcon {
  color: #35c7a1;
}

.cn-footerPill.is-whatsapp .cn-footerPillIcon {
  width: 1.3rem;
  height: 1.3rem;
}

.cn-footerPill.is-whatsapp .cn-footerPillIcon svg,
.cn-footerPill.is-whatsapp .cn-footerPillIcon img {
  width: 1.3rem;
  height: 1.3rem;
}

.cn-footerPillText {
  flex: 1 1 auto;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
}

.cn-footerPhoneText {
  color: #9e4f33;
  text-decoration: none;
  font-size: .95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.cn-footerSocials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.95rem;
  margin-top: 0.55rem;
}

.cn-footerSocialIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9e4f33;
}

.cn-footerSocialIcon svg {
  width: 1.28rem;
  height: 1.28rem;
  display: block;
}

.cn-footer.is-light .text-\[\#3d4a37\],
.cn-footer.is-light .text-\[\#5d6b57\] {
  color: #eef8ff !important;
}

.cn-footer.is-light .cn-footerTitle {
  color: #f4fbff !important;
}

.cn-footer.is-light .cn-footerPhoneText,
.cn-footer.is-light .cn-footerPhoneIcon,
.cn-footer.is-light .cn-footerSocialIcon,
.cn-footer.is-light .cn-footerLink {
  color: #eef8ff !important;
}

.cn-footer.is-light .text-\[\#5d6b57\] {
  opacity: 0.92;
}

.flatpickr-calendar,
.flatpickr-months,
.flatpickr-days,
.dayContainer {
  background: transparent !important;
}

.flatpickr-day {
  color: #40332a !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #c9764f !important;
  border-color: #c9764f !important;
  color: #fffdfa !important;
}

@media (max-width: 900px) {
  .cn-pageShellEntry {
    background-size: cover;
    background-position: left top;
  }

  .cn-programStep.is-relax {
    max-width: 100%;
  }

  .cn-relaxModes {
    grid-template-columns: 1fr;
  }

  .cn-relaxModeMedia {
    min-height: 23.5rem;
  }

  .cn-relaxAddonCard {
    grid-template-columns: 1fr;
  }

  .cn-relaxAddonMedia {
    min-height: 12rem;
  }

  .cn-relaxAddonActions {
    border-left: 0;
    border-top: 1px solid rgba(202, 153, 112, 0.16);
  }

  .cn-entryHero {
    min-height: 0;
    border-radius: 1.35rem;
  }

  .cn-entryHeroKite {
    width: 6rem;
    top: 0.45rem;
    right: 0.15rem;
  }

  .cn-entryGrid {
    grid-template-columns: 1fr;
    max-width: 25.5rem;
  }

  .cn-programStep.is-kitesurf {
    max-width: 100%;
  }

  .cn-programGrid.is-kitesurf {
    grid-template-columns: 1fr;
  }

  .cn-programGrid.is-kitesurf .cn-programCard {
    min-height: 21.5rem;
  }

  .cn-entryCard,
  .cn-entryCardBody {
    min-height: 23.25rem;
  }

  .cn-entryCardMedia {
    inset: 0 0 36% 0;
  }

  .cn-entryCardGlow {
    inset: auto 0 35.5% 0;
  }

  .cn-activityGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cn-activityGrid.cn-activityGrid--poster {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .cn-activityCard.is-visual {
    min-height: 16.5rem;
  }

  .cn-activityGrid:not(.is-rentals) .cn-activityCard.is-visual {
    min-height: 21.5rem;
  }

  .cn-activityCardMedia {
    min-height: 12.5rem;
  }

  .cn-activityGrid:not(.is-rentals) .cn-activityCardMedia {
    min-height: 17.2rem;
  }

  .cn-activityLead {
    white-space: normal;
  }

  .cn-pageShellActivities .cn-activityScreenPoster {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }

  .cn-pageShellActivities .cn-activityScreenInner {
    padding: 0.9rem 0.75rem 0.85rem;
  }

  .cn-activityGrid--poster .cn-activityCard--poster {
    min-height: 15.8rem;
  }

  .cn-activityGrid--poster .cn-activityCardMedia--poster {
    min-height: 8.8rem;
  }

  .cn-activityGrid--poster .cn-activityCardImage {
    height: var(--cn-poster-art-height, 106%);
  }

  .cn-activityCardTitle,
  .cn-activityCardTitle.is-xl {
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .cn-entryIntro {
    margin-bottom: 0.8rem;
  }

  .cn-relaxHeadline {
    font-size: 2.25rem;
  }

  .cn-relaxModeTitle {
    font-size: 2.6rem;
  }

  .cn-relaxModePrice {
    font-size: 2.9rem;
  }

  .cn-relaxAddonTitle {
    font-size: 2.25rem;
  }

  .cn-relaxAddonPrice {
    font-size: 2.6rem;
  }

  .cn-entryKicker {
    font-size: 0.86rem;
    letter-spacing: 0.2em;
  }

  .cn-entryHeadlineScript {
    font-size: clamp(3.25rem, 14vw, 5rem);
  }

  .cn-entryCardBody {
    padding: 0.9rem;
  }

  .cn-entryTitle {
    font-size: 2rem;
  }

  .cn-footerPill {
    width: 100%;
    min-width: 0;
  }

  .cn-activityGrid {
    grid-template-columns: 1fr;
  }

  .cn-activityGrid.cn-activityGrid--poster {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cn-activityGrid--poster .cn-activityCard--poster {
    min-height: 16.5rem;
  }
}

@media (min-width: 768px) {
  .md\:p-8 {
    padding: 1rem;
  }
}
.cn-footerTitle {
  font-size: 1.18rem;
  line-height: 1.1;
  letter-spacing: -0.41px;
  margin-top: 17px;
  text-transform: uppercase;
}

.cn-footerPhoneIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  color: inherit;
  flex: 0 0 auto;
}

.cn-footerPhoneIcon svg,
.cn-footerPhoneIcon img {
  width: 1rem;
  height: 1rem;
  display: block;
}

.cn-footer .text-\[\#3d4a37\],
.cn-footer .text-\[\#5d6b57\] {
  color: #96491d !important;
}

.cn-footer .cn-footerLink {
  color: #96491d;
  font-weight: 600;
}
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCardLight{
    background: rgba(255, 249, 243, 0.96) !important;
    border: 1px solid rgba(234, 196, 162, 0.48) !important;
    box-shadow: 0 28px 60px rgba(161, 111, 69, 0.18) !important;
    color: #54331d !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepPane--date,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepPane--guests,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepPane--details,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepPane--confirm{
    color: #54331d !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroTitle{
    color: #f26a21 !important;
    text-shadow: none !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroSubtitle,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarHeaderLabel,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarWeekday,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-fieldLabel,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateLabel{
    color: #7b5d47 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarMonthSelect,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarYearSelect,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepInput,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepSelect{
    background: rgba(255, 255, 255, 0.94) !important;
    color: #4d301d !important;
    border: 1px solid rgba(225, 188, 156, 0.64) !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarDay{
    color: #4d301d !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarDay.is-muted{
    color: rgba(123, 93, 71, 0.45) !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateCard{
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(242, 106, 33, 0.28) !important;
    color: #5a341a !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateValue{
    color: #f26a21 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-btnWizardPrimary{
    background: linear-gradient(180deg, #ff7b1f 0%, #f15f0a 100%) !important;
    color: #fffaf5 !important;
    box-shadow: 0 16px 28px rgba(241, 95, 10, 0.24) !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerTitle,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerSubtitle,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPhoneText,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerWeb,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerSocial{
    color: #6a4a33 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill{
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 12px 26px rgba(162, 114, 73, 0.12) !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCard,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCardLight,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepCard,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-bookingCard,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendar-wrap{
    background: rgba(255, 249, 243, 0.96) !important;
    background-color: rgba(255, 249, 243, 0.96) !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCard::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCard::after,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCardLight::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCardLight::after,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepCard::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepCard::after,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-bookingCard::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-bookingCard::after,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendar-wrap::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendar-wrap::after{
    display: none !important;
    content: none !important;
    background: transparent !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarGrid,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarMonth,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarBody{
    background: transparent !important;
    color: #54331d !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities){
    justify-content: flex-start !important;
    padding-top: 18px !important;
    padding-bottom: 28px !important;
    background-image:
        linear-gradient(180deg, rgba(255, 251, 246, 0.06) 0%, rgba(255, 248, 240, 0.14) 56%, rgba(255, 248, 240, 0.58) 78%, rgba(255, 249, 243, 0.86) 100%),
        url("../assets/bg-fechas2.jpg") !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl{
    max-width: 42.75rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-stepHeroTitle){
    background: rgba(255, 249, 243, 0.97) !important;
    border: 1px solid rgba(233, 197, 165, 0.65) !important;
    border-radius: 1.65rem !important;
    box-shadow: 0 30px 60px rgba(164, 118, 72, 0.18) !important;
    padding: 1.3rem 1.55rem 1.45rem !important;
}

.cn-pageShellActivityWizard {
  box-sizing: border-box;
  min-height: 100vh;
  padding-top: 0.85rem !important;
  padding-bottom: 0.8rem !important;
}

.cn-pageShellProgramChoice {
  height: 100vh;
  overflow: hidden;
}

.cn-pageShellActivityWizard > .w-full.max-w-screen-xl {
  max-width: min(78rem, calc(100vw - 9rem)) !important;
}

.cn-pageShellActivityWizard > .w-full.max-w-screen-xl #header {
  margin-bottom: 0 !important;
}

.cn-pageShellActivityWizard > .w-full.max-w-screen-xl #progress {
  margin-bottom: 0.55rem !important;
}

.cn-pageShellActivityWizard > .w-full.max-w-screen-xl .cn-wizardCardLight {
  border-radius: 1.45rem !important;
  overflow: hidden !important;
}

.cn-pageShellActivityWizard > .w-full.max-w-screen-xl .cn-wizardContent {
  padding: 0 !important;
}

.cn-pageShellActivityWizard .cn-programStep {
  max-width: 100%;
  padding: 0.95rem 1rem 1rem !important;
}

.cn-pageShellActivityWizard .cn-programStep > .text-center {
  margin-bottom: 0.72rem !important;
}

.cn-pageShellActivityWizard .cn-programStep > .text-center h2 {
  margin-bottom: 0.08rem !important;
  font-size: 1.28rem !important;
  line-height: 1 !important;
}

.cn-pageShellActivityWizard .cn-programStep > .text-center p {
  font-size: 0.82rem !important;
}

.cn-pageShellActivityWizard .cn-programGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.72rem;
  margin-bottom: 0.8rem !important;
}

.cn-pageShellActivityWizard .cn-programGrid.is-kitesurf {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.72rem;
}

.cn-pageShellActivityWizard .cn-programCard {
  min-height: 0;
  padding: 1rem;
  border-radius: 1.15rem;
}

.cn-pageShellActivityWizard .cn-programGrid.is-kitesurf .cn-programCard {
  height: clamp(18.5rem, 45vh, 23.5rem);
  min-height: 0;
  border-radius: 1.15rem;
}

.cn-pageShellActivityWizard .cn-programGrid.is-kitesurf .cn-programCardArt {
  height: 52%;
  min-height: 0;
  border-radius: 1.15rem 1.15rem 0 0;
}

.cn-pageShellActivityWizard .cn-programGrid.is-kitesurf .cn-programCardContent {
  min-height: 0;
  padding: 0.72rem 0.82rem 0.78rem;
  backdrop-filter: none;
}

.cn-pageShellActivityWizard .cn-programCardContent .inline-flex {
  min-height: 1.35rem;
  padding: 0.16rem 0.58rem;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
}

.cn-pageShellActivityWizard .cn-programCardContent h3 {
  margin-top: 0.45rem !important;
  font-size: 1.08rem !important;
  line-height: 0.98 !important;
}

.cn-pageShellActivityWizard .cn-programCardSummary {
  display: -webkit-box;
  margin-top: 0.42rem;
  overflow: hidden;
  color: #526f85;
  font-size: 0.76rem;
  line-height: 1.24;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.cn-pageShellActivityWizard .cn-programCardContent .mt-4 {
  margin-top: 0.5rem !important;
}

.cn-pageShellActivityWizard .cn-programCardContent .space-y-2 {
  font-size: 0.76rem !important;
  line-height: 1.2;
}

.cn-pageShellActivityWizard .cn-programCardContent .space-y-2 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.22rem !important;
}

.cn-pageShellActivityWizard .cn-programStep > .mb-6.rounded-2xl {
  margin-bottom: 0.65rem !important;
  padding: 0.55rem 0.9rem !important;
}

.cn-pageShellActivityWizard #btnContinueProgram {
  height: 40px;
  min-height: 40px;
  min-width: 11rem;
  padding: 0 1.4rem;
  font-size: 0.86rem;
}

.cn-pageShellActivityWizard #footer {
  margin-top: 0.48rem !important;
}

@media (max-width: 1180px) {
  .cn-pageShellActivityWizard > .w-full.max-w-screen-xl {
    max-width: min(66rem, calc(100vw - 2rem)) !important;
  }

  .cn-pageShellActivityWizard .cn-programGrid,
  .cn-pageShellActivityWizard .cn-programGrid.is-kitesurf {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .cn-pageShellProgramChoice {
    height: auto;
    overflow: visible;
  }

  .cn-pageShellActivityWizard > .w-full.max-w-screen-xl {
    max-width: calc(100vw - 1rem) !important;
  }

  .cn-pageShellActivityWizard .cn-programGrid,
  .cn-pageShellActivityWizard .cn-programGrid.is-kitesurf {
    grid-template-columns: 1fr;
  }

  .cn-pageShellActivityWizard .cn-programGrid.is-kitesurf .cn-programCard {
    height: auto;
    min-height: 20rem;
  }
}

/* Shared activity navigation, cards and footer */
.cn-pageShell .cn-entryBackWrap {
  position: fixed !important;
  top: 18px !important;
  left: 18px !important;
  right: auto !important;
  margin: 0 !important;
  z-index: 100 !important;
}

.cn-pageShell .cn-entryBackBtn {
  min-height: 46px !important;
  padding: 0 1.35rem !important;
  border: 1px solid rgba(245, 102, 31, 0.46) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 248, 0.96) !important;
  color: #f5661f !important;
  box-shadow: 0 12px 28px rgba(31, 47, 58, 0.12) !important;
}

.cn-pageShellActivities .cn-activityCardMedia--poster,
.cn-pageShellActivities .cn-activityCardImage,
.cn-pageShellActivityWizard .cn-programCardArt,
.cn-pageShellActivityWizard .cn-programCardImage {
  width: 100% !important;
  max-width: none !important;
}

.cn-pageShellActivities .cn-activityCardImage,
.cn-pageShellActivityWizard .cn-programCardImage {
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
}

.cn-pageShellActivities .cn-activityPosterAction {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  border-width: 2px !important;
}

.cn-programCardAction {
  width: 100%;
  min-height: 29px;
  margin-top: auto;
  padding: 0 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 2px solid #ff6b1a;
  border-radius: 999px;
  background: transparent;
  color: #ff6b1a;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease;
}

.cn-programCardAction svg {
  width: 0.9rem;
  height: 0.9rem;
}

.cn-programCard:hover .cn-programCardAction,
.cn-programCard.is-selected .cn-programCardAction {
  background: #ff6b1a;
  color: #fff;
}

.cn-pageShellActivityWizard .cn-programCardContent .space-y-2 {
  margin-bottom: 0.5rem;
}

.cn-footer.cn-footer--dark {
  width: min(100%, 960px) !important;
  margin: 0 auto !important;
  padding: 0 12px 6px !important;
  color: #525764 !important;
}

.cn-footer.cn-footer--dark .cn-footer-actions {
  margin: 10px auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}

.cn-footer.cn-footer--dark .cn-footerPill {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 14px !important;
  gap: 8px !important;
  border-width: 2px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.cn-footer.cn-footer--dark .cn-footerTitle {
  margin: 6px auto 0 !important;
  color: #474e62 !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.cn-footer.cn-footer--dark p,
.cn-footer.cn-footer--dark a,
.cn-footer.cn-footer--dark .cn-footerLink,
.cn-footer.cn-footer--dark .text-\[\#3d4a37\],
.cn-footer.cn-footer--dark .text-\[\#5d6b57\] {
  margin: 0 !important;
  color: #525764 !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
}

.cn-footer.cn-footer--dark .cn-footerSocials {
  margin: 10px 0 0 !important;
  gap: 20px !important;
}

.cn-footer.cn-footer--dark .cn-footerSocialIcon,
.cn-footer.cn-footer--dark .cn-footerSocialIcon svg {
  width: 24px !important;
  height: 24px !important;
  color: #34414d !important;
}

@media (max-width: 760px) {
  .cn-pageShell .cn-entryBackWrap {
    top: 10px !important;
    left: 10px !important;
  }

  .cn-pageShell .cn-entryBackBtn {
    min-height: 42px !important;
    padding: 0 1rem !important;
  }

  .cn-footer.cn-footer--dark .cn-footer-actions {
    flex-wrap: wrap !important;
  }
}

.cn-activityScheduleControls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cn-activityScheduleControls .cn-activityScheduleControl {
  min-width: 0;
  margin-bottom: 0 !important;
}

.cn-activityScheduleControls #activityTimeGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cn-activityScheduleControls .cn-activityGuestsGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cn-activityScheduleControls .cn-slotBtn,
.cn-activityScheduleControls .cn-guestBtn {
  min-height: 2.65rem;
  padding: 0.55rem 0.5rem;
  font-size: 0.78rem;
}

.cn-activityScheduleControls .cn-guestContactBtn {
  grid-column: span 1;
  border-color: rgba(245, 102, 31, 0.48);
  color: #f5661f;
}

.cn-activityScheduleControls .cn-guestContactBtn.is-selected {
  border-color: #f5661f;
  background: #f5661f;
  color: #fff;
}

.cn-activityGroupContact {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border: 2px solid rgba(245, 102, 31, 0.28);
  border-radius: 1rem;
  background: rgba(255, 249, 243, 0.96);
  color: #54331d;
  text-align: center;
}

.cn-activityGroupContact p {
  margin: 0 0 0.7rem;
  font-size: 0.84rem;
  line-height: 1.3;
}

.cn-activityGroupContact .cn-contactDrawerActions {
  justify-content: center;
}

@media (max-width: 760px) {
  .cn-activityScheduleControls {
    grid-template-columns: 1fr;
  }
}

/* Gastro date screen */
.cn-stepPane--date #datePicker,
.cn-stepPane--date input#datePicker,
.cn-stepPane--date .flatpickr-input {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.cn-stepPane--date .cn-selectedDateCard {
  min-width: min(100%, 24rem);
  padding: 0.82rem 1.35rem !important;
  border: 2px solid rgba(245, 102, 31, 0.28) !important;
  border-radius: 1.25rem !important;
  background: rgba(255, 251, 247, 0.96) !important;
  color: #5a341a !important;
  box-shadow: 0 12px 26px rgba(163, 116, 73, 0.1) !important;
}

.cn-stepPane--date .cn-selectedDateValue {
  color: #f26a21 !important;
}

.cn-stepPane--date #btnContinue {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
}

.cn-stepPane--date #btnContinue > span {
  position: static !important;
  margin-left: 0 !important;
  transform: none !important;
}

/* Activities landing: centered like index, clean header */
.cn-pageShellActivities {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  padding: 18px 24px 20px !important;
  align-items: center !important;
}

.cn-pageShellActivities > .w-full {
  width: min(100%, 1430px) !important;
  max-width: 1430px !important;
  margin: 0 auto !important;
}

.cn-pageShellActivities #header,
.cn-pageShellActivities #header > div,
.cn-pageShellActivities .cn-headerBrand,
.cn-pageShellActivities .cn-activityIntroPoster {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  filter: none;
}

.cn-pageShellActivities #header::before,
.cn-pageShellActivities #header::after,
.cn-pageShellActivities .cn-headerBrand::before,
.cn-pageShellActivities .cn-headerBrand::after,
.cn-pageShellActivities .cn-activityIntroPoster::before,
.cn-pageShellActivities .cn-activityIntroPoster::after {
  display: none !important;
  content: none !important;
}

.cn-pageShellActivities #header {
  width: 100% !important;
  margin: 0 auto 4px !important;
  padding: 0 !important;
}

.cn-pageShellActivities .cn-headerBrand {
  margin: 0 auto 5px !important;
  padding: 0 !important;
}

.cn-pageShellActivities .cn-activityScreen,
.cn-pageShellActivities .cn-activityScreenPoster,
.cn-pageShellActivities .cn-activityScreenInner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.cn-pageShellActivities .cn-activityScreenInner {
  padding: 0 !important;
}

.cn-pageShellActivities .cn-activityIntroPoster {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  text-align: center !important;
}

.cn-pageShellActivities .cn-activityGrid--accordion {
  width: min(100%, 1430px) !important;
  margin: 0 auto !important;
}

.cn-pageShellActivities #footer {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 760px) {
  .cn-pageShellActivities {
    padding: 14px !important;
  }

  .cn-pageShellActivities .cn-activityIntroPoster {
    margin-bottom: 16px !important;
  }
}

.cn-pageShellActivities .cn-activityCardVideo {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}

.cn-pageShellActivities .cn-activityCard--accordion:hover .cn-activityCardVideo,
.cn-pageShellActivities .cn-activityCard--accordion:focus-within .cn-activityCardVideo {
  opacity: 1;
}

.cn-pageShellActivities .cn-activityCard--accordion:has(.cn-activityCardVideo):hover .cn-activityCardImageHover,
.cn-pageShellActivities .cn-activityCard--accordion:has(.cn-activityCardVideo):focus-within .cn-activityCardImageHover {
  opacity: 0 !important;
}

/* Activity program choice: same visual card language as activities landing */
.cn-pageShellProgramChoice > .w-full.max-w-screen-xl {
  width: min(100%, 1430px) !important;
  max-width: 1430px !important;
}

.cn-pageShellProgramChoice .cn-wizardCardLight,
.cn-pageShellProgramChoice .cn-wizardCardLight .cn-wizardContent {
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cn-pageShellProgramChoice .cn-programStep {
  padding: 0 !important;
}

.cn-pageShellProgramChoice .cn-programStep > .text-center {
  margin: 0 auto 22px !important;
  color: #fff !important;
  text-align: center !important;
}

.cn-pageShellProgramChoice .cn-programStep > .text-center h2 {
  color: #fff !important;
  font-size: clamp(32px, 2.45vw, 48px) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.07em !important;
  text-shadow: 0 3px 16px rgba(15, 45, 70, 0.24) !important;
}

.cn-pageShellProgramChoice .cn-programStep > .text-center p {
  margin-top: 0.45rem !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.86rem !important;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf {
  width: min(100%, 1280px) !important;
  margin: 0 auto 0.85rem !important;
  padding: 26px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.66) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.42) !important;
  box-shadow: 0 24px 64px rgba(31, 47, 58, 0.12) !important;
  backdrop-filter: blur(8px) !important;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCard {
  position: relative !important;
  height: clamp(330px, 31vw, 440px) !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: rgba(226, 241, 248, 0.9) !important;
  box-shadow: 0 14px 30px rgba(31, 47, 58, 0.08) !important;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCard::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  height: 62%;
  background: linear-gradient(180deg, rgba(8, 72, 135, 0) 0%, rgba(8, 72, 135, 0.32) 34%, rgba(8, 72, 135, 0.86) 100%);
  pointer-events: none;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCardArt {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCardImage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCardContent {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  min-height: 0 !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  border: 0 !important;
}

.cn-pageShellProgramChoice .cn-programCardContent .inline-flex {
  align-self: flex-start !important;
  min-height: 26px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #1766d8 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 18px rgba(31, 47, 58, 0.1) !important;
}

.cn-pageShellProgramChoice .cn-programCardContent h3 {
  width: 100% !important;
  margin-top: auto !important;
  color: #fff !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: clamp(30px, 2.2vw, 44px) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.055em !important;
  text-align: left !important;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.28) !important;
}

.cn-pageShellProgramChoice .cn-programCardSummary {
  display: none !important;
}

.cn-pageShellProgramChoice .cn-programCardContent .space-y-2 {
  margin: 8px 0 12px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.cn-pageShellProgramChoice .cn-programCardContent .space-y-2 strong {
  color: #fff !important;
}

.cn-pageShellProgramChoice .cn-programCardAction {
  height: 34px !important;
  min-height: 34px !important;
  border: 2px solid rgba(255, 255, 255, 0.92) !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
}

.cn-pageShellProgramChoice .cn-programCard:hover .cn-programCardAction,
.cn-pageShellProgramChoice .cn-programCard.is-selected .cn-programCardAction {
  border-color: #ff5a18 !important;
  background: #ff5a18 !important;
  color: #fff !important;
}

.cn-pageShellProgramChoice .cn-programStep > .mb-6.rounded-2xl {
  width: min(100%, 520px) !important;
  margin: 0.4rem auto 0.75rem !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.8) !important;
}

@media (max-width: 760px) {
  .cn-pageShellProgramChoice {
    height: auto !important;
    overflow: visible !important;
  }

  .cn-pageShellProgramChoice .cn-programGrid.is-kitesurf {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }

  .cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCard {
    height: 410px !important;
  }
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-stepHeroTitle) *{
    text-shadow: none !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroTitle{
    font-family: "Marksy", "Permanent Marker", cursive !important;
    font-size: clamp(2.1rem, 4vw, 2.6rem) !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.02 !important;
    text-transform: uppercase !important;
    margin-bottom: 0.35rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroSubtitle{
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.95rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-steps{
    margin: 0 auto 1rem !important;
    gap: 0.4rem !important;
    justify-content: center !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepCircle{
    width: 2rem !important;
    height: 2rem !important;
    font-size: 0.95rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepLabel{
    font-size: 0.98rem !important;
    letter-spacing: 0.02em !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepBar{
    width: 2.4rem !important;
    opacity: 0.45 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarHeader{
    gap: 0.55rem !important;
    margin-bottom: 0.8rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarMonthSelect,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarYearSelect{
    min-height: 2.1rem !important;
    border-radius: 0.7rem !important;
    padding: 0 0.95rem !important;
    font-size: 0.96rem !important;
    box-shadow: none !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarNavButton{
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(242, 106, 33, 0.24) !important;
    color: #f26a21 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarWeekday,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarDay{
    font-size: 0.92rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarGrid{
    gap: 0.3rem !important;
    margin-bottom: 1rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarDay{
    width: 2.15rem !important;
    height: 2.15rem !important;
    border-radius: 999px !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateCard{
    border-radius: 0.75rem !important;
    padding: 0.7rem 1rem !important;
    margin: 0 auto 1.15rem !important;
    max-width: 24rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateLabel{
    font-size: 0.9rem !important;
    margin-bottom: 0.18rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateValue{
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-btnWizardPrimary{
    min-width: 14.5rem !important;
    min-height: 3rem !important;
    border-radius: 999px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-footerPill){
    margin-top: 1.05rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerActions{
    gap: 0.75rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill{
    min-width: 13rem !important;
    min-height: 2.6rem !important;
    border-radius: 999px !important;
    padding: 0.5rem 1rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerTitle{
    font-size: 1.06rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    margin-top: 1rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerSubtitle,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPhoneText,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerWeb{
    font-size: 0.98rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities){
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: center !important;
    overflow-x: hidden !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities)::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities)::after{
    display: none !important;
    content: none !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl{
    width: 100% !important;
    max-width: 42.75rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-entryBackWrap{
    position: fixed !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    margin: 0 !important;
    z-index: 30 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-entryBackBtn{
    background: rgba(255, 251, 247, 0.96) !important;
    border: 1px solid rgba(242, 106, 33, 0.45) !important;
    color: #f26a21 !important;
    box-shadow: 0 10px 28px rgba(163, 116, 73, 0.12) !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-mainBrandWrap{
    margin-top: 0.25rem !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-stepHeroTitle){
    margin-left: auto !important;
    margin-right: auto !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-footerPill){
    width: 100% !important;
    max-width: 42.75rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerActions{
    justify-content: center !important;
    flex-wrap: nowrap !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill{
    background: rgba(255, 250, 245, 0.92) !important;
    border-width: 1.5px !important;
    color: #30506a !important;
    opacity: 1 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill.is-whatsapp{
    border-color: #34c08a !important;
    color: #2ca874 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill.is-instagram{
    border-color: #5f97db !important;
    color: #2f79cc !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill.is-call{
    border-color: rgba(242, 106, 33, 0.5) !important;
    color: #f26a21 !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill.is-nerea{
    border-color: #5f97db !important;
    color: #2f79cc !important;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerTitle,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerSubtitle,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPhoneText,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerWeb,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerSocial{
    color: #6a4a33 !important;
    opacity: 1 !important;
}

@media (max-width: 1199px) and (min-width: 768px){
    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities){
        padding-top: 26px !important;
        padding-bottom: 28px !important;
        background-position: center center !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-entryBackWrap{
        position: absolute !important;
        top: 18px !important;
        left: 24px !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-mainBrandWrap{
        margin-top: 0.5rem !important;
        margin-bottom: 0.55rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-mainBrandLogo{
        width: 5.2rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl{
        max-width: 39.5rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-stepHeroTitle){
        padding: 1.2rem 1.4rem 1.3rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroTitle{
        font-size: 3rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerActions{
        gap: 0.65rem !important;
        flex-wrap: nowrap !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill{
        min-width: 11.8rem !important;
        font-size: 0.92rem !important;
    }
}

@media (max-width: 767px){
    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities){
        padding-top: 14px !important;
        padding-bottom: 24px !important;
        background-position: center center !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-entryBackWrap{
        position: absolute !important;
        top: 10px !important;
        left: 14px !important;
        z-index: 40 !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-entryBackBtn{
        min-height: 2.8rem !important;
        padding: 0.58rem 1rem !important;
        border-radius: 999px !important;
        font-size: 0.92rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-mainBrandWrap{
        margin-top: 1.45rem !important;
        margin-bottom: 0.5rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-mainBrandLogo{
        width: 5.75rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl{
        max-width: calc(100vw - 32px) !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl > *:has(.cn-stepHeroTitle){
        border-radius: 1.45rem !important;
        padding: 1rem 1rem 1.2rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-steps{
        gap: 0.3rem !important;
        margin-bottom: 0.8rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepCircle{
        width: 1.9rem !important;
        height: 1.9rem !important;
        font-size: 0.92rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepLabel{
        font-size: 0.84rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepBar{
        width: 1.4rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroTitle{
        font-size: 2.45rem !important;
        margin-bottom: 0.3rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepHeroSubtitle{
        font-size: 0.98rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarHeader{
        gap: 0.45rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarMonthSelect,
    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarYearSelect{
        min-height: 3.15rem !important;
        font-size: 1rem !important;
        flex: 1 1 auto !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarNavButton{
        width: 3.05rem !important;
        height: 3.05rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarWeekday,
    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarDay{
        font-size: 0.96rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarDay{
        width: 2.45rem !important;
        height: 2.45rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateCard{
        max-width: none !important;
        width: 100% !important;
        padding: 0.82rem 1rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateValue{
        font-size: 0.98rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-btnWizardPrimary{
        width: 100% !important;
        min-width: 0 !important;
        min-height: 3.35rem !important;
        font-size: 1.02rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerActions{
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.7rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill{
        min-width: 0 !important;
        flex: 1 1 calc(50% - 0.35rem) !important;
        width: calc(50% - 0.35rem) !important;
        justify-content: center !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPill.is-nerea{
        flex-basis: 100% !important;
        width: 100% !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerTitle{
        margin-top: 0.9rem !important;
        font-size: 1rem !important;
    }

    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerSubtitle,
    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerPhoneText,
    .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-footerWeb{
        font-size: 0.94rem !important;
        line-height: 1.35 !important;
    }
}

.cn-step--skip-hidden{
    display: none !important;
}

/* Booking UI consolidated overrides */
:root {
  --cn-blue: #075486;
  --cn-blue-pill: #2a659a;
  --cn-orange: #F08A5D;
  --cn-ink: #1f2f3a;
  --cn-muted: #777b72;
  --cn-title: #4e5361;
}

/* Home */
body.cn-home-refined .cn-pageShellEntry {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 100% !important;
  min-height: 100vh !important;
  padding: 0px !important;
  background-position: center center !important;
}

body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  align-content: center !important;
  justify-items: center !important;
  row-gap: 0px !important;
  width: min(100%, 1500px) !important;
  min-height: auto !important;
  margin: 0 auto !important;
}

body.cn-home-refined .cn-pageShellEntry #header {
  width: 100% !important;
  max-width: 1296px !important;
  margin: 0 auto 0px !important;
  display: block !important;
  text-align: center !important;
}

body.cn-home-refined .cn-pageShellEntry #footer {
  margin-top: 10px !important;
}

body.cn-home-refined .cn-pageShellEntry .cn-wizardCardEntry,
body.cn-home-refined .cn-pageShellEntry .cn-wizardCardEntry .cn-wizardContent {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.cn-home-refined .cn-headerBrand .cn-mainBrandLogo {
  display: block !important;
  width: 56px !important;
  height: auto !important;
  margin: 0 auto 8px !important;
}

body.cn-home-refined .cn-entryIntroSimple {
  margin: 0 auto 26px !important;
  text-align: center !important;
}

body.cn-home-refined .cn-entryIntroSimple .cn-entryBadge {
  position: relative !important;
  min-height: 10px !important;
  padding: 4px 12px 3px !important;
  border: 1px solid rgb(69 127 158) !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1c4057 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
  max-width: 100% !important;
  margin: 10px auto !important;
  color: var(--cn-title) !important;
  font-size: clamp(42px, 3.2vw, 42px) !important;
  letter-spacing: -.09em !important;
}

body.cn-home-refined .cn-entryIntroSimple .cn-activityLead {
  margin: 6px 0 0 !important;
  color: #5f5d5a !important;
  font-size: 16px !important;
}

body.cn-home-refined .cn-entryScreen {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  justify-self: stretch !important;
  padding: 0 6px !important;
}

body.cn-home-refined .cn-entryGrid {
  width: min(100%, 1172px) !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding: 18px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  align-items: stretch !important;
  background: rgba(255,255,255,.42) !important;
  border: 1px solid rgba(255,255,255,.66) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 64px rgba(31,47,58,.12) !important;
  backdrop-filter: blur(8px) !important;
}

body.cn-home-refined .cn-entryCard {
  position: relative !important;
  display: block !important;
  flex: 0 1 276.5px !important;
  width: 276.5px !important;
  min-width: 0 !important;
  height: 440px !important;
  min-height: 440px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 44px rgba(31, 47, 58, .12) !important;
  background: #dcecf5 !important;
  text-decoration: none !important;
  transition: flex-basis 260ms ease, width 260ms ease, transform 220ms ease, box-shadow 220ms ease !important;
}

body.cn-home-refined .cn-entryGrid:hover .cn-entryCard {
  flex-basis: 242px !important;
  width: 242px !important;
}

body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
  flex-basis: 380px !important;
  width: 380px !important;
  box-shadow: 0 24px 52px rgba(31, 47, 58, .18) !important;
}

body.cn-home-refined .cn-entryCardMedia {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-size: cover !important;
  background-position: var(--cn-entry-media-position, 50% 0%) !important;
  transform: none !important;
  transform-origin: 50% 0% !important;
  transition: none !important;
}

body.cn-home-refined .cn-entryCardVideo {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 55% !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 340ms cubic-bezier(.22,.61,.36,1) !important;
  will-change: opacity !important;
}

body.cn-home-refined .cn-entryCard:hover .cn-entryCardVideo,
body.cn-home-refined .cn-entryCard:focus-within .cn-entryCardVideo {
  opacity: 1 !important;
}

body.cn-home-refined .cn-entryCard:hover .cn-entryCardMedia,
body.cn-home-refined .cn-entryGrid .cn-entryCard:hover .cn-entryCardMedia {
  background-position: 50% 55% !important;
  transform: none !important;
}

body.cn-home-refined .cn-entryCard.is-alt::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  height: 48% !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(7, 84, 134, 0) 0%, rgba(7, 84, 134, .46) 50%, rgba(7, 84, 134, .9) 100%) !important;
}

body.cn-home-refined .cn-entryCard.is-gastro::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  height: 58% !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(176, 122, 69, 0) 0%, rgba(176, 122, 69, .42) 50%, rgba(176, 122, 69, .88) 100%) !important;
}

body.cn-home-refined .cn-entryCard.is-relax::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  height: 58% !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(176, 122, 69, 0) 0%, rgba(176, 122, 69, .42) 50%, rgba(176, 122, 69, .88) 100%) !important;
}

body.cn-home-refined .cn-entryCardGlow {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 1 !important;
  display: none !important;
  height: 0 !important;
  pointer-events: none !important;
  background: none !important;
}

body.cn-home-refined .cn-entryCard.is-gastro .cn-entryCardGlow,
body.cn-home-refined .cn-entryCard.is-relax .cn-entryCardGlow {
  background: none !important;
}

body.cn-home-refined .cn-entryCardBody {
  position: static !important;
  display: block !important;
  min-height: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}

body.cn-home-refined .cn-entryCardCopy {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 60px !important;
  z-index: 5 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
  contain: paint !important;
}

body.cn-home-refined .cn-entryIconBadge {
  position: absolute;
  top: 16px !important;
  right: 16px !important;
  z-index: 6;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgb(42 101 154) !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

body.cn-home-refined .cn-entryIconBadge.is-gastro,
body.cn-home-refined .cn-entryIconBadge.is-relax {
  background: var(--cn-orange) !important;
  color: #ffffff !important;
}

body.cn-home-refined .cn-entryIconBadge.is-relax {
  background: rgb(217 86 49) !important;
}

body.cn-home-refined .cn-entryIconBadge img,
body.cn-home-refined .cn-entryIconBadge svg {
  width: 24px !important;
  height: 24px !important;
  color: #fff !important;
  stroke: currentColor !important;
  filter: brightness(0) invert(1) !important;
}

body.cn-home-refined .cn-entryCard .cn-entryBadge {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 7 !important;
  width: auto !important;
  height: 18px !important;
  min-height: 18px !important;
  min-width: 0 !important;
  padding: 0px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-shadow: 0 1px 3px rgb(0 0 0 / 0%) !important;
  box-shadow: none !important;
}

body.cn-home-refined .cn-entryCard .cn-entryBadge,
body.cn-home-refined .cn-entryCard.is-rental .cn-entryBadge {
  border: 1px solid var(--cn-blue-pill) !important;
  background: var(--cn-blue-pill) !important;
}

body.cn-home-refined .cn-entryCard.is-gastro .cn-entryBadge,
body.cn-home-refined .cn-entryCard.is-relax .cn-entryBadge {
  border: 1px solid var(--cn-orange) !important;
  background: var(--cn-orange) !important;
}

body.cn-home-refined .cn-entryTitle,
body.cn-home-refined .cn-entryKitchenTitleLogo,
body.cn-home-refined .cn-entryDescription {
  position: relative !important;
  z-index: 5 !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;
}

body.cn-home-refined .cn-entryTitle {
  margin: 0 0 0px !important;
  color: #fff !important;
  font-size: clamp(33px, 2.0vw, 46px) !important;
  line-height: .88 !important;
  letter-spacing: -.07em !important;
  text-shadow: none !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
  font-size: clamp(25px, 2.095vw, 35px) !important;
  letter-spacing: -3.5px !important;
}

body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitleRest {
  display: block !important;
  white-space: normal !important;
  max-width: 100% !important;
}

body.cn-home-refined .cn-entryKitchenTitleLogo {
  width: 144px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 0 0px !important;
  filter: brightness(0) invert(1) drop-shadow(0 3px 10px rgba(0,0,0,.28)) !important;
}

body.cn-home-refined .cn-entryDescription {
  min-height: 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.32) !important;
  overflow-wrap: anywhere !important;
}

body.cn-home-refined .cn-entryAction {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 8 !important;
  width: auto !important;
  max-width: none !important;
  height: 28px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: currentColor !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: .81rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
  font-size: clamp(28px, 1.72vw, 34px) !important;
}

body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryDescription {
  font-size: 12px !important;
}

body.cn-home-refined .cn-entryAction.is-blue {
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

body.cn-home-refined .cn-entryAction.is-orange {
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

body.cn-home-refined .cn-entryCard:hover .cn-entryAction.is-blue {
  background: var(--cn-blue) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 18px rgba(31,47,58,.18) !important;
}

body.cn-home-refined .cn-entryCard:hover .cn-entryAction.is-orange {
  background: var(--cn-orange) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 18px rgba(31,47,58,.18) !important;
}

body.cn-home-refined .cn-entryAction svg {
  color: currentColor !important;
  stroke: currentColor !important;
}

/* Footer */
.cn-footer {
  width: min(100%, 960px);
  margin: 0 auto;
  padding: 0 12px;
  text-align: center;
}

.cn-footer .cn-footerTitle {
  margin: 6px auto 0 !important;
  color: #474e62 !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 24px !important;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .04em !important;
  text-transform: uppercase;
}

.cn-footer .cn-footer-actions {
  margin: 10px auto !important;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 12px !important;
}

.cn-footer .cn-footerPill {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: #1f2f3a;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 14px !important;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.cn-footer .cn-footerPill.is-whatsapp {
  border: 2px solid #25D366;
  color: #25D366;
}

.cn-footer .cn-footerPill.is-whatsapp .cn-footerPillIcon img {
  filter: brightness(0) saturate(100%) invert(61%) sepia(89%) saturate(475%) hue-rotate(89deg) brightness(95%) contrast(92%) !important;
}

.cn-footer .cn-footerPill.is-email {
  border: 2px solid #1f5f93;
}

.cn-footer .cn-footerPill.is-nerea {
  border: 2px solid var(--cn-orange);
  color: var(--cn-orange) !important;
}

.cn-footer .cn-footerPill.is-nerea .cn-footerPillIcon img {
  filter: brightness(0) saturate(100%) invert(78%) sepia(61%) saturate(1174%) hue-rotate(326deg) brightness(102%) contrast(98%) !important;
}

.cn-footer .cn-footerPill.is-whatsapp:hover,
.cn-footer .cn-footerPill.is-whatsapp:focus-visible {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #fff !important;
}

.cn-footer .cn-footerPill.is-email:hover,
.cn-footer .cn-footerPill.is-email:focus-visible {
  background: #1f5f93 !important;
  border-color: #1f5f93 !important;
  color: #fff !important;
}

.cn-footer .cn-footerPill.is-nerea:hover,
.cn-footer .cn-footerPill.is-nerea:focus-visible {
  background: var(--cn-orange) !important;
  border-color: var(--cn-orange) !important;
  color: #fff !important;
}

.cn-footer .cn-footerPill:hover .cn-footerPillIcon,
.cn-footer .cn-footerPill:hover .cn-footerPillText,
.cn-footer .cn-footerPill:hover svg,
.cn-footer .cn-footerPill:hover img,
.cn-footer .cn-footerPill:focus-visible .cn-footerPillIcon,
.cn-footer .cn-footerPill:focus-visible .cn-footerPillText,
.cn-footer .cn-footerPill:focus-visible svg,
.cn-footer .cn-footerPill:focus-visible img {
  color: #fff !important;
  stroke: currentColor !important;
  filter: brightness(0) invert(1) !important;
}

.cn-footer .cn-footerPillIcon {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cn-footer .cn-footerPillIcon svg,
.cn-footer .cn-footerPillIcon img {
  width: 20px !important;
  height: 20px !important;
}

.cn-footer .cn-footerAtIcon {
  color: currentColor !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.cn-footer p,
.cn-footer a,
.cn-footer .cn-footerLink {
  margin: 0 !important;
  color: var(--cn-muted) !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  text-decoration: none !important;
}

.cn-footer .cn-footerSocials {
  margin: 10px 0 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 20px !important;
}

.cn-footer .cn-footerSocialIcon,
.cn-footer .cn-footerSocialIcon svg {
  width: 24px !important;
  height: 24px !important;
  color: #34414d !important;
  opacity: 1 !important;
}

body.cn-home-refined .cn-footer p,
body.cn-home-refined .cn-footer a,
body.cn-home-refined .cn-footer .cn-footerLink,
body.cn-home-refined .cn-footer .text-\[\#3d4a37\],
body.cn-home-refined .cn-footer .text-\[\#5d6b57\] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: #525764 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 300 !important;
}

body.cn-home-refined .cn-footer .cn-footerTitle {
  color: #474e62 !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 22px !important;
  line-height: 1 !important;
  letter-spacing: 0px !important;
  font-weight: 400 !important;
}

body.cn-home-refined .cn-footer .cn-footerPill {
  color: #1f5f93 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

body.cn-home-refined .cn-footer .cn-footerPill.is-whatsapp {
  color: #25D366 !important;
}

body.cn-home-refined .cn-footer .cn-footerPill.is-nerea,
body.cn-home-refined .cn-footer .cn-footerPill.is-nerea .cn-footerPillIcon,
body.cn-home-refined .cn-footer .cn-footerPill.is-nerea .cn-footerPillText {
  color: var(--cn-orange) !important;
}

.cn-footer .cn-footerPill .cn-footerPillText {
  flex: 1 1 auto !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
}

/* Interior booking wizard */
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) {
  min-height: 100vh;
  padding: 24px 0 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #d8eef8;
  background-image: url("../assets/bg-fechas2.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities)::before,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities)::after {
  content: none;
  display: none;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) > .w-full.max-w-3xl {
  width: min(100%, 690px);
  max-width: 690px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-mainBrandLogo {
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.28));
  opacity: .96;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-kitchenHeaderLogo {
  display: block;
  width: 164px;
  max-width: 42vw;
  height: auto;
  margin: 0 auto 10px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.22));
  opacity: .98;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) #header,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) #progress,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCard,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardCardLight,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepPane,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-wizardContent {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendar-wrap,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .flatpickr-calendar {
  margin-right: auto;
  margin-left: auto;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-calendarHeader,
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-stepActionWrap {
  justify-content: center;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateCard {
  width: min(100%, 520px);
  max-width: 520px;
  margin: 16px auto 18px;
  padding: 18px 26px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 18px;
  background: rgba(31,47,58,.84);
  box-shadow: 0 12px 28px rgba(31,47,58,.18);
  color: #fff;
  text-align: center;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateLabel {
  margin: 0 0 8px;
  color: rgba(255,255,255,.74);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
}

.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities) .cn-selectedDateValue {
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
}

/* Activities accordion */
.cn-pageShellActivities {
  min-height: 100vh;
  padding: 34px 0 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-image: url("../assets/bg-actividades-act.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.cn-pageShellActivities > .w-full {
  width: min(calc(100% - 96px), 1430px);
  max-width: 1430px;
  margin-left: auto;
  margin-right: auto;
}

.cn-pageShellActivities .cn-activityScreen {
  width: 100%;
  padding: 0 !important;
}

.cn-pageShellActivities .cn-activityScreenInner {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.cn-pageShellActivities .cn-activityIntroPoster {
  margin: 0 auto 26px;
  text-align: center;
}

.cn-pageShellActivities .cn-activityIntroPoster .cn-entryBadge {
  padding: 4px 12px 3px !important;
  border: 1px solid rgba(255, 255, 255, 0.86) !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

.cn-pageShellActivities .cn-activityHeadline {
  margin: 8px auto 0;
  color: #fff;
  font-size: clamp(44px, 3.35vw, 62px);
  line-height: .9;
  letter-spacing: -.09em;
  text-shadow: 0 3px 16px rgba(15, 45, 70, .24);
}

.cn-pageShellActivities .cn-activityGrid--accordion {
  width: 100%;
  height: clamp(390px, 36vw, 500px);
  padding: 26px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  overflow: visible;
  border: 1px solid rgba(255,255,255,.66);
  border-left: 0;
  border-right: 0;
  border-radius: 26px;
  background: rgba(255,255,255,.42);
  box-shadow: 0 24px 64px rgba(31,47,58,.12);
  backdrop-filter: blur(8px);
  box-sizing: border-box;
}

.cn-pageShellActivities #header {
  margin: 0 !important;
}

.cn-pageShellActivities .cn-headerBrand {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto 8px !important;
  pointer-events: none !important;
}

.cn-pageShellActivities .cn-mainBrandLogo {
  display: block !important;
  width: 56px !important;
  height: auto !important;
  margin: 0 auto !important;
  filter: brightness(0) invert(1) !important;
  opacity: .96 !important;
}

.cn-pageShellActivities .cn-entryBackWrap {
  position: fixed !important;
  top: 18px !important;
  left: 18px !important;
  right: auto !important;
  margin: 0 !important;
  z-index: 50 !important;
}

.cn-pageShellActivities .cn-entryBackBtn {
  min-height: 46px !important;
  padding: 0 1.35rem !important;
  border: 1px solid rgba(245, 102, 31, 0.46) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 248, 0.96) !important;
  color: #f5661f !important;
  box-shadow: 0 12px 28px rgba(31, 47, 58, .12) !important;
}

.cn-pageShellActivities .cn-activityCard--accordion {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: rgba(226,241,248,.9);
  box-shadow: 0 14px 30px rgba(31,47,58,.08);
  transform: none;
  transition: flex-grow .46s cubic-bezier(.2, .78, .24, 1), box-shadow .32s ease;
}

.cn-pageShellActivities .cn-activityGrid--accordion:hover .cn-activityCard--accordion {
  flex-grow: .82;
}

.cn-pageShellActivities .cn-activityGrid--accordion .cn-activityCard--accordion:hover {
  flex-grow: 2.45;
  transform: none;
  box-shadow: 0 24px 46px rgba(31,47,58,.18);
}

.cn-pageShellActivities .cn-activityCard--accordion::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 4;
  height: 58%;
  background: linear-gradient(180deg, rgba(8, 72, 135, 0) 0%, rgba(8, 72, 135, .28) 34%, rgba(8, 72, 135, .82) 100%);
  pointer-events: none;
}

.cn-pageShellActivities .cn-activityAgePill {
  position: absolute;
  top: 13px;
  left: 13px;
  z-index: 8;
  min-height: 26px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #1766d8;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(31,47,58,.1);
}

.cn-pageShellActivities .cn-activityAgePill svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  overflow: visible;
  stroke-width: 2.2;
}

.cn-pageShellActivities .cn-activityCardMedia--poster {
  position: absolute;
  inset: 0;
  display: block;
  height: 100%;
  background: transparent;
}

.cn-pageShellActivities .cn-activityCardMedia--poster::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  height: 0;
  background: transparent;
}

.cn-pageShellActivities .cn-activityCardImage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: var(--cn-activity-focus-x, 50%) var(--cn-activity-focus-y, 50%);
  transform-origin: var(--cn-activity-focus-x, 50%) var(--cn-activity-focus-y, 50%) !important;
  transform: scale(1.015);
  opacity: 1;
  transition: opacity .3s ease, transform .5s cubic-bezier(.2, .78, .24, 1);
}

.cn-pageShellActivities .cn-activityCardImageHover {
  z-index: 1;
  opacity: 0;
  object-position: var(--cn-activity-focus-x, 50%) var(--cn-activity-focus-y, 50%);
  transform-origin: var(--cn-activity-focus-x, 50%) var(--cn-activity-focus-y, 50%) !important;
}

.cn-pageShellActivities .cn-activityCardImage.is-kitesurf {
  --cn-activity-focus-x: 72%;
  --cn-activity-focus-y: 48%;
}

.cn-pageShellActivities .cn-activityCardImage.is-wing {
  --cn-activity-focus-x: 42%;
  --cn-activity-focus-y: 48%;
}

.cn-pageShellActivities .cn-activityCardImage.is-windsurf {
  --cn-activity-focus-x: 55%;
  --cn-activity-focus-y: 48%;
}

.cn-pageShellActivities .cn-activityCardImage.is-wake,
.cn-pageShellActivities .cn-activityCardImage.is-sup-foil,
.cn-pageShellActivities .cn-activityCardImage.is-vela,
.cn-pageShellActivities .cn-activityCardImage.is-summer-camp,
.cn-pageShellActivities .cn-activityCardImage.is-moto-acuatica {
  --cn-activity-focus-x: 50%;
  --cn-activity-focus-y: 50%;
}

.cn-pageShellActivities .cn-activityCard--accordion:hover .cn-activityCardImage {
  transform: scale(1.035) !important;
}

.cn-pageShellActivities .cn-activityGrid:not(.is-rentals) .cn-activityCardImage,
.cn-pageShellActivities .cn-activityGrid--poster .cn-activityCardImage {
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: var(--cn-activity-focus-x, 50%) var(--cn-activity-focus-y, 50%) !important;
  transform-origin: var(--cn-activity-focus-x, 50%) var(--cn-activity-focus-y, 50%) !important;
  transform: scale(1.015) !important;
}

.cn-pageShellActivities .cn-activityGrid--poster .cn-activityCard--accordion:hover .cn-activityCardImage {
  transform: scale(1.035) !important;
}

.cn-pageShellActivities .cn-activityCard--accordion:hover .cn-activityCardImageHover {
  opacity: 1;
}

.cn-pageShellActivities .cn-activityCardMeta--poster {
  position: absolute;
  inset: auto 0 14px;
  z-index: 6;
  min-height: 116px;
  padding: 0 14px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  text-align: left;
  box-sizing: border-box;
}

.cn-pageShellActivities .cn-activityCardTitle--poster {
  width: 100%;
  max-width: 100%;
  color: #fff;
  font-family: "Marksys", "Brockmann", cursive;
  font-size: clamp(27px, 1.75vw, 38px);
  line-height: .9;
  letter-spacing: -.055em;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-shadow: 0 3px 12px rgba(0,0,0,.28);
}

.cn-pageShellActivities .cn-activityPosterNote {
  display: none !important;
}

.cn-pageShellActivities .cn-activityPosterAction {
  width: 100%;
  min-width: 0;
  height: 32px;
  margin-top: auto;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(255,255,255,.9);
  border-radius: 999px;
  background: transparent !important;
  color: #fff !important;
  font-family: "Brockmann", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  opacity: 1;
  transform: none;
  transition: background .22s ease, border-color .22s ease, color .22s ease;
}

.cn-pageShellActivities .cn-activityPosterAction::after {
  content: "→";
  margin-left: 12px;
  font-size: 18px;
  line-height: 1;
}

.cn-pageShellActivities .cn-activityCard--accordion:hover .cn-activityPosterNote,
.cn-pageShellActivities .cn-activityCard--accordion:hover .cn-activityPosterAction {
  opacity: 1;
  transform: translateY(0);
}

.cn-pageShellActivities .cn-activityCard--accordion:hover .cn-activityPosterAction {
  background: #ff5a18 !important;
  border-color: #ff5a18 !important;
  color: #fff !important;
}

.cn-pageShellActivities #footer {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 10px auto 0 !important;
  padding: 0 18px 8px !important;
}

.cn-pageShellActivities .cn-footer {
  width: 100% !important;
  max-width: 1120px !important;
  padding: 0 !important;
  color: #eef8ff !important;
  text-align: center !important;
}

.cn-pageShellActivities .cn-footer .cn-footerTitle {
  margin: 0 0 12px !important;
  color: #f4fbff !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.cn-pageShellActivities .cn-footer .cn-footer-actions {
  margin: 0 auto 10px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill {
  width: auto !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  border-width: 2px !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1f2f3a !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill:hover {
  color: #fff !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill.is-whatsapp {
  border-color: #25D366 !important;
  color: #25D366 !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill.is-whatsapp:hover {
  background: #25D366 !important;
  color: #fff !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill.is-email {
  border-color: #1f5f93 !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill.is-email:hover {
  background: #1f5f93 !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill.is-nerea {
  border-color: var(--cn-orange) !important;
  color: var(--cn-orange) !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPill.is-nerea:hover {
  background: var(--cn-orange) !important;
  color: #fff !important;
}

.cn-pageShellActivities .cn-footer .cn-footerPillIcon,
.cn-pageShellActivities .cn-footer .cn-footerPillIcon svg {
  width: 23px !important;
  height: 23px !important;
}

.cn-pageShellActivities .cn-footer p,
.cn-pageShellActivities .cn-footer a,
.cn-pageShellActivities .cn-footer .cn-footerLink,
.cn-pageShellActivities .cn-footer .text-\[\#3d4a37\],
.cn-pageShellActivities .cn-footer .text-\[\#5d6b57\] {
  margin: 0 !important;
  color: #eef8ff !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.cn-pageShellActivities .cn-footer .cn-footerSocials {
  margin: 10px 0 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
}

.cn-pageShellActivities .cn-footer .cn-footerSocialIcon,
.cn-pageShellActivities .cn-footer .cn-footerSocialIcon svg {
  width: 26px !important;
  height: 26px !important;
  color: #eef8ff !important;
  opacity: 1 !important;
}

#footer .cn-footer.cn-footer--activities {
  width: min(100%, 1120px) !important;
  margin: 0 auto !important;
  padding: 0 12px 4px !important;
  color: #eef8ff !important;
}

#footer .cn-footer.cn-footer--activities .cn-footerTitle {
  margin: 0 0 10px !important;
  color: #f4fbff !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

#footer .cn-footer.cn-footer--activities .cn-footer-actions {
  margin: 0 auto 8px !important;
  gap: 16px !important;
}

#footer .cn-footer.cn-footer--activities .cn-footerPill {
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 14px !important;
  border-width: 2px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  gap: 8px !important;
}

#footer .cn-footer.cn-footer--activities p,
#footer .cn-footer.cn-footer--activities a,
#footer .cn-footer.cn-footer--activities .cn-footerLink,
#footer .cn-footer.cn-footer--activities .text-\[\#3d4a37\],
#footer .cn-footer.cn-footer--activities .text-\[\#5d6b57\] {
  color: #eef8ff !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
}

#footer .cn-footer.cn-footer--activities .cn-footerTitle {
  margin: 0 0 8px !important;
  color: #f4fbff !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.cn-pageShellRentals {
  min-height: 100vh !important;
  padding: 24px 0 28px !important;
  background-color: #d9eef8 !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .24) 100%),
    url("../assets/bg-rentals.jpg") !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 48% !important;
}

.cn-pageShellRentals > .w-full {
  width: min(100%, 1320px) !important;
  max-width: 1320px !important;
}

.cn-pageShellRentals #header {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.cn-pageShellRentals .cn-rentalsScreen {
  width: min(100%, 920px) !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
  text-align: center !important;
}

.cn-pageShellRentals .cn-rentalsIntro {
  margin: 0 auto 18px !important;
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
}

.cn-pageShellRentals .cn-rentalsIntro .cn-entryBadge {
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(31, 95, 147, .34) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #1766d8 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(31, 95, 147, .10) !important;
}

.cn-pageShellRentals .cn-activityHeadline {
  margin: 0 !important;
  color: #164b7f !important;
  font-size: clamp(48px, 5vw, 72px) !important;
  line-height: .88 !important;
  letter-spacing: -.07em !important;
  text-shadow: none !important;
}

.cn-pageShellRentals .cn-activityLead {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #16406a !important;
  font-size: clamp(16px, 1.5vw, 22px) !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
}

.cn-pageShellRentals .cn-rentalsFrame {
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  padding: 24px 28px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .32) !important;
  box-shadow: 0 24px 54px rgba(31, 47, 58, .12) !important;
  backdrop-filter: blur(7px) !important;
}

.cn-pageShellRentals .cn-rentalsGrid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.cn-pageShellRentals .cn-rentalCard {
  min-height: 430px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .78) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 16px 38px rgba(31, 47, 58, .12) !important;
  color: #16406a !important;
  text-decoration: none !important;
  transition: transform 220ms ease, box-shadow 220ms ease !important;
}

.cn-pageShellRentals .cn-rentalCard:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 48px rgba(31, 47, 58, .16) !important;
}

.cn-pageShellRentals .cn-rentalCardMedia {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  overflow: hidden !important;
  background: #dceef8 !important;
}

.cn-pageShellRentals .cn-rentalCardImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  filter: none !important;
}

.cn-pageShellRentals .cn-rentalCardBody {
  flex: 1 !important;
  min-height: 0 !important;
  padding: 14px 26px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  background: rgba(255, 255, 255, .9) !important;
}

.cn-pageShellRentals .cn-rentalBadge {
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #5ba5f4 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.cn-pageShellRentals .cn-rentalTitle {
  color: #164b7f !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: clamp(34px, 3vw, 44px) !important;
  line-height: .9 !important;
  letter-spacing: -.06em !important;
  text-align: center !important;
}

.cn-pageShellRentals .cn-rentalText {
  max-width: 250px !important;
  margin: 0 auto !important;
  color: #16406a !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.cn-pageShellRentals .cn-rentalAction {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  border: 1px solid #1766d8 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: transparent !important;
  color: #1766d8 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  transition: background 180ms ease, color 180ms ease !important;
}

.cn-pageShellRentals .cn-rentalCard:hover .cn-rentalAction {
  background: #1766d8 !important;
  color: #fff !important;
}

.cn-pageShellRentals .cn-rentalActionIcon,
.cn-pageShellRentals .cn-rentalActionIcon svg {
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
  stroke: currentColor !important;
}

.cn-pageShellRentals #footer {
  width: min(100%, 960px) !important;
  margin: 16px auto 0 !important;
  padding: 0 18px 8px !important;
}

@media (max-width: 980px) {
  body.cn-home-refined .cn-pageShellEntry {
    background-position: center center !important;
  }

  body.cn-home-refined .cn-headerBrand .cn-mainBrandLogo {
    display: block !important;
    width: 46px !important;
    height: auto !important;
    margin: 0 auto 8px !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header {
    width: 100% !important;
    max-width: 1296px !important;
    margin: 18px auto 0px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    width: min(100%, 390px) !important;
    margin: 0 auto 8px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    max-width: 100% !important;
    margin: 10px auto !important;
    color: var(--cn-title) !important;
    font-size: clamp(36px, 2.9vw, 36px) !important;
    line-height: .92 !important;
    letter-spacing: -.09em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityLead {
    margin: 5px 0 0 !important;
    color: #5f5d5a !important;
    font-size: .88rem !important;
    display: none !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    padding: 10px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    border-radius: 22px !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    flex: none !important;
    flex-basis: auto !important;
    width: 100% !important;
    height: 186px !important;
    min-height: 186px !important;
    border-radius: 16px !important;
    transform: none !important;
  }

  body.cn-home-refined .cn-entryCardMedia,
  body.cn-home-refined .cn-entryCardVideo {
    inset: 0 auto 0 0 !important;
    width: 38% !important;
    height: 100% !important;
    background-position: 50% 50% !important;
  }

  body.cn-home-refined .cn-entryCardVideo {
    object-position: 50% 50% !important;
  }

  body.cn-home-refined .cn-entryCard::after,
  body.cn-home-refined .cn-entryCard.is-alt::after,
  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-rental::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 38% !important;
    z-index: 2 !important;
    height: 100% !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(7, 84, 134, .72) 0%, rgba(7, 84, 134, .94) 100%) !important;
  }

  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    background: linear-gradient(90deg, rgba(176, 122, 69, .72) 0%, rgba(176, 122, 69, .94) 100%) !important;
  }

  body.cn-home-refined .cn-entryCardCopy {
    left: calc(38% + 12px) !important;
    right: 6px !important;
    bottom: 44% !important;
    max-height: 100px !important;
    overflow: visible !important;
    contain: none !important;
  }

  body.cn-home-refined .cn-entryTitle {
    font-size: 33px !important;
    line-height: .88 !important;
    letter-spacing: -.07em !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
    font-size: 22px !important;
    line-height: .86 !important;
    letter-spacing: -1.7px !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitleRest {
    white-space: nowrap !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryCardCopy {
    bottom: 64px !important;
  }

  body.cn-home-refined .cn-entryKitchenTitleLogo {
    width: 130px !important;
  }

  body.cn-home-refined .cn-entryDescription {
    min-height: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .26) !important;
    display: none !important;
  }

  body.cn-home-refined .cn-entryAction {
    left: calc(38% + 12px) !important;
    right: 12px !important;
    bottom: 14px !important;
    height: 32px !important;
    min-height: 32px !important;
    font-size: 12px !important;
    gap: 8px !important;
  }

  body.cn-home-refined .cn-entryCard .cn-entryBadge {
    top: 12px !important;
    left: calc(38% + 12px) !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 10px !important;
    font-size: 9px !important;
  }

  body.cn-home-refined .cn-entryIconBadge {
    top: 12px !important;
    right: 12px !important;
    width: 34px !important;
    height: 34px !important;
  }

  body.cn-home-refined .cn-entryIconBadge img,
  body.cn-home-refined .cn-entryIconBadge svg {
    width: 19px !important;
    height: 19px !important;
  }

  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
    font-size: 33px !important;
  }

  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryDescription {
    font-size: 13px !important;
  }

  .cn-footer .cn-footer-actions {
    flex-wrap: wrap;
    gap: 12px;
  }

  .cn-pageShellActivities {
    padding: 24px 0;
  }

  .cn-pageShellActivities > .w-full {
    width: min(calc(100% - 28px), 1430px);
  }

  .cn-pageShellActivities .cn-activityScreen {
    padding: 0 14px !important;
  }

  .cn-pageShellActivities .cn-activityScreenInner {
    padding: 0;
    border-radius: 0;
  }

  .cn-pageShellActivities .cn-activityGrid--accordion {
    height: auto;
    padding: 14px;
    flex-direction: column;
    border-radius: 24px;
  }

  .cn-pageShellActivities .cn-activityCard--accordion,
  .cn-pageShellActivities .cn-activityGrid--accordion:hover .cn-activityCard--accordion,
  .cn-pageShellActivities .cn-activityGrid--accordion .cn-activityCard--accordion:hover {
    flex: none;
    width: 100%;
    height: 410px;
    transform: none;
  }

  .cn-pageShellActivities .cn-activityCard--accordion::after {
    height: 62%;
  }

  .cn-pageShellActivities .cn-activityCardMeta--poster {
    inset: auto 0 14px;
    min-height: 116px;
    padding: 0 14px;
    gap: 10px;
  }

  .cn-pageShellActivities .cn-activityCardTitle--poster {
    font-size: clamp(34px, 10vw, 42px);
    line-height: .88;
  }

  .cn-pageShellActivities .cn-activityPosterNote {
    display: none !important;
  }

  .cn-pageShellActivities .cn-activityPosterAction {
    height: 34px;
    font-size: 12px;
  }

  .cn-pageShellActivities .cn-activityPosterAction {
    opacity: 1;
    transform: none;
  }

  .cn-pageShellRentals .cn-rentalsFrame {
    width: min(100%, 560px) !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }

  .cn-pageShellRentals .cn-rentalsGrid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .cn-pageShellRentals .cn-rentalCard {
    min-height: 156px !important;
    height: 156px !important;
    flex-direction: row !important;
    border-radius: 16px !important;
  }

  .cn-pageShellRentals .cn-rentalCardMedia {
    flex: 0 0 42% !important;
    width: 42% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .cn-pageShellRentals .cn-rentalCardImage {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .cn-pageShellRentals .cn-rentalCardBody {
    flex: 1 1 auto !important;
    padding: 10px 12px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: left !important;
  }

  .cn-pageShellRentals .cn-rentalBadge {
    height: 17px !important;
    min-height: 17px !important;
    padding: 0 10px !important;
    font-size: 9px !important;
  }

  .cn-pageShellRentals .cn-rentalTitle {
    font-size: 30px !important;
    line-height: .86 !important;
    text-align: left !important;
  }

  .cn-pageShellRentals .cn-rentalText {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    text-align: left !important;
  }

  .cn-pageShellRentals .cn-rentalAction {
    width: auto !important;
    min-width: 148px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    gap: 8px !important;
  }

  .cn-pageShellRentals .cn-rentalActionIcon,
  .cn-pageShellRentals .cn-rentalActionIcon svg {
    width: 15px !important;
    height: 15px !important;
  }
}

@media (max-width: 640px) {
  #app {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
  }
}

@media (max-width: 600px) {
  body.cn-home-refined .cn-pageShellEntry {
    justify-content: flex-start !important;
    min-height: 100svh !important;
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    background-position: center center !important;
  }

  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    align-content: start !important;
    width: 100% !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header {
    margin: 14px auto 0 !important;
  }

  body.cn-home-refined .cn-headerBrand .cn-mainBrandLogo {
    width: 42px !important;
    margin-bottom: 7px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    width: 100% !important;
    max-width: 390px !important;
    margin: 0 auto 8px !important;
    padding: 0 12px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-entryBadge {
    min-height: 20px !important;
    padding: 4px 13px 3px !important;
    font-size: 8px !important;
    letter-spacing: .09em !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    max-width: 100% !important;
    margin: 10px auto !important;
    color: var(--cn-title) !important;
    font-size: clamp(36px, 2.9vw, 36px) !important;
    line-height: .92 !important;
    letter-spacing: -.09em !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityLead {
    max-width: 330px !important;
    margin: 5px auto 0 !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  body.cn-home-refined .cn-entryScreen {
    padding: 0 8px !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: min(100%, 430px) !important;
    padding: 8px !important;
    gap: 8px !important;
    border-radius: 20px !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    height: 174px !important;
    min-height: 174px !important;
    border-radius: 15px !important;
  }

  body.cn-home-refined .cn-entryCardMedia,
  body.cn-home-refined .cn-entryCardVideo {
    width: 38% !important;
    background-position: center center !important;
  }

  body.cn-home-refined .cn-entryCard::after,
  body.cn-home-refined .cn-entryCard.is-alt::after,
  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-rental::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    left: 38% !important;
  }

  body.cn-home-refined .cn-entryCardCopy {
    top: 60px !important;
    bottom: auto !important;
    left: calc(38% + 12px) !important;
    right: 12px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.cn-home-refined .cn-entryTitle,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
    font-size: 28px !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
  }

  body.cn-home-refined .cn-entryKitchenTitleLogo {
    width: 112px !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryCardCopy {
    top: 47px !important;
    bottom: auto !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
    font-size: 19px !important;
    line-height: .92 !important;
    letter-spacing: -1px !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitleRest {
    white-space: nowrap !important;
  }

  body.cn-home-refined .cn-entryDescription,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryDescription {
    max-width: 100% !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
  }

  body.cn-home-refined .cn-entryAction {
    left: calc(38% + 12px) !important;
    right: 12px !important;
    bottom: 12px !important;
    height: 30px !important;
    min-height: 30px !important;
    font-size: 10px !important;
    letter-spacing: .13em !important;
  }

  body.cn-home-refined .cn-entryCard .cn-entryBadge {
    left: calc(38% + 12px) !important;
    top: 12px !important;
    height: 17px !important;
    min-height: 17px !important;
    padding: 0 10px !important;
    font-size: 8px !important;
  }

  body.cn-home-refined .cn-entryIconBadge {
    top: 12px !important;
    right: 12px !important;
    width: 32px !important;
    height: 32px !important;
  }
}

/* Final shared behavior: activity selectors, index footer and global back button */
.cn-pageShell .cn-entryBackWrap {
  position: fixed !important;
  top: 18px !important;
  left: 18px !important;
  right: auto !important;
  margin: 0 !important;
  z-index: 100 !important;
}

.cn-pageShell .cn-entryBackBtn {
  min-height: 46px !important;
  padding: 0 1.35rem !important;
  border: 1px solid rgba(245, 102, 31, 0.46) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 248, 0.96) !important;
  color: #f5661f !important;
  box-shadow: 0 12px 28px rgba(31, 47, 58, 0.12) !important;
}

.cn-pageShellActivities .cn-activityCardMedia--poster,
.cn-pageShellActivities .cn-activityCardImage,
.cn-pageShellActivityWizard .cn-programCardArt,
.cn-pageShellActivityWizard .cn-programCardImage {
  width: 100% !important;
  max-width: none !important;
}

.cn-pageShellActivities .cn-activityCardImage,
.cn-pageShellActivityWizard .cn-programCardImage {
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
}

.cn-pageShellActivities .cn-activityPosterAction {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  border-width: 2px !important;
}

.cn-footer.cn-footer--dark,
#footer .cn-footer.cn-footer--dark,
.cn-pageShellActivities .cn-footer.cn-footer--dark {
  width: min(100%, 960px) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 12px 6px !important;
  color: #525764 !important;
}

.cn-footer.cn-footer--dark .cn-footer-actions,
#footer .cn-footer.cn-footer--dark .cn-footer-actions,
.cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footer-actions {
  margin: 10px auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}

.cn-footer.cn-footer--dark .cn-footerPill,
#footer .cn-footer.cn-footer--dark .cn-footerPill,
.cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footerPill {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 2px 14px !important;
  gap: 6px !important;
  border-width: 2px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
}

.cn-footer.cn-footer--dark .cn-footerTitle,
#footer .cn-footer.cn-footer--dark .cn-footerTitle,
.cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footerTitle {
  margin: 6px auto 0 !important;
  color: #474e62 !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.cn-footer.cn-footer--dark p,
.cn-footer.cn-footer--dark a,
.cn-footer.cn-footer--dark .cn-footerLink,
#footer .cn-footer.cn-footer--dark p,
#footer .cn-footer.cn-footer--dark a,
.cn-pageShellActivities .cn-footer.cn-footer--dark p,
.cn-pageShellActivities .cn-footer.cn-footer--dark a {
  margin: 0 !important;
  color: #525764 !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
}

.cn-footer.cn-footer--dark .cn-footerSocials,
#footer .cn-footer.cn-footer--dark .cn-footerSocials,
.cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footerSocials {
  margin: 0 5px 0 0 !important;
  gap: 20px !important;
}

.cn-footer.cn-footer--dark .cn-footerSocialIcon,
.cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
#footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
#footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
.cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footerSocialIcon,
.cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footerSocialIcon svg {
  width: 24px !important;
  height: 24px !important;
  color: #34414d !important;
}

@media (max-width: 760px) {
  .cn-pageShell .cn-entryBackWrap {
    top: 10px !important;
    left: 10px !important;
  }

  .cn-pageShell .cn-entryBackBtn {
    min-height: 42px !important;
    padding: 0 1rem !important;
  }

  .cn-footer.cn-footer--dark .cn-footer-actions,
  #footer .cn-footer.cn-footer--dark .cn-footer-actions,
  .cn-pageShellActivities .cn-footer.cn-footer--dark .cn-footer-actions {
    flex-wrap: wrap !important;
  }
}

/* Final program-card override: Kitesurf programs match the activities card section */
.cn-pageShellProgramChoice .cn-wizardCard,
.cn-pageShellProgramChoice .cn-wizardCardLight,
.cn-pageShellProgramChoice .cn-wizardCardLight .cn-wizardContent,
.cn-pageShellProgramChoice .cn-wizardContent {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  overflow: visible !important;
}

.cn-pageShellProgramChoice .cn-wizardCard::before,
.cn-pageShellProgramChoice .cn-wizardCard::after,
.cn-pageShellProgramChoice .cn-wizardCardLight::before,
.cn-pageShellProgramChoice .cn-wizardCardLight::after {
  display: none !important;
  content: none !important;
}

.cn-pageShellProgramChoice .cn-programStep {
  padding: 0 !important;
  background: transparent !important;
}

.cn-pageShellProgramChoice .cn-programStep > .text-center h2 {
  color: #fff !important;
  text-shadow: 0 3px 16px rgba(15, 45, 70, 0.24) !important;
}

.cn-pageShellProgramChoice .cn-programStep > .text-center p {
  color: rgba(255, 255, 255, 0.9) !important;
}

.cn-pageShellProgramChoice .cn-programGrid.is-kitesurf {
  border: 1px solid rgba(255, 255, 255, 0.66) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: rgba(255, 255, 255, 0.42) !important;
  box-shadow: 0 24px 64px rgba(31, 47, 58, 0.12) !important;
  backdrop-filter: blur(8px) !important;
}

.cn-pageShell.cn-pageShellActivityWizard.cn-pageShellProgramChoice .cn-wizardCard.cn-wizardCardLight {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.cn-pageShell.cn-pageShellActivityWizard.cn-pageShellProgramChoice .cn-wizardCard.cn-wizardCardLight::before,
.cn-pageShell.cn-pageShellActivityWizard.cn-pageShellProgramChoice .cn-wizardCard.cn-wizardCardLight::after {
  display: none !important;
  content: none !important;
}

.cn-pageShellProgramChoice .cn-programCardContent .cn-programCardSummary {
  display: -webkit-box !important;
  margin: 0.7rem 0 0 !important;
  max-width: 94% !important;
  overflow: hidden !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 500 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.24) !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.cn-pageShellProgramChoice .cn-programCardContent .space-y-2 {
  margin-top: 0.48rem !important;
}

/* Final activities landing polish: light footer, bottom-aligned cards and no card blur */
.cn-wizardCard,
.cn-wizardCardLight {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.cn-pageShellActivities .cn-activityGrid--accordion {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.cn-pageShellActivities .cn-activityCardMeta--poster {
  top: auto !important;
  right: 0 !important;
  bottom: 14px !important;
  left: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 12px !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.cn-pageShellActivities .cn-activityCardTitle--poster {
  margin: 0 !important;
}

.cn-pageShellActivities .cn-activityPosterAction {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 32px !important;
  min-height: 32px !important;
  margin-top: 0 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  border-width: 2px !important;
  font-size: clamp(9px, 0.68vw, 12px) !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

.cn-pageShellActivities .cn-activityPosterAction::after {
  margin-left: 8px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light {
  width: min(100%, 960px) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 12px 6px !important;
  color: #f5fbff !important;
  text-align: center !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footer-actions {
  margin: 6px auto 6px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPill {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-width: 2px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPill.is-whatsapp {
  border-color: #25d366 !important;
  color: #25d366 !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPill.is-email {
  border-color: #2b6597 !important;
  color: #2b6597 !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPill.is-nerea {
  border-color: #f59b3d !important;
  color: #f59b3d !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPillIcon,
.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPillText,
.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerAtIcon {
  color: currentColor !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPill.is-whatsapp .cn-footerPillIcon img {
  filter: brightness(0) saturate(100%) invert(62%) sepia(67%) saturate(777%) hue-rotate(88deg) brightness(95%) contrast(91%) !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerPill.is-nerea .cn-footerPillIcon img {
  filter: brightness(0) saturate(100%) invert(70%) sepia(56%) saturate(818%) hue-rotate(335deg) brightness(101%) contrast(92%) !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerTitle,
.cn-pageShellActivities .cn-footer.cn-footer--light p,
.cn-pageShellActivities .cn-footer.cn-footer--light a,
.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerLink,
.cn-pageShellActivities .cn-footer.cn-footer--light .text-\[\#3d4a37\],
.cn-pageShellActivities .cn-footer.cn-footer--light .text-\[\#5d6b57\] {
  margin-top: 0 !important;
  color: #f5fbff !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerTitle {
  margin: 0 0 12px !important;
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light p,
.cn-pageShellActivities .cn-footer.cn-footer--light a,
.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerLink {
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerSocials {
  margin: 10px 0 0 !important;
  gap: 20px !important;
}

.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerSocialIcon,
.cn-pageShellActivities .cn-footer.cn-footer--light .cn-footerSocialIcon svg {
  width: 24px !important;
  height: 24px !important;
  color: #f5fbff !important;
}

@media (max-width: 760px) {
  .cn-pageShellActivities .cn-footer.cn-footer--light .cn-footer-actions {
    flex-wrap: wrap !important;
  }
}

/* Final mobile overflow guard: avoid the lateral blank space after zooming */
html,
body,
#app {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

#app {
  overflow-x: clip !important;
}

.cn-pageShell,
.cn-pageShellEntry,
.cn-pageShellActivities,
.cn-pageShellRentals,
.cn-pageShellActivityWizard,
.cn-footer,
#footer,
.cn-wizardCard,
.cn-wizardCardLight {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.cn-footer,
#footer .cn-footer,
.cn-pageShellActivities .cn-footer.cn-footer--light,
.cn-footer.cn-footer--dark,
#footer .cn-footer.cn-footer--dark {
  width: min(100%, 960px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .cn-pageShell,
  .cn-pageShellEntry,
  .cn-pageShellActivities,
  .cn-pageShellRentals,
  .cn-pageShellActivityWizard {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .cn-pageShell > .w-full,
  .cn-pageShellActivities > .w-full,
  .cn-pageShellRentals > .w-full {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Final mobile home layout: fixed contact bar plus content footer */
.cn-footerLogoMark,
.cn-mobileActionBar {
  display: none !important;
}

@media (max-width: 600px) {
  body.cn-home-refined {
    background: #f6efe7 !important;
  }

  body.cn-home-refined .cn-pageShellEntry {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    min-height: 100svh !important;
    padding: 0 0 calc(104px + env(safe-area-inset-bottom)) !important;
    justify-content: flex-start !important;
    background-color: #f6efe7 !important;
  }

  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    display: block !important;
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header {
    margin: 16px auto 0 !important;
    padding: 0 16px !important;
  }

  body.cn-home-refined .cn-headerBrand {
    display: block !important;
    margin: 0 auto 6px !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-headerBrand .cn-mainBrandLogo {
    display: block !important;
    width: 42px !important;
    height: auto !important;
    margin: 0 auto 5px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    max-width: 390px !important;
    margin: 0 auto 14px !important;
    padding: 0 14px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-entryBadge,
  body.cn-home-refined .cn-entryIntroSimple .cn-activityLead {
    display: none !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 0 auto !important;
    color: #0b477a !important;
    font-size: 32px !important;
    line-height: .92 !important;
    letter-spacing: -.05em !important;
    text-align: left !important;
  }

  body.cn-home-refined .cn-entryScreen {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 16px !important;
    overflow: visible !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: min(calc(100vw - 32px), 360px) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    width: 100% !important;
    max-width: 100% !important;
    height: 164px !important;
    min-height: 164px !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 28px rgba(16, 52, 78, .12) !important;
  }

  body.cn-home-refined .cn-entryCardMedia,
  body.cn-home-refined .cn-entryCardVideo {
    width: 43% !important;
  }

  body.cn-home-refined .cn-entryCard::after,
  body.cn-home-refined .cn-entryCard.is-alt::after,
  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-rental::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    left: 43% !important;
  }

  body.cn-home-refined .cn-entryCardCopy {
    top: 58px !important;
    left: calc(43% + 12px) !important;
    right: 12px !important;
  }

  body.cn-home-refined .cn-entryTitle,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
    font-size: 27px !important;
    line-height: .9 !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryCardCopy {
    top: 50px !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
    font-size: 20px !important;
    line-height: .94 !important;
  }

  body.cn-home-refined .cn-entryKitchenTitleLogo {
    width: 116px !important;
  }

  body.cn-home-refined .cn-entryAction {
    left: calc(43% + 12px) !important;
    right: 12px !important;
    bottom: 13px !important;
    height: 32px !important;
    min-height: 32px !important;
    border-width: 1.5px !important;
    font-size: 10px !important;
  }

  body.cn-home-refined .cn-entryCard .cn-entryBadge {
    left: calc(43% + 12px) !important;
    top: 14px !important;
  }

  body.cn-home-refined .cn-entryIconBadge {
    top: 12px !important;
    right: 12px !important;
    width: 31px !important;
    height: 31px !important;
  }

  body.cn-home-refined .cn-pageShellEntry #footer {
    width: 100% !important;
    max-width: none !important;
    margin: 28px auto 0 !important;
    padding: 0 16px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    width: min(calc(100vw - 32px), 360px) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto !important;
    padding: 26px 18px 28px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 8px !important;
    background: rgba(250, 244, 236, .94) !important;
    box-shadow: 0 12px 34px rgba(31,47,58,.08) !important;
    color: #0b477a !important;
  }

  body.cn-home-refined #footer .cn-footer-actions,
  body.cn-home-refined #footer .cn-footer > .cn-footer-actions.mt-0.flex {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.cn-home-refined #footer .cn-footerLogoMark {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle {
    margin: 0 auto 14px !important;
    color: #0b477a !important;
    font-size: 30px !important;
    line-height: .95 !important;
    text-align: center !important;
  }

  body.cn-home-refined #footer p,
  body.cn-home-refined #footer a,
  body.cn-home-refined #footer .cn-footerLink {
    color: #0b477a !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body.cn-home-refined #footer p:nth-of-type(3) {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footerSocials {
    margin-top: 20px !important;
    gap: 24px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg {
    width: 28px !important;
    height: 28px !important;
    color: #0b477a !important;
  }

  body.cn-home-refined #footer .cn-mobileActionBar {
    position: fixed !important;
    left: 0px !important;
    right: 0px !important;
    bottom: 0 !important;
    z-index: 1200 !important;
    height: calc(80px + env(safe-area-inset-bottom)) !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    border-radius: 12px 12px 0 0 !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 12px 34px rgba(0, 57, 104, .28) !important;
  }

  body.cn-home-refined #footer .cn-mobileAction {
    position: relative !important;
    min-width: 0 !important;
    padding: 9px 6px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    color: #fff !important;
    font-family: "Brockmann", Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-mobileAction + .cn-mobileAction::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 15px !important;
    bottom: 15px !important;
    width: 1px !important;
    background: rgba(255,255,255,.58) !important;
  }

  body.cn-home-refined #footer .cn-mobileAction.is-nerea {
    color: #f59b3d !important;
  }

  body.cn-home-refined #footer .cn-mobileActionIcon {
    width: 24px !important;
    height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: currentColor !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
  }

  body.cn-home-refined #footer .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileActionIcon svg {
    width: 24px !important;
    height: 24px !important;
    filter: brightness(0) invert(1) !important;
  }

  body.cn-home-refined #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img {
    filter: brightness(0) saturate(100%) invert(69%) sepia(88%) saturate(638%) hue-rotate(334deg) brightness(101%) contrast(95%) !important;
  }
}

/* Compact desktop and horizontal tablet home */
@media (min-width: 601px) and (max-width: 1366px) and (orientation: landscape) {
  body.cn-home-refined .cn-pageShellEntry {
    width: 100vw !important;
    min-width: 0 !important;
    min-height: 100svh !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    background-position: center center !important;
  }

  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    padding: clamp(18px, 3.4svh, 34px) 24px clamp(72px, 9svh, 110px) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-content: stretch !important;
    justify-items: center !important;
    box-sizing: border-box !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 10px !important;
  }

  body.cn-home-refined .cn-headerBrand .cn-mainBrandLogo {
    width: 42px !important;
    margin: 0 auto 4px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-entryBadge,
  body.cn-home-refined .cn-entryIntroSimple .cn-activityLead {
    display: none !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 0 auto !important;
    color: #0b477a !important;
    font-size: clamp(31px, 3.2vw, 42px) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
  }

  body.cn-home-refined .cn-entryScreen {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 0 clamp(10px, 1.8svh, 20px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    place-self: stretch center !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: min(100%, 1260px) !important;
    max-width: 1260px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1.2vw, 16px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(330px, calc(100svh - 286px), 430px) !important;
    min-height: 330px !important;
    max-height: 390px !important;
    flex: none !important;
    border-radius: 18px !important;
    transform: none !important;
    box-shadow: 0 16px 30px rgba(31,47,58,.15) !important;
  }

  body.cn-home-refined .cn-entryCardMedia,
  body.cn-home-refined .cn-entryCardVideo {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-position: center center !important;
    object-position: center center !important;
  }

  body.cn-home-refined .cn-entryCard::after,
  body.cn-home-refined .cn-entryCard.is-alt::after,
  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-rental::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 48% !important;
  }

  body.cn-home-refined .cn-entryCardCopy,
  body.cn-home-refined .cn-entryCard.is-rental .cn-entryCardCopy {
    top: auto !important;
    right: 14px !important;
    bottom: 54px !important;
    left: 14px !important;
    max-height: none !important;
    align-items: flex-start !important;
  }

  body.cn-home-refined .cn-entryTitle,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
    font-size: clamp(44px, 3vw, 44px) !important;
    line-height: .88 !important;
    letter-spacing: -.085em !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
    font-size: clamp(34px, 4vw, 34px) !important;
    line-height: .9 !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitleRest {
    white-space: normal !important;
  }

  body.cn-home-refined .cn-entryKitchenTitleLogo {
    width: clamp(122px, 12vw, 166px) !important;
  }

  body.cn-home-refined .cn-entryDescription {
    display: none !important;
  }

  body.cn-home-refined .cn-entryAction {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    height: 31px !important;
    min-height: 31px !important;
    border-width: 1.5px !important;
    font-size: clamp(9px, .92vw, 12px) !important;
  }

  body.cn-home-refined .cn-entryCard .cn-entryBadge {
    top: 14px !important;
    left: 14px !important;
    height: 18px !important;
    min-height: 18px !important;
    font-size: 9px !important;
  }

  body.cn-home-refined .cn-entryIconBadge {
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.cn-home-refined .cn-pageShellEntry #footer {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    width: 100% !important;
    max-width: none !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 12px clamp(18px, 2.4vw, 30px) !important;
    display: grid !important;
    grid-template-columns: minmax(148px, .8fr) minmax(150px, .72fr) minmax(410px, 1.75fr) minmax(88px, .34fr) !important;
    grid-template-areas: "brand address actions socials" !important;
    align-items: center !important;
    column-gap: clamp(10px, 1.45vw, 22px) !important;
    border: 0 !important;
    border-radius: 20PX 20PX 0 0 !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 -8px 28px rgba(0,57,104,.12) !important;
    color: #fff !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body.cn-home-refined #footer p:nth-of-type(3) {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle {
    grid-area: brand !important;
    margin: 0 !important;
    padding-right: clamp(12px, 1.6vw, 20px) !important;
    border-right: 1px solid rgba(255,255,255,.68) !important;
    color: #fff !important;
    line-height: .95 !important;
    text-align: center !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleSub {
    display: block !important;
    color: #fff !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain {
    font-size: clamp(23px, 2.25vw, 32px) !important;
    line-height: .9 !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub {
    margin-top: 2px !important;
    font-size: clamp(14px, 1.4vw, 18px) !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2) {
    grid-area: address !important;
    margin: 0px 0px 0 10px !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: clamp(12px, 1.4vw, 15px) !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footer-actions {
    grid-area: actions !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: clamp(7px, .85vw, 12px) !important;
  }

  body.cn-home-refined #footer .cn-footerPill {
    width: auto !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 14px !important;
    gap: 6px !important;
    background: transparent !important;
    font-size: 1.2rem !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText {
    color: currentColor !important;
    font-size: clamp(12px, 1vw, 14px) !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-whatsapp,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillText {
    color: #25D366 !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email {
    color: #fff !important;
    border-color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText {
    color: #ff9f1c !important;
  }

  body.cn-home-refined #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 0 5px 0 0 !important;
    justify-content: flex-end !important;
    gap: 20px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg {
    width: 22px !important;
    height: 22px !important;
    color: #fff !important;
  }
}

@media (min-width: 601px) and (max-width: 979px) and (orientation: landscape) {
  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    padding-bottom: clamp(78px, 9.6svh, 116px) !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    height: clamp(330px, calc(100svh - 286px), 430px) !important;
    min-height: 330px !important;
    max-height: 390px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    padding: 10px 16px !important;
    grid-template-columns: minmax(130px, .62fr) minmax(132px, .62fr) minmax(378px, 1.8fr) minmax(72px, .28fr) !important;
    column-gap: 8px !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain {
    font-size: clamp(21px, 2.35vw, 25px) !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub {
    font-size: clamp(14px, 1.4vw, 18px) !important;
  }

  body.cn-home-refined #footer .cn-footerPill {
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 14px !important;
    gap: 6px !important;
    font-size: 1.2rem !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText {
    font-size: clamp(12px, 1vw, 14px) !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.cn-home-refined #footer .cn-footerSocials {
    margin: 0 5px 0 0 !important;
    gap: 20px !important;
  }
}

/* Vertical tablet home: 2-up cards with the compact header/footer treatment */
@media (min-width: 601px) and (max-width: 979px) and (orientation: portrait) {
  body.cn-home-refined .cn-pageShellEntry {
    width: 100vw !important;
    min-width: 0 !important;
    min-height: 100svh !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    background-position: center center !important;
  }

  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    padding: clamp(22px, 3svh, 34px) clamp(18px, 3vw, 28px) clamp(26px, 3.4svh, 38px) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-content: stretch !important;
    justify-items: center !important;
    box-sizing: border-box !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 16px !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-headerBrand .cn-mainBrandLogo {
    display: block !important;
    width: 46px !important;
    height: auto !important;
    margin: 0 auto 5px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-entryBadge,
  body.cn-home-refined .cn-entryIntroSimple .cn-activityLead {
    display: none !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 0 auto !important;
    color: #0b477a !important;
    font-size: clamp(34px, 5vw, 44px) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-entryScreen {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    place-self: stretch center !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(12px, 2vw, 18px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(286px, 31svh, 340px) !important;
    min-height: 286px !important;
    max-height: 340px !important;
    flex: none !important;
    flex-basis: auto !important;
    border-radius: 18px !important;
    transform: none !important;
    box-shadow: 0 16px 30px rgba(31,47,58,.15) !important;
  }

  body.cn-home-refined .cn-entryCardMedia,
  body.cn-home-refined .cn-entryCardVideo {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-position: center center !important;
    object-position: center center !important;
  }

  body.cn-home-refined .cn-entryCard::after,
  body.cn-home-refined .cn-entryCard.is-alt::after,
  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-rental::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 52% !important;
    background: linear-gradient(180deg, rgba(7,84,134,0) 0%, rgba(7,84,134,.46) 50%, rgba(7,84,134,.9) 100%) !important;
  }

  body.cn-home-refined .cn-entryCard.is-gastro::after,
  body.cn-home-refined .cn-entryCard.is-relax::after {
    background: linear-gradient(180deg, rgba(176,122,69,0) 0%, rgba(176,122,69,.42) 50%, rgba(176,122,69,.88) 100%) !important;
  }

  body.cn-home-refined .cn-entryCardCopy,
  body.cn-home-refined .cn-entryCard.is-rental .cn-entryCardCopy {
    top: auto !important;
    right: 14px !important;
    bottom: 52px !important;
    left: 14px !important;
    max-height: none !important;
    align-items: flex-start !important;
  }

  body.cn-home-refined .cn-entryTitle,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
    font-size: clamp(34px, 5.4vw, 44px) !important;
    line-height: .88 !important;
    letter-spacing: -.085em !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
    font-size: clamp(28px, 4.2vw, 34px) !important;
    line-height: .9 !important;
    letter-spacing: -.06em !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitleRest {
    white-space: normal !important;
  }

  body.cn-home-refined .cn-entryKitchenTitleLogo {
    width: clamp(126px, 20vw, 162px) !important;
  }

  body.cn-home-refined .cn-entryDescription {
    display: none !important;
  }

  body.cn-home-refined .cn-entryAction {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    height: 31px !important;
    min-height: 31px !important;
    border-width: 1.5px !important;
    font-size: clamp(9px, 1.3vw, 12px) !important;
  }

  body.cn-home-refined .cn-entryCard .cn-entryBadge {
    top: 14px !important;
    left: 14px !important;
    height: 18px !important;
    min-height: 18px !important;
    font-size: 9px !important;
  }

  body.cn-home-refined .cn-entryIconBadge {
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.cn-home-refined .cn-pageShellEntry #footer {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    width: 100% !important;
    max-width: none !important;
    min-height: 150px !important;
    margin: 0 !important;
    padding: 22px clamp(26px, 4.4vw, 42px) 24px !important;
    display: grid !important;
    grid-template-columns: minmax(188px, .55fr) minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand address socials"
      "brand actions actions" !important;
    align-items: center !important;
    column-gap: clamp(22px, 4vw, 34px) !important;
    row-gap: 16px !important;
    border: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 -8px 28px rgba(0,57,104,.12) !important;
    color: #fff !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body.cn-home-refined #footer p:nth-of-type(3) {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle {
    grid-area: brand !important;
    margin: 0 !important;
    min-width: 0 !important;
    position: relative !important;
    padding-right: clamp(22px, 3.4vw, 34px) !important;
    border-right: 0 !important;
    color: #fff !important;
    line-height: .95 !important;
    text-align: center !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    width: 1px !important;
    height: 56px !important;
    background: rgba(255,255,255,.68) !important;
    transform: translateY(-50%) !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleSub {
    display: block !important;
    color: #fff !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-weight: 400 !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain {
    font-size: clamp(25px, 3.45vw, 31px) !important;
    line-height: .9 !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub {
    margin-top: 2px !important;
    font-size: clamp(11px, 1.55vw, 14px) !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2) {
    grid-area: address !important;
    margin: 0 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: clamp(14px, 2.05vw, 17px) !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg {
    flex: 0 0 auto !important;
    width: 20px !important;
    height: 20px !important;
    color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footer-actions {
    grid-area: actions !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 2.3vw, 22px) !important;
  }

  body.cn-home-refined #footer .cn-footerPill {
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 2px clamp(13px, 2vw, 18px) !important;
    gap: 7px !important;
    background: transparent !important;
    font-size: 1.1rem !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText {
    color: currentColor !important;
    font-size: clamp(11px, 1.55vw, 13px) !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg {
    width: 19px !important;
    height: 19px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-whatsapp,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillText {
    color: #25D366 !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email {
    color: #fff !important;
    border-color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText {
    color: #ff9f1c !important;
  }

  body.cn-home-refined #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 0 !important;
    justify-content: flex-end !important;
    gap: clamp(17px, 3vw, 24px) !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg {
    width: 24px !important;
    height: 24px !important;
    color: #fff !important;
  }
}

@media (min-width: 601px) and (max-width: 739px) and (orientation: portrait) {
  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    min-height: 156px !important;
    padding-right: clamp(18px, 3vw, 26px) !important;
    padding-left: clamp(18px, 3vw, 26px) !important;
    grid-template-columns: minmax(152px, .46fr) minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand address socials"
      "brand actions actions" !important;
    row-gap: 12px !important;
  }

  body.cn-home-refined #footer .cn-footer-actions {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  body.cn-home-refined #footer .cn-footerPill {
    width: auto !important;
    height: 30px !important;
    min-height: 30px !important;
    padding-right: 9px !important;
    padding-left: 9px !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain {
    font-size: clamp(21px, 3.4vw, 25px) !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText {
    font-size: clamp(10px, 1.45vw, 12px) !important;
  }
}

@media (min-width: 740px) and (max-width: 979px) and (max-aspect-ratio: 1/1) {
  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    min-height: 150px !important;
    padding: 22px clamp(26px, 4.4vw, 42px) 24px !important;
    grid-template-columns: minmax(188px, .55fr) minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand address socials"
      "brand actions actions" !important;
    column-gap: clamp(22px, 4vw, 34px) !important;
    row-gap: 16px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle {
    position: relative !important;
    padding-right: clamp(22px, 3.4vw, 34px) !important;
    border-right: 0 !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    width: 1px !important;
    height: 56px !important;
    background: rgba(255,255,255,.68) !important;
    transform: translateY(-50%) !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2) {
    gap: 12px !important;
    font-size: clamp(14px, 2.05vw, 17px) !important;
  }

  body.cn-home-refined #footer .cn-footer-actions {
    justify-content: center !important;
    gap: clamp(12px, 2.3vw, 22px) !important;
  }

  body.cn-home-refined #footer .cn-footerPill {
    height: 34px !important;
    min-height: 34px !important;
    padding: 2px clamp(13px, 2vw, 18px) !important;
    gap: 7px !important;
    font-size: 1.1rem !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText {
    font-size: clamp(11px, 1.55vw, 13px) !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg {
    width: 19px !important;
    height: 19px !important;
  }
}

@media (min-width: 740px) and (max-width: 979px) {
  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    min-height: 137px !important;
    padding: 16px clamp(22px, 2.4vw, 31px) 17px !important;
    grid-template-columns: minmax(188px, .55fr) minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand address socials"
      "brand actions actions" !important;
    column-gap: clamp(14px, 3vw, 16px) !important;
    row-gap: 10px !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2) {
    white-space: nowrap !important;
    margin-left: 10px !important;
    margin-top: 10px !important;
  }

  body.cn-home-refined #footer .cn-footerAddressBreak {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footerAddressTabletSpace {
    display: inline !important;
  }

  body.cn-home-refined #footer .cn-footer-actions {
    justify-content: center !important;
    gap: clamp(12px, 2.3vw, 22px) !important;
  }

  body.cn-home-refined #footer .cn-footer-actions .cn-footerPill {
    height: 34px !important;
    min-height: 34px !important;
    padding: 2px clamp(13px, 2vw, 18px) !important;
    gap: 7px !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
  }

  body.cn-home-refined #footer .cn-footer-actions .cn-footerPill .cn-footerPillText {
    font-size: clamp(11px, 1.55vw, 13px) !important;
    line-height: 1 !important;
  }

  body.cn-home-refined #footer .cn-footer-actions .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footer-actions .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footer-actions .cn-footerPillIcon svg {
    width: 19px !important;
    height: 19px !important;
  }
}

@media (min-width: 740px) and (max-width: 979px) and (min-height: 1000px) {
  body.cn-home-refined .cn-entryScreen {
    transform: translateY(-32px) !important;
  }
}

/* The Kitchen: compact date heading on horizontal tablets */
@media (min-width: 768px) and (max-width: 1199px) and (orientation: landscape) {
  .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities):has(.cn-kitchenHeaderLogo) .cn-stepHeroTitle {
    font-family: "Marksys", "Brockmann", cursive !important;
    font-size: clamp(2rem, 3.4vw, 2.35rem) !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}


/* Desktop sound control, footer and 2x1 promo */
.cn-entrySoundBtn {
  display: none;
}

.cn-entryPromo2x1 {
  display: none;
}

@media (min-width: 980px) {
  body.cn-home-refined .cn-entryHero.scale-in-enter,
  body.cn-home-refined .cn-entryHero.scale-in-enter-active {
    transform: none !important;
  }

  body.cn-home-refined .cn-entrySoundBtn {
    position: fixed !important;
    top: clamp(22px, 4svh, 46px) !important;
    right: clamp(26px, 4.4vw, 72px) !important;
    z-index: 930 !important;
    width: clamp(66px, 5vw, 86px) !important;
    height: clamp(42px, 3.35vw, 54px) !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #103f24 !important;
    box-shadow: 0 12px 24px rgba(31, 47, 58, .16) !important;
    cursor: pointer !important;
    transition: transform 180ms ease, box-shadow 180ms ease, color 180ms ease !important;
  }

  body.cn-home-refined .cn-entrySoundBtn:hover,
  body.cn-home-refined .cn-entrySoundBtn:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 28px rgba(31, 47, 58, .2) !important;
    color: #0c5d2a !important;
    outline: none !important;
  }

  body.cn-home-refined .cn-entrySoundBtn .cn-entrySoundIcon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.cn-home-refined .cn-entrySoundBtn svg {
    width: clamp(21px, 1.5vw, 25px) !important;
    height: clamp(21px, 1.5vw, 25px) !important;
    stroke: currentColor !important;
  }

  body.cn-home-refined .cn-entrySoundBtn .cn-entrySoundIcon.is-off {
    display: none !important;
  }

  body.cn-home-refined .cn-entrySoundBtn .cn-entrySoundIcon.is-on {
    display: inline-flex !important;
  }

  body.cn-home-refined .cn-entryHero.is-sound-enabled .cn-entrySoundBtn {
    color: #0c5d2a !important;
  }

  body.cn-home-refined .cn-entryHero.is-sound-enabled .cn-entrySoundBtn .cn-entrySoundIcon.is-off {
    display: none !important;
  }

  body.cn-home-refined .cn-entryHero.is-sound-enabled .cn-entrySoundBtn .cn-entrySoundIcon.is-on {
    display: inline-flex !important;
  }

  body.cn-home-refined .cn-pageShellEntry {
    min-height: 100svh !important;
    padding-bottom: 96px !important;
  }

  body.cn-home-refined .cn-pageShellEntry #footer {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 900 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark {
    width: 100% !important;
    max-width: none !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 14px clamp(38px, 7vw, 250px) !important;
    display: grid !important;
    grid-template-columns: minmax(270px, .85fr) minmax(250px, .75fr) minmax(520px, 1.55fr) minmax(150px, .45fr) !important;
    grid-template-areas: "brand address actions socials" !important;
    align-items: center !important;
    column-gap: clamp(24px, 3vw, 70px) !important;
    border: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 -10px 32px rgba(0, 57, 104, .16) !important;
    color: #fff !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body.cn-home-refined #footer p:nth-of-type(3) {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle {
    grid-area: brand !important;
    position: relative !important;
    margin: 0 !important;
    padding-right: clamp(24px, 2.5vw, 54px) !important;
    border-right: 1px solid rgba(255,255,255,.72) !important;
    color: #fff !important;
    line-height: .94 !important;
    text-align: center !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleSub {
    display: block !important;
    color: #fff !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-weight: 400 !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain {
    font-size: clamp(30px, 2.7vw, 44px) !important;
    line-height: .88 !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub {
    margin-top: 2px !important;
    font-size: clamp(14px, 1.25vw, 20px) !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2) {
    grid-area: address !important;
    margin: 0 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: clamp(13px, 1.15vw, 18px) !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footer-actions {
    grid-area: actions !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 1.3vw, 22px) !important;
  }

  body.cn-home-refined #footer .cn-footerPill {
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 2px clamp(14px, 1.25vw, 22px) !important;
    gap: 7px !important;
    border-width: 2px !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 1.1rem !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText {
    color: currentColor !important;
    font-size: clamp(10px, .78vw, 14px) !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-whatsapp,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillText {
    color: #25D366 !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email {
    color: #fff !important;
    border-color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText {
    color: #ff9f1c !important;
  }

  body.cn-home-refined #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: clamp(18px, 1.6vw, 32px) !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg {
    width: 24px !important;
    height: 24px !important;
    color: #fff !important;
  }
}

@media (min-width: 1500px) {
  body.cn-home-refined .cn-entryPromo2x1 {
    position: fixed !important;
    right: clamp(18px, 3.2vw, 58px) !important;
    bottom: clamp(108px, 11.6svh, 136px) !important;
    z-index: 820 !important;
    display: block !important;
    width: clamp(178px, 10.65vw, 226px) !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 16px !important;
    color: #075486 !important;
    filter: drop-shadow(0 14px 26px rgba(31, 47, 58, .18)) !important;
    text-decoration: none !important;
    transform: rotate(-.6deg) !important;
  }

  body.cn-home-refined .cn-entryPromo2x1 img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: inherit !important;
    object-fit: cover !important;
  }

  body.cn-home-refined .cn-entryPromoArrow {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #075486 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.16) !important;
  }

  body.cn-home-refined .cn-entryPromoArrow svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.cn-home-refined .cn-entryPromoCrown {
    position: absolute !important;
    top: -25px !important;
    left: 14px !important;
    color: #075486 !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-size: 34px !important;
    line-height: 1 !important;
    transform: rotate(-18deg) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1499px) {
  body.cn-home-refined .cn-entryPromo2x1 {
    display: none !important;
  }
}

/* Desktop global footer: applies the index footer layout to every booking screen. */
@media (min-width: 980px) and (hover: hover) and (pointer: fine) {
  body:not(.cn-home-refined) .cn-pageShell,
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShellRentals,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard {
    min-height: 100svh !important;
    padding-bottom: 112px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .cn-pageShellActivities:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .cn-pageShellRentals:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .cn-pageShellActivityWizard:not(.cn-pageShellEntry) {
    padding-bottom: 112px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell > .w-full:first-child {
    padding-bottom: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice > .w-full:first-child {
    padding-bottom: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice .cn-programStep > .text-center {
    margin-bottom: clamp(10px, 1.6svh, 18px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice .cn-programGrid.is-kitesurf {
    margin-bottom: clamp(8px, 1.4svh, 14px) !important;
    padding: clamp(14px, 1.8svh, 22px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice .cn-programGrid.is-kitesurf .cn-programCard {
    height: clamp(240px, calc(100svh - 430px), 330px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice .cn-programCardContent h3 {
    font-size: clamp(26px, 2vw, 38px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice .cn-programCardContent .space-y-2 {
    margin: 6px 0 10px !important;
    font-size: 0.76rem !important;
    line-height: 1.16 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice .cn-programStep > .mb-6.rounded-2xl {
    margin: 0.25rem auto 0.55rem !important;
    padding: 0.45rem 0.9rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShellProgramChoice #btnContinueProgram {
    height: 38px !important;
    min-height: 38px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell #footer {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 900 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: 100% !important;
    max-width: none !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 14px clamp(38px, 7vw, 250px) !important;
    display: grid !important;
    grid-template-columns: minmax(270px, .85fr) minmax(250px, .75fr) minmax(520px, 1.55fr) minmax(150px, .45fr) !important;
    grid-template-areas: "brand address actions socials" !important;
    align-items: center !important;
    column-gap: clamp(24px, 3vw, 70px) !important;
    border: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 -10px 32px rgba(0, 57, 104, .16) !important;
    color: #fff !important;
    text-align: left !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer p:nth-of-type(3) {
    display: none !important;
  }

  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerTitle {
    grid-area: brand !important;
    position: relative !important;
    margin: 0 !important;
    padding-right: clamp(24px, 2.5vw, 54px) !important;
    border-right: 1px solid rgba(255,255,255,.72) !important;
    color: #fff !important;
    line-height: .94 !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    display: block !important;
    color: #fff !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-weight: 400 !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    font-size: clamp(30px, 2.7vw, 44px) !important;
    line-height: .88 !important;
    white-space: nowrap !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    margin-top: 2px !important;
    font-size: clamp(14px, 1.25vw, 20px) !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    grid-area: address !important;
    margin: 0 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: clamp(13px, 1.15vw, 18px) !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    text-align: left !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    color: #fff !important;
  }

  body:not(.cn-home-refined) #footer .cn-footer-actions {
    grid-area: actions !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 1.3vw, 22px) !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerPill {
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 2px clamp(14px, 1.25vw, 22px) !important;
    gap: 7px !important;
    border-width: 2px !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 1.1rem !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerPill .cn-footerPillText {
    color: currentColor !important;
    font-size: clamp(10px, .78vw, 14px) !important;
    white-space: nowrap !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon img,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp .cn-footerPillText {
    color: #25D366 !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerPill.is-email {
    color: #fff !important;
    border-color: #fff !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillText {
    color: #ff9f1c !important;
  }

  body:not(.cn-home-refined) #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: clamp(18px, 1.6vw, 32px) !important;
  }

  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocialIcon svg {
    width: 24px !important;
    height: 24px !important;
    color: #fff !important;
  }
}

@media (min-width: 980px) and (hover: hover) and (pointer: fine) and (max-height: 760px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) {
    padding-top: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #header {
    margin-bottom: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #progress {
    margin-bottom: 0.45rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-kitchenHeaderLogo {
    width: 132px !important;
    margin-bottom: 4px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-mainBrandLogo {
    height: 50px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellProgramChoice) .cn-wizardCard {
    max-height: calc(100svh - 220px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellProgramChoice) .cn-stepPane--date {
    padding-top: 0.75rem !important;
    padding-bottom: 0.85rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellProgramChoice) .cn-stepHero {
    margin-bottom: 0.65rem !important;
  }
}

/* Activity age pills */
.cn-pageShellActivities .cn-activityAgePill {
  top: 13px !important;
  left: 13px !important;
  min-width: 0 !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 10px 0 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #1766d8 !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 18px rgba(31, 47, 58, 0.1) !important;
  -webkit-font-smoothing: antialiased !important;
}

.cn-pageShellActivities .cn-activityAgePill svg {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  flex: 0 0 15px !important;
  color: currentColor !important;
  stroke: currentColor !important;
  overflow: visible !important;
}

.cn-pageShellActivities .cn-activityAgePill > span {
  display: block !important;
  min-width: 0 !important;
  color: currentColor !important;
  line-height: 1 !important;
  transform: translateY(0.5px) !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .cn-pageShellActivities .cn-activityAgePill {
    top: 11px !important;
    left: 11px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 9px 0 8px !important;
    gap: 4px !important;
    font-size: 12px !important;
  }

  .cn-pageShellActivities .cn-activityAgePill svg {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    flex-basis: 14px !important;
  }
}

/* Desktop footer v2: floating bar from index reference */
@media (min-width: 980px) and (hover: hover) and (pointer: fine) {
  body.cn-home-refined .cn-pageShellEntry,
  body:not(.cn-home-refined) .cn-pageShell,
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShellRentals,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard {
    padding-bottom: 128px !important;
  }

  body.cn-home-refined .cn-pageShellEntry #footer,
  body:not(.cn-home-refined) .cn-pageShell #footer {
    position: fixed !important;
    right: 0 !important;
    bottom: clamp(22px, 3.4svh, 40px) !important;
    left: 0 !important;
    z-index: 900 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(34px, 4.2vw, 82px) !important;
    pointer-events: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1760px) !important;
    max-width: calc(100vw - clamp(68px, 8.4vw, 164px)) !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding: 13px clamp(24px, 2.2vw, 38px) !important;
    display: grid !important;
    grid-template-columns: minmax(310px, .86fr) minmax(270px, .72fr) minmax(560px, 1.55fr) minmax(142px, .34fr) !important;
    grid-template-areas: "brand address actions socials" !important;
    align-items: center !important;
    column-gap: clamp(22px, 2.6vw, 56px) !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #053f73 0%, #00376c 100%) !important;
    box-shadow: 0 16px 34px rgba(0, 45, 84, .2) !important;
    color: #fff !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }

  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    grid-area: brand !important;
    display: block !important;
    align-self: center !important;
    justify-self: start !important;
    width: 44px !important;
    height: auto !important;
    margin: 0 !important;
    filter: brightness(0) invert(1) !important;
    opacity: .96 !important;
  }

  body.cn-home-refined #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar,
  body.cn-home-refined #footer p:nth-of-type(3),
  body:not(.cn-home-refined) #footer p:nth-of-type(3) {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerTitle {
    grid-area: brand !important;
    position: relative !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 2px clamp(28px, 2.15vw, 46px) 0 58px !important;
    border-right: 1px solid rgba(255, 255, 255, .72) !important;
    color: #fff !important;
    line-height: .95 !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    display: block !important;
    color: #fff !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-weight: 400 !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    font-size: clamp(23px, 1.45vw, 31px) !important;
    line-height: .9 !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    margin-top: 3px !important;
    font-family: "Brockmann", Arial, sans-serif !important;
    font-size: clamp(10px, .7vw, 13px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    grid-area: address !important;
    margin: 0 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    font-size: clamp(12px, .84vw, 15px) !important;
    font-weight: 400 !important;
    line-height: 1.24 !important;
    text-align: left !important;
  }

  body.cn-home-refined #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    grid-area: actions !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(12px, 1.05vw, 18px) !important;
  }

  body.cn-home-refined #footer .cn-footerPill,
  body:not(.cn-home-refined) #footer .cn-footerPill {
    width: auto !important;
    min-width: clamp(142px, 8.6vw, 178px) !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 2px 16px !important;
    gap: 8px !important;
    border-width: 2px !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
    justify-content: center !important;
    font-family: "Brockmann", Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText,
  body:not(.cn-home-refined) #footer .cn-footerPill .cn-footerPillText {
    flex: 0 1 auto !important;
    color: currentColor !important;
    font-size: clamp(10px, .68vw, 13px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon img,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-whatsapp,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-whatsapp .cn-footerPillText,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp .cn-footerPillText {
    color: #25D366 !important;
    border-color: #25D366 !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-email {
    color: #fff !important;
    border-color: #fff !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email .cn-footerPillText,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-email .cn-footerPillText {
    font-size: 0 !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email .cn-footerPillText::after,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-email .cn-footerPillText::after {
    content: "Envíanos un email";
    font-size: clamp(10px, .68vw, 13px) !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillText {
    color: #ff8f1f !important;
    border-color: #ff8f1f !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillText {
    font-size: 0 !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText::after,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillText::after {
    content: "Chatea con nosotros";
    font-size: clamp(10px, .68vw, 13px) !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(18px, 1.3vw, 27px) !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocialIcon svg {
    width: 23px !important;
    height: 23px !important;
    color: #fff !important;
  }
}

@media (min-width: 980px) and (hover: hover) and (pointer: fine) and (max-width: 1500px) {
  body.cn-home-refined .cn-pageShellEntry #footer,
  body:not(.cn-home-refined) .cn-pageShell #footer {
    padding: 0 24px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    max-width: calc(100vw - 48px) !important;
    padding-right: 22px !important;
    padding-left: 22px !important;
    grid-template-columns: minmax(270px, .78fr) minmax(230px, .65fr) minmax(500px, 1.45fr) minmax(110px, .3fr) !important;
    column-gap: 20px !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    font-size: clamp(22px, 1.75vw, 27px) !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    font-size: clamp(9px, .78vw, 12px) !important;
    letter-spacing: .24em !important;
  }

  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    gap: 18px !important;
  }
}

@media (min-width: 980px) and (hover: hover) and (pointer: fine) and (max-width: 1280px) {
  body.cn-home-refined .cn-pageShellEntry #footer,
  body:not(.cn-home-refined) .cn-pageShell #footer {
    padding: 0 24px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    max-width: calc(100vw - 48px) !important;
    grid-template-columns: minmax(250px, .8fr) minmax(210px, .68fr) minmax(470px, 1.45fr) minmax(110px, .32fr) !important;
    column-gap: 18px !important;
    padding-right: 22px !important;
    padding-left: 22px !important;
  }

  body.cn-home-refined #footer .cn-footerPill,
  body:not(.cn-home-refined) #footer .cn-footerPill {
    min-width: 132px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }
}

@media (min-width: 980px) and (hover: hover) and (pointer: fine) and (max-width: 1120px) {
  body.cn-home-refined .cn-pageShellEntry #footer,
  body:not(.cn-home-refined) .cn-pageShell #footer {
    padding: 0 16px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    max-width: calc(100vw - 32px) !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    grid-template-columns: minmax(214px, .76fr) minmax(178px, .64fr) minmax(405px, 1.42fr) minmax(78px, .24fr) !important;
    column-gap: 8px !important;
  }

  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    width: 38px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerTitle {
    padding-right: 18px !important;
    padding-left: 48px !important;
  }

  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    font-size: clamp(20px, 2.1vw, 23px) !important;
  }

  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    font-size: 9px !important;
    letter-spacing: .22em !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    font-size: 11px !important;
  }

  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    gap: 8px !important;
  }

  body.cn-home-refined #footer .cn-footerPill,
  body:not(.cn-home-refined) #footer .cn-footerPill {
    height: 30px !important;
    min-height: 30px !important;
    padding-right: 9px !important;
    padding-left: 9px !important;
    gap: 6px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-whatsapp,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-whatsapp {
    min-width: 112px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-email,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-email {
    min-width: 130px !important;
  }

  body.cn-home-refined #footer .cn-footerPill.is-nerea,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea {
    min-width: 154px !important;
  }

  body.cn-home-refined #footer .cn-footerPill .cn-footerPillText,
  body.cn-home-refined #footer .cn-footerPill.is-email .cn-footerPillText::after,
  body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText::after,
  body:not(.cn-home-refined) #footer .cn-footerPill .cn-footerPillText,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-email .cn-footerPillText::after,
  body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillText::after {
    font-size: 9.5px !important;
  }

  body.cn-home-refined #footer .cn-footerPillIcon,
  body.cn-home-refined #footer .cn-footerPillIcon img,
  body.cn-home-refined #footer .cn-footerPillIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon img,
  body:not(.cn-home-refined) #footer .cn-footerPillIcon svg {
    width: 15px !important;
    height: 15px !important;
  }

  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    gap: 12px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocialIcon svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Global footer and sound button: all sections, all devices */
.cn-entryPromo2x1,
body.cn-home-refined .cn-entryPromo2x1 {
  display: none !important;
}

.cn-entrySoundBtn,
.cn-entrySoundBtn:hover,
.cn-entrySoundBtn:focus-visible {
  transform: none !important;
}

.cn-entrySoundBtn {
  position: fixed !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  right: 14px !important;
  z-index: 1400 !important;
  width: 58px !important;
  height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #075486 !important;
  box-shadow: 0 10px 22px rgba(31, 47, 58, .16) !important;
  cursor: pointer !important;
}

.cn-entrySoundBtn:focus-visible {
  outline: 2px solid rgba(7, 84, 134, .35) !important;
  outline-offset: 3px !important;
}

.cn-entrySoundBtn .cn-entrySoundIcon {
  align-items: center !important;
  justify-content: center !important;
}

.cn-entrySoundBtn .cn-entrySoundIcon.is-on {
  display: inline-flex !important;
}

.cn-entrySoundBtn .cn-entrySoundIcon.is-off {
  display: none !important;
}

.cn-entrySoundBtn svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
}

body.cn-sound-enabled .cn-entrySoundBtn {
  background: #075486 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(7, 84, 134, .28) !important;
}

body.cn-sound-enabled .cn-entrySoundBtn::after {
  content: none !important;
  display: none !important;
}

#footer {
  width: 100% !important;
  max-width: none !important;
}

#footer .cn-footer.cn-footer--dark,
#footer .cn-footer.cn-footer--light {
  width: min(100% - 28px, 1760px) !important;
  margin: 18px auto 0 !important;
  padding: 20px 18px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-areas:
    "brand"
    "address"
    "socials"
    "actions" !important;
  justify-items: center !important;
  align-items: center !important;
  row-gap: 14px !important;
  border: 0 !important;
  border-radius: 20px 20px 0 0 !important;
  background: linear-gradient(135deg, #053f73 0%, #00376c 100%) !important;
  box-shadow: 0 -10px 26px rgba(0, 45, 84, .18) !important;
  color: #fff !important;
  overflow: hidden !important;
  text-align: center !important;
}

#footer .cn-footerLogoMark {
  grid-area: brand !important;
  display: block !important;
  width: 42px !important;
  height: auto !important;
  margin: 0 auto -4px !important;
  filter: brightness(0) invert(1) !important;
  opacity: .96 !important;
}

#footer .cn-footer .cn-footerTitle {
  grid-area: brand !important;
  margin: 0 !important;
  padding: 44px 0 0 !important;
  border: 0 !important;
  color: #fff !important;
  line-height: .95 !important;
  text-align: center !important;
}

#footer .cn-footerTitleMain,
#footer .cn-footerTitleSub {
  display: block !important;
  color: #fff !important;
}

#footer .cn-footerTitleMain {
  font-family: "Marksys", "Brockmann", cursive !important;
  font-size: clamp(24px, 8vw, 36px) !important;
  font-weight: 400 !important;
  line-height: .88 !important;
  white-space: nowrap !important;
}

#footer .cn-footerTitleSub {
  margin-top: 4px !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
}

#footer .cn-footerAddress,
#footer p:nth-of-type(2) {
  grid-area: address !important;
  margin: 0 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

#footer .cn-footerAddressIcon,
#footer .cn-footerAddressIcon svg {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  color: #fff !important;
}

#footer .cn-footer-actions {
  grid-area: actions !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

#footer .cn-footerPill {
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 2px 14px !important;
  gap: 7px !important;
  border-width: 2px !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  justify-content: center !important;
  font-family: "Brockmann", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#footer .cn-footerPill .cn-footerPillText {
  color: currentColor !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#footer .cn-footerPillIcon,
#footer .cn-footerPillIcon img,
#footer .cn-footerPillIcon svg {
  width: 18px !important;
  height: 18px !important;
}

#footer .cn-footerPill.is-whatsapp,
#footer .cn-footerPill.is-whatsapp .cn-footerPillIcon,
#footer .cn-footerPill.is-whatsapp .cn-footerPillText {
  color: #25D366 !important;
  border-color: #25D366 !important;
}

#footer .cn-footerPill.is-email {
  color: #fff !important;
  border-color: #fff !important;
}

#footer .cn-footerPill.is-nerea,
#footer .cn-footerPill.is-nerea .cn-footerPillIcon,
#footer .cn-footerPill.is-nerea .cn-footerPillText {
  color: #ff8f1f !important;
  border-color: #ff8f1f !important;
}

#footer .cn-footerPill.is-email .cn-footerPillText,
#footer .cn-footerPill.is-nerea .cn-footerPillText {
  font-size: 0 !important;
}

#footer .cn-footerPill.is-email .cn-footerPillText::after {
  content: "Envíanos un email";
  font-size: 12px !important;
}

#footer .cn-footerPill.is-nerea .cn-footerPillText::after {
  content: "Chatea con nosotros";
  font-size: 12px !important;
}

#footer .cn-footerSocials {
  grid-area: socials !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
}

#footer .cn-footerSocialIcon,
#footer .cn-footerSocialIcon svg {
  width: 23px !important;
  height: 23px !important;
  color: #fff !important;
}

#footer p:nth-of-type(3) {
  display: none !important;
}

@media (max-width: 600px) {
  body.cn-home-refined .cn-pageShellEntry,
  .cn-pageShell,
  .cn-pageShellActivities,
  .cn-pageShellRentals,
  .cn-pageShellActivityWizard {
    padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
  }

  #footer .cn-mobileActionBar {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1200 !important;
    height: calc(80px + env(safe-area-inset-bottom)) !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    border-radius: 14px 14px 0 0 !important;
    background: linear-gradient(135deg, #053f73 0%, #00376c 100%) !important;
    box-shadow: 0 -12px 26px rgba(0, 45, 84, .24) !important;
  }
}

@media (min-width: 601px) and (max-width: 979px) {
  .cn-entrySoundBtn {
    top: max(18px, env(safe-area-inset-top)) !important;
    right: 18px !important;
    width: 64px !important;
    height: 48px !important;
  }

  #footer .cn-mobileActionBar {
    display: none !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light {
    width: min(100% - 32px, 1180px) !important;
    min-height: 137px !important;
    padding: 16px clamp(22px, 2.4vw, 31px) 17px !important;
    grid-template-columns: minmax(188px, .55fr) minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand address socials"
      "brand actions actions" !important;
    justify-items: stretch !important;
    column-gap: clamp(14px, 3vw, 16px) !important;
    row-gap: 10px !important;
    border-radius: 22px 22px 0 0 !important;
    text-align: left !important;
  }

  #footer .cn-footerLogoMark {
    justify-self: start !important;
    align-self: center !important;
    width: 42px !important;
    margin: 0 !important;
  }

  #footer .cn-footer .cn-footerTitle {
    justify-self: start !important;
    align-self: center !important;
    padding: 0 20px 0 54px !important;
    border-right: 1px solid rgba(255, 255, 255, .72) !important;
    text-align: left !important;
  }

  #footer .cn-footerTitleMain {
    font-size: clamp(25px, 3.8vw, 34px) !important;
  }

  #footer .cn-footerTitleSub {
    font-size: clamp(9px, 1.4vw, 12px) !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2) {
    justify-content: flex-start !important;
    margin-left: 10px !important;
    white-space: nowrap !important;
    font-size: clamp(12px, 1.4vw, 15px) !important;
  }

  #footer .cn-footer-actions {
    justify-content: center !important;
    flex-wrap: nowrap !important;
  }

  #footer .cn-footerSocials {
    justify-content: flex-end !important;
    gap: 22px !important;
  }
}

@media (min-width: 980px) {
  body.cn-home-refined .cn-pageShellEntry,
  body:not(.cn-home-refined) .cn-pageShell,
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShellRentals,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard {
    padding-bottom: 128px !important;
  }

  .cn-entrySoundBtn {
    top: clamp(22px, 4svh, 46px) !important;
    right: clamp(26px, 4.4vw, 72px) !important;
    width: clamp(66px, 5vw, 86px) !important;
    height: clamp(42px, 3.35vw, 54px) !important;
  }

  #footer {
    position: fixed !important;
    right: 0 !important;
    bottom: clamp(22px, 3.4svh, 40px) !important;
    left: 0 !important;
    z-index: 900 !important;
    margin: 0 !important;
    padding: 0 clamp(34px, 4.2vw, 82px) !important;
    pointer-events: none !important;
  }

  #footer .cn-mobileActionBar {
    display: none !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light {
    width: min(100%, 1760px) !important;
    max-width: calc(100vw - clamp(68px, 8.4vw, 164px)) !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding: 13px clamp(24px, 2.2vw, 38px) !important;
    grid-template-columns: minmax(310px, .86fr) minmax(270px, .72fr) minmax(560px, 1.55fr) minmax(142px, .34fr) !important;
    grid-template-areas: "brand address actions socials" !important;
    justify-items: stretch !important;
    row-gap: 0 !important;
    column-gap: clamp(22px, 2.6vw, 56px) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 34px rgba(0, 45, 84, .2) !important;
    pointer-events: auto !important;
    text-align: left !important;
  }

  #footer .cn-footerLogoMark {
    justify-self: start !important;
    align-self: center !important;
    width: 44px !important;
    margin: 0 !important;
  }

  #footer .cn-footer .cn-footerTitle {
    justify-self: stretch !important;
    align-self: center !important;
    min-height: 46px !important;
    padding: 2px clamp(28px, 2.15vw, 46px) 0 58px !important;
    border-right: 1px solid rgba(255, 255, 255, .72) !important;
    text-align: left !important;
  }

  #footer .cn-footerTitleMain {
    font-size: clamp(23px, 1.45vw, 31px) !important;
  }

  #footer .cn-footerTitleSub {
    font-size: clamp(10px, .7vw, 13px) !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2) {
    justify-content: flex-start !important;
    gap: 0 !important;
    font-size: clamp(12px, .84vw, 15px) !important;
  }

  #footer .cn-footerAddressIcon {
    display: none !important;
  }

  #footer .cn-footer-actions {
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: clamp(12px, 1.05vw, 18px) !important;
  }

  #footer .cn-footerPill {
    min-width: clamp(142px, 8.6vw, 178px) !important;
  }

  #footer .cn-footerSocials {
    justify-content: flex-end !important;
    gap: clamp(18px, 1.3vw, 27px) !important;
  }
}

@media (min-width: 980px) and (max-width: 1500px) {
  #footer {
    padding: 0 24px !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light {
    max-width: calc(100vw - 48px) !important;
    padding-right: 22px !important;
    padding-left: 22px !important;
    grid-template-columns: minmax(270px, .78fr) minmax(230px, .65fr) minmax(500px, 1.45fr) minmax(110px, .3fr) !important;
    column-gap: 20px !important;
  }
}

@media (min-width: 980px) and (max-width: 1120px) {
  #footer {
    padding: 0 16px !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light {
    max-width: calc(100vw - 32px) !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    grid-template-columns: minmax(214px, .76fr) minmax(178px, .64fr) minmax(405px, 1.42fr) minmax(78px, .24fr) !important;
    column-gap: 8px !important;
  }

  #footer .cn-footerLogoMark {
    width: 38px !important;
  }

  #footer .cn-footer .cn-footerTitle {
    padding-right: 18px !important;
    padding-left: 48px !important;
  }

  #footer .cn-footerTitleMain {
    font-size: clamp(20px, 2.1vw, 23px) !important;
  }

  #footer .cn-footerTitleSub {
    font-size: 9px !important;
    letter-spacing: .22em !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2) {
    font-size: 11px !important;
  }

  #footer .cn-footerPillIcon,
  #footer .cn-footerPillIcon img,
  #footer .cn-footerPillIcon svg {
    width: 15px !important;
    height: 15px !important;
  }

  #footer .cn-footerPill .cn-footerPillText,
  #footer .cn-footerPill.is-email .cn-footerPillText::after,
  #footer .cn-footerPill.is-nerea .cn-footerPillText::after {
    font-size: 9.5px !important;
  }

  #footer .cn-footerSocials {
    gap: 12px !important;
  }

  #footer .cn-footerSocialIcon,
  #footer .cn-footerSocialIcon svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Final desktop footer/sound specificity fix */
@media (min-width: 980px) {
  body.cn-sound-enabled .cn-entrySoundBtn,
  body.cn-home-refined.cn-sound-enabled .cn-entrySoundBtn,
  body:not(.cn-home-refined).cn-sound-enabled .cn-entrySoundBtn,
  body.cn-sound-enabled .cn-entrySoundBtn svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1540px) !important;
    max-width: calc(100vw - clamp(116px, 14vw, 236px)) !important;
    grid-template-columns: minmax(252px, .78fr) minmax(224px, .62fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(10px, .9vw, 18px) !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    gap: 8px !important;
  }

  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
  }

  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    gap: clamp(8px, .7vw, 12px) !important;
  }

  body.cn-home-refined #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocials,
  body.cn-home-refined #footer .cn-footer.cn-footer--light .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    gap: clamp(10px, .72vw, 16px) !important;
  }
}

/* Wizard reference layout: calendar, details, contact and confirmation */
body:not(.cn-home-refined) {
  background: #d8e1ce !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) {
  min-height: 100svh !important;
  background: #d8e1ce !important;
  background-image: none !important;
  padding: clamp(28px, 4vh, 54px) clamp(18px, 2.2vw, 32px) 150px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) > .w-full,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) > .w-full.max-w-3xl,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) > .w-full.max-w-screen-xl {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-wizardCard,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-wizardCardLight {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-wizardContent {
  padding: 0 !important;
  overflow: visible !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-steps {
  width: min(100%, 950px) !important;
  margin: 0 auto clamp(28px, 3.4vh, 46px) !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(20px, 3.1vw, 48px) !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepWrap {
  display: flex !important;
  align-items: center !important;
  gap: clamp(14px, 1.5vw, 22px) !important;
  flex: 0 0 auto !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepBar {
  display: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(61, 74, 55, .48) !important;
  font-size: clamp(20px, 2.05vw, 29px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepCircle {
  width: clamp(54px, 5.2vw, 72px) !important;
  height: clamp(54px, 5.2vw, 72px) !important;
  flex: 0 0 clamp(54px, 5.2vw, 72px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .76) !important;
  color: rgba(61, 74, 55, .5) !important;
  box-shadow: none !important;
  font-size: clamp(26px, 2.7vw, 42px) !important;
  font-weight: 400 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepCircle svg {
  width: clamp(31px, 3.1vw, 44px) !important;
  height: clamp(31px, 3.1vw, 44px) !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem.is-active {
  color: #2f3f2d !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem.is-active .cn-stepCircle {
  background: #6d7c63 !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem.is-done {
  color: rgba(61, 74, 55, .5) !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem.is-done .cn-stepCircle {
  background: rgba(126, 142, 113, .16) !important;
  color: #78876e !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane {
  width: min(100%, 940px) !important;
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: clamp(44px, 5vw, 70px) clamp(44px, 5.6vw, 76px) !important;
  border: 1px solid rgba(255, 255, 255, .68) !important;
  border-radius: clamp(22px, 2.1vw, 30px) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 22px 42px rgba(58, 72, 51, .12) !important;
  color: #3d4a37 !important;
  overflow: visible !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date {
  max-width: 940px !important;
  min-height: clamp(560px, 58svh, 660px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepHero,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirmHeader,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .text-center.mb-8 {
  margin-bottom: clamp(32px, 4vh, 50px) !important;
  text-align: center !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepHeroTitle,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-title,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) h2 {
  margin: 0 0 10px !important;
  color: #3d4a37 !important;
  font-family: inherit !important;
  font-size: clamp(34px, 3.45vw, 50px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepHeroLead,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-sub,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .text-center.mb-8 p {
  color: #67745f !important;
  font-size: clamp(20px, 1.65vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-calendar-wrap {
  width: min(100%, 440px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-calendar,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-calendar-wrap .flatpickr-calendar {
  width: 440px !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-months {
  height: 48px !important;
  margin-bottom: 18px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-current-month {
  height: 48px !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  color: #566250 !important;
  font-size: 23px !important;
  font-weight: 400 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-current-month .flatpickr-monthDropdown-months,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-current-month input.cur-year {
  height: 38px !important;
  color: #566250 !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  background: transparent !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-weekdays,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .dayContainer {
  width: 440px !important;
  min-width: 440px !important;
  max-width: 440px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) span.flatpickr-weekday {
  height: 40px !important;
  color: #67745f !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 40px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day {
  width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  margin: 3px 4px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #3d4a37 !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  line-height: 54px !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.prevMonthDay,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.nextMonthDay {
  color: rgba(61, 74, 55, .34) !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.flatpickr-disabled,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.flatpickr-disabled:hover {
  color: rgba(61, 74, 55, .19) !important;
  text-decoration: line-through !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.selected,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.startRange,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.endRange {
  background: #d1dac4 !important;
  color: #3d4a37 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.cn-today,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day.today {
  border: 2px solid rgba(109, 124, 99, .2) !important;
  background: rgba(109, 124, 99, .13) !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date #selectedDate,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-selectedDateCard {
  display: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) label {
  color: #3d4a37 !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) label img,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) label svg {
  width: 22px !important;
  height: 22px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) input:not([type="checkbox"]),
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) select,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) textarea {
  width: 100% !important;
  min-height: 64px !important;
  border: 2px solid #d9dbd4 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #2f3f2d !important;
  font-size: clamp(20px, 1.8vw, 30px) !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) textarea {
  min-height: 118px !important;
  padding-top: 22px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) input::placeholder,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) textarea::placeholder {
  color: #9aa0aa !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .space-y-5 {
  gap: 28px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .grid.md\:grid-cols-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .grid.md\:grid-cols-5 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  gap: 28px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .grid.md\:grid-cols-5 > .md\:col-span-3,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .grid.md\:grid-cols-5 > .md\:col-span-2 {
  grid-column: auto !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--contact label[for="phone"] + .grid {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 12px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-preferenceToggle {
  min-height: 74px !important;
  padding: 0 24px !important;
  border: 2px solid #d9dbd4 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #3d4a37 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-preferenceToggleLabel,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-preferenceToggleValue {
  color: #3d4a37 !important;
  font-size: clamp(20px, 1.6vw, 28px) !important;
  font-weight: 400 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid button,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-guestBtn,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-slotBtn,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsLunch button,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsDinner button,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-zoneGrid button,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-sunbedsModeCard {
  min-height: 66px !important;
  border: 3px solid #d9dbd4 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #3d4a37 !important;
  box-shadow: none !important;
  font-size: clamp(19px, 1.65vw, 28px) !important;
  font-weight: 400 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid button[class*="bg-"],
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid button.is-selected,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-guestBtn.is-selected,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-slotBtn.is-selected,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsLunch button[class*="bg-"],
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsDinner button[class*="bg-"],
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-zoneCard.is-selected,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-sunbedsModeCard.is-selected {
  border-color: #65745d !important;
  background: #65745d !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #btnMore12 {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin-top: 0 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-zoneGrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsLunch,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsDinner {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #primarySlotsLabel,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #secondarySlotsLabel {
  margin: 0 0 16px !important;
  color: #67745f !important;
  font-size: clamp(15px, 1.25vw, 22px) !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-actionRow,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepActionWrap {
  display: grid !important;
  grid-template-columns: minmax(210px, .45fr) minmax(0, 1fr) !important;
  gap: 22px !important;
  margin-top: clamp(28px, 3.2vh, 48px) !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepActionWrap {
  grid-template-columns: minmax(230px, 300px) !important;
  justify-content: center !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnBack,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnPrimary,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnWizardPrimary,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #btnSubmit,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #next,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #back {
  width: 100% !important;
  min-height: 76px !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  font-size: clamp(20px, 1.65vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnBack,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #back {
  border: 2px solid #d9dbd4 !important;
  background: #fff !important;
  color: #3d4a37 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnPrimary,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnWizardPrimary,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #btnSubmit,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #next {
  border: 0 !important;
  background: #65745d !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnPrimary:disabled,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnWizardPrimary:disabled,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #btnSubmit:disabled,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #next:disabled {
  background: #bbc3b8 !important;
  opacity: 1 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-card {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-box {
  min-height: 430px !important;
  padding: 30px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #f3f6f0 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-box h3,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-card h3 {
  margin: 0 0 26px !important;
  color: #3d4a37 !important;
  font-size: clamp(17px, 1.3vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-row {
  min-height: 76px !important;
  padding: 16px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .78) !important;
  color: #3d4a37 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-box .space-y-3 {
  display: grid !important;
  gap: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-row > .min-w-0 {
  min-width: 0 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-row p {
  margin: 0 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-row p:first-child {
  color: #67745f !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-row p:last-child {
  color: #3d4a37 !important;
  font-size: clamp(19px, 1.55vw, 25px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-policyList {
  color: #67745f !important;
  font-size: clamp(16px, 1.35vw, 21px) !important;
  line-height: 1.55 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-accept-wrap {
  min-height: 86px !important;
  padding: 18px 24px !important;
  border-radius: 14px !important;
  background: #f3f6f0 !important;
  align-items: center !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-accept-wrap span:last-child {
  color: #3d4a37 !important;
  font-size: clamp(16px, 1.3vw, 21px) !important;
  line-height: 1.45 !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-accept-checkbox {
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  accent-color: #65745d !important;
}

body:not(.cn-home-refined) #footer,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #footer,
body:not(.cn-home-refined) .cn-pageShellActivityWizard #footer {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  margin: clamp(32px, 4vh, 54px) auto 0 !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 1 !important;
}

body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
  margin-top: 0 !important;
}

@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-wizardCardLight,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-wizardContent {
    transform: none !important;
  }
}

@media (min-width: 980px) and (max-height: 820px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) {
    padding-top: 24px !important;
    padding-bottom: 60px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-headerBrand {
    margin-bottom: 6px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-kitchenHeaderLogo,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-mainBrandLogo {
    max-height: 78px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-steps {
    margin-bottom: 20px !important;
    transform: scale(.9) !important;
    transform-origin: center top !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date {
    width: min(100%, 880px) !important;
    min-height: 0 !important;
    padding: 34px 54px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero {
    margin-bottom: 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHeroTitle {
    font-size: 38px !important;
    line-height: 1.04 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHeroLead {
    font-size: 20px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 392px !important;
    min-width: 392px !important;
    max-width: 392px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-months {
    height: 38px !important;
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month .flatpickr-monthDropdown-months,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month input.cur-year {
    height: 38px !important;
    font-size: 21px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date span.flatpickr-weekday {
    height: 31px !important;
    font-size: 16px !important;
    line-height: 31px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-day {
    width: 48px !important;
    max-width: 48px !important;
    height: 42px !important;
    margin: 1px 4px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    line-height: 42px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    margin-top: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date .cn-btnWizardPrimary {
    min-height: 60px !important;
    font-size: 20px !important;
  }
}

@media (min-width: 740px) and (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) {
    padding: 28px 22px 184px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-steps {
    width: min(100%, 830px) !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem {
    gap: 10px !important;
    font-size: 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
    font-size: 30px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane {
    width: min(100%, 860px) !important;
    max-width: 860px !important;
    padding: 42px 48px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-grid {
    gap: 20px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsDinner {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 739px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) {
    padding: 24px 16px calc(112px + env(safe-area-inset-bottom)) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-steps {
    width: 100% !important;
    margin-bottom: 22px !important;
    gap: 9px !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding: 0 2px 4px !important;
    scrollbar-width: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-steps::-webkit-scrollbar {
    display: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepItem {
    gap: 7px !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    font-size: 20px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepCircle svg {
    width: 24px !important;
    height: 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane {
    width: 100% !important;
    padding: 30px 20px !important;
    border-radius: 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--date {
    min-height: 520px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepHeroTitle,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-title,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) h2 {
    font-size: 30px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepHeroLead,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-sub,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .text-center.mb-8 p {
    font-size: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .dayContainer {
    width: 312px !important;
    min-width: 312px !important;
    max-width: 312px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) span.flatpickr-weekday {
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-day {
    width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    margin: 2px 3px !important;
    border-radius: 11px !important;
    font-size: 16px !important;
    line-height: 38px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-current-month .flatpickr-monthDropdown-months,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .flatpickr-current-month input.cur-year {
    font-size: 20px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .grid.md\:grid-cols-2,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .grid.md\:grid-cols-5,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-grid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-zoneGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-actionRow {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsDinner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #guestsGrid button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-slotBtn,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsLunch button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #slotsDinner button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-zoneGrid button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-sunbedsModeCard {
    min-height: 58px !important;
    font-size: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnBack,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnPrimary,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-btnWizardPrimary,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #btnSubmit,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #next,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) #back {
    min-height: 62px !important;
    font-size: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-confirm-box {
    min-height: 0 !important;
    padding: 22px !important;
  }
}

/* Desktop footer refinement: side breathing room, tighter groups and visible location pin */
@media (min-width: 980px) {
  #footer {
    padding-right: clamp(58px, 7vw, 118px) !important;
    padding-left: clamp(58px, 7vw, 118px) !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light {
    width: min(100%, 1540px) !important;
    max-width: calc(100vw - clamp(116px, 14vw, 236px)) !important;
    grid-template-columns: minmax(252px, .78fr) minmax(224px, .62fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(12px, 1.2vw, 24px) !important;
    padding-right: clamp(22px, 1.7vw, 34px) !important;
    padding-left: clamp(22px, 1.7vw, 34px) !important;
  }

  #footer .cn-footer .cn-footerTitle {
    padding-right: clamp(18px, 1.3vw, 30px) !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2) {
    gap: 8px !important;
  }

  #footer .cn-footerAddressIcon {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    color: #ffffff !important;
  }

  #footer .cn-footerAddressIcon svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
  }

  #footer .cn-footer-actions {
    gap: clamp(8px, .75vw, 14px) !important;
  }

  #footer .cn-footerPill {
    min-width: clamp(130px, 7.8vw, 160px) !important;
    padding-right: 13px !important;
    padding-left: 13px !important;
  }

  #footer .cn-footerSocials {
    gap: clamp(13px, .9vw, 20px) !important;
  }
}

@media (min-width: 980px) and (max-width: 1120px) {
  #footer {
    padding-right: 42px !important;
    padding-left: 42px !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light {
    max-width: calc(100vw - 84px) !important;
    grid-template-columns: minmax(210px, .72fr) minmax(186px, .58fr) minmax(384px, 1.13fr) minmax(72px, .2fr) !important;
    column-gap: 8px !important;
  }
}

/* Absolute final override: desktop footer/sound */
@media (min-width: 980px) {
  body.cn-sound-enabled .cn-entrySoundBtn,
  body.cn-home-refined.cn-sound-enabled .cn-entrySoundBtn,
  body:not(.cn-home-refined).cn-sound-enabled .cn-entrySoundBtn,
  body.cn-sound-enabled .cn-entrySoundBtn svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
  }

  body.cn-sound-enabled .cn-entrySoundBtn::after,
  body.cn-home-refined.cn-sound-enabled .cn-entrySoundBtn::after,
  body:not(.cn-home-refined).cn-sound-enabled .cn-entrySoundBtn::after {
    content: none !important;
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1540px) !important;
    max-width: calc(100vw - clamp(116px, 14vw, 236px)) !important;
    grid-template-columns: minmax(252px, .78fr) minmax(224px, .62fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(10px, .9vw, 18px) !important;
  }

  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    gap: 8px !important;
  }

  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
  }

  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    gap: clamp(8px, .7vw, 12px) !important;
  }

  body.cn-home-refined #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerSocials,
  body.cn-home-refined #footer .cn-footer.cn-footer--light .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerSocials {
    gap: clamp(10px, .72vw, 16px) !important;
  }
}

/* Absolute final override: activities background and Marksys titles */
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities:not(.cn-pageShellEntry),
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivityWizard:not(.cn-pageShellEntry),
body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivities,
body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivityWizard {
  background-color: #f2e6d8 !important;
  background-image:
    linear-gradient(180deg, rgba(246, 238, 228, .28) 0%, rgba(246, 238, 228, .2) 48%, rgba(246, 238, 228, .3) 100%),
    url("../assets/bg-actividades-act.jpg") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body:not(.cn-home-refined) .cn-pageShellActivities::before,
body:not(.cn-home-refined) .cn-pageShellActivities::after,
body:not(.cn-home-refined) .cn-pageShellActivityWizard::before,
body:not(.cn-home-refined) .cn-pageShellActivityWizard::after {
  content: none !important;
  display: none !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities .cn-activityIntroPoster .cn-activityHeadline,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities .cn-activityHeadline,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities .cn-activityCardTitle,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities .cn-activityCardTitle--poster,
body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivities .cn-activityIntroPoster .cn-activityHeadline,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepHeroTitle,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-confirm-title,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-programStep > .text-center h2,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-programCardContent h3,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepPane h1,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepPane h2,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepPane h3 {
  font-family: "Marksys", "Brockmann", cursive !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
}

body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepHeroTitle,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-confirm-title,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepPane h2 {
  line-height: .95 !important;
}

body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-programStep,
body:not(.cn-home-refined) .cn-pageShellActivityWizard .cn-stepPane {
  box-sizing: border-box !important;
}

/* Absolute final override: The Kitchen compact orange wizard */
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro {
  min-height: 100svh !important;
  padding: clamp(16px, 2.4vh, 28px) clamp(16px, 2.2vw, 32px) 122px !important;
  background:
    radial-gradient(circle at 12% 4%, rgba(247, 118, 74, .12), transparent 28%),
    linear-gradient(180deg, #fff7ee 0%, #f4e2d2 100%) !important;
  color: #1f2f3a !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro > .w-full,
body:not(.cn-home-refined) .cn-pageShellGastro > .w-full.max-w-3xl {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-headerBrand {
  margin-bottom: 6px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-kitchenHeaderLogo {
  width: auto !important;
  max-width: min(260px, 44vw) !important;
  max-height: 76px !important;
  margin: 0 auto 4px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-steps {
  width: min(100%, 700px) !important;
  margin: 0 auto 14px !important;
  gap: clamp(12px, 1.8vw, 24px) !important;
  transform: none !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepWrap {
  gap: 9px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepItem {
  gap: 9px !important;
  color: rgba(31, 47, 58, .42) !important;
  font-size: clamp(15px, 1.38vw, 20px) !important;
  font-weight: 700 !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepCircle {
  width: clamp(38px, 3.8vw, 48px) !important;
  height: clamp(38px, 3.8vw, 48px) !important;
  flex-basis: clamp(38px, 3.8vw, 48px) !important;
  background: rgba(255, 255, 255, .82) !important;
  color: rgba(31, 47, 58, .52) !important;
  font-size: clamp(18px, 1.9vw, 26px) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepCircle svg {
  width: clamp(22px, 2.2vw, 30px) !important;
  height: clamp(22px, 2.2vw, 30px) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepItem.is-active {
  color: #1f2f3a !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepItem.is-active .cn-stepCircle,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepItem.is-done .cn-stepCircle {
  background: #f7764a !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepPane {
  width: min(100%, 690px) !important;
  max-width: 690px !important;
  padding: clamp(22px, 3vw, 34px) clamp(24px, 3.4vw, 42px) !important;
  border: 1px solid rgba(247, 118, 74, .18) !important;
  border-radius: 22px !important;
  background: rgba(255, 252, 248, .96) !important;
  box-shadow: 0 18px 34px rgba(169, 94, 50, .13) !important;
  color: #1f2f3a !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepPane--date {
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  min-height: 0 !important;
  justify-content: flex-start !important;
  padding-top: clamp(20px, 2.6vw, 30px) !important;
  padding-bottom: clamp(20px, 2.6vw, 30px) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepHero,
body:not(.cn-home-refined) .cn-pageShellGastro .text-center.mb-8 {
  margin-bottom: 16px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepHeroTitle,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-confirm-title,
body:not(.cn-home-refined) .cn-pageShellGastro h2 {
  margin-bottom: 5px !important;
  color: #1f2f3a !important;
  font-family: "Brockmann", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: clamp(24px, 2.3vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepHeroLead,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-confirm-sub,
body:not(.cn-home-refined) .cn-pageShellGastro .text-center.mb-8 p {
  color: #8b6654 !important;
  font-size: clamp(14px, 1.15vw, 17px) !important;
  line-height: 1.24 !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-calendar-wrap,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-calendar,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-calendar-wrap .flatpickr-calendar,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-weekdays,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-days,
body:not(.cn-home-refined) .cn-pageShellGastro .dayContainer {
  width: 318px !important;
  min-width: 318px !important;
  max-width: 318px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-calendar,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-calendar-wrap .flatpickr-calendar {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-months {
  height: 34px !important;
  margin-bottom: 7px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-current-month {
  height: 34px !important;
  gap: 10px !important;
  color: #7b4b38 !important;
  font-size: 17px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-current-month .flatpickr-monthDropdown-months,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-current-month input.cur-year {
  height: 30px !important;
  color: #7b4b38 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  background: transparent !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro span.flatpickr-weekday {
  height: 27px !important;
  color: #a2674d !important;
  font-size: 13px !important;
  line-height: 27px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day {
  width: 38px !important;
  max-width: 38px !important;
  height: 34px !important;
  margin: 1px 3px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #1f2f3a !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 34px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.prevMonthDay,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.nextMonthDay {
  color: rgba(31, 47, 58, .28) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.flatpickr-disabled,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.flatpickr-disabled:hover {
  color: rgba(31, 47, 58, .18) !important;
  text-decoration: line-through !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.selected,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.startRange,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.endRange {
  background: #f7764a !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.cn-today,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.today {
  border: 1px solid rgba(247, 118, 74, .46) !important;
  background: rgba(247, 118, 74, .12) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.today.selected,
body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day.cn-today.selected {
  background: #f7764a !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepActionWrap {
  margin-top: 16px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-btnWizardPrimary,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-btnPrimary,
body:not(.cn-home-refined) .cn-pageShellGastro #btnContinue,
body:not(.cn-home-refined) .cn-pageShellGastro #btnSubmit {
  min-height: 48px !important;
  padding: 0 30px !important;
  background: #f7764a !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  box-shadow: 0 12px 24px rgba(247, 118, 74, .2) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-btnWizardPrimary:hover,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-btnPrimary:hover,
body:not(.cn-home-refined) .cn-pageShellGastro #btnContinue:hover,
body:not(.cn-home-refined) .cn-pageShellGastro #btnSubmit:hover {
  background: #c56747 !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-btnBack,
body:not(.cn-home-refined) .cn-pageShellGastro #btnBack,
body:not(.cn-home-refined) .cn-pageShellGastro #back {
  min-height: 48px !important;
  padding: 0 26px !important;
  border-color: rgba(183, 114, 85, .28) !important;
  color: #7b4b38 !important;
  font-size: 16px !important;
  background: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepPane--details {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  padding: clamp(24px, 3vw, 36px) clamp(28px, 3.6vw, 46px) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepPane--details .mb-8,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepPane--contact .mb-8 {
  margin-bottom: 18px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro label {
  color: #1f2f3a !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro label img,
body:not(.cn-home-refined) .cn-pageShellGastro label svg {
  width: 18px !important;
  height: 18px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .text-\[\#5d6b57\],
body:not(.cn-home-refined) .cn-pageShellGastro .text-\[\#3d4a37\] {
  color: inherit !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro #guestsGrid,
body:not(.cn-home-refined) .cn-pageShellGastro #slotsLunch,
body:not(.cn-home-refined) .cn-pageShellGastro #slotsDinner {
  gap: 8px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro #guestsGrid button,
body:not(.cn-home-refined) .cn-pageShellGastro #slotsLunch button,
body:not(.cn-home-refined) .cn-pageShellGastro #slotsDinner button,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-slotBtn {
  min-height: 40px !important;
  border-color: rgba(183, 114, 85, .3) !important;
  color: #1f2f3a !important;
  background: #fff !important;
  font-size: 15px !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro #guestsGrid button:hover,
body:not(.cn-home-refined) .cn-pageShellGastro #slotsLunch button:hover,
body:not(.cn-home-refined) .cn-pageShellGastro #slotsDinner button:hover,
body:not(.cn-home-refined) .cn-pageShellGastro .cn-slotBtn:hover {
  border-color: #f7764a !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro #guestsGrid button[class*="bg-"],
body:not(.cn-home-refined) .cn-pageShellGastro #slotsLunch button[class*="bg-"],
body:not(.cn-home-refined) .cn-pageShellGastro #slotsDinner button[class*="bg-"],
body:not(.cn-home-refined) .cn-pageShellGastro .cn-slotBtn.is-selected {
  border-color: #f7764a !important;
  background: #f7764a !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(247, 118, 74, .18) !important;
}

body:not(.cn-home-refined) .cn-pageShellGastro .cn-actionRow {
  gap: 12px !important;
  margin-top: 18px !important;
}

@media (min-width: 980px) and (max-height: 820px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro {
    padding-top: 14px !important;
    padding-bottom: 92px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-kitchenHeaderLogo {
    max-height: 64px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-steps {
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepPane--date {
    width: min(100%, 560px) !important;
    padding: 18px 28px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepHero {
    margin-bottom: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-stepHeroTitle {
    font-size: 26px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShellGastro .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShellGastro .dayContainer {
    width: 294px !important;
    min-width: 294px !important;
    max-width: 294px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .flatpickr-day {
    width: 34px !important;
    max-width: 34px !important;
    height: 31px !important;
    margin: 1px 3px !important;
    font-size: 13px !important;
    line-height: 31px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro span.flatpickr-weekday {
    height: 24px !important;
    font-size: 12px !important;
    line-height: 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellGastro .cn-btnWizardPrimary {
    min-height: 44px !important;
    font-size: 15px !important;
  }
}

/* Absolute final correction: The Kitchen must beat generic low-height wizard rules */
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem.is-active .cn-stepCircle,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem.is-done .cn-stepCircle {
  background: #f7764a !important;
  color: #fff !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  min-height: 0 !important;
  padding: 18px 28px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
  width: 294px !important;
  min-width: 294px !important;
  max-width: 294px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-day {
  width: 34px !important;
  max-width: 34px !important;
  height: 31px !important;
  margin: 1px 3px !important;
  font-size: 13px !important;
  line-height: 31px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date span.flatpickr-weekday {
  height: 24px !important;
  font-size: 12px !important;
  line-height: 24px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-months {
  height: 30px !important;
  margin-bottom: 4px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month .flatpickr-monthDropdown-months,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month input.cur-year {
  height: 30px !important;
  font-size: 16px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero {
  margin-bottom: 9px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHeroTitle {
  font-size: 25px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHeroLead {
  font-size: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
  margin-top: 12px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-btnWizardPrimary {
  min-height: 42px !important;
  padding-right: 26px !important;
  padding-left: 26px !important;
  font-size: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  padding: 18px 26px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .text-center.mb-8 {
  margin-bottom: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details h2 {
  font-size: 26px !important;
  margin-bottom: 4px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .text-center p {
  font-size: 14px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .mb-8 {
  margin-bottom: 10px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details label {
  margin-bottom: 8px !important;
  font-size: 15px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details label .text-xs {
  color: #8b6654 !important;
  font-size: 12px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #guestsGrid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsLunch,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsDinner {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #primarySlotsBlock {
  margin-bottom: 10px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #primarySlotsLabel,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #secondarySlotsLabel {
  margin-bottom: 7px !important;
  color: #8b6654 !important;
  font-size: 11px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #guestsGrid button,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsLunch button,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsDinner button {
  min-height: 31px !important;
  height: 31px !important;
  padding: 3px 5px !important;
  border-color: rgba(183, 114, 85, .28) !important;
  color: #1f2f3a !important;
  background: #fff !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #btnMore12 {
  grid-column: span 2 !important;
  min-height: 31px !important;
  height: 31px !important;
  padding: 3px 5px !important;
  font-size: 12px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #depositAlert {
  margin-top: 7px !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #depositAlert > div {
  padding: 6px 10px !important;
  border-color: rgba(247, 118, 74, .24) !important;
  background: rgba(247, 118, 74, .08) !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #depositAlert p,
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #depositAlert span {
  font-size: 11px !important;
  line-height: 1.2 !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #guestsGrid button.bg-\[\#b77255\],
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #guestsGrid button.border-\[\#b77255\],
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsLunch button.bg-\[\#5d6b57\],
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsDinner button.bg-\[\#5d6b57\],
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsLunch button.border-\[\#5d6b57\],
body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #slotsDinner button.border-\[\#5d6b57\] {
  border-color: #f7764a !important;
  background: #f7764a !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(247, 118, 74, .18) !important;
}

body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .cn-actionRow {
  margin-top: 12px !important;
}

@media (min-width: 980px) and (max-height: 820px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    padding-top: 10px !important;
    padding-bottom: 86px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-kitchenHeaderLogo {
    max-height: 54px !important;
    margin-bottom: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps {
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
    font-size: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle svg {
    width: 21px !important;
    height: 21px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem {
    font-size: 14px !important;
  }
}


/* Absolute final override: home desktop 980-1366, footer and sound sizing */
@media (min-width: 980px) {
  body.cn-home-refined .cn-entrySoundBtn {
    position: fixed !important;
    top: clamp(22px, 4svh, 46px) !important;
    right: clamp(26px, 4.4vw, 72px) !important;
    z-index: 930 !important;
    width: clamp(66px, 5vw, 86px) !important;
    height: clamp(40px, 2.35vw, 47px) !important;
  }

  body.cn-home-refined .cn-entrySoundBtn svg {
    width: clamp(21px, 1.5vw, 30px) !important;
    height: clamp(21px, 1.5vw, 30px) !important;
    stroke: currentColor !important;
  }

  body.cn-home-refined #footer,
  body:not(.cn-home-refined) #footer {
    padding-right: clamp(58px, 7vw, 118px) !important;
    padding-left: clamp(58px, 7vw, 118px) !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1620px) !important;
    max-width: calc(100vw - clamp(116px, 14vw, 236px)) !important;
    grid-template-columns: minmax(252px, .78fr) minmax(224px, .62fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(10px, .9vw, 18px) !important;
  }

  #footer .cn-footerAddressBreak {
    display: none !important;
  }

  #footer .cn-footerAddressTabletSpace {
    display: inline !important;
  }

  #footer .cn-footerAddress span:last-child {
    white-space: nowrap !important;
  }
}

@media (min-width: 980px) and (hover: hover) and (pointer: fine) {
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1760px) !important;
    max-width: calc(100vw - clamp(68px, 8.4vw, 164px)) !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding: 14px clamp(86px, 3.2vw, 57px) !important;
  }
}

/* Sunbeds flow background */
body:not(.cn-home-refined) .cn-pageShellRelax {
  background-color: #f7e8d6 !important;
  background-image:
    linear-gradient(180deg, rgba(255, 248, 239, .2), rgba(255, 248, 239, .46)),
    url("../assets/bg-sunbeds.jpg") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
}

/* Absolute final home card icon sizing and orange */
body.cn-home-refined .cn-entryIconBadge {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 6 !important;
  width: 34px !important;
  height: 34px !important;
}

body.cn-home-refined .cn-entryIconBadge img,
body.cn-home-refined .cn-entryIconBadge svg {
  width: 20px !important;
  height: 20px !important;
}

body.cn-home-refined .cn-entryIconBadge.is-gastro,
body.cn-home-refined .cn-entryIconBadge.is-relax,
body.cn-home-refined .cn-entryBadge.is-gastro,
body.cn-home-refined .cn-entryBadge.is-relax,
body.cn-home-refined .cn-entryCard.is-gastro .cn-entryBadge,
body.cn-home-refined .cn-entryCard.is-relax .cn-entryBadge {
  background: #F08A5D !important;
}

/* Absolute final desktop footer brand alignment */
@media (min-width: 980px) {
  #footer .cn-footerLogoMark {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    grid-template-columns: minmax(270px, .82fr) minmax(310px, .78fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(8px, .7vw, 14px) !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerTitle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 clamp(24px, 2vw, 42px) 0 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .72) !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    width: 100% !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleSub,
  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    width: 100% !important;
    text-align: center !important;
  }

  #footer .cn-footerAddress,
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding-left: clamp(34px, 3.2vw, 62px) !important;
  }

  #footer .cn-footerAddressIcon,
  #footer .cn-footerAddressIcon svg,
  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }
}

/* Last iPad/tablet footer recovery */
@media (min-width: 740px) and (max-width: 1366px) and (pointer: coarse) {
  body.cn-home-refined #footer,
  body:not(.cn-home-refined) #footer {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    min-height: 126px !important;
    margin: 0 auto !important;
    padding: 16px clamp(22px, 2.6vw, 30px) !important;
    display: grid !important;
    grid-template-columns: minmax(210px, .62fr) minmax(0, 1fr) minmax(82px, .22fr) !important;
    grid-template-areas:
      "brand address socials"
      "brand actions actions" !important;
    align-items: center !important;
    column-gap: clamp(12px, 1.8vw, 18px) !important;
    row-gap: 10px !important;
    overflow: hidden !important;
  }

  #footer .cn-footerLogoMark {
    display: none !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerTitle {
    grid-area: brand !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 clamp(14px, 2vw, 22px) 0 0 !important;
    border-right: 1px solid rgba(255,255,255,.68) !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    font-size: clamp(25px, 3.8vw, 34px) !important;
    line-height: .88 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  #footer .cn-footerTitleSub,
  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    margin-top: 4px !important;
    font-size: clamp(10px, 1.35vw, 13px) !important;
    line-height: 1 !important;
    letter-spacing: .2em !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  #footer .cn-footerAddress,
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    grid-area: address !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding-left: clamp(8px, 1.8vw, 18px) !important;
    font-size: clamp(12px, 1.75vw, 15px) !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
  }

  #footer .cn-footerAddressIcon,
  #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }

  #footer .cn-footer-actions,
  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    grid-area: actions !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  #footer .cn-footerPill,
  body.cn-home-refined #footer .cn-footerPill,
  body:not(.cn-home-refined) #footer .cn-footerPill {
    height: 34px !important;
    min-height: 34px !important;
    min-width: 0 !important;
    padding: 2px 12px !important;
    gap: 7px !important;
    flex: 0 1 auto !important;
  }

  #footer .cn-footerPill .cn-footerPillText,
  #footer .cn-footerPill.is-email .cn-footerPillText,
  #footer .cn-footerPill.is-nerea .cn-footerPillText {
    font-size: clamp(10px, 1.25vw, 12px) !important;
    white-space: nowrap !important;
  }

  #footer .cn-footerPill.is-email .cn-footerPillText::after,
  #footer .cn-footerPill.is-nerea .cn-footerPillText::after {
    content: none !important;
    display: none !important;
  }

  #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    grid-area: socials !important;
    justify-content: flex-end !important;
    gap: clamp(12px, 2vw, 18px) !important;
    margin: 0 !important;
  }
}

/* Absolute final footer width: desktop/tablet landscape */
@media (min-width: 980px) {
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1620px) !important;
    max-width: calc(100vw - clamp(116px, 14vw, 236px)) !important;
    grid-template-columns: minmax(252px, .78fr) minmax(224px, .62fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(10px, .9vw, 18px) !important;
  }

  #footer .cn-footerAddress span:last-child {
    white-space: nowrap !important;
  }
}

@media (min-width: 980px) and (hover: hover) and (pointer: fine) {
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1760px) !important;
    max-width: calc(100vw - clamp(68px, 8.4vw, 164px)) !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding: 14px clamp(86px, 3.2vw, 57px) !important;
  }
}

@media (min-width: 1144px) and (max-width: 1366px) {
  body.cn-home-refined .cn-pageShellEntry {
    justify-content: center !important;
    min-height: 100svh !important;
    padding-top: 0 !important;
    padding-bottom: 116px !important;
  }

  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    min-height: calc(100svh - 126px) !important;
    align-content: center !important;
    justify-content: center !important;
    row-gap: 0 !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header {
    margin-bottom: clamp(10px, 1.4vh, 18px) !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    margin: 0 auto clamp(14px, 1.8vh, 22px) !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 6px auto 0 !important;
  }

  body.cn-home-refined .cn-entryScreen {
    padding: 0 clamp(18px, 2.8vw, 40px) !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: min(100%, calc(100vw - clamp(48px, 7vw, 96px))) !important;
    padding: clamp(12px, 1.25vw, 18px) !important;
    gap: clamp(8px, .85vw, 10px) !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, .42) !important;
    border: 1px solid rgba(255, 255, 255, .66) !important;
    border-radius: 26px !important;
    box-shadow: 0 24px 64px rgba(31,47,58,.12) !important;
    backdrop-filter: blur(8px) !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    flex: 0 1 clamp(246px, calc((100vw - 154px) / 4), 276px) !important;
    width: clamp(246px, calc((100vw - 154px) / 4), 276px) !important;
    min-width: 0 !important;
    height: clamp(350px, calc(100svh - 320px), 420px) !important;
    min-height: 350px !important;
    max-height: 420px !important;
  }
}

@media (min-width: 980px) and (max-width: 1143px) {
  body.cn-home-refined .cn-pageShellEntry {
    justify-content: center !important;
    min-height: 100svh !important;
    padding-bottom: 112px !important;
  }

  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    width: 100% !important;
    min-height: calc(100svh - 122px) !important;
    align-content: center !important;
    justify-content: center !important;
  }

  body.cn-home-refined .cn-entryIntroSimple {
    margin: 0 auto 12px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 5px auto 0 !important;
    font-size: clamp(34px, 3.7vw, 42px) !important;
  }

  body.cn-home-refined .cn-entryScreen {
    padding: 0 16px !important;
  }

  body.cn-home-refined .cn-entryGrid {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    padding: 10px !important;
    gap: 8px !important;
    display: flex !important;
    justify-content: center !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, .42) !important;
    border: 1px solid rgba(255, 255, 255, .66) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 48px rgba(31,47,58,.12) !important;
    backdrop-filter: blur(8px) !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    flex: 0 1 calc((100vw - 76px) / 4) !important;
    width: calc((100vw - 76px) / 4) !important;
    min-width: 0 !important;
    height: clamp(310px, calc(100svh - 308px), 372px) !important;
    min-height: 310px !important;
    max-height: 372px !important;
    transform: none !important;
  }

  body.cn-home-refined .cn-entryTitle,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryTitle {
    font-size: clamp(25px, 2.8vw, 31px) !important;
    line-height: .9 !important;
    letter-spacing: -.07em !important;
  }

  body.cn-home-refined .cn-entryCard.is-rental .cn-entryTitle {
    font-size: clamp(21px, 2.45vw, 27px) !important;
    letter-spacing: -.08em !important;
  }

  body.cn-home-refined .cn-entryKitchenTitleLogo {
    width: clamp(104px, 12vw, 132px) !important;
  }

  body.cn-home-refined .cn-entryDescription,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard:not(:hover) .cn-entryDescription {
    font-size: 11px !important;
  }

  body.cn-home-refined .cn-entryCardCopy {
    left: 10px !important;
    right: 10px !important;
    bottom: 50px !important;
  }

  body.cn-home-refined .cn-entryAction {
    left: 9px !important;
    right: 9px !important;
    bottom: 9px !important;
    min-height: 27px !important;
    height: 27px !important;
    gap: 9px !important;
    padding: 0 9px !important;
    font-size: 10px !important;
  }
}


/* Absolute final correction: force horizontal home cards from 980px */
@media (min-width: 980px) and (max-width: 1143px) {
  body.cn-home-refined .cn-entryGrid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    display: block !important;
    flex-grow: 0 !important;
    flex-shrink: 1 !important;
    flex-basis: calc((100vw - 76px) / 4) !important;
    width: calc((100vw - 76px) / 4) !important;
    max-width: calc((100vw - 76px) / 4) !important;
  }
}

/* Absolute final correction: vertical optical centering and visible card panel */
@media (min-width: 980px) and (max-width: 1366px) {
  body.cn-home-refined .cn-pageShellEntry > .w-full.max-w-screen-2xl {
    transform: translateY(clamp(18px, 2.8vh, 28px)) !important;
  }

  body.cn-home-refined .cn-entryGrid {
    background: rgba(255, 255, 255, .58) !important;
    border: 1px solid rgba(255, 255, 255, .86) !important;
    outline: 1px solid rgba(7, 84, 134, .06) !important;
    box-shadow:
      0 18px 46px rgba(31, 47, 58, .12),
      inset 0 1px 0 rgba(255, 255, 255, .72) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
}

@media (min-width: 1144px) and (max-width: 1366px) {
  body.cn-home-refined .cn-entryGrid {
    width: min(100%, calc(100vw - clamp(60px, 7.8vw, 104px))) !important;
    padding: clamp(14px, 1.35vw, 20px) !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    flex-basis: clamp(242px, calc((100vw - 170px) / 4), 276px) !important;
    width: clamp(242px, calc((100vw - 170px) / 4), 276px) !important;
    max-width: clamp(242px, calc((100vw - 170px) / 4), 276px) !important;
  }
}

@media (min-width: 980px) and (max-width: 1143px) {
  body.cn-home-refined .cn-entryGrid {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding: 11px !important;
  }

  body.cn-home-refined .cn-entryCard,
  body.cn-home-refined .cn-entryGrid:hover .cn-entryCard,
  body.cn-home-refined .cn-entryGrid .cn-entryCard:hover {
    flex-basis: calc((100vw - 74px) / 4) !important;
    width: calc((100vw - 74px) / 4) !important;
    max-width: calc((100vw - 74px) / 4) !important;
  }
}

/* Last desktop footer pass: no manta, centered brand, cleaner spacing */
@media (min-width: 980px) and (hover: hover) and (pointer: fine) {
  #footer .cn-footerLogoMark {
    display: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    grid-template-columns: minmax(270px, .82fr) minmax(310px, .78fr) minmax(452px, 1.18fr) minmax(98px, .25fr) !important;
    column-gap: clamp(8px, .7vw, 14px) !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light .cn-footerTitle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 clamp(24px, 2vw, 42px) 0 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .72) !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleMain,
  #footer .cn-footerTitleSub,
  body.cn-home-refined #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    width: 100% !important;
    text-align: center !important;
  }

  #footer .cn-footerAddress,
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding-left: clamp(34px, 3.2vw, 62px) !important;
  }

  #footer .cn-footerAddressIcon,
  #footer .cn-footerAddressIcon svg,
  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }
}

/* Desktop large address break */
#footer .cn-footerAddressDesktopBreak {
  display: none !important;
}

@media (min-width: 1504px) and (hover: hover) and (pointer: fine) {
  #footer .cn-footerAddress span:last-child {
    white-space: normal !important;
    line-height: 1.18 !important;
  }

  #footer .cn-footerAddressDesktopBreak {
    display: block !important;
  }
}

/* Final footer label cleanup: prevent duplicated pseudo labels */
#footer .cn-footerPill.is-email .cn-footerPillText::after,
#footer .cn-footerPill.is-nerea .cn-footerPillText::after,
body.cn-home-refined #footer .cn-footerPill.is-email .cn-footerPillText::after,
body.cn-home-refined #footer .cn-footerPill.is-nerea .cn-footerPillText::after,
body:not(.cn-home-refined) #footer .cn-footerPill.is-email .cn-footerPillText::after,
body:not(.cn-home-refined) #footer .cn-footerPill.is-nerea .cn-footerPillText::after {
  content: none !important;
  display: none !important;
}

/* Final activities landing desktop composition */
@media (min-width: 1367px) and (hover: hover) and (pointer: fine) {
  body:not(.cn-home-refined) .cn-pageShellActivities {
    min-height: 100svh !important;
    padding-top: clamp(256px, 25.8vh, 278px) !important;
    padding-bottom: 34px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities > .w-full {
    width: min(calc(100vw - 86px), 1680px) !important;
    max-width: 1680px !important;
    transform: translateY(clamp(92px, 10vh, 110px)) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreen {
    padding: 0 !important;
    margin-bottom: clamp(178px, 19vh, 206px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreenInner {
    display: grid !important;
    justify-items: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster {
    margin: 0 auto clamp(32px, 3.3vh, 42px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster .cn-entryBadge {
    border-color: rgba(7, 84, 134, .74) !important;
    color: #075486 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityHeadline,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster .cn-activityHeadline {
    color: #075486 !important;
    font-size: clamp(44px, 3.15vw, 58px) !important;
    text-shadow: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-mainBrandLogo {
    filter: none !important;
    opacity: .82 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion {
    width: min(calc(100vw - 420px), 1288px) !important;
    min-width: 1180px !important;
    height: clamp(452px, 44.4vh, 470px) !important;
    padding: 12px !important;
    gap: 6px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.42) !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    box-shadow: 0 18px 42px rgba(31,47,58,.1) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion:hover .cn-activityCard--accordion {
    flex: 1 1 0 !important;
    height: 100% !important;
    border-radius: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion .cn-activityCard--accordion:hover {
    flex-grow: 1.38 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardMeta--poster {
    bottom: 12px !important;
    padding: 0 10px !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardTitle--poster {
    font-size: clamp(30px, 1.65vw, 36px) !important;
    line-height: .88 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityPosterAction {
    height: 30px !important;
    min-height: 30px !important;
    font-size: 11px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities #footer {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    margin-top: clamp(132px, 13.4vh, 148px) !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.cn-activities-landing #footer {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    margin-top: clamp(132px, 13.4vh, 148px) !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.cn-activities-landing #footer .cn-footer.cn-footer--dark,
  body.cn-activities-landing #footer .cn-footer.cn-footer--light {
    width: min(calc(100vw - 410px), 1640px) !important;
    max-width: min(calc(100vw - 410px), 1640px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) .cn-pageShellActivities #footer .cn-footer.cn-footer--light {
    width: min(calc(100vw - 410px), 1640px) !important;
    max-width: min(calc(100vw - 410px), 1640px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities #footer .cn-footerPill.is-email .cn-footerPillText,
  body:not(.cn-home-refined) .cn-pageShellActivities #footer .cn-footerPill.is-nerea .cn-footerPillText {
    color: currentColor !important;
    font-size: clamp(10px, .68vw, 13px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities #footer .cn-footerPill.is-email .cn-footerPillText::after,
  body:not(.cn-home-refined) .cn-pageShellActivities #footer .cn-footerPill.is-nerea .cn-footerPillText::after {
    content: none !important;
    display: none !important;
  }
}

/* Absolute final mobile footer/header correction */
@media (min-width: 601px) {
  #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    display: none !important;
  }
}

@media (max-width: 600px) {
  .cn-entrySoundBtn,
  body.cn-home-refined .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-entrySoundBtn {
    display: none !important;
  }

  .cn-pageShell .cn-entryBackWrap,
  .cn-pageShellActivities .cn-entryBackWrap,
  .cn-pageShellActivityWizard .cn-entryBackWrap,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-entryBackWrap {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    margin: 14px 0 20px 14px !important;
    padding: 0 !important;
    transform: none !important;
    z-index: auto !important;
  }

  body.cn-home-refined .cn-pageShellEntry #header,
  body:not(.cn-home-refined) .cn-pageShell #header {
    margin-top: clamp(34px, 8svh, 58px) !important;
  }

  body.cn-home-refined .cn-headerBrand,
  body:not(.cn-home-refined) .cn-headerBrand {
    margin-top: clamp(12px, 3.6svh, 28px) !important;
  }

  #footer {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: clamp(48px, 10svh, 76px) auto 0 !important;
    padding: clamp(44px, 9svh, 64px) 24px calc(104px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "address"
      "socials"
      "actions" !important;
    justify-items: center !important;
    align-items: center !important;
    row-gap: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(250, 244, 236, .96) !important;
    box-shadow: none !important;
    color: #075486 !important;
    overflow: visible !important;
    text-align: center !important;
  }

  #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    grid-area: brand !important;
    display: block !important;
    width: 42px !important;
    height: auto !important;
    margin: 0 auto 10px !important;
    filter: none !important;
    opacity: .78 !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer .cn-footerTitle {
    grid-area: brand !important;
    margin: 0 auto !important;
    padding: 52px 0 0 !important;
    border: 0 !important;
    color: #075486 !important;
    line-height: .92 !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleMain,
  body.cn-home-refined #footer .cn-footerTitleMain,
  body:not(.cn-home-refined) #footer .cn-footerTitleMain {
    display: block !important;
    color: #075486 !important;
    font-family: "Marksys", "Brockmann", cursive !important;
    font-size: clamp(36px, 10vw, 44px) !important;
    font-weight: 400 !important;
    line-height: .86 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #footer .cn-footerTitleSub,
  body.cn-home-refined #footer .cn-footerTitleSub,
  body:not(.cn-home-refined) #footer .cn-footerTitleSub {
    display: block !important;
    margin-top: 9px !important;
    color: #075486 !important;
    font-family: "Brockmann", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2),
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    grid-area: address !important;
    width: min(100%, 330px) !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 18px !important;
    color: #606779 !important;
    font-size: clamp(18px, 5.4vw, 22px) !important;
    font-weight: 400 !important;
    line-height: 1.24 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  #footer .cn-footerAddressIcon,
  #footer .cn-footerAddressIcon svg,
  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: inline-flex !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    color: #ffffff !important;
    stroke: #ffffff !important;
  }

  #footer .cn-footerAddressDesktopBreak,
  #footer p:nth-of-type(3) {
    display: none !important;
  }

  #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    grid-area: socials !important;
    margin: 4px auto 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 34px !important;
    color: #075486 !important;
  }

  #footer .cn-footerSocialIcon,
  #footer .cn-footerSocialIcon svg,
  body.cn-home-refined #footer .cn-footerSocialIcon,
  body.cn-home-refined #footer .cn-footerSocialIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerSocialIcon,
  body:not(.cn-home-refined) #footer .cn-footerSocialIcon svg {
    width: 34px !important;
    height: 34px !important;
    color: #075486 !important;
  }

  #footer .cn-footer-actions,
  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions {
    display: none !important;
  }

  #footer .cn-mobileActionBar,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1200 !important;
    height: calc(86px + env(safe-area-inset-bottom)) !important;
    padding: 0 0 env(safe-area-inset-bottom) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    border-radius: 12px 12px 0 0 !important;
    background: linear-gradient(135deg, #075486 0%, #00477c 100%) !important;
    box-shadow: 0 -12px 26px rgba(0, 45, 84, .24) !important;
  }

  #footer .cn-mobileAction,
  body.cn-home-refined #footer .cn-mobileAction,
  body:not(.cn-home-refined) #footer .cn-mobileAction {
    min-width: 0 !important;
    padding: 9px 7px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border-left: 1px solid rgba(255, 255, 255, .58) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  #footer .cn-mobileAction:first-child,
  body.cn-home-refined #footer .cn-mobileAction:first-child,
  body:not(.cn-home-refined) #footer .cn-mobileAction:first-child {
    border-left: 0 !important;
  }

  #footer .cn-mobileActionIcon,
  #footer .cn-mobileActionIcon img,
  #footer .cn-mobileActionIcon svg,
  body.cn-home-refined #footer .cn-mobileActionIcon,
  body.cn-home-refined #footer .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileActionIcon svg,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon svg {
    width: 29px !important;
    height: 29px !important;
    font-size: 29px !important;
  }

  #footer .cn-mobileAction.is-whatsapp,
  body.cn-home-refined #footer .cn-mobileAction.is-whatsapp,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-whatsapp {
    color: #25D366 !important;
  }

  #footer .cn-mobileAction.is-whatsapp .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileAction.is-whatsapp .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-whatsapp .cn-mobileActionIcon img {
    filter: invert(57%) sepia(90%) saturate(568%) hue-rotate(88deg) brightness(96%) contrast(92%) !important;
  }

  #footer .cn-mobileAction.is-email,
  body.cn-home-refined #footer .cn-mobileAction.is-email,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-email {
    color: #ffffff !important;
  }

  #footer .cn-mobileAction.is-nerea,
  body.cn-home-refined #footer .cn-mobileAction.is-nerea,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-nerea {
    color: #F08A5D !important;
  }

  #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileAction.is-nerea .cn-mobileActionIcon img {
    filter: invert(62%) sepia(56%) saturate(781%) hue-rotate(319deg) brightness(99%) contrast(90%) !important;
  }
}

/* Absolute final mobile footer mark alignment */
@media (max-width: 600px) {
  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    grid-template-areas:
      "mark"
      "brand"
      "address"
      "socials"
      "actions" !important;
    row-gap: 16px !important;
  }

  #footer .cn-footerLogoMark,
  body.cn-home-refined #footer .cn-footerLogoMark,
  body:not(.cn-home-refined) #footer .cn-footerLogoMark {
    grid-area: mark !important;
    margin: 0 auto -4px !important;
  }

  #footer .cn-footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footer .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footer .cn-footerTitle {
    grid-area: brand !important;
    padding: 0 !important;
  }
}

/* Absolute last mobile no-jump footer and centered heading */
@media (max-width: 600px) {
  body.cn-home-refined .cn-pageShellEntry #header,
  body:not(.cn-home-refined) .cn-pageShell #header {
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  body.cn-home-refined .cn-headerBrand,
  body:not(.cn-home-refined) .cn-headerBrand {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }

  body.cn-home-refined .cn-entryIntroSimple,
  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
  }

  body.cn-home-refined .cn-entryIntroSimple .cn-activityHeadline {
    margin: 0 auto !important;
    padding: 0 6px !important;
    font-size: clamp(31px, 8.7vw, 36px) !important;
    line-height: .92 !important;
  }

  #footer .cn-mobileActionBar,
  body.cn-home-refined #footer .cn-mobileActionBar,
  body:not(.cn-home-refined) #footer .cn-mobileActionBar {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1200 !important;
    width: 100vw !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    border-radius: 12px 12px 0 0 !important;
    overflow: hidden !important;
    contain: none !important;
    background: #075486 !important;
    box-shadow: 0 -10px 22px rgba(0, 45, 84, .22) !important;
    -webkit-transform: none !important;
    transform: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
  }

  #footer .cn-mobileAction,
  body.cn-home-refined #footer .cn-mobileAction,
  body:not(.cn-home-refined) #footer .cn-mobileAction {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding: 7px 6px 8px !important;
    gap: 5px !important;
    border-left: 1px solid rgba(255, 255, 255, .56) !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  #footer .cn-mobileActionIcon,
  #footer .cn-mobileActionIcon img,
  #footer .cn-mobileActionIcon svg,
  body.cn-home-refined #footer .cn-mobileActionIcon,
  body.cn-home-refined #footer .cn-mobileActionIcon img,
  body.cn-home-refined #footer .cn-mobileActionIcon svg,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon img,
  body:not(.cn-home-refined) #footer .cn-mobileActionIcon svg {
    width: 25px !important;
    height: 25px !important;
    font-size: 25px !important;
  }

  body.cn-home-refined .cn-pageShellEntry,
  .cn-pageShell,
  .cn-pageShellActivities,
  .cn-pageShellRentals,
  .cn-pageShellActivityWizard {
    padding-bottom: 82px !important;
  }
}

/* Absolute last activities portrait background */
@media (max-width: 979px) and (orientation: portrait) {
  .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivities,
  body.cn-activities-landing .cn-pageShellActivities {
    background-color: #0699ad !important;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(0, 105, 128, .1)),
      url("../assets/bg-actividades-mob.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }
}

/* Absolute last activities mobile portrait layout */
@media (max-width: 600px) and (orientation: portrait) {
  body:not(.cn-home-refined) .cn-pageShellActivities {
    min-height: 100svh !important;
    padding: 18px 0 86px !important;
    align-items: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities > .w-full,
  body.cn-activities-landing .cn-pageShellActivities > .w-full {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities #header {
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-headerBrand {
    margin: 0 auto 2px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-mainBrandLogo {
    width: 58px !important;
    height: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreen,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreenPoster {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 14px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreenInner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster {
    margin: -2px auto 20px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster .cn-entryBadge {
    padding: 5px 14px 4px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster .cn-activityHeadline,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityHeadline {
    margin-top: 8px !important;
    color: #3f4d3c !important;
    font-size: clamp(34px, 9.8vw, 42px) !important;
    line-height: .9 !important;
    text-align: center !important;
    text-shadow: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    border: 1px solid rgba(255, 255, 255, .66) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .36) !important;
    box-shadow: 0 18px 44px rgba(31, 47, 58, .1) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion:hover .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion .cn-activityCard--accordion:hover {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1.03 !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 14px !important;
    transform: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityAgePill {
    top: 12px !important;
    left: 12px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 10px 0 9px !important;
    font-size: 13px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityAgePill svg {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardMeta--poster {
    inset: auto 0 14px !important;
    min-height: 104px !important;
    padding: 0 14px !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardTitle--poster {
    font-size: clamp(37px, 11vw, 46px) !important;
    line-height: .86 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityPosterAction {
    height: 34px !important;
    min-height: 34px !important;
    font-size: 12px !important;
  }
}

/* Absolute last activities mobile back button */
@media (max-width: 600px) and (orientation: portrait) {
  body:not(.cn-home-refined) .cn-pageShellActivities {
    position: relative !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-entryBackWrap {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    z-index: 80 !important;
  }

  body.cn-activities-landing .cn-entryBackWrap {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    z-index: 80 !important;
  }
}

/* Absolute final activities mobile match */
@media (max-width: 600px) and (orientation: portrait) {
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivities,
  body.cn-activities-landing .cn-pageShellActivities {
    background-color: #d7e5dc !important;
    background-image:
      linear-gradient(180deg, rgba(238, 244, 237, .74) 0%, rgba(225, 237, 229, .64) 20%, rgba(190, 225, 219, .42) 54%, rgba(0, 143, 164, .18) 100%),
      url("../assets/bg-actividades-mob.jpg") !important;
    background-position: right top !important;
    background-size: cover !important;
    padding-top: 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-entryBackWrap,
  body.cn-activities-landing .cn-entryBackWrap {
    top: 20px !important;
    left: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-headerBrand {
    margin: 12px auto 4px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-mainBrandLogo {
    width: 68px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityIntroPoster {
    margin: 4px auto 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreen,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityScreenPoster {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 12px !important;
    background: rgba(255, 255, 255, .48) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion:hover .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion .cn-activityCard--accordion:hover {
    aspect-ratio: 1 / 1.02 !important;
    border-radius: 16px !important;
  }
}

/* Final confirmed activities portrait background */
@media (max-width: 979px) and (orientation: portrait) {
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellActivities:not(.cn-pageShellEntry),
  body:not(.cn-home-refined) .w-full.cn-pageShell.cn-pageShellActivities,
  body.cn-activities-landing .cn-pageShellActivities {
    background-color: #0caebd !important;
    background-image: url("../assets/bg-actividades-mob.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: right top !important;
    background-attachment: scroll !important;
  }
}

/* Final desktop footer pin and rentals recovery */
@media (min-width: 980px) and (hover: hover) and (pointer: fine) {
  body.cn-home-refined .cn-pageShellEntry,
  body:not(.cn-home-refined) .cn-pageShell,
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShellRentals,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard,
  body:not(.cn-home-refined) .cn-pageShellRelax,
  body:not(.cn-home-refined) .cn-pageShellGastro {
    min-height: 100svh !important;
    padding-bottom: 128px !important;
  }

  body.cn-home-refined #footer,
  body:not(.cn-home-refined) #footer,
  body:not(.cn-home-refined) .cn-pageShell #footer,
  body:not(.cn-home-refined) .cn-pageShellActivities #footer,
  body:not(.cn-home-refined) .cn-pageShellRentals #footer,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard #footer,
  body:not(.cn-home-refined) .cn-pageShellRelax #footer,
  body:not(.cn-home-refined) .cn-pageShellGastro #footer {
    position: fixed !important;
    right: 0 !important;
    bottom: clamp(22px, 3.4svh, 40px) !important;
    left: 0 !important;
    z-index: 900 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(34px, 4.2vw, 82px) !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    pointer-events: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals {
    padding-top: clamp(24px, 3vh, 42px) !important;
    background-color: #d9eef8 !important;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .24) 100%),
      url("../assets/bg-rentals.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center 48% !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals > .w-full,
  body:not(.cn-home-refined) .cn-pageShellRentals > .w-full:first-child {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-bottom: 0 !important;
    transform: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsScreen {
    margin-top: clamp(8px, 1.3vh, 18px) !important;
    margin-bottom: 0 !important;
  }
}

/* Absolute last desktop footer pin: no pointer/hover dependency */
@media (min-width: 980px) {
  body.cn-home-refined .cn-pageShellEntry,
  body:not(.cn-home-refined) .cn-pageShell,
  body:not(.cn-home-refined) .cn-pageShellActivities,
  body:not(.cn-home-refined) .cn-pageShellRentals,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard,
  body:not(.cn-home-refined) .cn-pageShellRelax,
  body:not(.cn-home-refined) .cn-pageShellGastro {
    min-height: 100svh !important;
    padding-bottom: 128px !important;
  }

  body.cn-home-refined #footer,
  body:not(.cn-home-refined) #footer,
  body:not(.cn-home-refined) .cn-pageShell #footer,
  body:not(.cn-home-refined) .cn-pageShellActivities #footer,
  body:not(.cn-home-refined) .cn-pageShellRentals #footer,
  body:not(.cn-home-refined) .cn-pageShellActivityWizard #footer,
  body:not(.cn-home-refined) .cn-pageShellRelax #footer,
  body:not(.cn-home-refined) .cn-pageShellGastro #footer {
    position: fixed !important;
    right: 0 !important;
    bottom: clamp(22px, 3.4svh, 40px) !important;
    left: 0 !important;
    z-index: 900 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(34px, 4.2vw, 82px) !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    pointer-events: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals {
    padding-top: clamp(24px, 3vh, 42px) !important;
    background-color: #d9eef8 !important;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .24) 100%),
      url("../assets/bg-rentals.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center 48% !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals > .w-full,
  body:not(.cn-home-refined) .cn-pageShellRentals > .w-full:first-child {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-bottom: 0 !important;
    transform: none !important;
  }
}

/* 2026-06 final compact alignment: sunbeds boxes + synced top controls */
@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-programStep.is-relax {
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 1.35rem 1.4rem 1.15rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModes {
    gap: 0.95rem !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeCard {
    border-radius: 1.55rem !important;
    box-shadow: 0 16px 28px rgba(80, 57, 37, 0.1) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeMedia {
    min-height: 20.25rem !important;
    padding: 1rem 1.08rem 1.02rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeEyebrows {
    gap: 0.35rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeEyebrow,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeHelper {
    min-height: 1.6rem !important;
    padding: 0.24rem 0.72rem !important;
    font-size: 0.64rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeIcon {
    width: 3.35rem !important;
    height: 3.35rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeIcon .cn-zoneFileIcon {
    width: 1.55rem !important;
    height: 1.55rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeTitle {
    font-size: 2.55rem !important;
    letter-spacing: -2.2px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeDuration {
    margin-top: 0.28rem !important;
    font-size: 0.92rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModePrice {
    margin-top: 0.32rem !important;
    font-size: 2.95rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeDescription {
    margin-top: 0.3rem !important;
    font-size: 0.92rem !important;
    line-height: 1.32 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeButton {
    width: min(100%, 17.5rem) !important;
    min-height: 3rem !important;
    margin-top: 0.8rem !important;
    font-size: 0.95rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonCard {
    grid-template-columns: minmax(13rem, 1.12fr) minmax(0, 1.45fr) minmax(12.5rem, 0.8fr) !important;
    border-radius: 1.55rem !important;
    box-shadow: 0 16px 28px rgba(80, 57, 37, 0.09) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonMedia {
    min-height: 10rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonBody {
    padding: 1rem 1.12rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonEyebrow {
    padding: 0.28rem 0.72rem !important;
    font-size: 0.64rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonTitle {
    margin-top: 0.56rem !important;
    font-size: 2.3rem !important;
    letter-spacing: -2px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonPriceRow {
    margin-top: 0.55rem !important;
    gap: 0.7rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonPrice {
    font-size: 2.5rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonStrike,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonDetail,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonNote {
    font-size: 0.92rem !important;
    line-height: 1.32 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonActions {
    gap: 0.8rem !important;
    padding: 1rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonButton {
    min-height: 3.05rem !important;
    font-size: 0.95rem !important;
    padding: 0 1rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax .cn-entryBackWrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro .cn-entryBackWrap {
    position: fixed !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1400 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax .cn-entryBackBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro .cn-entryBackBtn {
    min-height: 46px !important;
    padding: 0 1.35rem !important;
    border-radius: 999px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax + .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro + .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-pageShellRelax ~ .cn-entrySoundBtn,
  body:not(.cn-home-refined) .cn-pageShellGastro ~ .cn-entrySoundBtn {
    position: fixed !important;
    top: 18px !important;
    right: 18px !important;
    width: 58px !important;
    height: 44px !important;
  }
}

@media (min-width: 980px) and (max-height: 860px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-programStep.is-relax {
    padding-top: 1.15rem !important;
    padding-bottom: 0.9rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxModeMedia {
    min-height: 18.9rem !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellRelax.cn-pageShellProgramChoice .cn-relaxAddonMedia {
    min-height: 9.2rem !important;
  }
}



/* === 2026-06-10 V2 | GASTRO CALENDAR BIGGER + CENTERED + GLASS CARD === */
@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    background: rgba(255, 255, 255, 0.24) !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    box-shadow: 0 18px 40px rgba(66, 40, 20, 0.10) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    padding: 28px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .text-center.mb-8,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    width: 100% !important;
    text-align: center !important;
    align-self: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero {
    margin-bottom: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHeroTitle {
    font-size: 28px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHeroLead {
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-months {
    height: 38px !important;
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month .flatpickr-monthDropdown-months,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month input.cur-year {
    height: 38px !important;
    font-size: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date span.flatpickr-weekday {
    height: 28px !important;
    font-size: 13px !important;
    line-height: 28px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-day {
    width: 46px !important;
    max-width: 46px !important;
    height: 40px !important;
    margin: 2px 4px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    line-height: 40px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    padding: 24px 30px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid button,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-guestBtn {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    background: rgba(255, 255, 255, 0.26) !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid {
    grid-template-columns: 1fr !important;
  }
}




/* === 2026-06-11 V3 | Calendar larger + wizard smaller + stronger glass === */
@media (min-width: 980px) {
  /* Caja exterior con cristal semitranslúcido real, igual al resto del sistema */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    background:
      linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.20)) !important;
    border: 1px solid rgba(255,255,255,.52) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.58),
      0 20px 46px rgba(88, 54, 29, .11) !important;
    backdrop-filter: blur(18px) saturate(1.16) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.16) !important;
  }

  /* Calendario un poco más grande */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: min(100%, 800px) !important;
    max-width: 800px !important;
    padding: 30px 38px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-months {
    height: 42px !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month .flatpickr-monthDropdown-months,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month input.cur-year {
    height: 40px !important;
    font-size: 19px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date span.flatpickr-weekday {
    height: 30px !important;
    font-size: 13.5px !important;
    line-height: 30px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-day {
    width: 50px !important;
    max-width: 50px !important;
    height: 44px !important;
    margin: 2px 5px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
    line-height: 44px !important;
  }

  /* Wizard más pequeño y discreto */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps {
    width: min(100%, 610px) !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWrap {
    gap: 7px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem {
    gap: 7px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
    font-size: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle svg {
    width: 19px !important;
    height: 19px !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    background:
      linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.22)) !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.55),
      0 16px 34px rgba(88,54,29,.1) !important;
    backdrop-filter: blur(14px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem {
    font-size: 12px !important;
    gap: 6px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    font-size: 15px !important;
  }
}




/* === 2026-06-11 V4 | Gastro group vertically centered + parallel glass frame === */
@media (min-width: 980px) {
  /* Centra en altura todo el bloque: logo/icono, pasos y caja */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding-top: 24px !important;
    padding-bottom: 150px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    min-height: calc(100svh - 198px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-headerBrand,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight {
    flex: 0 0 auto !important;
  }

  /* Caja exterior ajustada al calendario con margen paralelo */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: 500px !important;
    max-width: calc(100vw - 48px) !important;
    padding: 30px 40px !important;
    box-sizing: border-box !important;
    border-radius: 24px !important;

    background:
      linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.16)) !important;
    border: 1px solid rgba(255,255,255,.58) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.68),
      0 20px 46px rgba(88,54,29,.10) !important;
    backdrop-filter: blur(20px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.18) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    width: 420px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero {
    margin-bottom: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    margin-top: 18px !important;
  }
}

@media (min-width: 980px) and (max-height: 820px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    min-height: calc(100svh - 160px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

@media (max-width: 560px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding: 24px 18px !important;
    border-radius: 20px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.18)) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.66),
      0 16px 34px rgba(88,54,29,.10) !important;
    backdrop-filter: blur(16px) saturate(1.14) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.14) !important;
  }
}




/* === 2026-06-11 V5 | Calendar 712px + vertical centering + glass + wizard small === */
@media (min-width: 980px) {
  /* Ajuste de caja calendario a 712px */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: 712px !important;
    max-width: 712px !important;
  }

  /* Caja centrada verticalmente con icono y pasos */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: calc(100svh - 198px) !important;
  }

  /* Wizard más pequeño */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps {
    width: min(100%, 610px) !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem {
    font-size: 12px !important;
    gap: 6px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Caja con cristal semitranslúcido */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    background:
      linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.18)) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.66),
      0 16px 34px rgba(88,54,29,.10) !important;
    backdrop-filter: blur(18px) saturate(1.16) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.16) !important;
    border-radius: 24px !important;
  }
}




/* === 2026-06-11 V6 | footer restored + centered gastro group + 712 glass card === */
@media (min-width: 980px) {
  /* Mantener el footer en su sitio abajo, sin moverlo al centro */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) footer#footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: clamp(22px, 3.4svh, 40px) !important;
    z-index: 900 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(34px, 4.2vw, 82px) !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer.cn-footer--light {
    pointer-events: auto !important;
  }

  /* Centrar solo el grupo superior: logo + pasos + caja */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    min-height: 100svh !important;
    padding-top: 18px !important;
    padding-bottom: 128px !important;
    display: block !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    min-height: calc(100svh - 182px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }

  /* Header logo un poco más controlado */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-headerBrand {
    width: 100% !important;
    margin: 0 auto 8px !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-kitchenHeaderLogo {
    max-width: 184px !important;
    max-height: 74px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* Wizard pequeño */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps {
    width: min(100%, 610px) !important;
    margin: 0 auto 14px !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWrap {
    gap: 7px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem {
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Caja exterior exacta de 712 con cristal semitranslúcido visible */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: 712px !important;
    max-width: 712px !important;
    min-height: 0 !important;
    padding: 26px 28px !important;
    border-radius: 24px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.13)) !important;
    border: 1px solid rgba(255,255,255,.46) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.55),
      0 18px 42px rgba(88,54,29,.09) !important;
    backdrop-filter: blur(20px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.12) !important;
  }

  /* Inner content centered and parallel margins */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    width: 100% !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero {
    margin-bottom: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    margin-top: 16px !important;
  }

  /* Calendario */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* para que la caja exterior sea visible y no opaca */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) footer#footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 14px !important;
    z-index: 900 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    background: linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.14)) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }
}




/* === 2026-06-11 V7 | Footer restored static + glass outer card 712 === */
@media (min-width: 980px) {
  /* Layout general: solo centra el bloque principal, no el footer */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }

  /* Footer: vuelve a su sitio natural, abajo, fuera del centrado */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) footer#footer {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer.cn-footer--light {
    width: min(100%, 1200px) !important;
    max-width: min(100%, 1200px) !important;
    margin: 0 auto !important;
  }

  /* Grupo superior */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-headerBrand {
    margin: 0 auto 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps {
    width: min(100%, 610px) !important;
    margin: 0 auto 14px !important;
    gap: 10px !important;
  }

  /* Wizard más pequeño */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWrap {
    gap: 7px !important;
  }
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepItem {
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    font-size: 15px !important;
  }
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepCircle svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* CAJA EXTERIOR REAL: la card shell, no la caja interior */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight {
    width: 712px !important;
    max-width: 712px !important;
    min-height: 0 !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.55),
      0 18px 44px rgba(88,54,29,.08) !important;
    backdrop-filter: blur(22px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.08) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard::before,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard::after,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight::before,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight::after {
    display: none !important;
    content: none !important;
  }

  /* Contenido interior del wizard sin fondo opaco extra */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardContent {
    background: transparent !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 22px 20px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* Contenido del calendario */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepHero,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-stepActionWrap {
    width: 100% !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: transparent !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) footer#footer {
    position: static !important;
    margin-top: 14px !important;
    transform: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight {
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }
}




/* === 2026-06-11 V8 | Bigger gastro block + logo spacing + Marksys title === */
@media (min-width: 980px) {
  /* Un poco más de aire bajo del logo */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-headerBrand {
    margin: 0 auto 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-kitchenHeaderLogo {
    max-width: 196px !important;
    max-height: 82px !important;
    margin: 0 auto !important;
  }

  /* Grupo principal un poco más grande */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    width: min(100%, 790px) !important;
    max-width: 790px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight {
    width: 760px !important;
    max-width: 760px !important;
    border-radius: 28px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date {
    padding: 22px 26px 24px !important;
  }

  /* Calendario algo más presente dentro del bloque */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer {
    width: 446px !important;
    min-width: 446px !important;
    max-width: 446px !important;
  }

  /* Título en Marksys */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepHeroTitle,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date h2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-title {
    font-family: "Marksys", "Brockmann", serif !important;
    font-size: 3.1rem !important;
    line-height: 0.92 !important;
    letter-spacing: -2.4px !important;
    font-weight: 400 !important;
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepHeroLead {
    font-size: 15px !important;
    line-height: 1.28 !important;
  }

  /* un poco más de aire entre pasos y caja */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-steps {
    margin: 0 auto 18px !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepHeroTitle,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date h2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-title {
    font-family: "Marksys", "Brockmann", serif !important;
    letter-spacing: -1.4px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-headerBrand {
    margin-bottom: 10px !important;
  }
}




/* === 2026-06-11 V9 | Glass card exact values + larger CTA button === */
@media (min-width: 980px) {
  /* Caja exterior con los valores exactos pedidos */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight {
    background: linear-gradient(89deg, rgba(255, 255, 255, .34), rgb(255 255 255 / 2%)) !important;
    border: 1px solid rgb(255 255 255 / 26%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58), 0 20px 46px rgba(88, 54, 29, .11) !important;
    backdrop-filter: blur(6px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.16) !important;
  }

  /* Botón principal más grande */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-btnWizardPrimary,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-btnPrimary,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnContinue,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnSubmit {
    min-height: 56px !important;
    height: 56px !important;
    padding: 0 38px !important;
    min-width: 228px !important;
    font-size: 18px !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight {
    background: linear-gradient(89deg, rgba(255, 255, 255, .34), rgb(255 255 255 / 2%)) !important;
    border: 1px solid rgb(255 255 255 / 26%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58), 0 20px 46px rgba(88, 54, 29, .11) !important;
    backdrop-filter: blur(6px) saturate(1.1) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.16) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-btnWizardPrimary,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-btnPrimary,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnContinue,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnSubmit {
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 30px !important;
    min-width: 210px !important;
    font-size: 17px !important;
    border-radius: 999px !important;
  }
}




/* === 2026-06-11 V10 | Calendar month/year/dates correction === */
@media (min-width: 980px) {
  /* No limitar el ancho interno del footer en Gastro */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer.cn-footer--light {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* Calendario: evitar cortes del mes, año y fechas */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .cn-calendar-wrap {
    width: 446px !important;
    min-width: 446px !important;
    max-width: 446px !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-calendar {
    width: 446px !important;
    min-width: 446px !important;
    max-width: 446px !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-innerContainer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-rContainer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .dayContainer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-weekdays {
    width: 446px !important;
    min-width: 446px !important;
    max-width: 446px !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-months {
    position: relative !important;
    width: 446px !important;
    min-width: 446px !important;
    max-width: 446px !important;
    height: 44px !important;
    overflow: visible !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month {
    position: absolute !important;
    inset: 0 54px auto 54px !important;
    width: auto !important;
    height: 44px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month .flatpickr-monthDropdown-months {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 40px !important;
    padding: 0 38px 0 14px !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month .numInputWrapper {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 40px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-current-month input.cur-year {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 40px !important;
    padding: 0 12px !important;
    text-align: center !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-prev-month,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-next-month {
    top: 2px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 9px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-prev-month {
    left: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-next-month {
    right: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date span.flatpickr-weekday,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-day {
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date span.flatpickr-weekday {
    width: calc(446px / 7) !important;
    flex: 0 0 calc(446px / 7) !important;
    max-width: calc(446px / 7) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date .flatpickr-day {
    width: calc(446px / 7) !important;
    flex: 0 0 calc(446px / 7) !important;
    max-width: calc(446px / 7) !important;
    margin: 0 !important;
    height: 44px !important;
    line-height: 44px !important;
    font-size: 16px !important;
  }
}




/* === 2026-06-11 V11 | No default selected date in Gastro + selected info card === */
@media (min-width: 980px) {
  /* El día de hoy no debe verse marcado al entrar */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-day.today:not(.selected),
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-day.cn-today:not(.selected) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #1f2f3a !important;
  }

  /* Tarjeta de fecha seleccionada como en la referencia */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #selectedDate {
    width: 100% !important;
    max-width: 420px !important;
    margin: 16px auto 0 !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-selectedDateCard {
    display: block !important;
    width: 100% !important;
    padding: 20px 24px !important;
    border-radius: 18px !important;
    background: rgba(244, 244, 236, 0.88) !important;
    border: 1px solid rgba(164, 164, 150, 0.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-selectedDateLabel {
    margin: 0 0 8px !important;
    color: #6d765f !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-selectedDateValue {
    margin: 0 !important;
    color: #3f4a39 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
  }

  /* Botón continuar solo se usa ya cuando hay fecha */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnContinue:disabled {
    opacity: .42 !important;
    cursor: not-allowed !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-day.today:not(.selected),
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-day.cn-today:not(.selected) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-selectedDateCard {
    display: block !important;
    width: 100% !important;
    padding: 18px 18px !important;
    border-radius: 16px !important;
    background: rgba(244, 244, 236, 0.88) !important;
  }
}




/* === 2026-06-11 V12 | Glass wizard card exact style === */
.cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellActivities)
> .w-full.max-w-3xl
> *:has(.cn-stepHeroTitle) {
  border-radius: 1.65rem !important;
  padding: 1.3rem 1.55rem 1.45rem !important;
  background: linear-gradient(
    174deg,
    rgb(255 255 255 / 23%),
    rgb(255 255 255 / 2%)
  ) !important;
  border: 1px solid rgb(255 255 255 / 14%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .58),
    0 20px 46px rgba(88, 54, 29, .11) !important;
  backdrop-filter: blur(9px) saturate(1) !important;
  -webkit-backdrop-filter: blur(6px) saturate(1) !important;
}




/* === 2026-06-11 V13 | Gastro details layout redistributed like reference === */
@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details {
    width: 760px !important;
    max-width: 760px !important;
    padding: 26px 22px 18px !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .text-center.mb-8 {
    max-width: 640px !important;
    margin: 0 auto 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details > .mb-8,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details > #guestsSection,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details > #timeSection,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details > #availabilityWarning {
    width: 100% !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Cabeceras de bloque */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsSection > label,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #timeSection > label {
    font-size: 15px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
  }

  /* Grid de personas: 7 arriba y botón/grupo abajo */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 640px !important;
    gap: 10px !important;
    margin: 0 auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid button,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-guestBtn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 6px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    justify-content: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnMore12 {
    grid-column: 1 / -1 !important;
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
    margin-top: 2px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #3d4a37 !important;
    background: rgba(255, 249, 243, 0.82) !important;
    border: 1px solid rgba(183, 114, 85, 0.28) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #more12Info {
    width: 100% !important;
    max-width: 640px !important;
    margin: 12px auto 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawer {
    display: block !important;
    width: 100% !important;
    padding: 14px 14px !important;
    border-radius: 14px !important;
    background: rgba(248, 246, 239, 0.92) !important;
    border: 1px solid rgba(183, 114, 85, 0.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.56) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawerText {
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: #4a5242 !important;
    text-align: left !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawerActions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Depósito */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #depositAlert {
    max-width: 640px !important;
    margin: 12px auto 0 !important;
    padding: 14px 14px !important;
    border-radius: 14px !important;
  }

  /* Horarios */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #primarySlotsBlock,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #dinnerBlock {
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsDinner {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsLunch button,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsDinner button {
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    padding: 0 4px !important;
  }

  /* Fila de acciones */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .cn-actionRow {
    width: 100% !important;
    max-width: 640px !important;
    margin: 14px auto 0 !important;
    display: grid !important;
    grid-template-columns: 160px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .cn-actionRow #btnBack,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details .cn-actionRow #btnContinue {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details {
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnMore12 {
    grid-column: 1 / -1 !important;
    min-height: 46px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsDinner {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawerActions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}



/* === 2026-06-11 V15 | Guests grid 9, height buttons 34px, next/back centrados, +8 contacto visible === */
body:not(.cn-home-refined) 
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) 
.cn-stepPane--details #guestsGrid {
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
    gap: 6px !important;
}

body:not(.cn-home-refined) 
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) 
.cn-stepPane--details #guestsGrid button,
body:not(.cn-home-refined) 
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) 
.cn-stepPane--details #slotsLunch button,
body:not(.cn-home-refined) 
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) 
.cn-stepPane--details #slotsDinner button {
    min-height: 34px !important;
    height: 34px !important;
    padding: 4px 5px !important;
    border-color: rgba(183, 114, 85, .28) !important;
    color: #1f2f3a !important;
    background: #fff !important;
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
    border-radius: 24px !important;
}

/* Asegurar que los botones siguiente y atrás estén centrados */
body:not(.cn-home-refined) 
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) 
.cn-stepPane--details .cn-stepActions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Mostrar info del +8 correctamente */
body:not(.cn-home-refined) 
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) 
.cn-stepPane--details #extraGuestsInfo {
    display: block !important;
}




/* === 2026-06-11 V16 | Contact buttons compact + actions stacked + deposit removed === */
body:not(.cn-home-refined)
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry)
.cn-contactActionBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    min-height: 61px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 245, 233, 0.16) !important;
    background: rgba(255, 245, 233, 0.1) !important;
    color: #5d5b58 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    width: 100% !important;
}

body:not(.cn-home-refined)
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry)
.cn-contactActionBtn svg,
body:not(.cn-home-refined)
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry)
.cn-contactActionBtn img {
    flex: 0 0 auto !important;
}

@media (min-width: 980px) {
    body:not(.cn-home-refined)
    .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry)
    .cn-contactDrawerActions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body:not(.cn-home-refined)
    .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry)
    .cn-contactDrawerActions > * + * {
        margin-top: 8px !important;
    }
}

/* Eliminar completamente el depósito y cualquier espacio residual */
body:not(.cn-home-refined)
.cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry)
#depositAlert {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}




/* === 2026-06-11 V17 | Gastro steps 2, 3 and 4 refined layout === */
@media (min-width: 980px) {
  /* Shared gastro action buttons */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow {
    width: 100% !important;
    max-width: 760px !important;
    margin: 18px auto 0 !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button {
    min-height: 58px !important;
    height: 58px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
    line-height: 1 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn .ml-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button .ml-2 {
    margin-left: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button svg {
    display: block !important;
    flex: 0 0 auto !important;
  }

  /* Step 2 details: a little more space around schedule headings */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #timeSection > label {
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
    row-gap: 6px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #primarySlotsBlock {
    margin-bottom: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #primarySlotsLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details #secondarySlotsLabel {
    margin-bottom: 10px !important;
    letter-spacing: .14em !important;
  }

  /* Step 3 contact */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    width: 760px !important;
    max-width: 760px !important;
    padding: 28px 28px 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center {
    max-width: 620px !important;
    margin: 0 auto 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center h2 {
    font-size: 3rem !important;
    line-height: .96 !important;
    letter-spacing: -2px !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center p {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .space-y-5 {
    width: 100% !important;
    max-width: 100% !important;
    gap: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.md\:grid-cols-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.md\:grid-cols-5 {
    gap: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact label {
    font-size: 15px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    border-radius: 16px !important;
    border-color: rgba(61,74,55,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45) !important;
    background: rgba(255,255,255,.72) !important;
    color: #3d4a37 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select {
    height: 58px !important;
    font-size: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    min-height: 108px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    font-size: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] {
    grid-template-columns: 158px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceBlock {
    width: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggle {
    min-height: 68px !important;
    border-radius: 18px !important;
    padding: 0 22px !important;
    border: 1px solid rgba(61,74,55,.14) !important;
    background: rgba(255,255,255,.62) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggleLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggleValue {
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-chipSelector {
    padding-top: 12px !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-chipOption {
    min-height: 40px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
  }

  /* Step 4 confirm */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane:has(.cn-confirmHeader) {
    width: 760px !important;
    max-width: 760px !important;
    padding: 28px 28px 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader {
    max-width: 620px !important;
    margin: 0 auto 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-title {
    font-size: 3rem !important;
    line-height: .96 !important;
    letter-spacing: -2px !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-sub {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-card {
    background: transparent !important;
    margin-bottom: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box {
    border-radius: 22px !important;
    padding: 20px !important;
    background: rgba(211,218,198,.22) !important;
    min-height: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box h3 {
    font-size: 13px !important;
    letter-spacing: .12em !important;
    margin-bottom: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box .space-y-3 {
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row {
    min-height: 80px !important;
    padding: 16px 14px !important;
    border-radius: 18px !important;
    align-items: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box:nth-child(2) .cn-confirm-row {
    min-height: 0 !important;
    padding: 2px 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box:nth-child(2) .border-t {
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-policyList {
    gap: 10px !important;
    margin-bottom: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #acceptWrap {
    border-radius: 18px !important;
    padding: 16px 18px !important;
    align-items: center !important;
    background: rgba(211,218,198,.22) !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button {
    min-height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .ml-2 {
    margin-left: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center h2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-title {
    font-size: 2.35rem !important;
    line-height: .98 !important;
    letter-spacing: -1.5px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select {
    min-height: 52px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    min-height: 96px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}




/* === 2026-06-11 V18 | Gastro contact + confirm refined and compact === */
@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    padding-bottom: 130px !important;
  }

  /* Step 3 Contact */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    width: 760px !important;
    max-width: 760px !important;
    padding: 24px 26px 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center {
    max-width: 620px !important;
    margin: 0 auto 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center h2 {
    font-family: "Marksys", "Brockmann", serif !important;
    font-size: 2.9rem !important;
    line-height: .94 !important;
    letter-spacing: -1.6px !important;
    font-weight: 400 !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center p {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .space-y-5 {
    margin-bottom: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.md\:grid-cols-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.md\:grid-cols-5 {
    gap: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .space-y-2 {
    gap: 6px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact label {
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact label .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact label img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact label svg {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    border-radius: 18px !important;
    border-color: rgba(61,74,55,.18) !important;
    background: rgba(255,255,255,.72) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.46) !important;
    color: #3d4a37 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select {
    height: 54px !important;
    min-height: 54px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] {
    grid-template-columns: 160px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    min-height: 96px !important;
    padding-top: 14px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggle {
    min-height: 60px !important;
    border-radius: 18px !important;
    padding: 0 20px !important;
    background: rgba(255,255,255,.68) !important;
    border: 1px solid rgba(61,74,55,.16) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggleLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggleValue {
    font-size: 15px !important;
  }

  /* shared action row under contact/confirm */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow {
    width: 100% !important;
    max-width: 760px !important;
    margin: 18px auto 0 !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0,1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button {
    min-height: 58px !important;
    height: 58px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .ml-2 {
    margin-left: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow svg {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }

  /* Step 4 Confirm */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane:has(.cn-confirmHeader) {
    width: 760px !important;
    max-width: 760px !important;
    padding: 24px 26px 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader {
    max-width: 620px !important;
    margin: 0 auto 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-title {
    font-size: 2.9rem !important;
    line-height: .94 !important;
    letter-spacing: -1.6px !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-sub {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-card {
    margin-bottom: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-grid {
    grid-template-columns: .95fr 1.05fr !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box {
    border-radius: 20px !important;
    padding: 18px !important;
    background: rgba(211,218,198,.22) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box h3 {
    font-size: 13px !important;
    letter-spacing: .16em !important;
    margin-bottom: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row {
    min-height: 74px !important;
    padding: 14px 14px !important;
    border-radius: 18px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row > .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row > img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row > svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    object-fit: contain !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row p.text-sm,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row .text-sm {
    font-size: 15px !important;
    line-height: 1.28 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row .text-\[11px\],
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row .text-xs {
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  /* user data column more compact and without giant icons */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box:nth-child(2) .cn-confirm-row {
    min-height: 0 !important;
    padding: 2px 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box:nth-child(2) .border-t {
    margin-top: 14px !important;
    padding-top: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box:nth-child(2) p.break-words {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-policyList {
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-policyList li {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #acceptWrap {
    border-radius: 18px !important;
    padding: 14px 16px !important;
    align-items: center !important;
    background: rgba(211,218,198,.22) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #acceptWrap span {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact > .text-center h2 {
    font-family: "Marksys", "Brockmann", serif !important;
    font-size: 2.35rem !important;
    line-height: .98 !important;
    font-weight: 400 !important;
    letter-spacing: -1.2px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select {
    min-height: 50px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    min-height: 92px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button {
    min-height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .ml-2 {
    margin-left: 0 !important;
  }
}




/* === 2026-06-11 V19 | Gastro success page perfected === */
@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    padding-bottom: 148px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage {
    width: 860px !important;
    max-width: 860px !important;
    margin: 0 auto !important;
    padding: 10px 0 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successBadge {
    width: 54px !important;
    height: 54px !important;
    margin: 0 auto 16px !important;
    background: #f57a42 !important;
    box-shadow: 0 12px 28px rgba(245,122,66,.24) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successBadge .cn-successIcon,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successBadge svg {
    width: 26px !important;
    height: 26px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > h2 {
    max-width: 680px !important;
    margin: 0 auto 8px !important;
    color: #3d4a37 !important;
    font-size: 3.2rem !important;
    line-height: .96 !important;
    letter-spacing: -1.8px !important;
    font-weight: 700 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > p {
    max-width: 520px !important;
    margin: 0 auto 12px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md {
    background: linear-gradient(174deg, rgba(255,255,255,.28), rgba(255,255,255,.08)) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.58), 0 20px 46px rgba(88,54,29,.11) !important;
    backdrop-filter: blur(9px) saturate(1.02) !important;
    -webkit-backdrop-filter: blur(9px) saturate(1.02) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successCard {
    max-width: 860px !important;
    border-radius: 28px !important;
    padding: 22px 24px !important;
    margin: 0 auto 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummary {
    display: grid !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryRow {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    min-height: 54px !important;
    padding: 10px 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(61,74,55,.08) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    color: #6c735e !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryValue {
    text-align: right !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    color: #3d4a37 !important;
    font-weight: 700 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn .inline-flex {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px !important;
    object-fit: contain !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel {
    max-width: 860px !important;
    margin: 0 auto 14px !important;
    border-radius: 24px !important;
    padding: 18px 20px !important;
    text-align: left !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel h3,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md h3 {
    font-family: "Marksys", "Brockmann", serif !important;
    font-size: 1.1rem !important;
    line-height: 1.05 !important;
    letter-spacing: .06em !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    color: #3d4a37 !important;
    margin-bottom: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrLayout {
    display: grid !important;
    grid-template-columns: 170px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrCode {
    width: 170px !important;
    min-width: 170px !important;
    height: 170px !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    background: rgba(255,255,255,.82) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(61,74,55,.08) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrCode > * {
    max-width: 146px !important;
    max-height: 146px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrContent {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrContent p.text-sm {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrContent p.text-xs {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnViewReservation {
    align-self: flex-start !important;
    min-height: 46px !important;
    border-radius: 999px !important;
    padding: 0 18px !important;
    margin-top: 12px !important;
    color: #3d4a37 !important;
    background: rgba(255,255,255,.8) !important;
    border-color: rgba(61,74,55,.14) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md {
    max-width: 860px !important;
    width: 100% !important;
    margin: 0 auto 14px !important;
    padding: 18px 20px !important;
    border-radius: 24px !important;
    text-align: left !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-beforeGrid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn {
    min-height: 52px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: rgba(255,255,255,.8) !important;
    border: 1px solid rgba(61,74,55,.14) !important;
    color: #3d4a37 !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn {
    max-width: 860px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage {
    padding-bottom: 120px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > h2 {
    font-size: 2.25rem !important;
    line-height: 1 !important;
    letter-spacing: -1.2px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryRow {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 12px !important;
    background: rgba(255,255,255,.52) !important;
    border-radius: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryValue {
    text-align: left !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn .inline-flex,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn .inline-flex {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px !important;
    object-fit: contain !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrCode {
    margin: 0 auto 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-beforeGrid {
    grid-template-columns: 1fr !important;
  }
}




/* === 2026-06-11 V20 | Success screen width, overflow and footer spacing fix === */
@media (min-width: 980px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    min-height: 100svh !important;
    padding-top: 18px !important;
    padding-bottom: 170px !important;
    overflow-x: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > .w-full.max-w-3xl {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard:has(.cn-successPage),
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight:has(.cn-successPage) {
    width: 920px !important;
    max-width: calc(100vw - 96px) !important;
    overflow: visible !important;
    border-radius: 28px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardContent:has(.cn-successPage) {
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 24px 22px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > h2 {
    max-width: 720px !important;
    font-size: 3rem !important;
    line-height: .98 !important;
    margin-bottom: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successCard {
    padding: 18px !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryRow {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important;
    min-height: 58px !important;
    padding: 10px 12px !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey {
    min-width: 0 !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryKey span:last-child {
    white-space: normal !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryValue {
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: 15px !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryValue.is-email {
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel {
    padding: 18px !important;
    margin-bottom: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrLayout {
    grid-template-columns: 160px minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrCode {
    width: 160px !important;
    min-width: 160px !important;
    height: 160px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md {
    padding: 16px 18px !important;
    margin-bottom: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) footer#footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 22px !important;
    z-index: 900 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 clamp(34px, 4.2vw, 82px) !important;
    pointer-events: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer {
    pointer-events: auto !important;
  }
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard:has(.cn-successPage),
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight:has(.cn-successPage) {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    overflow: visible !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage {
    width: 100% !important;
    padding: 18px 14px 130px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummary {
    grid-template-columns: 1fr !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryRow {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}




/* === 2026-06-11 V21 | Gastro mobile refinement across all steps === */
@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    min-height: 100svh !important;
    padding: 12px 12px 132px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-pageTop,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-topBar {
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-backBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-soundBtn {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-logoWrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-brandWrap {
    margin: 10px auto 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-logoWrap img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-brandWrap img,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-brandWrap svg,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-logoWrap svg {
    max-width: min(46vw, 190px) !important;
    height: auto !important;
  }

  /* stepper */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWizard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepper,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardSteps {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 10px !important;
    margin: 0 auto 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWizard > *,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepper > *,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardSteps > * {
    flex: 0 0 auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWizard .cn-stepNum,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepper .cn-stepNum,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardSteps .cn-stepNum,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWizard .cn-stepBadge,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepper .cn-stepBadge,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardSteps .cn-stepBadge {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWizard .cn-stepLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepper .cn-stepLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardSteps .cn-stepLabel {
    font-size: 11px !important;
    line-height: 1.1 !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
  }

  /* outer cards */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardCardLight,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--date,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--details,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane.cn-stepPane--contact {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 24px !important;
    overflow: visible !important;
  }

  /* general titles */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepHeroTitle,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane h2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-title,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > h2 {
    font-size: clamp(2rem, 8vw, 2.55rem) !important;
    line-height: .98 !important;
    letter-spacing: -1.2px !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane > .text-center p,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirmHeader .cn-confirm-sub,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > p {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  /* calendar step */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--date {
    padding: 16px 14px 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-innerContainer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-rContainer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .dayContainer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-months {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month {
    inset: 0 40px auto 40px !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month .flatpickr-monthDropdown-months {
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month .numInputWrapper,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month input.cur-year {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-prev-month,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-next-month {
    width: 34px !important;
    height: 34px !important;
    padding: 7px !important;
    top: 4px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) span.flatpickr-weekday {
    font-size: 11px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-day {
    height: 40px !important;
    line-height: 40px !important;
    font-size: 14px !important;
  }

  /* details */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--details {
    padding: 16px 14px 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid button,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsLunch button,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsDinner button {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 13px !important;
    padding: 4px 6px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnMore12 {
    grid-column: 1 / -1 !important;
    min-height: 44px !important;
    height: 44px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawer {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawerText {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactDrawerActions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-contactActionBtn {
    min-height: 52px !important;
    font-size: 14px !important;
    justify-content: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #timeSection > label {
    margin-bottom: 12px !important;
    flex-wrap: wrap !important;
    row-gap: 4px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #primarySlotsLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #secondarySlotsLabel {
    margin: 8px 0 !important;
    font-size: 11px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsDinner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  /* contact */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact {
    padding: 16px 14px 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.md\:grid-cols-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.md\:grid-cols-5 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] {
    grid-template-columns: 110px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .space-y-5 {
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact label {
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact select {
    min-height: 50px !important;
    height: 50px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact textarea {
    min-height: 92px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggle {
    min-height: 56px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggleLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .cn-preferenceToggleValue {
    font-size: 14px !important;
  }

  /* confirm */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-row {
    min-height: 0 !important;
    padding: 12px !important;
    border-radius: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-confirm-box h3 {
    font-size: 12px !important;
    margin-bottom: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-policyList li,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #acceptWrap span {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* success */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 14px 132px !important;
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successBadge {
    width: 46px !important;
    height: 46px !important;
    margin: 0 auto 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successCard,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrPanel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage > .max-w-md {
    padding: 14px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryRow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successSummaryValue {
    text-align: left !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrLayout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrCode {
    width: 150px !important;
    min-width: 150px !important;
    height: 150px !important;
    margin: 0 auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrContent {
    text-align: center !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnViewReservation,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successActionBtn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successResetBtn {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-beforeGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* action rows / buttons */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .cn-btn,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow button,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnBack,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnContinue,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnSubmit {
    width: 100% !important;
    min-height: 52px !important;
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
    line-height: 1 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-actionRow .ml-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnBack .ml-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnContinue .ml-2,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #btnSubmit .ml-2 {
    margin-left: 0 !important;
  }

  /* footer */
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) > #footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) footer#footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    z-index: 900 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 10px !important;
    pointer-events: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #footer .cn-footer,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-footer {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 8px 12px !important;
    border-radius: 18px !important;
    pointer-events: auto !important;
    overflow: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-footer .cn-footerInner,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-footer .flex {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 10px !important;
  }
}

@media (max-width: 575px) {
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 124px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepWizard .cn-stepLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepper .cn-stepLabel,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-wizardSteps .cn-stepLabel {
    font-size: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month .flatpickr-monthDropdown-months {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month .numInputWrapper,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .flatpickr-current-month input.cur-year {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #slotsDinner,
  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) #guestsGrid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] {
    grid-template-columns: 96px minmax(0,1fr) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-successPage {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell.cn-pageShellGastro:not(.cn-pageShellEntry) .cn-qrCode {
    width: 136px !important;
    min-width: 136px !important;
    height: 136px !important;
  }
}




/* === 2026-06-11 V22 | Global mobile refinement for remaining booking sections === */
@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) {
    min-height: 100svh !important;
    padding: 12px 12px 132px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) > .w-full,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) > .w-full.max-w-3xl,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) > .max-w-3xl,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-wizardCard,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-wizardCardLight,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-logo,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-headerLogo,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-brand img,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-headerBrand img,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-headerBrand svg {
    max-width: min(50vw, 210px) !important;
    height: auto !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-steps,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepWizard,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepper,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-wizardSteps {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 10px !important;
    margin: 0 auto 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepCircle,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepNum,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepBadge {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepItem,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepLabel {
    font-size: 11px !important;
    line-height: 1.1 !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--date,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--details,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact {
    padding: 16px 14px 18px !important;
    border-radius: 22px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepHeroTitle,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane h2 {
    font-size: clamp(1.8rem, 7vw, 2.45rem) !important;
    line-height: .98 !important;
    letter-spacing: -1px !important;
    margin-bottom: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepHeroLead,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane p {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  /* mobile calendars across remaining sections */
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .flatpickr-calendar,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .flatpickr-innerContainer,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .flatpickr-rContainer,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .flatpickr-days,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .dayContainer,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .flatpickr-weekdays,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .flatpickr-months {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month {
    left: 38px !important;
    right: 38px !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month .numInputWrapper,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month input.cur-year {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    font-size: 15px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-months .flatpickr-prev-month,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-months .flatpickr-next-month {
    width: 34px !important;
    height: 34px !important;
    padding: 7px !important;
    top: 4px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-weekday {
    font-size: 11px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-day {
    height: 40px !important;
    line-height: 40px !important;
    font-size: 14px !important;
  }

  /* guests / zones / schedules */
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #guestsGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsDinner,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-zoneGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-activityGuestsGrid {
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #guestsGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsDinner,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-activityGuestsGrid {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-zoneGrid {
    grid-template-columns: 1fr !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #guestsGrid button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-guestBtn,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-slotBtn,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsLunch button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsDinner button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-zoneGrid button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-sunbedsModeCard {
    min-height: 42px !important;
    height: auto !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnMore12 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 46px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #primarySlotsLabel,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #secondarySlotsLabel {
    margin: 8px 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  /* activities / rentals cards */
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--poster,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityGrid--accordion,
  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsGrid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard--poster,
  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCard--accordion,
  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCard,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-zoneCard,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-sunbedsModeCard {
    width: 100% !important;
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellActivities .cn-activityCardTitle,
  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalTitle {
    font-size: 1.1rem !important;
    line-height: 1.05 !important;
  }

  /* contact forms */
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact .grid.md\:grid-cols-2,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact .grid.md\:grid-cols-5 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] {
    grid-template-columns: 108px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact label {
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact input,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact select,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact textarea,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-preferenceToggle {
    min-height: 50px !important;
    height: auto !important;
    font-size: 15px !important;
    border-radius: 16px !important;
  }

  /* shared action row */
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-actionRow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-actionRow .cn-btn,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-actionRow button,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnBack,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnContinue,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnSubmit {
    width: 100% !important;
    min-height: 52px !important;
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-actionRow .ml-2,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnBack .ml-2,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnContinue .ml-2,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #btnSubmit .ml-2 {
    margin-left: 0 !important;
  }

  /* non-gastro footer */
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #footer,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) > #footer,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) footer#footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    z-index: 900 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 10px !important;
    pointer-events: none !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #footer .cn-footer,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-footer {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 8px 12px !important;
    border-radius: 18px !important;
    pointer-events: auto !important;
    overflow: hidden !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-footer .cn-footerInner,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-footer .flex {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 10px !important;
  }
}

@media (max-width: 575px) {
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 124px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepItem,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepLabel {
    font-size: 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months {
    width: 106px !important;
    min-width: 106px !important;
    max-width: 106px !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month .numInputWrapper,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-calendar-wrap .flatpickr-current-month input.cur-year {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    font-size: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #guestsGrid,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsLunch,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) #slotsDinner,
  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-activityGuestsGrid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry):not(.cn-pageShellGastro) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] {
    grid-template-columns: 96px minmax(0,1fr) !important;
  }
}




/* === 2026-06-11 V23 | Rental images swap + ultra-fine layout polish === */
body:not(.cn-home-refined) .cn-pageShell,
body:not(.cn-home-refined) .cn-pageShell * {
  box-sizing: border-box;
}

body:not(.cn-home-refined) .cn-pageShell .cn-stepPane,
body:not(.cn-home-refined) .cn-pageShell .cn-successCard,
body:not(.cn-home-refined) .cn-pageShell .cn-rentalsFrame,
body:not(.cn-home-refined) .cn-pageShell .cn-wizardCard,
body:not(.cn-home-refined) .cn-pageShell .cn-wizardCardLight {
  overflow: hidden !important;
}

body:not(.cn-home-refined) .cn-pageShell .grid > *,
body:not(.cn-home-refined) .cn-pageShell [class*="grid-cols"] > *,
body:not(.cn-home-refined) .cn-pageShell .flex > * {
  min-width: 0;
}

body:not(.cn-home-refined) .cn-pageShell input,
body:not(.cn-home-refined) .cn-pageShell select,
body:not(.cn-home-refined) .cn-pageShell textarea,
body:not(.cn-home-refined) .cn-pageShell button,
body:not(.cn-home-refined) .cn-pageShell img {
  max-width: 100%;
}

/* rentals cover refresh */
body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsScreen {
  width: min(100%, 940px) !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsFrame {
  width: min(100%, 820px) !important;
  padding: 26px 26px 24px !important;
  border-radius: 30px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.20)) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 24px 54px rgba(31,47,58,.12) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsGrid {
  gap: 24px !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCard {
  min-height: 454px !important;
  border-radius: 22px !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardMedia {
  height: 258px !important;
  background: linear-gradient(180deg, #dceef8 0%, #eef8fb 100%) !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardImage {
  object-fit: cover !important;
  object-position: center 34% !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardImage[src*="booking-rental-kayak"] {
  object-position: center 32% !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardImage[src*="booking-rental-paddle-surf"] {
  object-position: center 36% !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardBody {
  padding: 16px 22px 20px !important;
  gap: 12px !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalBadge {
  min-height: 22px !important;
  padding: 0 14px !important;
  font-size: 10px !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalTitle {
  font-size: clamp(32px, 2.8vw, 42px) !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalText {
  max-width: 290px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalAction {
  min-height: 42px !important;
  height: 42px !important;
}

/* booking details / calendars / phones extra safety */
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--details,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--contact,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--confirm {
  overflow: hidden !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-calendar-wrap .flatpickr-current-month {
  gap: 8px !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-calendar-wrap .flatpickr-current-month .flatpickr-monthDropdown-months,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-calendar-wrap .flatpickr-current-month input.cur-year {
  white-space: nowrap !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\],
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[112px_minmax\(0\,1fr\)\] {
  align-items: stretch !important;
}

body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[104px_minmax\(0\,1fr\)\] > *,
body:not(.cn-home-refined) .cn-pageShell:not(.cn-pageShellEntry) .cn-stepPane--contact .grid.grid-cols-\[112px_minmax\(0\,1fr\)\] > * {
  min-width: 0 !important;
}

/* success / confirmation readability */
body:not(.cn-home-refined) .cn-pageShell .cn-successSummaryValue,
body:not(.cn-home-refined) .cn-pageShell .cn-successSummaryKey,
body:not(.cn-home-refined) .cn-pageShell .cn-contactActionBtn,
body:not(.cn-home-refined) .cn-pageShell .cn-contactDrawerText {
  overflow-wrap: anywhere !important;
}

@media (max-width: 979px) {
  body:not(.cn-home-refined) .cn-pageShellRentals {
    padding-bottom: 130px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsScreen {
    width: 100% !important;
    padding: 0 12px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsFrame {
    width: 100% !important;
    padding: 16px !important;
    border-radius: 24px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsGrid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCard {
    min-height: 0 !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardMedia {
    height: 250px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardBody {
    padding: 14px 16px 16px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalTitle {
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalText {
    max-width: none !important;
    font-size: 13px !important;
  }
}

@media (max-width: 575px) {
  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsScreen {
    padding: 0 10px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalsFrame {
    padding: 14px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalCardMedia {
    height: 224px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalBadge {
    font-size: 9px !important;
  }

  body:not(.cn-home-refined) .cn-pageShellRentals .cn-rentalAction {
    min-height: 40px !important;
    height: 40px !important;
    font-size: 13px !important;
  }
}




/* === 2026-06-11 V24 | mobile footer cleanup === */
@media (max-width: 979px) {
  #footer,
  body.cn-home-refined #footer,
  body:not(.cn-home-refined) #footer {
    background: transparent !important;
  }

  #footer .cn-footer.cn-footer--dark,
  #footer .cn-footer.cn-footer--light,
  body.cn-home-refined #footer .cn-footer.cn-footer--dark,
  body.cn-home-refined #footer .cn-footer.cn-footer--light,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--dark,
  body:not(.cn-home-refined) #footer .cn-footer.cn-footer--light {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding-top: 26px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
    row-gap: 16px !important;
    justify-items: center !important;
    text-align: center !important;
  }

  #footer .cn-footer-actions,
  body.cn-home-refined #footer .cn-footer-actions,
  body:not(.cn-home-refined) #footer .cn-footer-actions,
  #footer .cn-footerPill,
  body.cn-home-refined #footer .cn-footerPill,
  body:not(.cn-home-refined) #footer .cn-footerPill {
    display: none !important;
  }

  #footer .cn-footerTitle,
  #footer .cn-footerAddress,
  #footer .cn-footerSocials,
  #footer .cn-footerLink,
  body.cn-home-refined #footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footerLink,
  body:not(.cn-home-refined) #footer .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerLink {
    text-align: center !important;
    justify-content: center !important;
    justify-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #footer .cn-footerAddress,
  #footer p:nth-of-type(2),
  body.cn-home-refined #footer .cn-footerAddress,
  body.cn-home-refined #footer p:nth-of-type(2),
  body:not(.cn-home-refined) #footer .cn-footerAddress,
  body:not(.cn-home-refined) #footer p:nth-of-type(2) {
    width: min(100%, 420px) !important;
    margin-top: 10px !important;
    display: block !important;
    color: #7b8292 !important;
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.22 !important;
    padding: 0 !important;
  }

  #footer .cn-footerAddressIcon,
  #footer .cn-footerAddressIcon svg,
  body.cn-home-refined #footer .cn-footerAddressIcon,
  body.cn-home-refined #footer .cn-footerAddressIcon svg,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon,
  body:not(.cn-home-refined) #footer .cn-footerAddressIcon svg {
    display: none !important;
  }

  #footer .cn-footerAddressDesktopBreak,
  body.cn-home-refined #footer .cn-footerAddressDesktopBreak,
  body:not(.cn-home-refined) #footer .cn-footerAddressDesktopBreak {
    display: inline !important;
  }

  #footer .cn-footerTitle,
  body.cn-home-refined #footer .cn-footerTitle,
  body:not(.cn-home-refined) #footer .cn-footerTitle {
    margin-top: 0 !important;
  }

  #footer p:nth-of-type(3),
  body.cn-home-refined #footer p:nth-of-type(3),
  body:not(.cn-home-refined) #footer p:nth-of-type(3) {
    margin-top: 2px !important;
    color: #7b8292 !important;
    background: transparent !important;
  }

  #footer .cn-footerSocials,
  body.cn-home-refined #footer .cn-footerSocials,
  body:not(.cn-home-refined) #footer .cn-footerSocials {
    margin-top: 2px !important;
    gap: 28px !important;
  }
}

