/* ------------------------------------------------------------------
   Cozy Corner Guesthouse — Black & Gold theme override
   Gold sampled from logo: #E8B800 (highlight #F8D000)
   Headings/accents = gold, body text = original template grey.
------------------------------------------------------------------- */
:root {
  --yellow-color: #E8B800;
  --body-color: #C8C8C8;           /* original body text colour */
  --body-bg-color: #000000;
  --body-bg-color-two: #0A0A0A;
  --heading-color: #E8B800;        /* section headings in gold */
  --border-color: #5C4A00;
}

html,
body {
  background-color: #000000;
}

/* Section headings, titles and mini-titles in gold */
h1, h2, h3, h4, h5, h6,
.ak-section-title,
.section-title,
.mini-title,
.page-top-title .ak-section-subtitle {
  color: #E8B800;
}

/* Sections that used the secondary dark teal now go near-black */
.ak-about-bg-color,
.ak-footer.ak-style-1.color-1 {
  background-color: #0A0A0A;
}

/* Logos neat and crisp on black */
.center-log img,
.ak-site_branding img {
  max-height: 88px;
  width: auto;
}
/* Footer logos are sized by height so the different logo artworks all sit at
   the same visual weight regardless of their aspect ratio. */
.footer-log-elem img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 130px;
}

/* Preloader in brand colours */
#preloader,
.ak-preloader .loader-section {
  background-color: #000000;
}
.ak-preloader .txt-loading .letters-loading,
.ak-preloader .txt-loading .letters-loading::before {
  color: #E8B800;
}
.ak-preloader .spinner {
  border-top-color: #E8B800;
}

/* ---------------- Contact page ---------------- */
.contact-info-item h5 {
  color: #E8B800;
  font-family: var(--heading-font-family);
  margin-bottom: 6px;
}
.contact-info-item p,
.contact-info-item a {
  color: var(--body-color);
}
.contact-info-item a:hover {
  color: #E8B800;
}

.cozy-contact-form label {
  display: block;
  color: #E8B800;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.cozy-contact-form input,
.cozy-contact-form select,
.cozy-contact-form textarea {
  width: 100%;
  background: transparent;
  border: 1px solid #5C4A00;
  color: var(--body-color);
  padding: 14px 16px;
  font-size: 16px;
  outline: none;
  transition: border-color 0.3s;
}
.cozy-contact-form select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23E8B800' fill='none' stroke-width='2'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
.cozy-contact-form select option {
  background: #0A0A0A;
  color: #C8C8C8;
}
.cozy-contact-form input:focus,
.cozy-contact-form select:focus,
.cozy-contact-form textarea:focus {
  border-color: #E8B800;
}
.cozy-contact-form input::placeholder,
.cozy-contact-form textarea::placeholder {
  color: #6d6d6d;
}
.cozy-contact-form .ak-btn {
  cursor: pointer;
  background: transparent;
}
.cozy-form-success {
  color: #E8B800;
  margin-top: 15px;
}

.cozy-map iframe {
  display: block;
  filter: grayscale(1) invert(0.9) hue-rotate(180deg) contrast(0.9);
}

/* ---------------- Rooms page (room.html) ---------------- */
.room-intro-text {
  max-width: 760px;
  color: var(--body-color);
  line-height: 1.8;
}
.room-location-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.room-location-tabs .ak-btn {
  text-align: center;
}
@media (max-width: 575px) {
  .room-location-tabs { flex-direction: column; }
  .room-location-tabs .ak-btn { width: 100%; }
}

/* ---------------- Fixed social sidebar (right side) ---------------- */
.social-sidebar {
  position: fixed;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 999;
}
.social-sidebar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #5C4A00;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #E8B800;
  transition: all 0.3s ease;
}
.social-sidebar-link:hover {
  background: #E8B800;
  color: #000000;
  border-color: #E8B800;
  transform: translateX(-4px);
}
.social-sidebar-link svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}
@media (max-width: 767px) {
  .social-sidebar {
    right: 10px;
    gap: 10px;
  }
  .social-sidebar-link {
    width: 38px;
    height: 38px;
  }
  .social-sidebar-link svg {
    width: 16px;
    height: 16px;
  }
}

