/* =====================================================================
   Button Interaction States — clear hover / focus / active feedback
   Applies across all breakpoints. Additive only.
   ===================================================================== */

/* ---- Shared focus ring (keyboard) ---- */
:focus-visible {
  outline: none;
}

/* Root accent tokens */
:root {
  --btn-accent: #f7ab24;
  --btn-accent-dark: #d99010;
  --btn-ink: #1a2332;
  --btn-focus-ring: 0 0 0 3px rgba(247, 171, 36, 0.45);
}

/* 1) Header login pill */
.tp-btn-login,
.tp-btn-login::before,
.tp-btn-login span,
.tp-btn-login svg {
  transition:
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    width 0.35s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    stroke 0.2s ease,
    box-shadow 0.2s ease;
}
.tp-btn-login:hover {
  color: var(--btn-ink);
}
.tp-btn-login:hover::before {
  width: calc(100% - 12px);
}
.tp-btn-login:hover svg {
  transform: translateX(2px);
}
.tp-btn-login:focus-visible {
  box-shadow: var(--btn-focus-ring);
  border-radius: 50px;
}
.tp-btn-login:active {
  transform: scale(0.96);
}

/* 2) Hero CTA buttons */
.hero-cta-primary,
.hero-cta-secondary {
  position: relative;
  transition:
    transform 0.25s cubic-bezier(.2,.8,.2,1),
    box-shadow 0.25s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}
.hero-cta-primary::after,
.hero-cta-secondary::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 999px;
  box-shadow: 0 0 0 0 rgba(247, 171, 36, 0);
  transition: box-shadow 0.2s ease;
  pointer-events: none;
}
.hero-cta-primary:hover,
.hero-cta-primary:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px -14px rgba(245, 158, 11, 0.72);
}
.hero-cta-primary:focus-visible::after,
.hero-cta-secondary:focus-visible::after {
  box-shadow: var(--btn-focus-ring);
}
.hero-cta-primary:active {
  transform: translateY(0) scale(0.97);
  box-shadow: 0 10px 22px -10px rgba(245, 158, 11, 0.55);
}

.hero-cta-secondary:hover,
.hero-cta-secondary:focus-visible {
  transform: translateY(-2px);
  background: #fff;
  border-color: rgba(15, 30, 60, 0.18);
  box-shadow: 0 18px 36px -12px rgba(15, 30, 60, 0.2);
}
.hero-cta-secondary:active {
  transform: translateY(0) scale(0.97);
  box-shadow: 0 8px 18px -10px rgba(15, 30, 60, 0.15);
}

