/*
Theme Name:  Free Daily UK Spins
Theme URI:   https://freedaily-ukspins.uk/
Description: Planner-style child of Astra for Free Daily UK Spins: warm paper, ink, tomato and mustard, with Bricolage Grotesque and Nunito Sans served locally. Its first run fills in Astra's Customizer (1280px column, logo with the guide menu and an 18+ stamp, a slide-in phone menu, an ink footer with help links and an 18+ strip), uploads the logo and icon and lays out the menus. Change any of it later under Appearance > Customize.
Author:      Free Daily UK Spins
Template:    astra
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fdus
*/

/* ==========================================================================
   Tokens (shared with the guides and the offers board)
   ========================================================================== */
:root {
  --fd-paper: #FAF6EE;
  --fd-card: #FFFDF8;
  --fd-paper-2: #F3EDE1;
  --fd-ink: #1D2440;
  --fd-ink-2: #5A6079;
  --fd-rule: #E4DCCB;
  --fd-perf: #CFC5B0;
  --fd-tomato: #E4572E;
  --fd-cta: #C9441F;
  --fd-cta-hover: #A93716;
  --fd-mustard: #F2B134;
  --fd-mustard-soft: #FCE7A6;
  --fd-blue: #2F55B5;
  --fd-blue-deep: #1F3C8A;
  --fd-teal: #0E9A8C;
  --fd-radius: 14px;
  --fd-ink-deep: #161C33;
  --fd-on-ink: #D9DCE8;
  --fd-shadow: 0 22px 44px -22px rgba(29, 36, 64, 0.38), 0 2px 8px rgba(29, 36, 64, 0.06);
  --fd-head-font: "Bricolage Grotesque", "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --fd-body-font: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  /* A ticked box, for hovered and current entries in the menus */
  --fd-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3l2.3 2.3 4.9-5' fill='none' stroke='%23FFFDF8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Global: paper, text, links, buttons, focus
   ========================================================================== */
body {
  background-color: var(--fd-paper);
  color: var(--fd-ink);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 { letter-spacing: -0.02em; }

::selection { background: var(--fd-mustard-soft); color: var(--fd-ink); }

a { text-underline-offset: 0.16em; text-decoration-thickness: 1px; }
a:hover { color: var(--fd-blue-deep); text-decoration-thickness: 2px; }

/* Buttons: Astra sets the colours (tomato-red pill, white text); weight and motion here */
.ast-button,
.button,
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
input[type="submit"] {
  font-weight: 800;
  letter-spacing: 0.01em;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

/* One focus ring for everything: blue, outside the element, clear on paper, card and ink */
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--fd-blue);
  outline-offset: 2px;
  border-radius: 6px;
  box-shadow: none;
}
.site-footer :is(a, button):focus-visible { outline-color: var(--fd-mustard); }

/* The content column: room under the header and above the footer (the guides start straight away) */
.ast-plain-container .site-content > .ast-container > #primary {
  margin-top: clamp(22px, 3.4vw, 40px);
  margin-bottom: clamp(48px, 6vw, 80px);
}

/* ==========================================================================
   Page width: 1280px of content, the same for the header row, the guides and
   the footer, so every edge on the page lines up with the logo.
   Astra's own setting is written to 1280 on the theme's first run; the rule
   below carries the same width to a site set up by an earlier version.
   ========================================================================== */
:root { --wp--custom--ast-content-width-size: 1280px; }
@media (min-width: 922px) {
  .ast-container,
  .site-footer .ast-builder-grid-row-container-inner { max-width: 1320px; }
}
/* Laptops between 1300 and 1480: a wider gutter, so the text is not against the glass */
@media (min-width: 1300px) and (max-width: 1480px) {
  .ast-container { padding-left: 38px; padding-right: 38px; }
  .site-footer .ast-builder-grid-row-container-inner { padding-left: 38px; padding-right: 38px; }
}

/* Back-to-top button: a mustard tab that shows on paper and on ink alike */
#ast-scroll-top {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background-color: var(--fd-mustard);
  color: var(--fd-ink);
  box-shadow: 0 10px 22px -12px rgba(29, 36, 64, 0.6);
}
#ast-scroll-top:hover { background-color: var(--fd-mustard-soft); color: var(--fd-ink); }
#ast-scroll-top .ast-icon svg { fill: currentColor; }

.skip-link.screen-reader-text:focus {
  background: var(--fd-ink);
  color: var(--fd-card);
  border-radius: 999px;
  padding: 12px 20px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--fd-shadow);
}

