
/*
Theme Name: Carpool Lite
Theme URI: https://example.com/carpool-lite
Author: ChatGPT
Author URI: https://example.com
Description: v1.2 — integracija s Better Messages; Lagana i responzivna WordPress tema za dijeljenje prijevoza (carpooling) u svjetlo plavo-bijeloj paleti. Sadrži CPT "Vožnja", pretragu i formu za objavu vožnje bez dodatnih plugina.
\g<1>1.9.4
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: carpool-lite
Tags: carpool, directory, listings, responsive, light, blue, white
*/

/* CSS varijable (paleta) */
:root {
  --blue-50: #f0f6ff;
  --blue-100: #e1efff;
  --blue-200: #cde4ff;
  --blue-300: #a8d1ff;
  --blue-400: #7bb8ff;
  --blue-500: #4ea0ff; /* glavna */
  --blue-600: #2e87e6;
  --blue-700: #1f6bb8;
  --blue-800: #185493;
  --blue-900: #123e6d;
  --text-900: #0f172a;
  --text-700: #334155;
  --text-500: #64748b;
  --bg: #ffffff;
  --bg-soft: #f8fafc;
  --card: #ffffff;
  --border: #e2e8f0;
  --success: #16a34a;
  --danger: #dc2626;
  --warning: #f59e0b;
  --radius: 16px;
  --shadow: 0 10px 20px rgba(2, 6, 23, 0.06);
}