/* Star row on location cards (index) */
.room-card-stars {
  display: flex;
  gap: 4px;
  margin: 8px 0 2px;
}

/* Star badge in hero mini titles */
.hero-stars {
  color: #E8B800;
  letter-spacing: 5px;
  margin-left: 12px;
  font-size: 0.9em;
  white-space: nowrap;
}

/* ------------------------------------------------------------------
   Index "Two Destinations" about section — spacing fix.
   The photo was scaling/parallaxing past its wrapper and towered over
   the short text column, leaving a large dead black band before the
   next section. Balance the two columns and clip the overflow.
------------------------------------------------------------------- */
#about .ak-about.ak-style-2 {
  align-items: center;
  gap: 70px;
}
#about .ak-about.ak-style-2 .about-img-2 {
  flex: 0 1 48%;
  overflow: hidden;
  border-radius: 4px;
}
#about .ak-about.ak-style-2 .about-img-2 img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
}
#about .ak-about.ak-style-2 .text-content {
  flex: 1 1 48%;
}
/* Tighten the run-out into the Locations section */
#locations > .ak-height-150 {
  height: 90px;
}
@media (max-width: 991px) {
  #locations > .ak-height-150 {
    height: 60px;
  }
}

/* ==================================================================
   Room grid -- every card the same size on every row
   style.css lays .room-section out as flex with `flex: 1 1 auto`, so a
   row that ends up with a single card lets it grow to the full width.
   With an odd number of rooms (the three Brandwag rooms on room.html)
   the last card rendered at roughly twice the size of the other two.
   A two-column grid keeps every card identical however many rooms a
   property has.
================================================================== */
.room-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
.room-section > * {
  width: auto;
}
@media (max-width: 767px) {
  .room-section {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Card photos are locked to 4:3 so a differently-shaped photo added
   later cannot make one card taller than the rest of its row. */
.room-card .room-card-img-top {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* The theme stretches these to width/height 100% with no object-fit, which
   was harmless only because the images it shipped were placeholder blocks
   cut to the exact box ratio. Real photographs need cover, or they distort
   as the slide box changes shape across breakpoints. */
.core-services .core-services-img .services-img {
  object-fit: cover;
}
.testimonial-section .testimonial-info-section .testimonial-info-img {
  object-fit: cover;
}

/* ==================================================================
   Destination & room cards -- legibility scrim
   Every card image that carries a price / title overlay gets a soft
   dark wash (~40%) that deepens towards the bottom where the price
   pill sits. Images stay vibrant; hover transitions are untouched.
================================================================== */
.room-card .room-card-img {
  overflow: hidden;
}
.room-card .room-card-img::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.30) 0%,
    rgba(0, 0, 0, 0.34) 45%,
    rgba(0, 0, 0, 0.68) 100%
  );
  transition: opacity 0.45s ease;
  z-index: 1;
}
/* Ease the wash back slightly on hover so the photography breathes */
.room-card:hover .room-card-img::after {
  opacity: 0.82;
}
.room-card .room-card-img .room-card-img-btn {
  z-index: 2;
}
.room-card .room-card-img .room-card-img-btn .text-btn1 {
  background: rgba(0, 0, 0, 0.35);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  letter-spacing: 0.08em;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.85);
}

/* ==================================================================
   Room card booking action
================================================================== */
.room-card .room-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 24px;
}
.room-card-book {
  display: inline-flex;
  align-items: center;
  padding: 11px 26px;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #E8B800;
  border: 1px solid rgba(232, 184, 0, 0.45);
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.room-card-book:hover,
.room-card-book:focus-visible {
  background: #E8B800;
  border-color: #E8B800;
  color: #000;
}

/* The Woodlands about block carries a single image, so the theme's
   space-between would strand it on the left between 576px and 1455px. */
.ak-about.ak-style-3 .about-img-2 {
  justify-content: center;
}

/* ==================================================================
   At a Glance
   A single slab divided by gold hairlines. Reflows 4 -> 2 -> 1 columns,
   moving the dividers so no cell is ever left with a dangling rule.
================================================================== */
.cozy-glance-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid rgba(232, 184, 0, 0.18);
  background: linear-gradient(180deg, rgba(9, 30, 36, 0.55), rgba(4, 13, 16, 0.55));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  overflow: hidden;
}