/* ==========================================================================
   Header: card bar, dashed perforation underneath
   ========================================================================== */
#masthead { position: relative; z-index: 99; }
#masthead::after {
  content: "";
  display: block;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, var(--fd-perf) 0 10px, transparent 10px 17px);
}
#masthead .main-header-bar { border-bottom: 0; }

/* 18+ stamp: dashed circle, slightly turned, like a rubber stamp */
.fdus-age {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 46px;
  height: 46px;
  border: 2px dashed var(--fd-tomato);
  border-radius: 50%;
  background: var(--fd-mustard-soft);
  box-shadow: inset 0 0 0 3px var(--fd-card);
  color: var(--fd-ink);
  font-family: var(--fd-body-font);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
  transform: rotate(-8deg);
  white-space: nowrap;
}
.ast-header-html-1 .ast-builder-html-element { line-height: 1; }
#ast-desktop-header .ast-header-html-1 { margin-left: 12px; }

/* The logo carries the name, so the room Astra keeps for a site title beside it is not needed */
.site-header .ast-logo-title-inline .site-logo-img,
.site-header .site-logo-img { padding-right: 0; }

/* ==========================================================================
   Desktop menu and its "planner page" dropdowns
   ========================================================================== */
@media (min-width: 922px) {
  /* The link keeps Astra's full header height (the hover area runs down to the panel);
     the pill behind the name and the underline are drawn on top of it. */
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
    position: relative;
    z-index: 0;
    padding-left: 15px;
    padding-right: 15px;
    font-weight: 800;
  }
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 3px;
    right: 3px;
    top: 50%;
    height: 40px;
    margin-top: -20px;
    border-radius: 999px;
    background-color: transparent;
    transition: background-color 0.15s ease;
  }
  #ast-desktop-header .main-header-menu > .menu-item:hover > .menu-link::before,
  #ast-desktop-header .main-header-menu > .menu-item.focus > .menu-link::before {
    background-color: var(--fd-mustard-soft);
  }
  /* The section you are in: a tomato underline under its name */
  #ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link::after,
  #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after {
    content: "";
    position: absolute;
    left: 15px;
    right: 33px;
    top: 50%;
    height: 3px;
    margin-top: 12px;
    border-radius: 3px;
    background: var(--fd-tomato);
  }
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link .dropdown-menu-toggle { margin-left: 2px; }

  /* The panel: a card with punched ring holes along its top edge */
  #ast-desktop-header .main-header-menu > .menu-item > .sub-menu {
    top: calc(100% - 14px);
    width: 300px;
    padding: 24px 10px 12px;
    border: 1px solid var(--fd-rule);
    border-radius: var(--fd-radius);
    background-color: var(--fd-card);
    background-image: radial-gradient(circle, var(--fd-paper) 0 3px, var(--fd-perf) 3.5px 4.5px, transparent 5px);
    background-size: 22px 18px;
    background-position: 8px 3px;
    background-repeat: repeat-x;
    box-shadow: var(--fd-shadow);
  }
  /* Keeps the pointer's path from the name to the panel inside the hover area */
  #ast-desktop-header .main-header-menu > .menu-item > .sub-menu::before { height: 14px; }

  /* More than eight entries: two columns */
  #ast-desktop-header .main-header-menu > .fdus-group--wide > .sub-menu {
    width: 560px;
    column-count: 2;
    column-gap: 6px;
  }
  #ast-desktop-header .main-header-menu > .fdus-group--wide > .sub-menu > .menu-item {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
  }
  #ast-desktop-header .main-header-menu > .fdus-group--wide > .sub-menu > .fdus-col-break {
    break-before: column;
    -webkit-column-break-before: always;
  }

  /* The first group opens rightwards, the last two leftwards, the ones between centred under
     their name: every panel stays inside the window at every desktop width */
  #ast-desktop-header .main-header-menu > .fdus-group--flip:hover > .sub-menu,
  #ast-desktop-header .main-header-menu > .fdus-group--flip.focus > .sub-menu,
  #ast-desktop-header .main-header-menu > .fdus-group--flip > .sub-menu.toggled-on {
    left: auto;
    right: 0;
  }
  #ast-desktop-header .main-header-menu > .fdus-group--mid:hover > .sub-menu,
  #ast-desktop-header .main-header-menu > .fdus-group--mid.focus > .sub-menu,
  #ast-desktop-header .main-header-menu > .fdus-group--mid > .sub-menu.toggled-on {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  /* Entries: agenda lines with a checkbox that ticks on hover */
  #ast-desktop-header .main-header-menu .sub-menu .menu-item { border: 0; }
  #ast-desktop-header .main-header-menu .sub-menu .menu-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 9px;
    color: var(--fd-ink);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    transition: background-color 0.12s ease;
  }
  #ast-desktop-header .main-header-menu .sub-menu .menu-link > .ast-icon { display: none; }
  #ast-desktop-header .main-header-menu .sub-menu .menu-link::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    border: 2px solid var(--fd-perf);
    border-radius: 4px;
    background: var(--fd-card) center / 12px 12px no-repeat;
    transition: background-color 0.12s ease, border-color 0.12s ease;
  }

  /* Section heads inside a panel (the hub of each section, the home page, online bingo) */
  #ast-desktop-header .main-header-menu .sub-menu .fdus-lead > .menu-link {
    font-family: var(--fd-head-font);
    font-size: 15.5px;
    font-weight: 800;
    letter-spacing: -0.01em;
  }
  #ast-desktop-header .main-header-menu .sub-menu .fdus-lead > .menu-link::before {
    border-color: var(--fd-mustard);
    background-color: var(--fd-mustard);
  }
  #ast-desktop-header .main-header-menu .sub-menu > .fdus-lead:not(:first-child):not(.fdus-col-break) {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px dashed var(--fd-perf);
  }

  /* Hovered, focused and current entries: the box gets a tomato tick */
  #ast-desktop-header .main-header-menu .sub-menu .menu-item:hover > .menu-link,
  #ast-desktop-header .main-header-menu .sub-menu .menu-item > .menu-link:focus-visible {
    background-color: var(--fd-paper-2);
    color: var(--fd-ink);
  }
  #ast-desktop-header .main-header-menu .sub-menu .menu-item:hover > .menu-link::before,
  #ast-desktop-header .main-header-menu .sub-menu .menu-item > .menu-link:focus-visible::before,
  #ast-desktop-header .main-header-menu .sub-menu .current-menu-item > .menu-link::before {
    border-color: var(--fd-tomato);
    background-color: var(--fd-tomato);
    background-image: var(--fd-tick);
  }
  #ast-desktop-header .main-header-menu .sub-menu .current-menu-item > .menu-link { background-color: var(--fd-mustard-soft); }
}

