/* ===========================
   MoveBase • assets/site.css
   Consolidated, conflict-free — Oct 2025
   =========================== */

/* THEME TOKENS */
:root{
  --navy:#1e3a8a; --blue:#2563eb; --amber:#fbbf24; --teal:#14b8a6; --white:#ffffff;
  --text:#0f172a; --teal2:#008080;

  /* ABN badge palette */
  --abn-bg: rgba(255, 255, 255, 0.10);
  --abn-fg: #ffffff;
  --abn-accent: var(--amber);
  --abn-hover-bg: rgba(251, 191, 36, 0.15);
  --abn-hover-fg: var(--amber);
  --abn-hover-accent: var(--amber);
  --abn-glow-color: rgba(251, 191, 36, .80);
  --abn-text-color: var(--amber);
  --abn-text-hover-color: #ffffff;
  --abn-tick-hover-color: #ffffff;
}

/* RESET-ish */
*{ box-sizing:border-box; }
html,body{ height:100%; }
html{ scroll-padding-top:96px; }
body{
  margin:0; font-family:'Segoe UI', Arial, sans-serif; color:var(--text);
  background: linear-gradient(270deg, #1e3a8a, #2563eb, #1e3a8a);
  background-size:600% 600%; animation:backgroundMove 15s ease infinite;
  scroll-behavior:smooth;
}
@keyframes backgroundMove{
  0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%}
}
img{ max-width:100%; height:auto; }
a{ color:var(--teal); text-decoration:none; }
a:hover { color: var(--amber); }

/* LAYOUT */
.container{ max-width:1100px; margin:0 auto; padding:20px; }
.card{
  background: rgba(255,255,255,0.9); border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.25); padding:28px; border:1px solid rgba(2,6,23,.06);
}
main{ padding-top:96px; }

