.premium-footer {

  --emerald-950: #032b29;
  --emerald-900: #063b38;
  --emerald-800: #084a46;
  --emerald-700: #0b5b55;
  --emerald-600: #107068;

  --gold-500: #d9a441;
  --gold-400: #e5b95c;
  --gold-300: #f0cd7b;
  --gold-light: #fbf0d2;

  --cream: #faf8f2;
  --cream-dark: #f2eee4;

  --white: #ffffff;

  --text-dark: #102c2a;
  --text: #425654;
  --text-light: #71817f;

  --border: #e5e5df;

  --shadow-sm:
    0 4px 20px rgba(4, 43, 41, 0.06);

  --shadow:
    0 15px 45px rgba(4, 43, 41, 0.10);

  --shadow-lg:
    0 25px 70px rgba(4, 43, 41, 0.16);

  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 24px;

  --container: 1200px;


  font-family: "DM Sans", system-ui, sans-serif;
}
.premium-footer *, .premium-footer *::before, .premium-footer *::after { margin: 0; box-sizing: border-box; }
.premium-footer a { text-decoration: none; color: inherit; }
.footer-brand > p {
  max-width: 350px;

  margin-top: 18px;

  color: rgba(255,255,255,0.5);

  font-size: 12px;
}
.footer-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-column h3 {
  color: var(--gold-400);

  font-family: "Playfair Display", serif;

  font-size: 16px;

  margin-bottom: 7px;
}
.footer-column a {
  color: rgba(255,255,255,0.55);

  font-size: 12px;

  transition: color 0.2s ease;
}
.footer-column a:hover {
  color: var(--gold-400);
}
.footer-bottom {
  min-height: 65px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  border-top:
    1px solid rgba(255,255,255,0.08);

  color: rgba(255,255,255,0.4);

  font-size: 10px;
}
.footer-bottom div {
  display: flex;
  gap: 10px;
}
.footer-bottom a:hover {
  color: var(--gold-400);
}
.back-to-top {
  position: fixed;

  right: 20px;
  bottom: 20px;

  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border: 0;

  border-radius: 50%;

  background: var(--gold-500);

  color: var(--emerald-950);

  cursor: pointer;

  opacity: 0;
  visibility: hidden;

  transform: translateY(10px);

  transition:
    opacity 0.25s ease,
    visibility 0.25s ease,
    transform 0.25s ease;

  z-index: 500;
}
.back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (max-width: 700px) {
.footer-bottom {
    flex-direction: column;

    justify-content: center;

    padding: 20px 0;
  }
}
.premium-footer {
    position: relative;
    background: #021f1e;
    color: var(--white);
}
.footer-main {
    display: grid;

    grid-template-columns:
        1.35fr .8fr 1fr 1.25fr;

    gap: 60px;

    padding-top: 75px;
    padding-bottom: 65px;
}
.footer-logo {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    text-decoration: none;
}
.footer-logo-icon {
    width: 45px;
    height: 45px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background:
        rgba(229,185,92,.12);

    border:
        1px solid rgba(229,185,92,.22);

    color: var(--gold-400);

    font-size: 17px;
}
.footer-logo strong {
    display: block;

    color: var(--white);

    font-family:
        "Playfair Display",
        serif;

    font-size: 19px;
}
.footer-logo strong span {
    color: var(--gold-400);
}
.footer-logo small {
    display: block;

    margin-top: 2px;

    color:
        rgba(255,255,255,.42);

    font-size: 8px;

    letter-spacing: .5px;
}
.footer-brand-description {
    max-width: 310px;

    margin: 22px 0;

    color:
        rgba(255,255,255,.52);

    font-size: 11px;

    line-height: 1.8;
}
.footer-socials {
    display: flex;

    align-items: center;

    gap: 8px;
}
.footer-socials a {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 50%;

    color:
        rgba(255,255,255,.65);

    font-size: 11px;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}
