/* =============================================================
   Dank Poet: base styles shared by every page.
   Values come from the live site's theme reset (Hello Elementor),
   the Elementor kit (post-7.css), the Customizer CSS and the header/footer/menu
   templates (post-13, post-90, post-102). See migration/AUDIT.md.

   Breakpoints (same as the live site):
     laptop        <= 1440px
     tablet-extra  <= 1200px
     tablet        <= 1024px
     mobile-extra  <=  880px
     mobile        <=  767px
   ============================================================= */
@import url('fonts.css');

/* ---------- Tokens ---------- */
:root {
  /* Elementor kit globals */
  --c-primary: #4B1D6C;       /* purple */
  --c-secondary: #272727;
  --c-text: #CFCFCF;
  --c-accent: #FFB000;        /* amber */
  --c-ink: #181818;
  --c-amber-dark: #D99103;
  --c-grey: #A7A9AC;
  --c-off-white: #F2F2F2;
  --c-purple-light: #7E5997;
  --c-white: #FFFFFF;
  --c-near-white: #F8F8F8;
  --c-black: #000000;
  --c-black-soft: #080808;
  /* Customizer tokens */
  --color-purple-dark: #4B1D6C;
  --color-purple-mid: #623284;
  --color-purple-bg: #EAE4EC;
  --color-black-mid: #272727;
  --color-yellow: #FFB000;
  --color-dot-heading-bg: #CFCFCF;
  --color-noise-base: #d9d9d9;
  --color-text-link: #4c1f6a;
  --btn-bg-yellow: url('/wp-content/uploads/2026/05/Component-32.webp');
  --btn-bg-purple: url('/wp-content/uploads/2026/05/Component-33.webp');
  --btn-bg-white-hover: url('/wp-content/uploads/2026/05/btn-bg-noise-white.webp');
  --font-display: "Octin Stencil", sans-serif;
  --font-sub: "Anton", sans-serif;
  --font-body: "Inter", sans-serif;
  --font-accent: "Allerta Stencil", sans-serif;
  --container: 1364px;
}
@media (max-width: 1024px) { :root { --container: 1024px; } }
@media (max-width: 767px)  { :root { --container: 767px; } }