.cozy-glance-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 52px 26px 46px;
  text-align: center;
  border-right: 1px solid rgba(232, 184, 0, 0.14);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.cozy-glance-item:last-child {
  border-right: none;
}

/* Warm wash from the top edge on hover. */
.cozy-glance-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 100% at 50% 0%, rgba(232, 184, 0, 0.13), transparent 70%);
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
}
.cozy-glance-item:hover::before,
.cozy-glance-item:focus-within::before {
  opacity: 1;
}

/* Accent rule that draws out from the centre. */
.cozy-glance-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: #E8B800;
  transform: translateX(-50%);
  transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.cozy-glance-item:hover::after,
.cozy-glance-item:focus-within::after {
  width: 66px;
}

.cozy-glance-index {
  position: relative;
  font-size: 11px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: rgba(232, 184, 0, 0.55);
}

.cozy-glance-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(232, 184, 0, 0.28);
  border-radius: 50%;
  color: #E8B800;
  transition: background-color 0.35s ease, border-color 0.35s ease,
    color 0.35s ease, transform 0.35s ease;
}
.cozy-glance-icon svg {
  width: 22px;
  height: 22px;
}
.cozy-glance-item:hover .cozy-glance-icon,
.cozy-glance-item:focus-within .cozy-glance-icon {
  background: #E8B800;
  border-color: #E8B800;
  color: #04131A;
  transform: translateY(-3px);
}

.cozy-glance-value {
  position: relative;
  font-family: var(--heading-font-family), serif;
  font-size: clamp(38px, 3.6vw, 58px);
  line-height: 1;
  color: #FFD28D;
  white-space: nowrap;
  transition: color 0.35s ease;
}
.cozy-glance-item:hover .cozy-glance-value {
  color: #E8B800;
}

.cozy-glance-label {
  position: relative;
  max-width: 16ch;
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--body-color);
}

/* Staggered reveal, applied once the slab scrolls into view. */
.cozy-glance-grid.is-revealed .cozy-glance-item {
  opacity: 1;
  transform: none;
}
.cozy-glance-grid.is-revealed .cozy-glance-item:nth-child(2) {
  transition-delay: 0.09s;
}
.cozy-glance-grid.is-revealed .cozy-glance-item:nth-child(3) {
  transition-delay: 0.18s;
}
.cozy-glance-grid.is-revealed .cozy-glance-item:nth-child(4) {
  transition-delay: 0.27s;
}

@media (max-width: 991px) {
  .cozy-glance-item {
    padding: 46px 22px 40px;
  }
  .cozy-glance-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cozy-glance-item:nth-child(2n) {
    border-right: none;
  }
  .cozy-glance-item:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(232, 184, 0, 0.14);
  }
}

/* On phones the centred stack becomes four tall cells and a long scroll, so
   each one turns into a compact row: icon left, figure and label right. */