/* Laptop widths: a little tighter so the five names, the logo and the stamp sit on one line */
@media (min-width: 922px) and (max-width: 1120px) {
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link { padding-left: 12px; padding-right: 12px; }
  #ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link::after,
  #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after { left: 12px; right: 30px; }
}
@media (min-width: 922px) and (max-width: 1219px) {
  #ast-desktop-header .custom-logo-link img { width: 176px; max-width: 176px; }
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link { padding-left: 9px; padding-right: 9px; font-size: 15px; }
  #ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link::after,
  #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after { left: 9px; right: 27px; }
  #ast-desktop-header .ast-header-html-1 { margin-left: 6px; }
}
/* Small laptops and landscape tablets: tighter again, so six names still sit on one line */
@media (min-width: 922px) and (max-width: 1023px) {
  #ast-desktop-header .custom-logo-link img { width: 152px; max-width: 152px; }
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link { padding-left: 6px; padding-right: 6px; font-size: 14px; }
  #ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link::after,
  #ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after { left: 6px; right: 24px; }
}

/* ==========================================================================
   Mobile header and the off-canvas drawer (Astra's breakpoint: below 922px)
   ========================================================================== */
#ast-mobile-header .ast-header-html-1 { margin-right: 10px; padding: 0; }
#ast-mobile-header .fdus-age { width: 40px; height: 40px; font-size: 12.5px; }

#ast-mobile-header .ast-button-wrap { flex: none; }
#ast-mobile-header .menu-toggle.main-header-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px;
}
#ast-mobile-header .menu-toggle .mobile-menu-wrap { display: inline-flex; }
#ast-mobile-header .menu-toggle .mobile-menu-wrap .mobile-menu {
  padding: 0;
  color: var(--fd-card);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* Small phones: smaller logo and stamp so the row never runs off the screen; below 341px the
   button keeps its icon only (its name stays readable to screen readers) */