/* ---------- Reset (Hello Elementor reset.css) ---------- */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
*, ::before, ::after { box-sizing: border-box; }
body {
  margin: 0;
  background-color: #fff;
  color: var(--c-grey);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
h1, h2, h3, h4, h5, h6 { color: inherit; font-family: inherit; font-weight: 500; line-height: 1.2; margin-block: .5rem 1rem; }
p { margin-block: 0 .9rem; }
a { background-color: transparent; color: #c36; text-decoration: none; font-weight: bold; }
a:active, a:hover { color: #336; }
b, strong { font-weight: bolder; }
img { border-style: none; height: auto; max-width: 100%; }
ul, ol, li, dl, dt, dd { margin-block: 0; }
label { display: inline-block; line-height: 1; vertical-align: middle; }
button, input, select, textarea { font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }
input[type=email], input[type=text], input[type=tel], input[type=search], input[type=number], select, textarea {
  border: 1px solid #666; border-radius: 3px; padding: .5rem 1rem; transition: all .3s; width: 100%;
}
[type=button], [type=submit], button { -webkit-appearance: button; width: auto; cursor: pointer; }
[tabindex]:not([tabindex="-1"]):focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  box-shadow: 0 0 0 4px #fff; outline: 2px solid #000; outline-offset: 2px;
}

/* Elementor kit: headings and buttons */
h1 { color: var(--c-text); font-family: var(--font-display); font-size: 6.5521vw; font-weight: 700; line-height: .86em; letter-spacing: -.63px; }
h2 { color: var(--c-secondary); font-family: var(--font-display); font-size: 3.9583vw; font-weight: 700; line-height: .9em; letter-spacing: .76px; }
h3, h4 { font-family: var(--font-display); font-weight: 700; }
@media (max-width: 1200px) { h2 { font-size: 50px; } }
@media (max-width: 1024px) { h1 { font-size: 60px; } h2 { font-size: 45px; } }
@media (max-width: 880px)  { h1 { font-size: 55px; } h2 { font-size: 42px; } }
@media (max-width: 767px)  { h1 { font-size: 50px; } h2 { font-size: 35px; } }

/* Plain <button> / submit inputs get the kit button look. The live kit rule is scoped to
   .elementor-kit-7 on <body>; .dp keeps the same specificity so it beats single-class rules
   exactly as on the live site (the age gate buttons rely on this). */
.dp button, .dp input[type=button], .dp input[type=submit] {
  background-color: var(--c-accent);
  color: var(--c-ink);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1em;
  letter-spacing: 1.76px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
  border: none;
  border-radius: 0;
  padding: 11px 20px;
}
form button { box-shadow: none !important; }

.screen-reader-text, .sr-only {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link { position: absolute; top: -100px; left: 6px; z-index: 100000; padding: 15px 23px 14px; background: #f1f1f1; color: #21759b; font-size: 14px; }
.skip-link:focus { top: 6px; }
[hidden] { display: none !important; }

/* ---------- Layout helpers (Elementor boxed container equivalent) ---------- */
.wrap { width: 100%; max-width: var(--container); margin-inline: auto; }

/* ---------- Buttons ----------
   .btn                 base (kit button)
   .btn--ghost          transparent with off-white border, fills off-white on hover
   .btn--amber          amber with grain texture
   .btn--purple         purple with grain texture
   .btn--arrow          slide-in arrow on hover (Customizer "button-hover-effect")       */
.btn {
  display: inline-block;
  position: relative;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: var(--c-accent);
  color: var(--c-ink);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: 1.76px;
  text-transform: uppercase;
  text-align: center;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
  transition: all .3s;
  overflow: hidden;
}
.btn:hover, .btn:focus { color: var(--c-ink); }
.btn--ghost { background-color: transparent; border-color: var(--c-off-white); color: var(--c-off-white); font-weight: 700; transition-duration: .5s; }
.btn--ghost:hover, .btn--ghost:focus { background-color: transparent; background-image: var(--btn-bg-white-hover); border-color: var(--c-off-white); color: var(--c-secondary); }
.btn--amber { background-color: var(--c-accent); background-image: var(--btn-bg-yellow); border-color: var(--c-accent); color: var(--c-ink); font-weight: 500; -webkit-text-stroke: .2px currentColor; }
.btn--amber:hover, .btn--amber:focus { background-image: var(--btn-bg-white-hover); color: var(--c-secondary); }
.btn--purple { background-color: var(--c-primary); background-image: var(--btn-bg-purple); border-color: var(--c-primary); color: var(--c-off-white); }
.btn--arrow {
  position: relative;
  overflow: hidden;
  transition: all .3s ease;
}
.btn--arrow::after {
  content: "\279C";
  position: absolute; right: 20px; top: 50%;
  transform: translateY(-50%) translateX(10px);
  opacity: 0;
  transition: all .3s ease;
}
.btn--arrow:hover { padding-right: 42px; }
.btn--arrow:hover::after { opacity: 1; transform: translateY(-50%) translateX(0); }
.btn--purple-big.btn--arrow:hover,
.btn--outline-dark.btn--arrow:hover,
.btn--big.btn--arrow:hover {
  padding-right: 62px;
}

/* ---------- Textured headings (Customizer) ---------- */
.dot-heading, span.yellow, span.purple-light, span.purple-dark, .black-heading-h2 {
  background:
    radial-gradient(circle at 15% 25%, rgba(70,70,70,.45) .8px, transparent 1.1px),
    radial-gradient(circle at 75% 35%, rgba(90,90,90,.35) .7px, transparent 1px),
    radial-gradient(circle at 35% 75%, rgba(110,110,110,.3) .6px, transparent .9px),
    radial-gradient(circle at 85% 15%, rgba(80,80,80,.4) .8px, transparent 1px),
    radial-gradient(circle at 55% 55%, rgba(60,60,60,.35) .7px, transparent .9px),
    radial-gradient(circle at 25% 60%, rgba(100,100,100,.28) .6px, transparent .9px),
    radial-gradient(circle at 65% 85%, rgba(90,90,90,.25) .5px, transparent .8px),
    radial-gradient(circle at 45% 15%, rgba(70,70,70,.3) .6px, transparent .9px),
    var(--color-noise-base);
  background-size: 14px 14px, 16px 16px, 12px 12px, 18px 18px, 13px 13px, 15px 15px, 11px 11px, 17px 17px, cover;
  background-position: 0 0, 4px 7px, 8px 3px, 2px 10px, 6px 1px, 10px 8px, 3px 5px, 7px 11px, 0 0;
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}
.dot-heading { color: transparent; background-color: var(--color-dot-heading-bg); }
span.yellow { background-color: var(--color-yellow) !important; }
span.purple-dark { background-color: var(--color-purple-dark); }
span.purple-light { background-color: var(--color-purple-mid) !important; }
.black-heading-h2 { background-color: var(--color-black-mid) !important; color: #4B1D6C00; }
.subheading-border::before, .subheading-border::after,
.subheading-white::before, .subheading-white::after { content: ''; width: 50px; height: 2px; display: block; }
.subheading-border::before, .subheading-border::after { background-color: var(--color-purple-mid); }
.subheading-white::before, .subheading-white::after { background-color: #A020F0; }
@media (max-width: 1200px) { .subheading-white::before, .subheading-white::after { width: 20px; } }

div, span { scroll-margin-top: 150px; }

/* =============================================================
   HEADER (template 13)
   ============================================================= */
.topbar { background-color: var(--c-ink); padding: 0 20px; }
.topbar__inner {
  display: flex; justify-content: space-between;
  max-width: 1440px; margin-inline: auto; padding: 10.5px 0;
}
.topbar__hours, .topbar__links a {
  font-family: var(--font-body); font-size: 11px; font-weight: 400; line-height: 24px;
  letter-spacing: 2.64px; text-transform: uppercase;
}
.topbar__hours { display: flex; align-items: center; margin: 0; color: var(--c-amber-dark); }
.topbar__hours svg { width: 14px; height: 14px; margin-right: 3.5px; fill: var(--c-amber-dark); }
.topbar__hours span { padding-left: 5px; }
.topbar__links { display: flex; flex-wrap: wrap; list-style: none; margin: 0 -14px; padding: 0; }
.topbar__links li { margin: 0 14px; display: flex; align-items: center; }
.topbar__links a { display: flex; align-items: center; color: var(--c-off-white); transition: color .3s; }
.topbar__links a:hover { color: var(--c-accent); }

.site-header {
  position: sticky; top: 0; z-index: 99;
  background-color: var(--c-ink);
  border-top: 1px solid rgba(242, 242, 242, .12);
  border-bottom: 1px solid rgba(242, 242, 242, .12);
  padding: 0 20px;
}
.site-header__inner { display: flex; align-items: center; max-width: 1440px; margin-inline: auto; padding: 20px 0; }
.site-header__brand { flex: 1 1 0; display: flex; flex-direction: column; }
.site-header__brand a { display: inline-block; line-height: 0; align-self: flex-start; }
.site-header__brand img { width: 175px; max-width: 175px; height: auto; }
.site-header__actions { flex: 1 1 0; display: flex; justify-content: flex-end; align-items: center; gap: 30px; line-height: 0; }
.site-header__actions .btn--amber { font-weight: 600; }
.dp .menu-toggle {
  display: inline-block; padding: 0; margin: 0; border: 0; background: none; box-shadow: none;
  color: var(--c-primary); line-height: 1; transform: translateY(2px);
}
.dp .menu-toggle:hover, .dp .menu-toggle:focus { background: none; }
.dp .menu-toggle { padding-bottom: 7px; vertical-align: top; } /* live icon widget box is 36x43 with the icon at the top */
.menu-toggle svg { display: block; width: 36px; height: 36px; }
.dp .menu-toggle--mobile { display: none; }

@media (max-width: 767px) {
  .topbar__inner { flex-wrap: wrap; justify-content: center; align-items: center; column-gap: 40px; max-width: 767px; }
  .topbar__hours { justify-content: center; }
  .topbar__hours, .topbar__links a { font-size: 10px; }
  .topbar__hours svg { width: 8px; height: 8px; }
  .site-header__inner { flex-wrap: wrap; justify-content: center; gap: 20px; max-width: 767px; }
  .site-header__brand { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; flex-basis: 100%; }
  .site-header__brand img { width: 170px; max-width: 170px; }
  .site-header__actions { display: none; }
  .dp .menu-toggle--mobile { display: inline-block; transform: none; }
  .menu-toggle--mobile svg { width: 35px; height: 35px; }
}

/* ---------- Mobile bottom bar (header container 2674a62, visible <= 880px) ---------- */
.mobile-bar { display: none; }
@media (max-width: 880px) {
  .mobile-bar {
    display: flex; position: fixed; left: 0; bottom: 0; z-index: 10; width: 100%;
    flex-wrap: wrap; justify-content: center; align-items: center; gap: 15px;
    padding: 18px 0; background-color: #0D0D0D;
  }
  .mobile-bar .btn { font-size: 16px; }
  .mobile-bar .btn--ghost { display: flex; align-items: center; justify-content: center; transition: all .7s; }
  .mobile-bar .btn--ghost:hover { background-image: var(--btn-bg-white-hover); background-size: 100%; background-repeat: repeat; transition: all .5s; }
  .mobile-bar .btn--ghost::after {
    content: ''; position: static; transform: none;
    background: url('/wp-content/uploads/2026/05/btn-right-arrow.svg') center / 8px no-repeat;
    width: 8px; height: 7px; margin-left: 0; opacity: 0; max-width: 0; overflow: hidden;
    transition: opacity .7s, max-width .7s, margin-left .7s;
  }
  .mobile-bar .btn--ghost:hover::after { opacity: 1; max-width: 8px; margin-left: 10px; }
  .mobile-bar .btn--amber { background-color: transparent; border-color: var(--c-accent); font-weight: 600; }
}

/* =============================================================
   SLIDE-IN MENU (popup 102)
   ============================================================= */
.menu-panel {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; justify-content: flex-end; align-items: flex-start;
  background-color: rgba(0, 0, 0, .8);
  visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity .3s, visibility .3s;
}
.menu-panel.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.menu-panel.is-closing { visibility: visible; opacity: 0; pointer-events: none; transition: opacity 1.2s; }
.menu-panel__dialog {
  position: relative; width: 350px; max-width: 100%; height: 100%; overflow: auto;
  box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
  background-image: linear-gradient(180deg, #171717 0%, #2E2E2E 100%);
  transform: translateX(100%);
}
.menu-panel.is-open .menu-panel__dialog { animation: dp-slide-in-right 1.2s both; transform: none; }
.menu-panel.is-closing .menu-panel__dialog { animation: dp-slide-out-right 1.2s both; }
@keyframes dp-slide-in-right { from { transform: translate3d(100%, 0, 0); visibility: visible; } to { transform: translate3d(0, 0, 0); } }
@keyframes dp-slide-out-right { from { transform: translate3d(0, 0, 0); visibility: visible; } to { transform: translate3d(100%, 0, 0); } }
.menu-panel__inner { display: flex; flex-direction: column; gap: 30px; min-height: 100vh; padding: 30px; }
.menu-panel__logo { line-height: 0; }
.menu-panel__logo img { width: 178px; height: 46px; }
.dp .menu-panel__close {
  position: absolute; top: 20px; right: 20px; z-index: 2;
  display: flex; width: 15px; height: 15px; padding: 0; border: 0; background: none; box-shadow: 0 0 0 4px #fff;
  line-height: 15px;
}
.dp .menu-panel__close:hover, .dp .menu-panel__close:focus { background: none; }
.menu-panel__close svg { width: 15px; height: 15px; fill: #fff; }
.menu-panel__nav ul { list-style: none; margin: 0; padding: 0; line-height: normal; }
.menu-panel__nav li { position: relative; }
.menu-panel__nav li.has-divider::after {
  content: ""; display: block; width: 100%; height: 1px; background: #F2F2F21F; margin: 20px 0;
}
.menu-panel__nav a {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  padding: 13px 20px;
  color: var(--c-text);
  font-family: var(--font-display); font-size: 15px; font-weight: 500; line-height: 20px;
  letter-spacing: 2.34px; text-transform: uppercase;
  transition: .4s;
}
.menu-panel__nav a::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px;
  background-color: var(--c-accent); opacity: 0; transition: .3s;
}
.menu-panel__nav a:hover, .menu-panel__nav a:focus, .menu-panel__nav a[aria-current="page"] { color: var(--c-accent); }
.menu-panel__nav a:hover::after, .menu-panel__nav a:focus::after, .menu-panel__nav a[aria-current="page"]::after { opacity: 1; }
.menu-panel__actions { display: flex; justify-content: center; align-items: center; gap: 20px; line-height: 0; }
.menu-panel__actions .btn--ghost { font-weight: 600; line-height: 1.2em; letter-spacing: 1.7px; }
.menu-panel__actions .btn--ghost:hover { background-color: transparent; background-image: var(--btn-bg-white-hover); color: var(--c-secondary); }
.menu-panel__actions .btn--amber { background-color: transparent; border-color: var(--c-accent); }
.menu-panel__dialog:focus { outline: none; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2); }
body.menu-open { overflow: hidden; }

/* =============================================================
   FOOTER (template 90)
   ============================================================= */
.site-footer { background-color: #0D0D0D; padding: 0 40px; color: var(--c-grey); }
.site-footer__inner { max-width: var(--container); margin-inline: auto; padding: 80px 0; display: flex; flex-direction: column; }
.site-footer__top { display: flex; margin-bottom: 30px; }
.site-footer__about { display: flex; width: 32%; gap: 30px; align-items: flex-start; padding: 0 20px 20px 0; border-right: 1px solid #F2F2F21F; }
.site-footer__logo { width: 35%; max-width: 35%; flex: 0 1 auto; text-align: center; line-height: 0; }
.site-footer__logo img { width: 134px; height: auto; display: inline-block; }
.site-footer__blurb { width: 65%; display: flex; flex-direction: column; justify-content: flex-end; }
.site-footer__blurb-text { font-size: 14px; line-height: 1.4em; color: #A7A9ACE6; }
.site-footer__blurb-text p { margin-bottom: 14.4px; }
.social { display: inline-grid; grid-template-columns: repeat(4, auto); justify-content: start; column-gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.social a {
  display: inline-flex; justify-content: center; align-items: center;
  width: 41px; height: 41px; padding: 13px; border-radius: 10%;
  background-color: var(--c-secondary); transition: background-color .3s;
}
.social svg { width: 15px; height: 15px; fill: var(--c-white); transition: fill .3s; }
.social a:hover { background-color: var(--c-accent); }
.social a:hover svg { fill: #050505; }

.site-footer__cols { display: flex; width: 68%; gap: 15px; padding: 0 0 20px 30px; }
.footer-col { display: flex; flex-direction: column; }
.footer-col--shop { width: 20%; }
.footer-col--links { width: 25%; }
.footer-col--contact, .footer-col--store { width: 30%; }
.footer-col__title { margin: 0 0 12px; color: var(--c-white); font-family: var(--font-sub); font-size: 18px; font-weight: 400; line-height: 1.3em; }
.footer-col__title span { display: block; margin-bottom: 14.4px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { display: flex; align-items: center; }
.footer-col li + li { margin-top: 5px; }
.footer-col li:not(:last-child) { padding-bottom: 5px; }
.footer-col a, .footer-col li > span { display: flex; align-items: center; width: 100%; color: #A7A9ACE6; font-weight: 400; line-height: 24px; transition: color .3s; }
.footer-col a:hover { color: var(--c-text); }
.footer-map { width: 100%; margin-bottom: 20px; line-height: 0; overflow: hidden; }
.footer-map iframe { width: 100%; height: 250px; border: 0; }

.site-footer__disclaimer { padding-bottom: 24px; font-size: 14px; line-height: 1.6em; color: #A7A9ACE6; }
.site-footer__disclaimer p { margin: 0; }
.site-footer__rule { border: 0; border-top: 1px solid rgba(242, 242, 242, .12); margin: 0; height: 0; }
.site-footer__bottom { display: flex; justify-content: space-between; margin-top: 24px; }
.site-footer__bottom, .site-footer__bottom a { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; line-height: 24px; }
.site-footer__credit { margin: 0; color: var(--c-text); }
.site-footer__credit a { color: var(--c-accent); }
.site-footer__credit a:hover { color: var(--c-white); }
.site-footer__credit strong { font-weight: 900; }
.site-footer__legal { display: flex; flex-wrap: wrap; list-style: none; margin: 0 -5px; padding: 0; }
.site-footer__legal li { margin: 0 5px; }
.site-footer__legal a { color: var(--c-off-white); font-weight: 400; transition: color .6s; }
.site-footer__legal a:hover { color: var(--c-accent); }
.site-footer__note { margin: 0; color: var(--c-off-white); }

@media (max-width: 1440px) { .social { column-gap: 10px; } .site-footer__legal { margin: 0 -5px; } .site-footer__legal li { margin: 0 5px; } }
@media (max-width: 1200px) {
  .site-footer__about { flex-direction: column; }
  .site-footer__logo { width: 100%; max-width: 100%; }
  .site-footer__logo img { width: auto; }
  .site-footer__blurb { width: 100%; }
  .site-footer__blurb-text, .site-footer__social-wrap, .site-footer__disclaimer { text-align: center; }
  .social { justify-content: center; }
  .site-footer__cols { padding: 0 0 20px 20px; }
  .site-footer__bottom { flex-direction: column; align-items: center; gap: 5px; }
  .site-footer__legal { margin: 0 -10px; }
  .site-footer__legal li { margin: 0 10px; }
}
@media (max-width: 1024px) {
  .site-footer { padding: 0 20px; }
  .site-footer__top { flex-direction: column; gap: 40px; }
  .site-footer__about { width: 100%; justify-content: space-between; padding: 0; border-right: 0; }
  .site-footer__logo img { width: auto; }
  .site-footer__cols { width: 100%; padding: 0; }
  .social a { width: 52px; height: 52px; padding: 16px; }
  .social svg { width: 20px; height: 20px; }
  .footer-divider { display: block; }
}
@media (min-width: 1025px) { .footer-divider { display: none; } }
.footer-divider { border: 0; border-top: 1px solid rgba(242, 242, 242, .12); margin: 0; height: 0; width: 100%; }
@media (max-width: 880px) {
  .site-footer__inner { padding: 50px 0; }
}
@media (max-width: 767px) {
  .site-footer__inner { padding: 50px 0 40px; max-width: 767px; }
  .site-footer__top { margin-bottom: 10px; justify-content: center; align-items: center; flex-wrap: wrap; }
  .site-footer__about { justify-content: center; align-items: center; flex-wrap: wrap; }
  .site-footer__cols { flex-wrap: wrap; gap: 30px; }
  .footer-col { width: 100% !important; justify-content: center; align-items: center; text-align: center; }
  .footer-col ul { text-align: center; }
  .footer-col a, .footer-col li > span { justify-content: center; }
  .site-footer__bottom { justify-content: center; align-items: center; }
  .site-footer__credit { text-align: center; }
}

/* Spacer under the footer so the fixed mobile bar never covers it (live element acdc266). */
.footer-bar-spacer { display: none; }
@media (max-width: 880px) { .footer-bar-spacer { display: block; height: 55px; background-color: #0D0D0D; } }

/* ---------- Image box (Elementor image-box widget equivalent) ----------
   The icon sits as an inline-block inside a normal text line, exactly like the live widget,
   so the gap between icon and title (line-box descent + 8px title margin) is identical. */
.ibox__img { display: inline-block; margin: 0; line-height: 0; }
.ibox__img img { transition-duration: .3s; }
.ibox__title { margin: 8px 0 4px; line-height: 1.2; }
.ibox__desc { margin: 0; }

/* Elementor "subheading-border" eyebrow (global class on the live site) */
.subheading-border {
  display: flex; align-items: center; gap: 15px;
  margin-block-end: 15px;
  color: var(--c-purple-light); font-family: var(--font-sub); font-size: 14px; font-weight: 500;
  line-height: 1.02em; letter-spacing: 3.52px; text-transform: uppercase;
}