/* 3) Carousel arrows */
.lx-arrow {
  transition:
    transform 0.2s cubic-bezier(.16,1,.3,1),
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease;
}
.lx-arrow:hover,
.lx-arrow:focus-visible {
  background: #fff;
  border-color: rgba(22, 35, 59, 0.22);
  box-shadow: 0 0 0 3px rgba(247, 171, 36, 0.35), 0 14px 30px -12px rgba(22, 35, 59, 0.35);
}
.lx-arrow:focus-visible {
  outline: none;
}
.lx-arrow:active {
  transform: scale(0.92);
}
.lx-arrow[disabled],
.lx-arrow[aria-disabled="true"] {
  opacity: 0.35;
  cursor: default;
  transform: none !important;
  box-shadow: none !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

/* 4) Carousel dots */
.lx-dot {
  transition:
    width 0.5s cubic-bezier(.16,1,.3,1),
    background-color 0.4s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.lx-dot:hover,
.lx-dot:focus-visible {
  transform: scale(1.35);
  background: rgba(247, 171, 36, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(247, 171, 36, 0.18);
}
.lx-dot.is-on {
  width: 24px !important;
  background: var(--btn-accent) !important;
}
.lx-dot.is-on:hover,
.lx-dot.is-on:focus-visible {
  background: var(--btn-accent-dark) !important;
}
.lx-dot:focus-visible {
  outline: none;
}
.lx-dot:active {
  transform: scale(0.9);
}

/* 5) "Browse all" link button */
.lx-all a {
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    gap 0.25s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.lx-all a:hover,
.lx-all a:focus-visible {
  border-color: var(--btn-accent);
  gap: 16px;
  color: var(--btn-ink);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -8px rgba(247, 171, 36, 0.25);
}
.lx-all a:focus-visible {
  box-shadow: var(--btn-focus-ring);
}
.lx-all a:active {
  transform: translateY(0) scale(0.97);
}

/* 6) Mobile header menu toggle */
.em-mheader__btn {
  cursor: pointer;
  transition:
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}
.em-mheader__btn:hover,
.em-mheader__btn:focus-visible {
  background: rgba(247, 171, 36, 0.12);
  color: var(--btn-ink);
  box-shadow: var(--btn-focus-ring);
}
.em-mheader__btn:active {
  transform: scale(0.92);
  background: rgba(15, 23, 42, 0.06);
}

/* 7) Drawer close */
.em-drawer__close {
  cursor: pointer;
  transition:
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}
.em-drawer__close:hover,
.em-drawer__close:focus-visible {
  background: rgba(247, 171, 36, 0.14);
  color: var(--btn-ink);
  box-shadow: var(--btn-focus-ring);
}
.em-drawer__close:active {
  transform: scale(0.92);
  background: rgba(15, 23, 42, 0.09);
}

/* 8) Drawer links */
.em-drawer__link {
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    box-shadow 0.18s ease;
}
.em-drawer__link:hover,
.em-drawer__link:focus-visible {
  background: rgba(247, 171, 36, 0.08);
  color: var(--btn-ink);
  box-shadow: inset 0 0 0 1px rgba(247, 171, 36, 0.25);
}
.em-drawer__link:focus-visible {
  outline: none;
}
.em-drawer__link:active {
  background: rgba(247, 171, 36, 0.12);
  transform: scale(0.985);
}
.em-drawer__link.is-active {
  background: rgba(247, 171, 36, 0.12);
  color: #b47a13;
}
.em-drawer__link.is-active:hover,
.em-drawer__link.is-active:focus-visible {
  background: rgba(247, 171, 36, 0.18);
  box-shadow: inset 0 0 0 1px rgba(247, 171, 36, 0.4);
}

/* 9) Drawer CTA */
.em-drawer__cta {
  transition:
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}
.em-drawer__cta:hover,
.em-drawer__cta:focus-visible {
  background: var(--btn-accent-dark);
  box-shadow: var(--btn-focus-ring);
  transform: translateY(-1px);
}
.em-drawer__cta:focus-visible {
  outline: none;
}
.em-drawer__cta:active {
  transform: scale(0.97);
  background: #c8830e;
}

/* 10) Drawer language switch */
.em-drawer__lang {
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.em-drawer__lang:hover,
.em-drawer__lang:focus-visible {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(247, 171, 36, 0.45);
  box-shadow: var(--btn-focus-ring);
  transform: translateY(-1px);
}
.em-drawer__lang:focus-visible {
  outline: none;
}
.em-drawer__lang:active {
  transform: scale(0.97);
  background: rgba(15, 23, 42, 0.06);
}

/* 11) Floating FAB buttons */
.bottom-bar__item,
.bottom-bar__item:first-of-type,
.bottom-bar__link {
  transition:
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.bottom-bar__item:not(:first-of-type):hover,
.bottom-bar__item:not(:first-of-type):focus-visible,
.bottom-bar__item:not(:first-of-type):focus-within {
  background: #fff5d6;
  border-color: var(--btn-accent-dark);
  transform: scale(1.1);
  box-shadow: 0 0 0 3px rgba(247, 171, 36, 0.25);
}
.bottom-bar__item:not(:first-of-type):focus-visible,
.bottom-bar__item:not(:first-of-type):focus-within {
  outline: none;
}
.bottom-bar__item:not(:first-of-type):active {
  transform: scale(0.94);
  background: #ffedb8;
}
.bottom-bar__item:first-of-type:hover,
.bottom-bar__item:first-of-type:focus-visible,
.bottom-bar__item:first-of-type:focus-within {
  transform: scale(1.06);
}
.bottom-bar__item:first-of-type:hover::after,
.bottom-bar__item:first-of-type:focus-visible::after,
.bottom-bar__item:first-of-type:focus-within::after,
.bottom-bar__item:first-of-type:active::after {
  transform: scale(1.1);
}
.bottom-bar__item:first-of-type:focus-visible,
.bottom-bar__item:first-of-type:focus-within {
  box-shadow: var(--btn-focus-ring);
  border-radius: 50%;
}
.bottom-bar__item:first-of-type:active {
  transform: scale(0.95);
}
.bottom-bar__link:active {
  transform: scale(0.94);
}

/* 12) Header nav links */
.tp-header-10-menu > nav > ul > li > a {
  transition: color 0.25s ease, transform 0.25s ease;
  position: relative;
}
.tp-header-10-menu > nav > ul > li > a:hover,
.tp-header-10-menu > nav > ul > li > a:focus-visible {
  color: #f7ab24 !important;
  transform: translateY(-2px);
}
.tp-header-10-menu > nav > ul > li > a:focus-visible {
  outline: none;
  box-shadow: var(--btn-focus-ring);
  border-radius: 8px;
}
.tp-header-10-menu > nav > ul > li > a:hover::after,
.tp-header-10-menu > nav > ul > li > a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.tp-header-10-menu > nav > ul > li > a:active {
  transform: translateY(0) scale(0.98);
}

/* 13) Generic buttons / links */
a, button, [role="button"] {
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s cubic-bezier(.2,.8,.2,1),
    box-shadow 0.18s ease;
}

/* Avoid double-focus on cards that are also buttons/links */
.lx-card:focus-visible,
.lx-open:focus-visible {
  outline: none;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .tp-btn-login,
  .hero-cta-primary,
  .hero-cta-secondary,
  .lx-arrow,
  .lx-dot,
  .lx-all a,
  .em-mheader__btn,
  .em-drawer__close,
  .em-drawer__link,
  .em-drawer__cta,
  .em-drawer__lang,
  .bottom-bar__item,
  .bottom-bar__link,
  .tp-header-10-menu > nav > ul > li > a,
  a, button, [role="button"] {
    transition: none !important;
    transform: none !important;
  }
}

/* Touch / coarse-pointer devices: keep the active state visible a hair longer */
@media (hover: none) and (pointer: coarse) {
  .tp-btn-login:active,
  .hero-cta-primary:active,
  .hero-cta-secondary:active,
  .lx-arrow:active,
  .lx-dot:active,
  .lx-all a:active,
  .em-mheader__btn:active,
  .em-drawer__close:active,
  .em-drawer__link:active,
  .em-drawer__cta:active,
  .em-drawer__lang:active,
  .bottom-bar__item:active,
  .bottom-bar__link:active,
  .tp-header-10-menu > nav > ul > li > a:active {
    transition-duration: 70ms;
  }
}

/* === CR verification badge (footer) === */
.em-cr-verify{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 22px;text-align:center;}
.em-cr-verify__link{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#FFF8E7;border-radius:16px;padding:14px 20px;box-shadow:0 6px 20px rgba(16,24,40,.10);transition:transform .2s ease,box-shadow .2s ease;max-width:100%;flex-wrap:wrap;}
.em-cr-verify__link:hover,.em-cr-verify__link:focus-visible{transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,24,40,.16);outline:none;}
.em-cr-verify__link img{height:44px;width:auto;max-width:46%;object-fit:contain;}
.em-cr-verify__label{font-size:13px;font-weight:700;color:#fff;opacity:.9;}
@media (max-width:575px){
  .em-cr-verify__link{gap:12px;padding:12px 14px;}
  .em-cr-verify__link img{height:34px;}
}

/* ===== Footer contact info (mirrors drawer styling) ===== */
.em-foot-contact__grid{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.em-foot-card{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 4px 14px rgba(26,35,50,.06);display:flex;flex-direction:column;gap:6px}
.em-foot-card__label{font-size:13px;color:#67787a;display:flex;align-items:center;gap:8px}
.em-foot-card__label i{color:#F7AB24}
.em-foot-card__value{font-size:16px;font-weight:700;color:#1a2332;text-decoration:none;overflow-wrap:anywhere}
a.em-foot-card__value:hover,a.em-foot-card__value:focus-visible{color:#F7AB24}
.em-foot-map{margin-top:16px;border-radius:12px;overflow:hidden;line-height:0;box-shadow:0 4px 14px rgba(26,35,50,.06)}
.em-foot-cr-title{margin-top:22px}