@media (max-width: 400px) {
  #ast-mobile-header .ast-builder-grid-row { column-gap: 12px; }
  #ast-mobile-header .custom-logo-link img { width: 138px; max-width: 138px; }
  #ast-mobile-header .fdus-age { width: 36px; height: 36px; font-size: 11.5px; }
  #ast-mobile-header .ast-header-html-1 { margin-right: 8px; }
  #ast-mobile-header .menu-toggle.main-header-menu-toggle { padding: 8px 12px; }
}
@media (max-width: 340px) {
  #ast-mobile-header .custom-logo-link img { width: 126px; max-width: 126px; }
  #ast-mobile-header .menu-toggle .mobile-menu-wrap { display: none; }
}

.ast-mobile-popup-drawer .ast-mobile-popup-inner {
  max-width: min(92%, 420px);
  box-shadow: -18px 0 40px -24px rgba(29, 36, 64, 0.5);
}
.ast-mobile-popup-drawer .ast-mobile-popup-header {
  align-items: center;
  justify-content: space-between;
  padding: 10px 10px 4px 20px;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header::before {
  content: "Guides by topic";
  color: var(--fd-ink-2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close {
  width: 44px;
  height: 44px;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--fd-card);
  box-shadow: inset 0 0 0 1px var(--fd-rule);
}
/* Astra draws a dotted border on focus when the drawer opens; keyboard users get the blue ring instead */
.ast-mobile-popup-drawer.active .ast-mobile-popup-header .menu-toggle-close:focus,
#ast-scroll-top:focus { border: 0; }

/* The group of the page you are on is marked, as on desktop */
#ast-hf-mobile-menu > .current-menu-ancestor > .menu-link,
#ast-hf-mobile-menu > .current-menu-item > .menu-link { box-shadow: inset 4px 0 0 var(--fd-tomato); }

/* Accordion: each group is a card; tapping its name opens it and closes the one that was open */
#ast-hf-mobile-menu { padding: 6px 14px 4px; background: transparent; }
#ast-hf-mobile-menu > .menu-item {
  margin-bottom: 8px;
  border: 1px solid var(--fd-rule);
  border-radius: 12px;
  background: var(--fd-card);
  overflow: hidden;
}
#ast-hf-mobile-menu > .menu-item > .menu-link {
  padding: 14px 54px 14px 16px;
  background: var(--fd-card);
  color: var(--fd-ink);
  font-family: var(--fd-head-font);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
#ast-hf-mobile-menu > .ast-submenu-expanded > .menu-link { background: var(--fd-mustard-soft); }
#ast-hf-mobile-menu > .menu-item > .ast-menu-toggle {
  top: 6px;
  right: 6px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  color: var(--fd-ink);
}
#ast-hf-mobile-menu > .menu-item > .ast-menu-toggle .ast-icon svg { margin-top: 0; }
#ast-hf-mobile-menu .sub-menu { padding: 4px 0 8px; background: var(--fd-card); }
#ast-hf-mobile-menu .sub-menu .menu-item { border: 0; }
#ast-hf-mobile-menu .sub-menu .menu-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  border-top: 1px dashed var(--fd-rule);
  background: var(--fd-card);
  color: var(--fd-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}
#ast-hf-mobile-menu .sub-menu .menu-item:first-child > .menu-link { border-top: 0; }
#ast-hf-mobile-menu .sub-menu .menu-link > .ast-icon { display: none; }
#ast-hf-mobile-menu .sub-menu .menu-link::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  border: 2px solid var(--fd-perf);
  border-radius: 4px;
  background: var(--fd-card) center / 12px 12px no-repeat;
}
#ast-hf-mobile-menu .sub-menu .fdus-lead > .menu-link { font-weight: 800; }
#ast-hf-mobile-menu .sub-menu .fdus-lead > .menu-link::before { border-color: var(--fd-mustard); background-color: var(--fd-mustard); }
#ast-hf-mobile-menu .sub-menu .current-menu-item > .menu-link { background: var(--fd-paper-2); }
#ast-hf-mobile-menu .sub-menu .current-menu-item > .menu-link::before {
  border-color: var(--fd-tomato);
  background-color: var(--fd-tomato);
  background-image: var(--fd-tick);
}

/* The note under the drawer's menu */
.fdus-drawer-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 6px 0 18px;
  color: var(--fd-ink-2);
  font-size: 14px;
  line-height: 1.5;
}
.fdus-drawer-note a { color: var(--fd-blue); font-weight: 700; white-space: nowrap; }
.fdus-age--small { width: 38px; height: 38px; font-size: 12px; }
.ast-mobile-popup-content .ast-header-html-2 { padding: 4px 20px 0; }