.footer-socials a:hover {
    background: var(--gold-500);

    border-color: var(--gold-500);

    color: var(--emerald-950);

    transform: translateY(-3px);
}
.footer-column h3 {
    position: relative;

    margin-bottom: 22px;

    padding-bottom: 11px;

    color: var(--white);

    font-family:
        "Playfair Display",
        serif;

    font-size: 16px;
}
.footer-column h3::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 28px;
    height: 1px;

    background: var(--gold-500);
}
.footer-column > a:not(.footer-contact-item) {
    display: block;

    width: fit-content;

    margin-bottom: 10px;

    color:
        rgba(255,255,255,.52);

    font-size: 10px;

    text-decoration: none;

    transition:
        color .2s ease,
        transform .2s ease;
}
.footer-column > a:not(.footer-contact-item):hover {
    color: var(--gold-300);

    transform: translateX(3px);
}
.footer-contact-item {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 15px;

    text-decoration: none;
}
.footer-contact-item > span {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    flex-shrink: 0;

    border-radius: 50%;

    background:
        rgba(229,185,92,.09);

    color: var(--gold-400);

    font-size: 10px;
}
.footer-contact-item small, .footer-contact-item strong {
    display: block;
}
.footer-contact-item small {
    margin-bottom: 3px;

    color:
        rgba(255,255,255,.35);

    font-size: 8px;
}
.footer-contact-item strong {
    color:
        rgba(255,255,255,.72);

    font-size: 10px;

    font-weight: 500;
}
a.footer-contact-item:hover strong {
    color: var(--gold-300);
}
.footer-special-offer {
    display: flex;

    gap: 11px;

    margin-top: 22px;

    padding: 16px;

    border:
        1px solid rgba(229,185,92,.18);

    border-radius: 10px;

    background:
        rgba(229,185,92,.06);
}
.footer-special-offer > i {
    margin-top: 2px;

    color: var(--gold-400);
}
.footer-special-offer strong {
    display: block;

    margin-bottom: 5px;

    color: var(--gold-300);

    font-size: 10px;
}
.footer-special-offer p {
    color:
        rgba(255,255,255,.45);

    font-size: 9px;

    line-height: 1.6;
}
.footer-disclaimer {
    border-top:
        1px solid rgba(255,255,255,.07);

    border-bottom:
        1px solid rgba(255,255,255,.07);

    background:
        rgba(255,255,255,.025);
}
.footer-disclaimer-inner {
    display: flex;

    align-items: flex-start;

    gap: 15px;

    padding-top: 25px;
    padding-bottom: 25px;
}
.footer-disclaimer-icon {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    flex-shrink: 0;

    border-radius: 50%;

    background:
        rgba(229,185,92,.10);

    color: var(--gold-400);

    font-size: 12px;
}
.footer-disclaimer strong {
    display: block;

    margin-bottom: 5px;

    color:
        rgba(255,255,255,.78);

    font-size: 10px;
}
.footer-disclaimer p {
    max-width: 1000px;

    color:
        rgba(255,255,255,.42);

    font-size: 9px;

    line-height: 1.7;
}
.footer-global {
    border-bottom:
        1px solid rgba(255,255,255,.07);
}
.footer-global-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 35px;

    padding-top: 28px;
    padding-bottom: 28px;
}
.footer-global-title {
    display: flex;

    align-items: center;

    gap: 12px;

    flex-shrink: 0;
}
.footer-global-title > span {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background:
        rgba(229,185,92,.10);

    color: var(--gold-400);
}
.footer-global-title strong, .footer-global-title small {
    display: block;
}
.footer-global-title strong {
    color:
        rgba(255,255,255,.8);

    font-size: 11px;
}
.footer-global-title small {
    margin-top: 3px;

    color:
        rgba(255,255,255,.35);

    font-size: 8px;
}
.footer-country-links {
    display: flex;

    flex-wrap: wrap;

    justify-content: flex-end;

    gap: 7px;
}
.footer-country-links a {
    padding: 7px 10px;

    border:
        1px solid rgba(255,255,255,.09);

    border-radius: 20px;

    color:
        rgba(255,255,255,.50);

    font-size: 8px;

    text-decoration: none;

    transition:
        color .2s ease,
        border-color .2s ease;
}
.footer-country-links a:hover {
    color: var(--gold-300);

    border-color:
        rgba(229,185,92,.35);
}
.footer-bottom {
    background:
        rgba(0,0,0,.12);
}
.footer-bottom-inner {
    min-height: 65px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}
.footer-bottom-inner p {
    color:
        rgba(255,255,255,.35);

    font-size: 9px;
}
.footer-legal {
    display: flex;

    align-items: center;

    gap: 11px;
}
.footer-legal a {
    color:
        rgba(255,255,255,.40);

    font-size: 9px;

    text-decoration: none;
}
.footer-legal a:hover {
    color: var(--gold-300);
}
.footer-legal span {
    width: 3px;
    height: 3px;

    border-radius: 50%;

    background:
        rgba(255,255,255,.25);
}
.premium-footer .back-to-top {
    position: absolute;

    right: 28px;
    bottom: 85px;

    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border: 0;

    border-radius: 50%;

    background: var(--gold-500);

    color: var(--emerald-950);

    cursor: pointer;

    box-shadow:
        0 8px 25px rgba(0,0,0,.2);

    transition:
        transform .25s ease;
}
.premium-footer .back-to-top:hover {
    transform: translateY(-4px);
}
@media (max-width: 1000px) {
.footer-main {
        grid-template-columns:
            1.4fr 1fr 1fr;

        gap: 45px;
    }
.footer-contact {
        grid-column:
            1 / -1;
    }
}
@media (max-width: 750px) {
.footer-main {
        grid-template-columns:
            1fr 1fr;
    }
.footer-brand, .footer-contact {
        grid-column:
            1 / -1;
    }
.footer-global-inner {
        flex-direction: column;

        align-items: flex-start;
    }
.footer-country-links {
        justify-content: flex-start;
    }
}
@media (max-width: 520px) {
.footer-main {
        grid-template-columns: 1fr;

        gap: 35px;

        padding-top: 55px;
        padding-bottom: 45px;
    }
.footer-brand, .footer-contact {
        grid-column: auto;
    }
.footer-disclaimer-inner {
        padding-top: 22px;
        padding-bottom: 22px;
    }
.footer-global-inner {
        padding-top: 25px;
        padding-bottom: 25px;
    }
.footer-bottom-inner {
        flex-direction: column;

        align-items: flex-start;

        justify-content: center;

        padding-top: 18px;
        padding-bottom: 18px;
    }
.footer-legal {
        flex-wrap: wrap;
    }
.premium-footer .back-to-top {
        right: 18px;
        bottom: 100px;

        width: 38px;
        height: 38px;
    }
}
.footer-logo-icon {
  width: auto;
  height: auto;
  padding: 0;
  background: none;
  border-radius: 0;
}
.footer-logo-icon img {
  height: 48px;
  width: auto;
  display: block;
}
.footer-logo-icon, .footer-logo-icon img {
  border: none;
  outline: none;
  box-shadow: none;
  background: none;
}

.premium-footer .container {
  width: min(
    calc(100% - 40px),
    var(--container)
  );

  margin-inline: auto;
}
.premium-footer h3, .premium-footer .footer-logo strong { font-family: 'Playfair Display', Georgia, serif; }