@media (max-width: 575px) {
  .cozy-glance-grid {
    grid-template-columns: 1fr;
  }
  .cozy-glance-item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "icon value"
      "icon label";
    align-items: center;
    column-gap: 20px;
    row-gap: 2px;
    padding: 24px 22px;
    text-align: left;
    border-right: none;
    border-bottom: 1px solid rgba(232, 184, 0, 0.14);
  }
  .cozy-glance-item:last-child {
    border-bottom: none;
  }
  .cozy-glance-index {
    display: none;
  }
  .cozy-glance-icon {
    grid-area: icon;
    width: 48px;
    height: 48px;
  }
  .cozy-glance-value {
    grid-area: value;
    font-size: 32px;
  }
  .cozy-glance-label {
    grid-area: label;
    max-width: none;
    font-size: 12px;
    letter-spacing: 0.08em;
  }
  /* The accent reads better as a left-hand rule once the cells are rows. */
  .cozy-glance-item::after {
    top: 50%;
    left: 0;
    width: 2px;
    height: 0;
    transform: translateY(-50%);
    transition: height 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .cozy-glance-item:hover::after,
  .cozy-glance-item:focus-within::after {
    width: 2px;
    height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cozy-glance-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .cozy-glance-item::after {
    transition: none;
  }
}

/* ==================================================================
   Booking forms
================================================================== */
form.checkig-from {
  margin: 0;
}
/* Booking CTAs are anchors straight to NightsBridge. The link takes the
   button's padding so the whole shape is clickable. */
.ak-btn.style-5.cozy-book-btn {
  padding: 0;
}
.ak-btn.style-5.cozy-book-btn > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 18px 36px;
  color: inherit;
  font-size: inherit;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero-checkig-from-section .ak-btn.style-5.cozy-book-btn > a {
  padding: 14px 20px;
}
/* Guest steppers on the room-detail widgets */
.booking-widget .increase-decrease .value-button {
  background: transparent;
  border: 0;
  color: #fff;
  line-height: 1;
  padding: 0 6px;
  transition: color 0.3s ease;
}
.booking-widget .increase-decrease .value-button:hover,
.booking-widget .increase-decrease .value-button:focus-visible {
  color: #E8B800;
}
/* The native date picker glyph is dark on our dark fields */
.date-input-style1 input[type="date"]::-webkit-calendar-picker-indicator,
.check-data .date-packer input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) sepia(1) saturate(6) hue-rotate(5deg);
}

/* ==================================================================
   Footer -- 2026 revamp
   Same black & gold language, better rhythm and hierarchy.
================================================================== */
.cozy-footer {
  --footer-rule: rgba(232, 184, 0, 0.16);
  --footer-text: rgba(255, 255, 255, 0.62);
  background: linear-gradient(180deg, #0A0A0A 0%, #050505 100%);
  border-top: 1px solid var(--footer-rule);
}
.cozy-footer .footer-log-elem {
  outline: none;
}
.cozy-footer .footer-log-elem:focus-visible {
  outline: 1px solid rgba(232, 184, 0, 0.6);
  outline-offset: 14px;
}

/* ---- Reservations call to action ---- */
.cozy-footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 34px;
  padding: 54px 0;
  border-bottom: 1px solid var(--footer-rule);
}
.cozy-footer-eyebrow {
  margin: 0 0 12px;
  font-size: 11px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: #E8B800;
}
.cozy-footer-cta-title {
  margin: 0 0 10px;
  font-family: Baskervville, serif;
  font-size: 38px;
  line-height: 1.2;
  color: #fff;
}
.cozy-footer-cta-text {
  margin: 0;
  max-width: 46ch;
  color: var(--footer-text);
}
.cozy-footer-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.cozy-footer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 34px;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #000;
  background: #E8B800;
  border: 1px solid #E8B800;
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.cozy-footer-btn:hover,
.cozy-footer-btn:focus-visible {
  background: transparent;
  color: #E8B800;
}
.cozy-footer-btn.ghost {
  background: transparent;
  color: #E8B800;
  border-color: rgba(232, 184, 0, 0.45);
}
.cozy-footer-btn.ghost:hover,
.cozy-footer-btn.ghost:focus-visible {
  background: #E8B800;
  border-color: #E8B800;
  color: #000;
}

/* ---- Main columns ---- */
.cozy-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1.25fr 1.25fr;
  gap: 55px 50px;
  padding: 64px 0;
  border-bottom: 1px solid var(--footer-rule);
}
.cozy-footer-heading {
  margin: 0 0 26px;
  padding-bottom: 14px;
  font-size: 13px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #E8B800;
  position: relative;
}
.cozy-footer-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 1px;
  background: rgba(232, 184, 0, 0.55);
}
.cozy-footer-blurb {
  margin: 0 0 26px;
  color: var(--footer-text);
  line-height: 1.9;
  font-size: 15px;
}

/* ---- Explore menu ---- */
.cozy-footer-menu,
.cozy-footer-contact,
.cozy-footer-social,
.cozy-footer-properties {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cozy-footer-menu li + li {
  margin-top: 13px;
}
.cozy-footer-menu a {
  position: relative;
  display: inline-block;
  font-size: 15px;
  color: var(--footer-text);
  transition: color 0.3s ease, padding-left 0.3s ease;
}
.cozy-footer-menu a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 1px;
  background: #E8B800;
  transition: width 0.3s ease;
}
.cozy-footer-menu a:hover,
.cozy-footer-menu a:focus-visible {
  color: #E8B800;
  padding-left: 22px;
}
.cozy-footer-menu a:hover::before,
.cozy-footer-menu a:focus-visible::before {
  width: 14px;
}