/* ==========================================================================
   Footer: ink, three columns, then the compliance strip
   ========================================================================== */
.site-footer { color: var(--fd-on-ink); }
/* The same 20px side gutter as the header and the content below 1220px */
.site-footer .ast-builder-grid-row-container-inner { padding-left: 20px; padding-right: 20px; }
.site-footer .site-primary-footer-wrap { padding-top: 56px; padding-bottom: 44px; }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row { gap: 40px 56px; }
.site-footer .ast-builder-html-element { color: var(--fd-on-ink); font-size: 15px; line-height: 1.6; }
.site-footer .ast-builder-html-element a { color: var(--fd-card); text-decoration: underline; text-underline-offset: 0.16em; }
.site-footer .ast-builder-html-element a:hover { color: var(--fd-mustard); }

.fdus-foot-logo { margin: 0 0 16px; }
.fdus-foot-logo img { display: block; width: 208px; max-width: 100%; height: auto; }
.fdus-foot-logo--text { color: var(--fd-card); font-family: var(--fd-head-font); font-size: 24px; font-weight: 800; }
.fdus-foot-about { max-width: 30em; margin: 0; }

.fdus-foot-title,
.site-footer .footer-nav-wrap::before {
  display: block;
  margin: 4px 0 14px;
  color: var(--fd-mustard);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}
.site-footer .footer-nav-wrap::before { content: "About the site"; margin-top: 0; }
.site-footer .ast-builder-html-element .fdus-foot-title { margin-top: 0; }

.fdus-tel { white-space: nowrap; }
.fdus-foot-help { margin: 0; padding: 0; list-style: none; }
.fdus-foot-help li { margin: 0; padding: 9px 0; border-top: 1px dashed rgba(207, 197, 176, 0.32); }
.fdus-foot-help li:first-child { padding-top: 0; border-top: 0; }
.fdus-foot-help strong { color: var(--fd-card); font-weight: 800; }

.site-footer #astra-footer-menu { gap: 2px; }
.site-footer #astra-footer-menu .menu-item { margin: 0; }
.site-footer #astra-footer-menu .menu-link {
  display: inline-block;
  padding: 5px 0;
  color: var(--fd-card);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.site-footer #astra-footer-menu .menu-link:hover,
.site-footer #astra-footer-menu .current-menu-item > .menu-link {
  color: var(--fd-mustard);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Compliance strip */
.site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] {
  position: relative;
  padding-top: 22px;
  padding-bottom: 26px;
  background-color: var(--fd-ink-deep);
}
.site-footer .site-below-footer-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, rgba(207, 197, 176, 0.45) 0 10px, transparent 10px 17px);
}
.ast-footer-copyright p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 0;
  color: var(--fd-on-ink);
  font-size: 14px;
  line-height: 1.55;
}
.ast-footer-copyright a { color: var(--fd-card); text-decoration: underline; text-underline-offset: 0.16em; }
.ast-footer-copyright a:hover { color: var(--fd-mustard); }
.fdus-age--strip {
  width: 44px;
  height: 44px;
  border-color: var(--fd-mustard);
  background: transparent;
  box-shadow: none;
  color: var(--fd-card);
}
.fdus-strip-text { flex: 1 1 32em; }
.fdus-strip-legal { flex: 1 1 100%; color: rgba(217, 220, 232, 0.82); font-size: 13px; }

@media (max-width: 921px) {
  .site-footer .site-primary-footer-wrap { padding-top: 44px; padding-bottom: 32px; }
  .site-footer .site-primary-footer-wrap .ast-builder-grid-row { gap: 32px 28px; }
}
@media (max-width: 544px) {
  .site-footer .site-primary-footer-wrap .site-footer-section { margin-bottom: 0; }
  .site-footer #astra-footer-menu { grid-template-columns: 1fr 1fr; column-gap: 16px; }
  .fdus-strip-text { flex-basis: 100%; }
  /* keep the last line clear of the back-to-top button */
  .site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] { padding-bottom: 76px; }
}

/* ==========================================================================
   Print: no header furniture or drawer on paper
   ========================================================================== */
@media print {
  #masthead::after,
  .ast-header-html-1,
  .ast-mobile-popup-drawer,
  .site-footer .site-primary-footer-wrap { display: none !important; }
  .site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] { background: none; }
  .ast-footer-copyright p, .ast-footer-copyright a { color: #000; }
}

/* Motion off for those who ask for it */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