/* HEADER / NAV */
header{
  position:sticky; top:0; z-index:1000; backdrop-filter:saturate(120%) blur(6px);
  background: rgba(30,58,138,0.7); border-bottom: 1px solid rgba(255,255,255,.2);
}
.navbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:10px 16px; color:#fff;
}
.navbar a{ color:#fff; }
.brand{ display:flex; flex-direction: row; align-items:center; /*flex-wrap: wrap;*/ justify-content: center; gap:10px; margin-right: 10px; }
.brand img {
  /*height:100px;*/
  display: block; /* Removes extra bottom space */
  width: auto;    /* Lets width adjust automatically */
  margin: 0;      
  padding: 0;
  /*border: 2px solid red;*/ 
}
.brand > a,
.brand > span {
  margin: 0;
  padding: 0%;
}
.mb-icon{ height:100px; margin: 0; padding: 0;/*border: 2px solid red;*/ }
.mb-bline{ height:100px; margin: 0; padding: 0;/*border: 2px solid red;*/}
/*.icon-link{ display:inline-flex; align-items:center; justify-content:center; }*/
/*.bline-span{ display:inline-flex; align-items:center; justify-content:center; }*/
@media (max-width: 600px) {
  .brand {
    flex-direction: column;   /* Stacks them */
    align-items: center;      /* Centers them horizontally */
    
    /* 💡 THIS IS THE FIX 💡 */
    /* This tells them to stack in the middle of the div,
       not at the top and bottom. */
    justify-content: center; 
    
    gap: 4px; /* Your small gap */
  }
.mb-icon{ height:auto; width: 25px; padding: 0;/*border: 2px solid red;*/ }
.mb-bline{ height:auto; width: 40px; padding: 0;/*border: 2px solid red;*/}
}
/* ===========================
   Header MoveBase Icon Hover
   =========================== */

/* Smooth base state */
.icon-link .mb-icon {
  transition: transform 0.3s ease, filter 0.3s ease;
  transform-origin: center center;
}

/* Subtle hover animation */
.icon-link:hover .mb-icon {
  transform: scale(1.06) translateY(-2px);
  filter: drop-shadow(0 0 10px rgba(251, 191, 36, 0.8));
  cursor: pointer;
}
/* Slight glow effect on hover ALTERNATIVE*/
/*
.icon-link:hover .mb-icon {
  filter: brightness(1.3) saturate(1.3);
  transform: scale(1.04);
}
*/

/* Optional: glow also triggers when tab-focused */
.icon-link:focus-visible .mb-icon {
  outline: none;
  transform: scale(1.06);
  filter: drop-shadow(0 0 12px rgba(251, 191, 36, 0.9));
}

.menu{ display:flex; gap:14px; flex-wrap:wrap; }
.menu a{ padding:8px 10px; border-radius:10px; transition:.2s; }
.menu a:hover{ background:rgba(255,255,255,.15); }
.menu a.active { background: rgba(255,255,255,.15); font-weight: bold; border-radius: 10px; }
#header-placeholder{display:contents !important;}

/* HEADINGS / TEXT */
h1{
  color:var(--amber); margin:0 0 10px;
  text-decoration: underline; text-underline-offset: 4px;
  text-decoration-color: rgba(251,191,36,.3);
  text-decoration-thickness: 2px;
}
h2{ color:var(--navy); margin:14px 0; }
.kicker{ color:var(--navy); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:1.1rem; text-align: center;}
.kicker2{ color:var(--navy); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:1.4rem; text-align: center;}
.mini{ font-size:.92rem; color:#374151; }
p a{ text-decoration:underline; text-underline-offset:2px; }
/*.center { text-align: center; }*/

h3{ color:var(--navy); }

/* SPACING HELPERS */
.section-gap-sm { margin-top: 10px; }
.section-gap { margin-top: 18px; }
.mt-1 { margin-top: 0.25rem; }
.spacer { height: 2rem; }

/* GRID / TILES */
.grid-3{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:16px;
}
.tile{
  background:#ffffff; border-radius:14px; padding:16px; margin: 16px 0 16px 0;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
  border: 1px solid rgba(37,99,235,0.10);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.tile:hover, .tile:focus-within{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  border-color: rgba(251,191,36,.2);
}

/* BUTTONS */
.btn-row{ display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 6px; }
.cta-btn{
  background:var(--amber); color:var(--navy); font-weight:700; text-align: center; border:none;
  border-radius:10px; padding:10px 16px; cursor:pointer;
  box-shadow:0 0 10px rgba(250,204,21,.8); transition:.2s;
}
.cta-btn:hover{ transform:scale(1.05); background: var(--navy); color: var(--amber); }
.btn-outline{
  display:inline-block; padding:10px 16px; border-radius:10px; font-weight:700;
  border:1px solid rgba(255,255,255,.0);
  color: var(--navy); background:#fff;
  box-shadow:0 0 10px rgba(0,0,0,.06);
  transition:.2s;
}
.btn-outline:hover{
  transform:scale(1.05);
  border-color: rgba(37,99,235,.25);
  color: var(--amber);
}

/* FORMS */
form label{ display:block; font-weight:700; margin:8px 0 6px; }
input, textarea, select{
  width:100%; padding:10px 12px; border-radius:10px; border:1px solid #ddd; font-size:1rem;
  box-shadow:0 0 8px rgba(0,0,0,0.06) inset; transition:.2s;
}
input:focus, textarea:focus, select:focus{
  outline:none; border-color:#fbbf24; box-shadow:0 0 0 4px rgba(251,191,36,.2);
}
.actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.required{ color:var(--amber); font-weight:bold; font-size:.9rem; }

/* Form layout helpers */
.form-row{ display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:760px){ .form-row{ grid-template-columns:1fr 1fr; } }

/* Checkbox card */
.form-check{
  display:flex; align-items:flex-start; gap:10px;
  padding:0; border:none; border-radius:0; background:transparent; box-shadow:none;
  margin-top:10px;
}
.form-check input[type="checkbox"]{
  width:18px; height:18px; margin-top:2px; cursor:pointer; accent-color: var(--amber);
}
.form-check label{ margin:0; cursor:pointer; }
.form-check .hint{ font-size:13px; opacity:.85; margin-top:2px; }

/* Prevent centered parents from centering form text */
form .center{ text-align:left; }

.field-hint{
  font-size: 0.9rem;
  color: #475569; /* neutral text */
  margin-top: 6px;
}

/* TABLES */
table{ width:100%; border-collapse:collapse; margin:12px 0; }
table th, table td{ padding:12px; border-bottom:1px solid rgba(37,99,235,0.1); }
table th{ background: rgba(251,191,36,0.05); font-weight:700; }

/* PAY BUTTONS */
.paypal{
  display:inline-block; padding:12px 22px;
  background:linear-gradient(90deg, #003087, #0070ba); color:#fff;
  border-radius:12px; font-weight:700;
  box-shadow:0 0 14px rgba(0,112,186,.8), inset 0 0 6px rgba(255,255,255,.5);
}
.paypal:hover{ transform:scale(1.05); }
.stripe{
  display:inline-block; padding:12px 22px;
  background: linear-gradient(90deg, #635bff, #00d4ff);
  color:#fff; border-radius:12px; font-weight:700;
  box-shadow:0 0 14px rgba(99,91,255,.6), inset 0 0 6px rgba(255,255,255,.5);
}
.stripe:hover{ transform:scale(1.05); }

/* NOTICES */
.notice{
  background:#faf9ec; border:1px solid var(--blue); color:var(--navy);
  padding:10px 12px; border-radius:10px;
}

/* EMAIL link (header/footer) */
.email{
  font-weight:bold; color:#fde68a; text-decoration:underline; text-underline-offset:3px;
  transition: color .2s ease, text-shadow .2s ease;
}
.email:hover{ color:#fde68a; text-shadow: 0 0 8px rgba(251,191,36,.8); }

/* FOOTER */
footer{ color:#fbbf24; text-align:center; padding:0 10px 24px; }
.abn-wrapper{ margin-top:0; display:flex; flex-direction:column; align-items:center; gap:6px; }
.copyright{ margin-top:0; color:var(--amber); font-size:1rem; }

.site-footer{
  margin-top:3rem;
  background:linear-gradient(270deg,var(--navy),var(--blue),var(--navy));
  color:#fff;
  border-top: 1px solid rgba(255,255,255,.1);
}
.site-footer .container{ padding:1.5rem 20px; }
.site-footer a{ color:#fff; opacity:.95; text-decoration:none; border-bottom:1px solid transparent; }
.site-footer a:hover{ opacity:1; text-decoration:underline; color: var(--amber); }
.site-footer .cols{
  display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.site-footer h4{ margin:0 0 .75rem 0; color:var(--amber); text-align:center; }
.site-footer .legal{ opacity:.9; font-size:.9rem; margin-top:1rem; text-align:center; color: var(--amber); }

/* Footer lists: centered bullets, loose spacing */
.site-footer .footer-links{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; align-items:center; gap:0;
}
.site-footer .footer-links li{
  position:relative; padding-left:1rem; margin:.45rem 0;
}
.site-footer .footer-links li::before {
  content:'•'; position:absolute; left:0; color:rgba(251,191,36,.6); font-weight:bold;
}
.site-footer .footer-links a{ display:inline-block; text-decoration:none; }
.site-footer .footer-links a:hover{ text-decoration:underline; }
.site-footer .footer-links .spacer{ height:.6rem; list-style:none; }
.site-footer .footer-links a:focus-visible{
  outline:none; text-decoration:underline; text-underline-offset:2px;
}
/* Subheading inside the same column */
.site-footer h4.subhead{ margin:.75rem 0 .25rem; color:var(--amber); text-align:center; }
/* Extra spacing before section breaks in footer columns */
.site-footer .cols > div:first-child h4.subhead{
  /* Business Hours */
  margin-top: 1.75rem;
}

.site-footer .cols > div:last-child h4.subhead{
  /* Follow Us */
  margin-top: 1.75rem;
}

.site-footer .cols > div:first-child .mt-1{
  margin-top: 0.2rem;
}

/* ABN in first col—centered */
.site-footer .abn-wrapper { display:flex; justify-content:center; margin:.5rem 0; }

/* HERO (locked down) */
.card.hero{
  position:relative; z-index:1; display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:20px; align-items:start; margin-bottom:20px;
}
.card.hero > *{ min-width:0; }
.card.hero .tile{ position:static; }
.card.hero .intro{
  align-items: center;   /* 💡 Centers all children horizontally */
  text-align: center;
  justify-content: center;
}
.card.hero .btn-row{
  align-items: center;   /* 💡 Centers all children horizontally */
  justify-content: center; 
  text-align: center;
 }

/* Feature section readability (panel) */
.container > h2,
.container > p.mini:first-of-type{
  background:transparent !important; padding:0 !important; box-shadow:none !important; border-radius:0 !important;
}
main > section.container{
  position:relative; z-index:5; background:rgba(255,255,255,0.92);
  border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:22px 18px;
  box-shadow:0 10px 24px rgba(0,0,0,.12); margin:24px 0;
}
main > section.container > h2{ color:var(--navy); margin:4px 4px 8px; font-weight:800; }
main > section.container > p.mini{ color:#111; max-width:720px; margin:0 4px 16px; }
main > section.container .grid-3{ gap:16px; }
main > section.container .kicker{ margin:16px 4px 0; color:var(--navy); }
main > section.container::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  border-radius:16px; pointer-events:none;
}

/* BANK / PAYID BLOCK */
.grid-3 .bank-tile{ grid-column:1 / -1; }
.bank-tile{ padding:18px 16px; }
.bank-tile h3{ margin-top:2px; margin-bottom:10px; }
.payrows{
  display:grid; gap:6px; background:#fff;
  border:1px solid rgba(0,0,0,.06); border-radius:12px; overflow:hidden;
}
.payrow{
  display:grid; grid-template-columns:150px 1fr; align-items:center;
  padding:10px 12px; border-bottom:1px solid rgba(0,0,0,.06);
}
.payrow:last-child{ border-bottom:0; }
.payrow .k{ color:#475569; font-weight:600; }
.payrow .v{ display:inline-flex; align-items:center; gap:8px; justify-content:flex-start; min-width:0; }
.payrow .value{ overflow-wrap:anywhere; word-break:break-word; white-space:normal; }
.mono .value{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }
.copy-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:8px;
  border:1px solid rgba(37,99,235,.18);
  background:#fff; color:#2563eb;
  cursor:pointer; 
  transition: all .2s ease; /* <-- MODIFIED (was .15s) */
  position: relative; /* <-- ADDED */
}
.copy-ico:hover{ transform: translateY(-1px); box-shadow:0 2px 10px rgba(37,99,235,.12); }
.copy-ico.copied{ 
  background:#fbbf24; 
  color:#1e3a8a; 
  border-color:#fbbf24; 
  width: 60px; /* <-- ADDED */
}
/* This hides the SVG icon *inside* the button */
.copy-ico.copied svg {
  display: none;
}

/* This creates the "Copied!" text */
.copy-ico.copied::after {
  content: 'Copied!';
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
}
.bank-tile .hint{ margin-top:10px; color:#475569; }

/* REVIEWS (About page) */
.reviews-grid{
  display:grid; gap:12px;
  grid-template-columns: repeat(12, 1fr);
  justify-items: stretch;
}
#reviews h2, #reviews .mini, #reviews .review-card{ text-align:center; }
.review-card{
  grid-column: span 12;
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:12px; padding:14px; box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.review-card .stars{ font-size:14px; letter-spacing:1px; color:#f59e0b; }
@media (min-width:760px){ .review-card{ grid-column: span 4; } }

/* RESPONSIVE */
@media(max-width:900px){
  .card.hero{ grid-template-columns:1fr; }
}
@media(max-width:600px){
  .payrow{ grid-template-columns:120px 1fr; }
  .site-footer .footer-links { align-items: center; }
  /*.site-footer .footer-links li::before { left: .25rem; }
  .site-footer h4 { text-align: left; }*/
}
@media(max-width:520px){
  .payrow{ grid-template-columns:1fr; gap:6px; }
  .payrow .k{ margin-bottom:-2px; }
  .payrow .v{ justify-content:space-between; }
}
@media (max-width: 420px){
  .site-footer iframe[title="MoveBase Service Area Map"]{ height: 150px; }
}

/* ABN Badge (SVG) */
.abn-badge-link{
  display:inline-flex; align-items:center; gap:8px;
  color: var(--abn-text-color); font-weight:bold; font-size:.95rem;
  transition: color .2s ease;
}
.abn-badge svg{ width:64px; height:24px; display:block; }
.abn-bg{ fill: var(--abn-bg); transition: fill .2s ease, filter .25s ease; }
.abn-letters{ fill: var(--abn-fg); transition: fill .2s ease; }
.abn-tick{
  stroke: var(--abn-accent); fill: none; vector-effect: non-scaling-stroke;
  stroke-width: 1.9px; stroke-linecap: round; stroke-linejoin: round; transition: stroke .2s ease;
}
.abn-badge-link:hover{ color: var(--abn-text-hover-color); }
.abn-badge-link:hover .abn-bg{ fill: var(--abn-hover-bg); filter: drop-shadow(0 0 12px var(--abn-glow-color)); }
.abn-badge-link:hover .abn-letters{ fill: var(--abn-hover-accent); }
.abn-badge-link:hover .abn-tick{ stroke: var(--abn-tick-hover-color); }

/* =========================== */
/* Honeypot field (spam trap) */
input[name="_gotcha"]{
  position:absolute !important;
  left:-9999px !important;
  width:1px; height:1px;
  opacity:0; pointer-events:none;
}

/* Inline heading marks (display-only) */
.mark {
  display:inline-flex; align-items:center; gap:10px;
  font-weight:800; color: inherit; /* inherits from parent heading */
}
.mark .ico {
  width:22px; height:22px; display:inline-block; vertical-align:middle;
  fill: currentColor; /* icon takes the text color */
}

/* Sizes (optional) */
.mark--lg .ico { width:26px; height:26px; }
.mark--sm .ico { width:18px; height:18px; }

/* Brand tints if you want colour-coded headings */
.tint-stripe { color:#635bff; }
.tint-paypal { color:#003087; }
.tint-easytap { color:#e4002b; } /* NAB red */
.tint-bank   { color:#1e3a8a; }  /* MoveBase navy */
.tint-payid  { color:#14b8a6; }  /* MoveBase teal */
.tint-dual   { color:#1e3a8a; }  /* dual Bank/PayID */
  
/* Accessibility helper for hidden text (screen-reader only) */
.visually-hidden{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ===========================
   Contact Icon Tints (Headings)
   Works with .mark + inline <svg class="ico"> (fill: currentColor)
   =========================== */

/* Contact heading links: make the whole heading clickable */
.mark a{
  display:inline-flex; align-items:center; gap:10px;
  color:inherit; text-decoration:none;
}

/* Same hover/focus effect you’re using on the other cards */
.mark a:hover,
.mark a:focus-visible{
  color: var(--amber);
}
.mark a:hover .ico,
.mark a:focus-visible .ico{
  filter: drop-shadow(0 1px 6px rgba(0,0,0,.12));
  transform: translateY(-1px);
  transition: .15s ease;
}

/* Ensure icons always inherit the heading/link colour */
.mark .ico{ width:22px; height:22px; display:inline-block; vertical-align:middle; fill: currentColor; }

/* Brand tints (keep what you already have; adding here for completeness) */
.tint-phone{ color:#16a34a; }   /* green cue */
.tint-email{ color:#f59e0b; }   /* amber cue */

/* If a heading sits on a dark background and you need white text/icon */
.on-dark .mark { color:#fff; }
/* End of assets/site.css */

/* ===========================
   Reviews Carousel (About page)
   =========================== */
   
/* ===== Reviews Carousel ===== */
.mbc-viewport{ overflow:hidden; position:relative; }
.mbc-track{
  list-style: none;
  margin: 0;
  padding: 0;
  display:flex;
  gap:12px;
  will-change:transform;
  transition: transform .4s ease;
}

.mbc-track .mbc-slide{
  list-style: none;
}
.mbc-track .mbc-slide::marker{ content: ""; } /* extra-safe for Safari */

.mbc-slide{ flex:0 0 auto; width:calc((100% - (var(--gap,12px) * (var(--per,3) - 1))) / var(--per,3)); }

.mb-carousel{
  --gap:12px;
  position:relative; padding:8px 42px; /* space for arrows */
}
.mbc-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(0,0,0,.12);
  background:#fff; color:var(--navy); font-weight:800; line-height:1;
  display:grid; place-items:center; cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.mbc-btn:hover{ background:var(--amber); color:var(--navy); }
.mbc-btn.prev{ left:6px; }
.mbc-btn.next{ right:6px; }

/* Make cards consistent height for nicer scroll */
.mbc-slide .review-card{ height:100%; }

/* Responsive per-view (JS sets --per; these are fallbacks) */
@media (max-width: 900px){
  .mb-carousel{ padding:8px 38px; }
}
@media (max-width: 760px){
  .mbc-slide{ width:calc((100% - (var(--gap,12px) * (var(--per,2) - 1))) / var(--per,2)); }
}
@media (max-width: 520px){
  .mbc-slide{ width:100%; }
  .mb-carousel{ padding:8px 32px; }
}

/* ----- Footer enhancements (non-breaking) ----- */
.footer-cols{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }

.footer-photo{
  margin:0 0 .5rem 0; display:flex; justify-content:center;
}
.footer-photo img{
  width:min(200px, 80%); height:auto; border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.25);
}

/* Social row in footer */
.social-links{
  display:flex; gap:14px; justify-content:center; align-items:center; flex-wrap:wrap;
  margin:.5rem 0 .75rem;
}
.social-links a{ display:inline-flex; align-items:center; justify-content:center; }
.social-links a:hover{ color: var(--amber); }

/* Contact & Hours lists: centered bullets already controlled; tighten spacing */
.footer-links.contact-list li,
.footer-links.hours-list li{ margin:.3rem 0; }

/* Map wrapper (removes inline styles) */
.footer-map{
  border-radius:8px; overflow:hidden;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
  display:flex; justify-content:center;
}
.footnote{ color: rgba(255,255,255,.9); margin-top:8px; }

/* Utility */
.center{ text-align:center; }
.center-content{ justify-content: center; }
.spacer{ height:2rem; }
.price-deco{ font-size: 2.25rem; font-weight: 800; color: var(--amber); margin: 18px;}
.justify{ text-align: justify; }
.justify-content{ justify-content: justify; }
/*.center-flex {
  display: flex;
  justify-content: center;
}

.center-both {
  display: flex;
  justify-content: center;
  align-items: center;
}*/

/* ===========================
   LOCAL FIX: DARK-BG SECTIONS
   (For services.html page)
   =========================== */

/* This modifier class is added to sections that sit directly
  on the dark body gradient, to make their text legible.
*/
.dark-bg .kicker {
  color: var(--amber); /* Uses your theme's high-contrast color */
}
.dark-bg .mini {
  /* Uses a light, legible, but not-too-bright white */
  color: rgba(255, 255, 255, 0.9); 
}

/* ===========================
   LOCAL FIX: FOOTER SPACING (v2 - Safe)
   =========================== */

/* Adds space above the "Business Hours" and "Follow Us" subheadings */
.site-footer .subhead {
  margin-top: 1rem; 
  margin-bottom: 0.75rem;
}

/* Adds a small, consistent space between the business hours lines */
.site-footer p.mini.footnote {
  margin-top: 0.35rem; 
  margin-bottom: 0;
}
/* =========================== */
.site-footer .social-links img {
  width: 28px;
  height: 28px;
  display: block;
  filter: drop-shadow(0 0 2px rgba(255,255,255,0.4));
}

.site-footer .social-links a:hover img {
  filter: brightness(1.4) drop-shadow(0 0 6px var(--amber, #fbbf24));
}
.site-footer .social-links img{
  width: 28px;
  height: 28px;
  display: block;
}

.site-footer .social-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.site-footer .social-links a:hover{
  transform: scale(1.08);
}

/* =========================== */