/* ==========================================================================
   Smoke Mart Australia — Storefront Mirror
   Chrome: compliance band · fixed toolbar · mega menu · search · drawers ·
   age gate · footer · back-to-top
   Geometry measured from the reference storefront (1440px desktop).
   ========================================================================== */

/* --- Typeface: the same Gotham Narrow webfonts the reference serves -------
   Self-hosted copies of GothamNarrow-{Light,Book,Medium,Bold}_Web.woff2.
   Declared under the family name the theme stacks already ask for
   ("Gotham Narrow" first in --sm-font), so all text renders with the
   reference's exact glyph advances and vertical metrics. Barlow Semi
   Condensed stays declared as the metric-similar fallback.               */
@font-face{font-family:"Gotham Narrow";font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/gotham-narrow-Light.woff2') format('woff2')}
@font-face{font-family:"Gotham Narrow";font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/gotham-narrow-Book.woff2') format('woff2')}
@font-face{font-family:"Gotham Narrow";font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/gotham-narrow-Medium.woff2') format('woff2')}
@font-face{font-family:"Gotham Narrow";font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/gotham-narrow-Bold.woff2') format('woff2')}

:root{
  --smx-red:            #EF1D35;
  --smx-red-dark:       #D1071E;
  --smx-ink:            #000000;
  --smx-warm:           #3D3935;
  --smx-surface:        #F5F5F5;
  --smx-border:         #E5E5E5;
  --smx-yellow:         #FFFF00;
  --smx-header-h:       64px;
  --smx-header-h-sm:    119px;
  --smx-legal-h:        108px;
  --smx-radius-pill:    100px;
}

/* body shift for the fixed toolbar */
body.smx-fixed-header{ padding-top:var(--smx-header-h); }
.smx-fixed-header .sm-site{ padding-top:0; }
@media (max-width:767px){ body.smx-fixed-header{ padding-top:var(--smx-header-h-sm); } }

/* ==========================================================================
   1. MANDATORY HEALTH-WARNING BAND
      The reference band is one artwork image (black panel + pulse + headline
      + yellow Quitline strip + white under-18 strip) served from the health
      warning template; a wide crop >=768px and a narrow crop below, rendered
      at width:1440px / max-width:100% exactly like _warningDisplayImage.
   ========================================================================== */
.smx-warning{
  background:#15161A;
  position:relative;
  z-index:1;
  text-align:center;
  line-height:0;
}
.smx-warning__art{ display:block; }
.smx-warning img{
  display:block;
  width:1440px;
  max-width:100%;
  height:auto;
  margin:0 auto;
}

/* ==========================================================================
   2. FIXED TOOLBAR HEADER  (1:1 with the reference grid — measured values)
      reference components: _root_10h9d_80 / _toolbar_10h9d_132 /
      _headerLogo_10h9d_163 / _megaMenu_7tywz / _categoryListLevel1_fqnit /
      _headerSearchBar_10h9d_174 / _secondaryContainer_10h9d_195 /
      _secondaryActions_10h9d_208
      Class names are smx-* so the parent theme's own header sheet can never
      bleed into this markup (the sm-nav__*/sm-mega hooks stay for app.js).
   ========================================================================== */
.sm-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:900;
  background:var(--smx-red);
  height:var(--smx-header-h);   /* 64px >=768px, 119px (46+10+63) below */
  min-height:0;
}
@media (max-width:767px){ .sm-header{ height:var(--smx-header-h-sm); } }

.smx-toolbar{
  --search-bar-height:63px;
  display:grid;
  align-content:center;
  grid-template-columns:2fr 4fr 2fr;
  grid-template-areas:"nav logo secondary" "searchbar searchbar searchbar";
  grid-template-rows:46px var(--search-bar-height);
  max-width:1440px;
  margin:0 auto;
  padding:10px 0 0;   /* the reference toolbar box starts 10px into the bar */
}
@media (min-width:768px){
  .smx-toolbar{
    grid-template-columns:auto auto 1fr auto;
    grid-template-areas:"nav logo searchbar secondary";
    /* reference box: 47px content row + 63px (empty) search row, 10px down */
    grid-template-rows:47px var(--search-bar-height);
    padding:10px 0 0;
    align-items:normal;
  }
}
@media (min-width:1440px){
  .smx-toolbar{
    grid-template-areas:"logo megamenu searchbar secondary";
    padding:10px 32px 0 16px;
  }
}

/* --- burger cluster : grid-area nav (removed >=1440 like the reference) --- */
.smx-toolbar__nav{
  grid-area:nav;
  display:flex;
  align-items:center;
  margin-left:8px;
}
@media (min-width:1440px){ .smx-toolbar__nav{ display:none; } }
.smx-burger{
  display:flex;
  width:42px; height:42px;
  margin:0; padding:0; border:0; background:none;
  color:#fff; cursor:pointer;
  align-items:center; justify-content:center;
  flex:0 0 auto;
}

/* --- logo : grid-area logo --- */
.smx-logo{
  grid-area:logo;
  display:grid;
  grid-template-columns:auto auto;
  grid-gap:10px;
  justify-content:center;
  align-items:center;
}
.smx-logo__link{ display:block; color:#fff; }
.sm-header .smx-logo img,
.sm-header .smx-logo-img{ display:block; height:46px; width:155px; max-height:none; }
.smx-logo__text{ display:flex; flex-direction:column; line-height:1; padding:0 2px; color:#fff; }
.smx-logo__main{ font-size:20px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.smx-logo__sub{ font-size:9px; letter-spacing:.34em; margin-top:3px; opacity:.95; }

/* --- primary nav + mega menu : grid-area megamenu (>=1440 only) --- */
.smx-megamenu{ display:none; grid-area:megamenu; }
@media (min-width:1440px){
  .smx-megamenu{
    width:653px;      /* measured reference megamenu column */
    /* block, exactly like the reference _megaMenu: the list keeps its own
       34px height so the dropdown starts at y=56 and never stretches to 47px */
    display:block;
    align-self:stretch;
    position:relative;
    padding-top:7px;
    padding-right:32px;
    color:#fff;
  }
}
.smx-megamenu .sm-nav__list{
  display:flex;
  justify-content:flex-start;
  align-items:stretch;
  width:100%;
  margin:0; padding:0;
  list-style:none;
  font-weight:700;
}
.smx-megamenu .sm-nav__item{ position:relative; padding:5px 8px 8px; font-size:14px; line-height:1.5; }
.smx-megamenu .sm-nav__item:after{ content:""; position:absolute; top:100%; left:0; right:0; height:5px; }
.smx-megamenu .sm-nav__link{
  /* inline (not inline-block) exactly like the reference: the hover padding
     then paints outside the item box and cannot grow the li / shift the panel */
  display:inline;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.smx-megamenu .sm-nav__link:hover{ text-decoration:none; }
.smx-megamenu .sm-nav__item:hover>.sm-nav__link,
.smx-megamenu .sm-nav__item:focus-within>.sm-nav__link,
.smx-megamenu .sm-nav__item.is-open>.sm-nav__link{
  /* exact reference recipe: the 16px inline box + 20px padding + 4px border
     lands the underline flush with the bottom of the 64px bar */
  border-bottom:4px solid #fff;
  padding-bottom:20px;
}
.smx-megamenu .sm-mega{
  position:absolute;
  top:calc(100% + 5px);
  left:0; right:auto;
  display:block;
  min-width:0;
  padding:0;
  background:#fff;
  color:#000;
  visibility:hidden;
  transition:visibility 0s linear .3s;
  box-shadow:0 14px 28px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.22);
  z-index:5;
}
.smx-megamenu .sm-mega.is-open{ display:block; }
.smx-megamenu .sm-nav__item:hover>.sm-mega,
.smx-megamenu .sm-nav__item:focus-within>.sm-mega,
.smx-megamenu .sm-nav__item.is-open>.sm-mega,
.smx-megamenu .sm-mega.is-open{ visibility:visible; transition:none; }
.smx-megamenu .sm-mega__list{
  display:grid;
  grid-template-rows:repeat(9,1fr);
  grid-auto-flow:column;
  gap:0 16px;
  margin:0;
  padding:30px 24px 24px;
  list-style:none;
  column-count:auto;
}
.smx-megamenu .sm-mega__link{
  display:block;
  min-width:335px;
  padding:8px 16px;
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  color:#000;
  border-bottom:1px solid var(--smx-surface);
  break-inside:auto;
}
.smx-megamenu .sm-mega__link:hover{ background:var(--smx-surface); color:#000; text-decoration:none; }

/* --- search pill : grid-area searchbar --- */
.smx-search{
  grid-area:searchbar;
  display:flex;
  align-items:flex-start;
  width:100%;
  min-width:0;
}
@media (max-width:767px){
  .smx-search{ align-items:flex-start; padding:8px 16px 0; }
}
.smx-search__form{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  height:40px;
  background:#fff;
  border-radius:var(--smx-radius-pill);
}
@media (min-width:1440px){
  .smx-search__form{ max-width:294px; margin-left:auto; }
}
.smx-search .sm-search__input{
  flex:1 1 auto;
  min-width:0;
  height:40px;
  border:0;
  border-radius:var(--smx-radius-pill);
  background:none;
  padding:8px 39px;
  font-size:16px;
  line-height:1.2;
  font-family:inherit;
  font-weight:400;
  color:var(--smx-warm);
  outline:none;
}
.smx-search .sm-search__input::placeholder{ color:var(--smx-warm); font-size:14px; opacity:1; }
.smx-search__submit{
  position:absolute;
  right:16px; top:50%;
  transform:translateY(-50%);
  width:24px; height:24px;
  padding:0; border:0; background:none; cursor:pointer;
  color:#000;
  display:flex; align-items:center; justify-content:center;
}
.sm-header .smx-search__submit svg{ width:22.5px; height:18px; }

/* --- right hand actions : grid-area secondary --- */
.smx-actions{
  grid-area:secondary;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  height:auto;
}
@media (min-width:768px){ .smx-actions{ padding-left:32px; width:155px; } }
@media (min-width:1024px){ .smx-actions{ width:251px; } }
@media (min-width:1280px){ .smx-actions{ width:236.3px; } }
@media (min-width:1440px){ .smx-actions{ width:280px; } }
.smx-actions__inner{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  margin-right:8px;
  font-size:14px;
}
@media (min-width:768px){
  .smx-actions__inner{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
    margin-right:20px;
  }
}
.smx-actions__stores{ display:flex; align-items:center; gap:0; order:0; color:#fff; text-decoration:none; }
.smx-actions__stores--right{ display:none; }
@media (min-width:768px){
  .smx-actions__stores--left{ display:none; }
  .smx-actions__stores--right{ display:flex; }
}
.smx-actions__stores-text{ display:none; }
@media (min-width:1440px){
  .smx-actions__stores-text{
    display:inline;
    margin-left:8px;
    font-size:13px;
    font-weight:500;
    color:#fff;
    text-decoration:underline;
    line-height:1.15;
  }
}
.smx-actions__account{ display:flex; align-items:center; justify-content:center; gap:0; font-size:13px; line-height:1.15; }
.smx-actions__join{
  display:flex;
  align-items:center;
  gap:0;
  padding:3px;
  font-size:13px;
  line-height:1.15;
  font-weight:400;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.smx-join-label{ margin-left:8px; font-weight:500; color:#fff; text-decoration:underline; line-height:1.15; }
.smx-join-label--signin{ display:none; }
@media (min-width:1024px) and (max-width:1279px){
  .smx-join-label--join{ display:none; }
  .smx-join-label--signin{ display:inline; }
}
@media (max-width:1023px){
  .smx-join-label{
    position:absolute;
    clip:rect(0 0 0 0); clip-path:inset(50%);
    height:1px; width:1px; overflow:hidden; white-space:nowrap;
  }
}
.smx-actions__signin{
  display:none;
  padding-left:4px;
  margin:3px;
  border-left:1px solid #fff;
  font-size:13px;
  line-height:1.15;
  font-weight:500;
  color:#fff;
  text-decoration:underline;
  white-space:nowrap;
}
@media (min-width:1024px){ .smx-actions__signin{ display:inline; } }
.smx-actions__cart{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:42px;
  min-width:42px;
  padding:0; border:0; background:none;
  color:#fff;
  text-decoration:none;
}
@media (min-width:768px){
  .smx-actions__cart{ justify-content:flex-start; min-width:0; }
}
.smx-cart-count{
  position:absolute;
  top:3px; right:6px;
  width:18px; height:18px;
  border-radius:100%;
  border:2px solid var(--smx-red);
  background:#fff;
  color:#666;
  font-size:12px;
  line-height:14px;
  text-align:center;
}
@media (min-width:768px){
  .smx-cart-count{ top:0; right:0; }
}

/* --- Font Awesome glyph geometry (icons are inlined as SVG) --- */
.smx-ico{ display:block; fill:currentColor; }
.smx-ico--bars{ height:20px; width:17.5px; }   /* fa-bars @20px, grows >=1024 like the reference */
@media (min-width:1024px){ .smx-ico--bars{ height:22px; width:19.25px; } }
.smx-ico--pin{ height:20px; width:15px; }
.smx-ico--user{ height:20px; width:17.5px; }
.smx-ico--basket{ height:20px; width:22.5px; padding-right:10px; box-sizing:content-box; }
.smx-ico--search{ height:18px; width:22.5px; }
.sm-header .smx-actions__account svg{ width:17.5px; height:20px; }
.sm-header .smx-actions__cart svg{ width:22.5px; height:20px; }

/* ==========================================================================
   3. SEARCH OVERLAY
   ========================================================================== */
.sm-search-overlay{
  position:fixed; inset:0; z-index:1200;
  display:none;
}
.sm-search-overlay.is-open{ display:block; }
.sm-search-overlay__scrim{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.sm-search-overlay__panel{
  position:relative;
  max-width:640px;
  margin:96px auto 0;
  background:#fff;
  padding:20px 24px 24px;
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}
.sm-search-overlay__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.sm-search-overlay__label{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--smx-warm); }
.sm-search-overlay__close{ border:0; background:none; cursor:pointer; color:#000; padding:4px; }
.sm-search-overlay__close svg{ width:20px; height:20px; }
.sm-search-overlay .sm-search__input{
  width:100%;
  height:46px;
  border:1px solid var(--smx-border);
  border-radius:8px;
  padding:8px 14px;
  font-size:16px;
}
.sm-search-overlay__results{ margin-top:12px; max-height:52vh; overflow-y:auto; }
.sm-suggestion{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--smx-border); }
.sm-suggestion__info{ display:flex; flex-direction:column; gap:2px; }
.sm-suggestion__name{ font-size:15px; color:#000; }
.sm-suggestion__price{ font-size:13px; color:var(--smx-warm); }
.sm-suggestion__add{ border:0; background:none; cursor:pointer; color:#000; padding:6px; }
.sm-suggestion__add svg{ width:20px; height:20px; }
.sm-search-overlay__empty{ margin:10px 0 0; font-size:14px; color:var(--smx-warm); }
.sm-search-overlay__all{ margin-top:16px; }

/* ==========================================================================
   4. DRAWERS
   ========================================================================== */
.sm-drawer__scrim{
  position:fixed; inset:0;
  background:rgba(0,0,0,.5);
  opacity:0; visibility:hidden;
  transition:opacity .22s ease, visibility .22s;
  z-index:1300;
}
.sm-drawer__scrim.is-open{ opacity:1; visibility:visible; }
.sm-drawer{
  position:fixed;
  top:0; bottom:0;
  width:350px;
  max-width:88vw;
  background:#fff;
  z-index:1400;
  display:flex;
  flex-direction:column;
  transition:transform .26s ease;
  box-shadow:0 0 30px rgba(0,0,0,.2);
}
.sm-drawer[hidden]{ display:none; }
.sm-drawer--nav{ left:0; transform:translateX(-102%); }
.sm-drawer--cart{ right:0; transform:translateX(102%); }
.sm-drawer.is-open{ transform:none; }
.sm-drawer__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px;
  border-bottom:1px solid var(--smx-border);
  background:var(--smx-red); color:#fff;
}
.sm-drawer__title{ font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.sm-drawer__close{ border:0; background:none; color:#fff; cursor:pointer; padding:4px; }
.sm-drawer__close svg{ width:20px; height:20px; }
.sm-drawer__body{ flex:1 1 auto; overflow-y:auto; padding:12px 18px 24px; }
.sm-mnav__list,.sm-mnav__sub{ list-style:none; margin:0; padding:0; }
.sm-mnav__item{ border-bottom:1px solid var(--smx-border); }
.sm-mnav__link,.sm-mnav__toggle{
  display:flex; align-items:center; justify-content:space-between;
  width:100%;
  padding:14px 0;
  font-size:16px; font-weight:500;
  color:#000; background:none; border:0; text-align:left; cursor:pointer;
}
.sm-mnav__toggle svg{ width:18px; height:18px; }
.sm-mnav__sub{ display:none; padding:0 0 10px 12px; }
.sm-mnav__sub.is-open{ display:block; }
.sm-mnav__sub a{ display:block; padding:8px 0; font-size:15px; color:var(--smx-warm); }
.sm-mnav__group{ padding:16px 0; border-bottom:1px solid var(--smx-border); }
.sm-mnav__group a{ font-size:16px; font-weight:500; }
.sm-mnav__account-sub{ display:flex; gap:18px; margin-top:8px; font-size:14px; color:var(--smx-warm); }

/* mini-cart */
.smx-minicart__empty{ padding:8px 0 16px; }
.smx-minicart__empty p{ margin:0 0 12px; font-size:14px; color:var(--smx-warm); }
.sm-cart-drawer__body .widget_shopping_cart_content{ font-size:14px; }
.sm-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; padding:13px 24px;
  border:2px solid transparent;
  border-radius:25px;
  font-size:16px; font-weight:500; line-height:1;
  text-transform:uppercase;
  cursor:pointer;
}
.sm-btn--dark{ background:#000; color:#fff; border-color:#000; }
.sm-btn--outline{ background:#fff; color:var(--smx-warm); border-color:var(--smx-warm); }
.sm-btn--block{ display:flex; width:100%; text-transform:none; font-size:15px; background:#000; color:#fff; }

/* ==========================================================================
   5. 18+ AGE GATE
   ========================================================================== */
.smx-agegate{ position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:16px; }
.smx-agegate[hidden]{ display:none; }
.smx-agegate__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.smx-agegate__modal{
  position:relative;
  width:min(500px,100%);
  background:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.smx-agegate__head{
  background:var(--smx-red);
  color:#fff;
  text-align:center;
  padding:18px 16px;
}
.smx-agegate__brand{ font-size:24px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.smx-agegate__text{ margin:0; padding:26px 34px 6px; font-size:21px; line-height:1.35; color:#111; }
.smx-agegate__buttons{ display:flex; gap:16px; justify-content:center; padding:16px 34px 26px; }
.smx-agegate .sm-btn{ width:132px; }
.smx-agegate__note{ margin:0; padding:16px 34px 24px; border-top:1px solid var(--smx-border); font-size:14px; line-height:1.45; color:#555; }
.smx-agegate__error{ margin:0; padding:0 34px 24px; font-size:14px; font-weight:600; color:var(--smx-red); }
@media (max-width:520px){
  .smx-agegate__text{ font-size:17px; padding:20px 20px 4px; }
  .smx-agegate__buttons{ padding:14px 20px 20px; }
  .smx-agegate__note{ padding:14px 20px 20px; font-size:13px; }
  .smx-agegate__brand{ font-size:19px; }
}

/* ==========================================================================
   6. FOOTER  (reference: 1376px inner, 60%/auto grid, links in 2 columns,
      white bottom payment strip)
   ========================================================================== */
.sm-footer{ background:#000; color:#fff; }
.sm-footer__inner{
  max-width:1376px;
  margin:0 auto;
  padding:37px 32px 32px;
  display:grid;
  grid-template-columns:60% auto;
  align-items:start;
}
.sm-footer__cols{ display:contents; }
.sm-footer__links{
  grid-column:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 24px;
  align-items:start;
}

.sm-footer__list{
  list-style:none;
  margin:0;
  padding:0;
}
.sm-footer__list li{
  padding-bottom:7px;
  line-height:125%;
  break-inside:avoid;
  margin:0;
}
.sm-footer__list a{ color:#fff; font-size:16px; line-height:125%; }
.sm-footer__list a:hover{ text-decoration:underline; }

.sm-footer__signup{
  grid-column:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
}
.sm-footer__signup-title{
  margin:0 0 8px;
  font-size:16px;
  font-weight:500;
  line-height:1.2;
  text-transform:uppercase;
  color:#fff;
}
.sm-footer__form{ display:flex; gap:16px; align-items:center; width:100%; }
.sm-footer__input{
  flex:1 1 auto;
  min-width:0;
  height:46px;
  border:0;
  border-radius:4px;
  padding:8px 14px;
  font-size:16px;
  font-family:inherit;
  color:#111;
  background:#fff;
}
.sm-footer__submit{
  flex:0 0 auto;
  height:46px;
  min-width:109px;
  border:0;
  border-radius:4px;
  background:var(--smx-red);
  color:#fff;
  font-family:inherit;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.02em;
  cursor:pointer;
}
.sm-footer__submit:hover{ background:var(--smx-red-dark); }
.sm-footer__legalnote{ margin:12px 0 0; font-size:12px; line-height:1.5; color:#c9c9c9; }
.sm-footer__signup-msg{ margin:0 0 8px; font-size:13px; }
.sm-footer__signup-msg--ok{ color:#7BD88F; }
.sm-footer__signup-msg--error{ color:#FF8A9A; }

/* white payment strip (full-bleed) */
.sm-footer .sm-footer__bottom{
  display:block;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  background:#fff;
  color:#000;
  min-height:40px;
}
.sm-footer .sm-footer__bottom-inner{
  max-width:1376px;
  margin:0 auto;
  padding:6px 24px;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.sm-footer__pay{ display:flex; align-items:center; gap:24px; }
.sm-pay svg{ display:block; }
.sm-pay--visa svg{ width:55px; height:19px; }
.sm-pay--amex svg{ width:25px; height:25px; }
.sm-pay--mc svg{ width:50px; height:35px; }
.sm-footer__copyright{ margin:0; font-size:14px; color:#000; }

@media (max-width:1023px){
  .sm-footer__links{ grid-column:1; }
  .sm-footer__inner{ grid-template-columns:1fr; padding:24px 15px 24px; }
  .sm-footer__signup{ grid-column:1; margin-top:20px; }
  .sm-footer__form{ flex-wrap:wrap; }
  .sm-footer__bottom-inner{ padding:8px 15px; flex-wrap:wrap; }
}
@media (max-width:540px){
  .sm-footer .sm-footer__bottom-inner{ flex-direction:column; align-items:flex-start; gap:12px; }
}

/* ==========================================================================
   7. BACK TO TOP
   ========================================================================== */
.sm-backtop{
  position:fixed;
  right:20px; bottom:24px;
  width:45px; height:59px;
  border:0;
  background:rgba(242,242,242,.6);
  color:#000;
  font-family:inherit;
  font-size:12px;
  line-height:1.1;
  cursor:pointer;
  opacity:0; visibility:hidden;
  transition:opacity .2s ease, visibility .2s;
  z-index:800;
}
.sm-backtop.is-visible{ opacity:1; visibility:visible; }
.sm-backtop:hover{ background:#f2f2f2; }
