:root{
    --maroon:#7A1421;
    --maroon-dark:#5C0F19;
    --gold:#D9A400;
    --gold-light:#F2C230;
    --ink:#1B1B1B;
    --navy:#0F1A2B;
    --navy-2:#16233A;
    --cream:#FDF8F0;
    --grey:#B7BFCC;
    --green:#25A244;
    --green-dark:#1C7F35;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:'Poppins',sans-serif;background:#EFEFEF;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;margin:0;padding:0;}

  footer.site-footer{
    background:linear-gradient(180deg,var(--navy-2),var(--navy));
    color:var(--grey);
    border-top:4px solid var(--gold);
    position:relative;
  }

  /* ---------- Newsletter strip ---------- */
  .newsletter{
    background:var(--maroon-dark);
    padding:22px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .newsletter .copy h3{
    margin:0 0 4px 0;
    font-family:'Anton',sans-serif;
    letter-spacing:0.4px;
    font-size:20px;
    color:#fff;
  }
  .newsletter .copy p{
    margin:0;
    font-size:13px;
    color:#EAD9C8;
  }
  .newsletter form{
    display:flex;
    gap:0;
    flex-shrink:0;
    width:100%;
    max-width:420px;
  }
  .newsletter input[type="email"]{
    flex:1;
    height:44px;
    border:none;
    padding:0 16px;
    font-size:14px;
    border-radius:24px 0 0 24px;
    outline:none;
  }
  .newsletter button{
    height:44px;
    padding:0 22px;
    border:none;
    border-radius:0 24px 24px 0;
    background:linear-gradient(180deg,var(--gold-light),var(--gold));
    color:var(--maroon-dark);
    font-weight:700;
    font-size:13.5px;
    cursor:pointer;
    white-space:nowrap;
  }
  .newsletter form small{display:none;}

  /* ---------- Main footer grid ---------- */
  .footer-main{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1.2fr;
    gap:32px;
    padding:44px 40px 28px 40px;
    max-width:1400px;
    margin:0 auto;
  }

  .f-brand .brand-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .f-brand img{width:52px;height:52px;border-radius:8px;box-shadow:0 3px 8px rgba(0,0,0,0.35);}
  .f-brand .shopname{
    font-family:'Anton',sans-serif;
    font-size:22px;
    letter-spacing:0.4px;
    color:#fff;
    display:block;
  }
  .f-brand .slogan{
    font-size:10.5px;
    font-weight:600;
    letter-spacing:0.6px;
    text-transform:uppercase;
    color:var(--gold-light);
  }
  .f-brand p.desc{
    font-size:13px;
    line-height:1.7;
    color:var(--grey);
    margin:14px 0 18px 0;
    max-width:320px;
  }
  .socials{display:flex;gap:10px;}
  .socials a{
    width:34px;height:34px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    display:flex;align-items:center;justify-content:center;
    font-size:13px;
    color:#fff;
    transition:background .2s, transform .2s, color .2s;
  }
  .socials a:hover{background:var(--gold);color:var(--maroon-dark);transform:translateY(-3px);}

  .f-col h4{
    color:#fff;
    font-size:15px;
    font-weight:700;
    letter-spacing:0.3px;
    text-transform:uppercase;
    margin:0 0 18px 0;
    position:relative;
    padding-bottom:10px;
  }
  .f-col h4::after{
    content:"";
    position:absolute;left:0;bottom:0;
    width:34px;height:3px;
    background:var(--gold);
    border-radius:2px;
  }
  .f-col ul li{margin-bottom:11px;}
  .f-col ul li a{
    font-size:13.5px;
    color:var(--grey);
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:color .2s, padding-left .2s;
  }
  .f-col ul li a::before{
    content:"›";
    color:var(--gold);
    font-weight:700;
    font-size:15px;
    line-height:1;
  }
  .f-col ul li a:hover{color:var(--gold-light);padding-left:3px;}
  .f-col ul li a.new-tag::after{
    content:"NEW";
    font-size:8px;
    background:var(--maroon);
    color:#fff;
    padding:2px 5px;
    border-radius:3px;
    margin-left:4px;
    letter-spacing:0.4px;
  }

  .f-contact ul li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:13.5px;
    color:var(--grey);
    margin-bottom:16px;
    line-height:1.5;
  }
  .f-contact ul li .ic{color:var(--gold);flex-shrink:0;margin-top:1px;}
  .f-contact ul li a{color:var(--grey);transition:color .2s;}
  .f-contact ul li a:hover{color:var(--gold-light);}
  .f-contact .hours{
    margin-top:6px;
    padding-top:14px;
    border-top:1px dashed rgba(255,255,255,0.15);
    font-size:12.5px;
  }
  .f-contact .hours b{color:#fff;}

  /* ---------- Bottom bar ---------- */
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.08);
    padding:16px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    font-size:12.5px;
    color:#8b93a3;
  }
  .footer-bottom .pay-icons{display:flex;gap:8px;align-items:center;}
  .footer-bottom .pay-icons span{
    background:rgba(255,255,255,0.08);
    padding:4px 9px;
    border-radius:4px;
    font-size:11px;
    color:var(--grey);
  }
  .footer-bottom a{color:var(--gold-light);}
  .footer-bottom a:hover{text-decoration:underline;}

  /* ---------- Responsive ---------- */
  @media (max-width: 1000px){
    .footer-main{grid-template-columns:1fr 1fr;}
    .f-brand{grid-column:1 / -1;}
  }
  @media (max-width: 700px){
    .newsletter{padding:20px;flex-direction:column;align-items:flex-start;}
    .newsletter form{max-width:100%;}
    .footer-main{grid-template-columns:1fr;padding:36px 20px 20px 20px;gap:30px;}
    .footer-bottom{padding:14px 20px;flex-direction:column;text-align:center;}
  }