.site-footer { position: relative; padding: 120px 0 40px; background: #232323; color: #d8d8d8; font: 400 16px/1.9 "Inter",sans-serif; }
.site-footer .container-wide { width: min(1440px,calc(100% - 80px)); }
.footer-intro { display: flex; height: 80px; align-items: center; justify-content: space-between; gap: 80px; }
.footer-logo { display: block; }
.footer-logo img { width: 80px; height: 80px; object-fit: contain; }
.footer-social { display: flex; align-items: center; gap: 16px; }
.footer-social-link { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 5px !important; background: #f3f4f4; color: #232323; }
.footer-social-link .xhl-icon, .footer-social-link img { width: 30px; height: 30px; font-size: 30px; object-fit: contain; }
.has-overlay-header .footer-social-link { border-radius: 20px !important; }
.has-overlay-header:has(.contact-details) .footer-social-link { border-radius: 5px !important; }
.has-overlay-header:has(.pdf-library) .footer-social-link, .has-overlay-header:has(.site-search-results) .footer-social-link { border-radius: 5px !important; }
.has-overlay-header .side-action { border-radius: 20px !important; }
.term-resort-dresses .footer-social-link, .post-type-archive-news .footer-social-link, .tax-news_cat.has-overlay-header .footer-social-link, .single-news.has-overlay-header .footer-social-link { border-radius: 5px !important; }
.term-resort-dresses .side-action, .post-type-archive-news .side-action, .tax-news_cat.has-overlay-header .side-action, .single-news.has-overlay-header .side-action { border-radius: 10px !important; }
@media (min-width: 1025px) {
  .single-product:has(.product-summary) .footer-contact > a,
  .single-product:has(.product-summary) .footer-contact-item { min-height: 40px; gap: 20px; line-height: 24px; }
}
a.footer-social-link:hover { background: #d8d8d8; color: #111; }
a.footer-social-link:active { background: #bbb; }
.footer-main { display: grid; height: 235px; grid-template-columns: minmax(0,240fr) minmax(0,220fr) minmax(0,300fr) minmax(0,440fr); gap: 80px; margin-top: 40px; padding-top: 40px; border-top: 1px solid #ffffff30; }
.site-footer .footer-heading { margin: 0 0 20px; color: #fff; font: 500 20px/24px "Plus Jakarta Sans",sans-serif; }
.footer-list, .footer-menu ul { margin: 0; padding: 0; list-style: none; }
.footer-list li, .footer-menu li { min-height: 30.4px; }
.footer-contact { display: grid; }
.footer-contact > a, .footer-contact-item { display: flex; min-height: 30.4px; align-items: center; gap: 14px; }
.footer-contact .footer-item-icon, .footer-contact .xhl-icon, .footer-address .footer-item-icon { width: 20px; height: 20px; flex: 0 0 20px; font-size: 20px; object-fit: contain; }
.footer-address { display: flex; align-items: flex-start; gap: 14px; }
.footer-address > img { margin-top: 5px; }
.footer-address address { margin: 0; font-style: normal; }
.site-footer a:hover { color: #fff; }
.site-footer a:focus-visible { outline-color: #fff; }
.footer-bottom { display: flex; min-height: 57px; margin-top: 60px; padding-top: 39px; align-items: flex-start; justify-content: space-between; gap: 32px; border-top: 1px solid #ffffff30; color: #d8d8d8; font: 400 14px/17px "Inter",sans-serif; }
.footer-bottom p { margin: 0; }
.side-actions { position: fixed; z-index: 50; bottom: 14vh; right: 60px; display: flex; flex-direction: column; gap: 15px; }
.side-action { display: grid; width: 60px; height: 60px; place-items: center; border: 1px solid #ffffff30; border-radius: 10px !important; background: #333; color: #fff; }
.side-action--top { padding: 0; cursor: pointer; }
.side-action .footer-item-icon { width: 30px; height: 30px; object-fit: contain; }
.side-action .xhl-icon { font-size: 30px; }
.side-action:hover { background: #555; color: #fff; }
.side-action:active { background: #666; }
@media (max-width: 1700px) { .side-actions { right: 20px; } }

@media (min-width: 1025px) and (max-width: 1639px) {
  .footer-main { height: auto; min-height: 235px; gap: 40px; }
}
@media (max-width: 1639px) {
  .footer-contact > a, .footer-contact-item, .footer-address address { min-width: 0; overflow-wrap: anywhere; }
}
.side-action--products, .side-action__label { display: none; }
@media (max-width: 1024px) {
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom,0px)); }
  .site-footer { display: none; }
  .side-actions { inset: auto 0 0; z-index: 1000; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); min-height: 66px; gap: 0; padding: 8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); border-top: 1px solid #ddd; background: #fff; box-shadow: 0 -3px 16px #1c1c1c0f; }
  .side-actions .side-action { display: flex; width: auto; min-width: 0; height: auto; min-height: 48px; flex-direction: column; justify-content: center; gap: 5px; border: 0; background: transparent; color: var(--color-text-primary); }
  .side-actions .side-action--top { display: none; }
  .side-actions .footer-item-icon { width: 22px; height: 22px; filter: brightness(0); }
  .side-actions .xhl-icon { font-size: 22px; line-height: 22px; }
  .side-action__label { display: block; color: #666; font: 400 12px/1.2 "Inter",sans-serif; }
  .side-actions .side-action:hover, .side-actions .side-action:focus-visible { background: #f3f4f4; color: #111; }
  .side-actions .side-action:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
  .site-header .mobile-panel { max-height: calc(100svh - 158px - env(safe-area-inset-bottom,0px)); }
}
