/* ========== Casey Concrete Footer — pixel port of Footer.tsx ========== */

.ccb-footer{font-family:'Inter',system-ui,sans-serif;color:var(--ccb-fg)}
.ccb-footer-spacer{height:64px;background:#fff}
.ccb-footer-bar{height:3px;width:100%;background:var(--ccb-primary)}

.ccb-footer-main{background:hsl(210,20%,97%);padding:2rem 0 3rem}
.ccb-footer-grid{display:grid;grid-template-columns:1fr;row-gap:3rem;column-gap:2.5rem}
@media(min-width:768px){.ccb-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ccb-footer-grid{grid-template-columns:repeat(4,1fr)}}

.ccb-footer-logo{height:40px;width:auto;display:block;margin-bottom:1.25rem}
.ccb-footer-tag{font-size:16px;font-weight:700;line-height:1.3;color:var(--ccb-fg);margin:0 0 .75rem}
.ccb-footer-blurb{font-size:14px;line-height:1.6;color:var(--ccb-muted);margin:0 0 1.25rem}

.ccb-footer-h{font-size:16px;font-weight:700;color:var(--ccb-fg);margin:0 0 1.25rem;font-family:'Outfit',sans-serif}
.ccb-footer-list{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-direction:column;gap:.75rem}
.ccb-footer-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:14px;color:var(--ccb-muted);line-height:1.5}
.ccb-footer-list li svg{width:18px;height:18px;flex-shrink:0;color:var(--ccb-orange);margin-top:1px}
.ccb-footer-list a{color:inherit;text-decoration:none;transition:color .2s ease}
.ccb-footer-list a:hover{color:var(--ccb-orange);text-decoration:none}

/* Newsletter */
.ccb-footer-news{display:flex;margin-bottom:1.75rem}
.ccb-footer-news input{flex:1 1 70%;background:#fff;border:1px solid var(--ccb-border);border-right:0;
  border-radius:.25rem 0 0 .25rem;color:var(--ccb-fg);font-size:14px;padding:.75rem 1rem;
  font-family:inherit}
.ccb-footer-news input:focus{outline:none;box-shadow:0 0 0 2px rgba(0,125,186,.30)}
.ccb-footer-news input::placeholder{color:var(--ccb-muted)}
.ccb-footer-news button{flex:0 0 30%;background:var(--ccb-orange);border:0;border-radius:0 .25rem .25rem 0;
  color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:opacity .2s ease}
.ccb-footer-news button:hover{opacity:.85}
.ccb-footer-news button svg{width:18px;height:18px}

/* Social row */
.ccb-footer-social{display:flex;gap:.625rem}
.ccb-footer-social a{display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;background:var(--ccb-primary);color:#fff;border-radius:.25rem;
  text-decoration:none;transition:transform .2s ease, background .2s ease}
.ccb-footer-social a:hover{background:var(--ccb-orange);transform:translateY(-2px);text-decoration:none}
.ccb-footer-social svg{width:18px;height:18px}

/* Instagram grid — use anchor as aspect container for max browser compat */
.ccb-ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}
.ccb-ig-grid a{display:block;position:relative;width:100%;padding-bottom:100%;
  border-radius:.25rem;overflow:hidden;line-height:0}
.ccb-ig-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:opacity .2s ease}
.ccb-ig-grid a:hover img{opacity:.80}

/* Smash Balloon override — match React look */
.ccb-ig-grid #sb_instagram .sbi_photo_wrap,
.ccb-ig-grid #sb_instagram .sbi_item{border-radius:.25rem;overflow:hidden}
.ccb-ig-grid #sb_instagram .sbi_photo{aspect-ratio:1/1;object-fit:cover}
.ccb-ig-grid #sb_instagram{padding:0 !important;margin:0 !important;background:transparent !important}

/* Bottom bar */
.ccb-footer-bottom{background:var(--ccb-primary);padding:25px 0}
.ccb-footer-bottom p{color:#fff;font-size:.9rem;margin:0;text-align:right}
@media(max-width:1023px){.ccb-footer-bottom p{text-align:center}}