/* ---- Contact list ---- */
.cozy-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.cozy-footer-contact li + li {
  margin-top: 20px;
}
.cozy-footer-ico {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(232, 184, 0, 0.28);
  border-radius: 50%;
  color: #E8B800;
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.cozy-footer-ico svg {
  width: 16px;
  height: 16px;
}
.cozy-footer-contact li:hover .cozy-footer-ico {
  background: #E8B800;
  border-color: #E8B800;
  color: #000;
}
.cozy-footer-contact a {
  padding-top: 5px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--footer-text);
  transition: color 0.3s ease;
}
.cozy-footer-contact a:hover,
.cozy-footer-contact a:focus-visible {
  color: #E8B800;
}

/* ---- Social row ---- */
.cozy-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.cozy-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(232, 184, 0, 0.28);
  border-radius: 50%;
  color: #E8B800;
  transition: all 0.35s ease;
}
.cozy-footer-social a svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}
.cozy-footer-social a:hover,
.cozy-footer-social a:focus-visible {
  background: #E8B800;
  border-color: #E8B800;
  color: #000;
  transform: translateY(-3px);
}

/* ---- Newsletter ---- */
.cozy-footer-subscribe {
  display: flex;
  align-items: center;
  border: 1px solid rgba(232, 184, 0, 0.28);
  transition: border-color 0.3s ease;
}
.cozy-footer-subscribe:focus-within {
  border-color: #E8B800;
}
.cozy-footer-subscribe .e-input {
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: none;
  padding: 16px 18px;
  font-size: 15px;
  color: #fff;
}
.cozy-footer-subscribe .e-input::placeholder {
  color: rgba(255, 255, 255, 0.38);
}
.cozy-footer-subscribe .btn-input {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 6px;
  padding: 9px 12px;
  border: 1px solid rgba(232, 184, 0, 0.45);
  border-radius: 14px;
  background: transparent;
  color: #E8B800;
  transition: all 0.4s ease;
}
.cozy-footer-subscribe .btn-input svg {
  transition: transform 0.35s ease;
}
.cozy-footer-subscribe .btn-input:hover,
.cozy-footer-subscribe .btn-input:focus-visible {
  background: #E8B800;
  border-color: #E8B800;
  color: #000;
}
.cozy-footer-subscribe .btn-input:hover svg {
  transform: rotate(45deg);
}
.cozy-footer-note {
  margin: 14px 0 0;
  font-size: 14px;
  color: #E8B800;
}

/* ---- Bottom bar ---- */
.cozy-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 34px;
}
.cozy-footer-copy {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}
.cozy-footer-properties {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
}
.cozy-footer-properties a {
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  transition: color 0.3s ease;
}
.cozy-footer-properties a:hover,
.cozy-footer-properties a:focus-visible {
  color: #E8B800;
}

/* ---- Footer responsive ---- */
@media (max-width: 1199px) {
  .cozy-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 48px 44px;
  }
  .cozy-footer-cta-title {
    font-size: 32px;
  }
}
@media (max-width: 767px) {
  .cozy-footer-cta {
    padding: 40px 0;
    text-align: center;
    justify-content: center;
  }
  .cozy-footer-cta-text {
    margin-left: auto;
    margin-right: auto;
  }
  .cozy-footer-cta-actions {
    width: 100%;
    justify-content: center;
  }
  .cozy-footer-btn {
    flex: 1 1 220px;
  }
  .cozy-footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 44px 0;
  }
  .cozy-footer-cta-title {
    font-size: 28px;
  }
  .cozy-footer-bottom {
    justify-content: center;
    text-align: center;
  }
  .cozy-footer-properties {
    justify-content: center;
  }
}
@media (max-width: 575px) {
  .cozy-footer-cta-actions {
    flex-direction: column;
  }
  .cozy-footer-btn {
    width: 100%;
  }
}