/* Reset & base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--text-900);
  background: var(--bg-soft);
  line-height: 1.6;
}
a { color: var(--blue-700); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

.container {
  width: min(1100px, 92vw);
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 2px 12px rgba(0,0,0,0.03);
}
.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 1.15rem;
  color: var(--blue-800);
}
.brand-badge {
  width: 34px; height: 34px;
  border-radius: 10px;
  background: linear-gradient(180deg, var(--blue-400), var(--blue-600));
  display: grid; place-items: center;
  color: white; font-weight: 900;
}
.nav-links { display: flex; gap: 18px; }
.nav-toggle { display: none; }

.hero {
  background: linear-gradient(180deg, var(--blue-50), var(--bg));
  padding: 56px 0 26px;
  border-bottom: 1px solid var(--border);
}
.hero h1 {
  font-size: clamp(1.6rem, 2.5vw + 1rem, 2.6rem);
  margin: 0 0 8px 0;
}
.hero p { color: var(--text-700); margin: 0 0 18px 0; }

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 16px;
  border-radius: 12px;
  background: var(--blue-500);
  color: white; font-weight: 600;
  border: none; cursor: pointer;
  box-shadow: 0 6px 14px rgba(78,160,255,0.35);
}
.btn:hover { filter: brightness(0.96); text-decoration: none; }
.btn-outline {
  background: transparent; color: var(--blue-700);
  border: 1px solid var(--blue-300);
  box-shadow: none;
}
.btn-danger { background: var(--danger); box-shadow: 0 6px 14px rgba(220,38,38,0.25); }
.badge {
  padding: 6px 10px; border-radius: 999px; font-size: 0.8rem;
  background: var(--blue-100); color: var(--blue-800);
  border: 1px solid var(--blue-200);
}

.grid {
  display: grid; gap: 16px;
}
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }

.site-footer {
  margin-top: 40px;
  padding: 26px 0;
  border-top: 1px solid var(--border);
  background: var(--bg);
  color: var(--text-700);
}

/* Forms */
input, select, textarea {
  width: 100%; padding: 12px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: white;
  font: inherit;
}
label { font-weight: 600; display:block; margin-bottom: 6px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-actions { display:flex; gap:10px; align-items:center; }

/* Ride list */
.ride { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: start; }
.ride h3 { margin: 0 0 6px; }
.ride-meta { color: var(--text-700); font-size: 0.95rem; }
.ride-price { font-size: 1.15rem; font-weight: 800; color: var(--blue-800); }

/* Responsive */
@media (max-width: 900px) {
  .grid-3 { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .nav-links { display: none; }
  .nav-toggle { display: inline-flex; }
}


/* --sticky-cta (mobile fixed bar) -- */
.sticky-cta {
  position: fixed; bottom: 10px; left: 50%; transform: translateX(-50%);
  display: none; gap: 8px; padding: 8px 10px; background: rgba(255,255,255,0.95);
  border: 1px solid var(--border); border-radius: 999px; box-shadow: var(--shadow);
  z-index: 40;
}
.sticky-cta .btn { padding: 10px 14px; }
@media (max-width: 900px) { .sticky-cta { display: flex; } }


/* Reviews carousel / grid */
.reviews { display: grid; gap: 16px; }
.reviews.grid-3 { grid-template-columns: repeat(3, 1fr); }
.review-card { background: var(--card); border:1px solid var(--border); border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); }
.review-stars { font-size: 1rem; color: #f59e0b; }
@media (max-width: 900px) { .reviews.grid-3 { grid-template-columns: 1fr; } }


/* Stats bar */
.stats { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
.stat { background: var(--card); border:1px solid var(--border); border-radius: var(--radius); padding:16px; text-align:center; box-shadow: var(--shadow); }
.stat .num { font-size:1.6rem; font-weight:800; color:var(--blue-800); }
@media (max-width: 900px){ .stats { grid-template-columns: repeat(2, 1fr); } }

/* Featured cities */
.cities { display:grid; grid-template-columns: repeat(5, 1fr); gap:12px; }
.city { position:relative; overflow:hidden; border-radius: var(--radius); border:1px solid var(--border); background: var(--blue-50); }
.city a { display:block; padding:16px; font-weight:700; color: var(--blue-900); }
@media (max-width: 900px){ .cities { grid-template-columns: repeat(2, 1fr); } }

/* Blog cards */
.posts { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; }
.post-card { border:1px solid var(--border); border-radius: var(--radius); background: var(--card); padding:16px; box-shadow: var(--shadow); }
@media (max-width: 900px){ .posts { grid-template-columns: 1fr; } }

/* CTA banner */
.cta-banner { background: linear-gradient(90deg, var(--blue-300), var(--blue-500)); color: white; border-radius: var(--radius); padding:20px; display:flex; gap:12px; align-items:center; justify-content:space-between; box-shadow: var(--shadow); }
.cta-banner .btn { background:white; color: var(--blue-800); box-shadow:none; }
.cta-banner .btn-outline { background:transparent; color:white; border-color: rgba(255,255,255,0.7); }

/* Newsletter */
.newsletter { display:grid; grid-template-columns: 2fr 1fr; gap:12px; align-items:end; }
@media (max-width: 900px){ .newsletter { grid-template-columns: 1fr; } }

/* PWA promo */
.pwa { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
@media (max-width: 900px){ .pwa { grid-template-columns: 1fr; } }

/* Partners */
.partners { display:grid; grid-template-columns: repeat(5, 1fr); gap:16px; align-items:center; }
.partner { background:white; border:1px solid var(--border); border-radius: 12px; padding:12px; text-align:center; }
@media (max-width: 900px){ .partners { grid-template-columns: repeat(3, 1fr); } }

/* Live ticker */
.live-ticker { position:sticky; top:0; z-index:35; background: #0b1220; color:#fff; padding:8px 0; display:none; }
.live-ticker .container { display:flex; gap:10px; align-items:center; }
.live-dot { width:8px; height:8px; border-radius:999px; background:#22c55e; display:inline-block; box-shadow:0 0 0 3px rgba(34,197,94,0.2); }


/* Header variants */
.nav-desktop { display:flex; }
.nav-links { display:flex; gap:18px; align-items:center; }
.nav-actions { display:flex; gap:8px; align-items:center; }
.nav-toggle { display:none; }

/* Quick search overlay */
.qs-overlay { position: fixed; inset: 0; background: rgba(2,6,23,0.5); display: none; z-index: 60; }
.qs-panel { position: absolute; top: 10%; left: 50%; transform: translateX(-50%); width: min(720px, 92vw); background: var(--bg); border:1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px; }
.qs-close { position:absolute; top:10px; right:10px; }

/* Mobile drawer */
.mobile-drawer { background: var(--bg); border-top:1px solid var(--border); box-shadow: 0 6px 18px rgba(2,6,23,.08); }
.nav-mobile-links { display:grid; gap:10px; padding:16px 0; }
.mobile-actions { display:grid; gap:8px; padding:0 0 16px 0; }

/* Sticky header and scroll shadow */
.site-header { position: sticky; top: 0; z-index: 50; transition: box-shadow .2s ease; }
.site-header.scrolled { box-shadow: 0 6px 18px rgba(2,6,23,.08); }

@media (max-width: 900px) {
  .nav-desktop, .nav-actions { display: none; }
  .nav-toggle { display: inline-flex; align-items:center; }
}

/* ensure logo aligns nicely */
.custom-logo{display:inline-block;vertical-align:middle}


/* === Header: equal-sized buttons (v1.9.5) === */
.site-header { --btn-h: 44px; --btn-w: 140px; }
.site-header .nav-actions .btn,
.site-header .nav-actions .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--btn-h);
  width: var(--btn-w);
  padding: 0 12px;
  white-space: nowrap;
}
.site-header #navToggle { height: var(--btn-h); }

/* Keep badge tidy inside buttons */
.site-header .nav-actions .btn .badge,
.site-header .nav-actions .btn-outline .badge {
  margin-left: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  line-height: 20px;
}

/* Mobile drawer buttons: consistent height, full width */
@media (max-width: 900px){
  .site-header .mobile-actions .btn,
  .site-header .mobile-actions .btn-outline {
    height: var(--btn-h);
    width: 100%;
  }
}


/* Avatar dropdown (user menu) */
.user-menu{ position:relative; }
.user-trigger .avatar{ border-radius:999px; margin-right:8px; }
.user-dropdown{
  position:absolute; right:0; top:calc(100% + 6px);
  min-width:200px; background:var(--bg);
  border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow);
  display:grid; padding:8px; z-index:55;
}
.user-dropdown a{ padding:8px 10px; border-radius:8px; }
.user-dropdown a:hover{ background:var(--blue-50); }
@media(max-width:900px){
  .user-dropdown{ position:fixed; right:10px; left:10px; top:auto; bottom:70px; }
}

/* Dropdown je skriven dok ima [hidden] */
.user-dropdown[hidden]{display:none!important}


/* Login form polish */
#cl_loginform p { margin-bottom: 10px; }
#cl_loginform .input, #cl_loginform input[type="text"], #cl_loginform input[type="password"] {
  width: 100%; max-width: 100%;
}


/* === Single Ride UI (v1.17.0) === */
.ride-hero{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}
.ride-hero .ride-title{margin:4px 0 6px;font-size:clamp(22px,3.2vw,30px);line-height:1.2}
.breadcrumbs{display:flex;gap:6px;align-items:center;color:#64748b;font-size:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:14px;background:#fff}
.chip-soft{background:#f1f5f9}
.chip-muted{background:#f8fafc}
.chip-price{background:#ecfeff;border-color:#bae6fd}
.chip-status{background:#eff6ff;border-color:#bfdbfe}
.hero-cta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.hero-cta .btn{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:12px}
.btn-primary{background:#0ea5e9;color:#fff;border:1px solid #0ea5e9}
.btn-primary:hover{filter:brightness(0.95)}
.btn-disabled{opacity:.6;pointer-events:none}
.btn-link{background:transparent;border:0;color:#0ea5e9;padding:0 6px;height:auto}
.btn-full{width:100%}
.ride-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}
.ride-main .section-title,.ride-side .section-title{margin:0 0 8px}
.related .related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.driver-card .driver-top{display:flex;gap:12px}
.driver-name{font-weight:600}
.driver-joined{color:#64748b;font-size:13px}
.ride-details .ride-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ride-details .meta-key{color:#64748b}
.meta-json{white-space:pre-wrap;max-height:220px;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px}
@media (max-width: 900px){
  .ride-hero{flex-direction:column;align-items:flex-start}
  .hero-cta{justify-content:flex-start}
  .ride-grid{grid-template-columns:1fr}
  .ride-details .ride-meta-grid{grid-template-columns:1fr}
}


/* === Helpful votes & tokens === */
.review-vote { margin-top:6px }
.btn.btn-sm { font-size:13px; padding:6px 10px; border-radius:999px }
.btn-outline { border:1px solid #e2e8f0; background:#fff }
.btn-outline:hover { border-color: var(--accent); }
.section-title { color:#0f172a }
.card { border-radius: var(--radius); box-shadow: var(--shadow); }
.chip { border-color: color-mix(in oklab, var(--accent) 25%, #e2e8f0); }
.reviews-sort .tab.active { background: color-mix(in oklab, var(--accent) 14%, #eef2ff); border-color: color-mix(in oklab, var(--accent) 30%, #c7d2fe); }
.bar span { background: var(--accent); }
.ms-price { color: var(--accent); }

/* === Submit wizard & notices === */
.submit-notice{padding:10px;border:1px solid #eab308;background:#fef9c3;border-radius:12px;margin-bottom:12px}
.submit-notice.notice-err{border-color:#ef4444;background:#fee2e2}
.submit-wizard{position:relative}
.submit-wizard .btn{border-radius:999px}

/* Fallback if JS fails: show first step */
.submit-wizard .wiz-step:first-of-type{display:block}

/* === Profile === */
.profile-page{display:block}
.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-hero .ph-left{display:flex;align-items:center;gap:12px}
.profile-name{margin:0}
.rating-big{font-size:22px;font-weight:800;color:var(--accent,#2563eb)}
.profile-badges .chip-row{display:flex;flex-wrap:wrap;gap:8px}
.profile-stats .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.profile-stats .stat{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}
.profile-stats .key{font-size:12px;color:#64748b}
.profile-stats .val{font-weight:800}
.ride-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ride-item a{display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff;text-decoration:none;color:#0f172a}
.profile-form .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-form .grid-2 .full{grid-column:1/-1}
.profile-form .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}
.chip-checks{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
@media (max-width:900px){
  .profile-stats .stats-grid{grid-template-columns:1fr}
  .profile-form .grid-2{grid-template-columns:1fr}
  .profile-form .grid-4{grid-template-columns:1fr 1fr}
}



/* === Single Ride: responsive stacked cards === */
.ride-grid{display:flex;flex-direction:column;gap:12px}
.ride-grid .ride-main, .ride-grid .ride-side{display:contents}
.ride-grid .card{margin:0}
.ride-grid .ride-hero{order:10}
.ride-grid .ride-details{order:20}
.ride-grid .driver-card{order:30}
.ride-grid .ride-content{order:40}
.ride-grid .card.related{order:50}

@media (min-width: 1024px){
  /* keep it stacked but with a bit more spacing on desktop */
  .ride-grid{gap:14px}
}

/* Single Ride Stacked */
.ride-stack{display:flex;flex-direction:column;gap:12px}
.ride-hero .hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hero-meta .m-key{display:block;color:#64748b;font-size:12px}
.hero-meta .m-val{font-weight:700}
.route-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.route-list .rt-key{color:#64748b;font-size:12px;margin-right:8px;display:inline-block;width:110px}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.details-grid .d-key{color:#64748b;display:block;font-size:12px}
.rules-box{margin-top:8px;border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}
.driver-row{display:flex;align-items:center;gap:10px}
@media (max-width:900px){
  .ride-hero .hero-meta{grid-template-columns:1fr}
  .details-grid{grid-template-columns:1fr}
  .route-list .rt-key{width:96px}
}


/* Single Ride: remove LEFT card in legacy grid (keeps right column) */

/* Single Ride Primary */
.ride-primary{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.ride-primary .rp-route{font-weight:800;font-size:18px}
.ride-primary .rp-arrow{margin:0 6px}
.ride-primary .rp-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ride-primary .rp-meta .k{display:block;color:#64748b;font-size:12px}
.ride-primary .rp-meta .v{font-weight:700}
.ride-primary .rp-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:900px){
  .ride-primary{grid-template-columns:1fr}
  .ride-primary .rp-actions{justify-content:flex-start}
  .ride-primary .rp-meta{grid-template-columns:1fr}
}

/* Contact modal */
.modal{position:fixed;inset:0;display:none;z-index:50}
.modal.open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.modal-dialog{position:relative;max-width:640px;margin:6vh auto;background:#fff;border-radius:14px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.modal-close{position:absolute;right:8px;top:8px;font-size:22px;line-height:1;background:transparent;border:0;cursor:pointer}
.modal-dialog h3{margin:0 0 10px}
#contactForm .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#contactForm .grid-2 .full{grid-column:1/-1}
.modal-actions{display:flex;gap:8px;margin-top:8px}
.contact-state{margin-top:8px;padding:10px;border-radius:10px}
.contact-state.success{background:#dcfce7;border:1px solid #16a34a}
.contact-state.error{background:#fee2e2;border:1px solid #ef4444}
.driver-badges{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:12px}
.chip.muted{color:#64748b}
.chip-ok{border-color:#16a34a;background:#dcfce7}
@media (max-width:720px){
  .modal-dialog{margin:4vh 12px}
  #contactForm .grid-2{grid-template-columns:1fr}
}

/* Reviews card */
.ride-reviews .comment-list{list-style:none;margin:0;padding:0}
.ride-reviews .comment-list > li{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff;margin-bottom:8px}
.ride-reviews .comment-respond{margin-top:10px;border:1px dashed #cbd5e1;border-radius:12px;padding:10px}
.ride-reviews .form-submit .submit{border-radius:999px}

/* Stars rating */
.rating-stars .star,
.driver-rating .star{font-size:16px;opacity:.35}
.rating-stars .star.on,
.driver-rating .star.on{opacity:1}
.driver-rating{display:flex;align-items:center;gap:6px;margin-top:4px}
.driver-rating .stars{display:inline-flex;gap:2px}
/* Comment form stars */
.comment-form-rating .stars{display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:4px}
.comment-form-rating input{position:absolute;left:-9999px}
.comment-form-rating label{cursor:pointer;font-size:22px;line-height:1;opacity:.35;transition:opacity .15s}
.comment-form-rating input:checked ~ label,
.comment-form-rating label:hover,
.comment-form-rating label:hover ~ label{opacity:1}


/* === Ride Share Balkan Footer (custom) === */
.rsb-footer{background:#0f172a;color:#e5e7eb;margin-top:40px}
.rsb-footer a{color:#93c5fd;text-decoration:none}
.rsb-footer a:hover{opacity:.85}
.rsb-footer .container{max-width:1200px;margin:0 auto;padding:32px 20px}
.rsb-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.rsb-footer__title{font-weight:700;font-size:1.05rem;margin:0 0 .5rem 0;color:#ffffff}
.rsb-footer__desc{opacity:.9;margin:.5rem 0 0 0}
.rsb-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.rsb-footer__brand{display:inline-flex;align-items:center;gap:.5rem}
.rsb-footer__brand img{max-height:40px}
.rsb-footer__brand-text{font-weight:800;font-size:1.15rem;color:#fff}
.rsb-footer__newsletter{display:flex;gap:.5rem;margin-top:.75rem}
.rsb-footer__newsletter input{flex:1;padding:.6rem .75rem;border-radius:.5rem;border:1px solid #334155;background:#0b1220;color:#e5e7eb}
.rsb-footer__newsletter button{padding:.6rem .9rem;border-radius:.5rem;border:0;background:#3b82f6;color:#fff;font-weight:700;cursor:pointer}
.rsb-footer__badges{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #1f2937;border-bottom:1px solid #1f2937;margin:20px 0;padding:12px 0;opacity:.9}
.rsb-footer__badges span{background:#0b1220;border:1px solid #1f2937;border-radius:999px;padding:.35rem .65rem}
.rsb-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rsb-footer__legal{display:flex;gap:12px;list-style:none;margin:0;padding:0}
.rsb-footer__socials a{margin-right:10px}

/* Mobile nav */
.rsb-mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#0f172a;border-top:1px solid #1f2937;display:none;z-index:9999}
.rsb-mobile-nav__link{flex:1;display:inline-flex;justify-content:center;align-items:center;padding:12px 8px;color:#e5e7eb;font-weight:600}
.rsb-mobile-nav__cta{background:#3b82f6;color:#ffffff;border-radius:.5rem;margin:6px 8px;padding:10px 12px}

/* Responsive */
@media(max-width:1024px){
  .rsb-footer__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .rsb-footer__grid{grid-template-columns:1fr}
  .rsb-mobile-nav{display:flex}
  body{padding-bottom:64px} /* prevent content underlap */
}
/* === End RSB Footer === */
