/* =========================================================
   BASTA RIDES — CLEAN FULL PAGE CSS (SR Belgrade Airport Transfer)
   Works with your EXACT HTML structure
========================================================= */

/* =========================
   TOKENS / BASE
========================= */
:root{
  --bg:#f7f9fb;
  --text:#0f172a;
  --muted:#64748b;

  --brand:#1976d2;
  --brand2:#0d47a1;
  --accent:#ffc300;

  --card:#ffffff;
  --stroke:#e5e7eb;
  --soft:#f1f5f9;

  --radius:16px;
  --radiusLg:22px;

  --shadow:0 30px 70px rgba(0,0,0,.25);
  --shadowSoft:0 12px 34px rgba(2,6,23,.18);

  --max:1200px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Segoe UI", Arial, sans-serif;
  line-height:1.45;
}

a{ color:var(--brand); text-decoration:none; }
a:hover{ text-decoration:underline; }

img{ max-width:100%; height:auto; display:block; }

/* =========================
   HERO HEADER BACKGROUND
   (picture becomes background layer)
========================= */
header.main-header.header-bg{
  position:relative;
  overflow:hidden;
  min-height:560px;
  background:#0b1220;
  box-shadow:0 8px 34px rgba(0,0,0,.35);
}

/* picture as background */
header.main-header.header-bg > picture{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  margin:0 !important;
}

/* force hero img to fill header */
header.main-header.header-bg > picture img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* overlay on hero */
header.main-header.header-bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(1000px 520px at 18% 12%, rgba(255,195,0,.22), transparent 60%),
    linear-gradient(120deg, rgba(11,18,32,.92), rgba(11,18,32,.52));
}

/* =========================
   TOP BAR (LOGO + LANGUAGE)
========================= */
.header-bar{
  position:relative;
  z-index:3;
  max-width:var(--max);
  margin:0 auto;
  padding:18px 20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.site-logo img{ height:44px; }

.lang-switcher{
  position:relative;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.lang-globe-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.lang-dropdown{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:190px;
  max-width:calc(100vw - 24px);
  background:#fff;
  border:1px solid var(--stroke);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(2,6,23,.22);
  padding:8px 0;
  overflow:hidden;
}
.lang-dropdown.open{ display:block; }

.lang-dropdown a{
  display:block;
  padding:12px 16px;
  color:#0f172a;
  font-size:1rem;
  white-space:nowrap;
}
.lang-dropdown a:hover,
.lang-dropdown a.active{
  background:#f3f6fb;
  color:var(--brand);
}

/* Mobile-safe dropdown (never off-screen) */
@media (max-width:700px){
  .lang-dropdown{
    position:fixed;
    left:12px;
    right:12px;
    top:74px;
    min-width:0;
    max-width:none;
    border-radius:16px;
    z-index:99999;
  }
}

/* =========================
   HERO CONTENT LAYOUT (split)
========================= */
.header-content.hero-expanded.seo-hero{
  position:relative;
  z-index:2;
  max-width:var(--max);
  margin:0 auto;
  padding:56px 20px 34px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:28px;
  align-items:start;
}

.hero-seo-wrapper{ color:#fff; }

.hero-title{
  margin:0 0 10px;
  color:#fff !important;
  font-weight:850;
  letter-spacing:-0.02em;
  line-height:1.06;
  font-size:clamp(2.0rem, 2.6vw + 1rem, 3.2rem);
  text-shadow:0 10px 30px rgba(0,0,0,.25);
}

.hero-seo-text{
  margin:0 0 16px;
  color:rgba(255,255,255,.92) !important;
  font-size:1.12rem;
  font-weight:500;
  line-height:1.6;
  max-width:62ch;
  text-shadow:0 3px 12px rgba(0,0,0,.55);
}

/* CTA */
.hero-cta-btn{
  display:inline-block;
  margin-top:12px;
  background:rgba(255,195,0,.96);
  color:#111827 !important;
  font-weight:900;
  padding:12px 16px;
  border-radius:12px;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(0,0,0,.25);
}
.hero-cta-btn:hover{ filter:brightness(.98); }

/* Responsive hero layout */
@media (max-width:980px){
  .header-content.hero-expanded.seo-hero{
    grid-template-columns:1fr;
    text-align:center;
  }
  .hero-seo-text{ margin-left:auto; margin-right:auto; }
}

/* =========================
   FORM CARD (Glass blur)
   (If you want NON-glass: set background:#fff and remove backdrop-filter)
========================= */
#searchForm{
  justify-self:end;
  width:min(540px, 100%);
  border-radius:26px;
  padding:18px 18px 16px;

  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);

  overflow:hidden; /* ništa ne sme da štrči */
}

/* radio pills */
#searchForm .form-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
#searchForm .form-row label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  font-weight:800;
  color:#0f172a !important;

  background: rgba(255,255,255,.20);
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
#searchForm .form-row input[type="radio"]{
  accent-color:var(--brand);
  margin:0;
}

/* =========================
   FORM GRID (Desktop)
   pickup + dropoff
   date row
   pax row
   search CTA row
========================= */
#searchForm .daytrip-row{
  display:grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "pickup dropoff"
    "date   date"
    "pax    pax"
    "search search";
  gap:12px;
  padding:16px !important;

  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,23,42,.10);
  border-radius:20px;
  box-shadow: 0 14px 34px rgba(15,23,42,.10);

  overflow:hidden !important;
}

/* remove old swap icon */
#searchForm .daytrip-row .icon{ display:none !important; }

#pickupInput{ grid-area:pickup; }
#dropoffInput{ grid-area:dropoff; }
#searchForm .date-wrap{ grid-area:date; }
#passengersLuggageBtn{ grid-area:pax; }
#searchBtn{ grid-area:search; }

/* inputs base */
#pickupInput,
#dropoffInput{
  width:100% !important;
  min-width:0 !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  border-radius:16px !important;
  padding:14px 14px 14px 46px !important; /* space for icon */
  outline:none;
  font-size:15px;
  box-shadow:0 10px 26px rgba(15,23,42,.08);
}

#pickupInput:focus,
#dropoffInput:focus{
  border-color: rgba(25,118,210,.55) !important;
  box-shadow: 0 0 0 4px rgba(25,118,210,.18), 0 12px 26px rgba(15,23,42,.10);
}

/* date wrap */
#searchForm .date-wrap{
  width:100%;
  min-width:0 !important;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.12);
  border-radius:16px;
  padding:10px 14px 10px 46px; /* space for icon */
  box-shadow:0 10px 26px rgba(15,23,42,.08);
  position:relative;
}
#searchForm .date-wrap input[type="datetime-local"]{
  width:100% !important;
  min-width:0 !important;
  border:none !important;
  outline:none !important;
  background:transparent !important;
  padding:8px 0 !important;
  font-size:15px;
}
#searchForm .date-label{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:#64748b;
}

/* passengers / luggage button */
#passengersLuggageBtn{
  width:100%;
  min-width:0 !important;

  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  border-radius:16px !important;
  padding:14px 14px 14px 46px !important; /* space for icon */
  box-shadow:0 10px 26px rgba(15,23,42,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  color:#0f172a;
  font-weight:800;
  position:relative;
}

#passengersLuggageBtn .btn-text{
  flex:1;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#passengersLuggageBtn .btn-arrow{ opacity:.75; }

/* search CTA */
#searchBtn{
  width:100% !important;
  min-height:58px;
  border:none;
  border-radius:16px !important;
  cursor:pointer;

  background: linear-gradient(135deg, #1d6fe0, #0d47a1) !important;
  color:#fff;
  font-weight:900;
  letter-spacing:.2px;
  box-shadow: 0 16px 34px rgba(13,71,161,.28);
}
#searchBtn:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}

/* =========================
   ICONS (No input::before)
   Use background-image SVG + padding-left
========================= */
#pickupInput{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2316a34a' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:14px 50%;
  background-size:18px 18px;
}

#dropoffInput{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23dc2626' d='M6 2v20h2v-7h9l-2-4 2-4H8V2H6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:14px 50%;
  background-size:18px 18px;
}

#searchForm .date-wrap{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231976d2' d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7Zm12 8H5v9h14v-9Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:14px 18px;
  background-size:18px 18px;
}

/* passenger icon */
#passengersLuggageBtn{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237c3aed' d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-5 0-9 2.5-9 5v3h18v-3c0-2.5-4-5-9-5Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:14px 50%;
  background-size:18px 18px;
}

/* =========================
   BENEFITS (under form)
========================= */
.hero-benefits{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  justify-content:center;
}
.hero-benefits span{
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.26);
  color: #eaf3ff !important;
  border-radius:999px;
  padding:9px 12px;
  font-weight:800;
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
}

/* =========================
   MOBILE FORM
========================= */
@media (max-width:700px){
  /* disable heavy glass on mobile */
  #searchForm{
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.10);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  #searchForm .daytrip-row{
    background:#fff;
    box-shadow:0 10px 26px rgba(15,23,42,.08);
  }

  #searchForm .daytrip-row{
    grid-template-columns:1fr;
    grid-template-areas:
      "pickup"
      "dropoff"
      "date"
      "pax"
      "search";
  }
  #pickupInput,#dropoffInput,
  #passengersLuggageBtn{
    font-size:16px;
    min-height:52px;
  }
  #searchBtn{ min-height:54px; }
}

/* =========================
   MODAL (Passengers/Luggage)
========================= */
#passengersLuggageModal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.55);
  z-index:2000;
  align-items:center;
  justify-content:center;
  padding:16px;
}
#passengersLuggageModal.open{ display:flex; }

.passengers-modal-card{
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(2,6,23,.35);
  width:min(420px, 100%);
  max-height:92vh;
  overflow:auto;
}

.passengers-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px 12px;
  border-bottom:1px solid #eef2f7;
}
.passengers-modal-title{
  font-size:1.1rem;
  font-weight:900;
  color:#0f172a;
}
.passengers-modal-close{
  background:none;
  border:none;
  font-size:1.7rem;
  color:#64748b;
  cursor:pointer;
}
.passengers-modal-close:hover{ color:var(--brand); }

.passengers-modal-body{ padding:14px 18px 0; }
.passengers-modal-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
}
.passengers-modal-label{
  font-size:1rem;
  font-weight:900;
  color:#0f172a;
  display:flex;
  align-items:center;
  gap:8px;
}
.passengers-modal-stepper{
  display:flex;
  align-items:center;
  gap:10px;
}
.passengers-modal-btn{
  width:36px;
  height:36px;
  border:none;
  border-radius:999px;
  background:#eef2f7;
  color:var(--brand);
  font-size:1.35rem;
  font-weight:900;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.passengers-modal-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.passengers-modal-value{
  min-width:2.2em;
  text-align:center;
  font-size:1.05rem;
  font-weight:900;
  color:#0f172a;
}
.passengers-modal-footer{
  padding:14px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.passengers-modal-confirm{
  background:linear-gradient(90deg, #ffc300 0%, #ffd580 100%);
  color:#111827;
  font-weight:900;
  font-size:1.05rem;
  border:none;
  border-radius:12px;
  padding:14px 12px;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(255,179,71,.18);
}

/* =========================
   INFO + FAQ
========================= */
.info-section,
.faq-section{
  max-width:900px;
  margin:42px auto;
  padding:22px 20px;
  border-radius:14px;
  box-shadow:var(--shadowSoft);
  background:#fff;
  color:#0f172a;
}

.info-section h2,
.faq-section h2{
  margin:0 0 14px;
  font-size:1.7rem;
  color:var(--brand);
  font-weight:900;
  text-align:center;
}

.info-section p,
.info-section ul,
.info-section ol{
  font-size:1.06rem;
  line-height:1.75;
}

.info-section ul,
.info-section ol{ padding-left:1.35em; }

.faq-section{
  background:#f5f9ff;
  box-shadow:0 10px 26px rgba(25,118,210,.10);
}

.faq-section dl dt{
  font-weight:900;
  margin-top:14px;
  cursor:pointer;
  position:relative;
  padding-right:24px;
  color:#0d47a1;
}
.faq-section dl dt::after{
  content:"\25BC";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  font-size:.85rem;
  transition:transform .25s ease;
}
.faq-section dl dd{
  margin:10px 0 0 0;
  padding:12px 14px;
  border-radius:12px;
  background:#eaf2fb;
  border:1px solid #d7e8ff;
  color:#0f172a;
  display:none;
}
.faq-section dl dt.active{ color:var(--brand); }
.faq-section dl dt.active::after{ transform:translateY(-50%) rotate(180deg); }
.faq-section dl dt.active + dd{ display:block; }

/* =========================
   VEHICLE TABLE
========================= */
.vehicle-table{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:18px 0;
}
.vehicle-table table{
  width:100%;
  min-width:620px;
  border-collapse:collapse;
  border-radius:14px;
  overflow:hidden;
  background:#f8fafc;
  box-shadow:0 10px 26px rgba(25,118,210,.12);
}
.vehicle-table thead tr{
  background:var(--brand);
  color:#fff;
  font-weight:900;
}
.vehicle-table th,
.vehicle-table td{
  padding:14px 16px;
  border-bottom:1px solid #e6edf7;
  white-space:nowrap;
}
.vehicle-table tbody tr:nth-child(even){ background:#f3f7ff; }
.vehicle-table tbody tr:hover{ background:#e7f1ff; }

/* =========================
   FOOTER
========================= */
.site-footer{
  background:#1a2233;
  color:#fff;
  padding:48px 0 0;
  font-size:1rem;
}

.footer-top{
  display:flex;
  flex-wrap:wrap;
  gap:34px;
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px 28px;
  justify-content:space-between;
  align-items:flex-start;
}

.footer-brand{ flex:1 1 240px; min-width:200px; }
.footer-logo img{ width:120px; }
.footer-tagline{ color:#eaf3fb; margin-top:10px; }

.footer-nav,
.footer-routes,
.footer-contact{ flex:1 1 180px; min-width:170px; }

.footer-nav h4,
.footer-routes h4,
.footer-contact h4{
  color:var(--accent);
  margin:0 0 10px;
  font-weight:900;
}

.footer-nav ul,
.footer-routes ul,
.footer-contact ul{ list-style:none; padding:0; margin:0; }
.footer-nav li,
.footer-routes li,
.footer-contact li{ margin:0 0 8px; }

.footer-nav a,
.footer-routes a,
.footer-contact a{
  color:#eaf3fb;
  text-decoration:none;
}
.footer-nav a:hover,
.footer-routes a:hover,
.footer-contact a:hover{
  color:var(--accent);
  text-decoration:underline;
}

.footer-bottom{
  background:#151b26;
  color:#eaf3fb;
  text-align:center;
  padding:18px 10px;
  border-top:1px solid #232d44;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
}

.footer-legal a{
  color:#eaf3fb;
  margin:0 8px;
  text-decoration:underline;
}
.footer-legal a:hover{ color:var(--accent); }

.powered-by{
  margin-top:18px;
  color:#93a4b8;
  font-size:.95rem;
  text-align:center;
}
.powered-by a{
  color:var(--brand);
  text-decoration:underline;
  font-weight:900;
}
.powered-by a:hover{ color:var(--accent); }

/* =========================
   COOKIE CONSENT (CMP)
========================= */
#cmp-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:9998;
}

#cmp{
  display:none;
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  padding:0 12px 10px;
}

.cmp-box{
  max-width:900px;
  margin:0 auto;
  background:#fff;
  color:#0f172a;
  border-radius:16px 16px 0 0;
  padding:20px;
  box-shadow:0 -16px 46px rgba(0,0,0,.25);
  border:1px solid #e8eef7;
}

.cmp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.cmp-btn{
  padding:12px 16px;
  font-weight:900;
  border:none;
  border-radius:12px;
  cursor:pointer;
}
.cmp-btn.accept{ background:#28a745; color:#fff; }
.cmp-btn.reject{ background:#dc3545; color:#fff; }
.cmp-btn.save{ background:#ffc107; color:#111827; }

.cookie-link{
  background:none;
  border:none;
  color:var(--brand);
  cursor:pointer;
  padding:0;
  font:inherit;
}
.cookie-link:hover{ text-decoration:underline; }
/* =========================
   FIX: show icons inside inputs (pin / flag)
   (works without changing HTML)
========================= */

/* ensure inputs keep background image visible */
#pickupInput,
#dropoffInput{
  background-repeat: no-repeat !important;
  background-position: 14px 50% !important;
  background-size: 18px 18px !important;

  /* force padding-left enough for icon */
  padding-left: 46px !important;

  /* IMPORTANT: keep background color transparent layer-friendly */
  background-color: rgba(255,255,255,.96) !important;
  background-clip: padding-box !important;
}

/* Re-apply SVGs (some browsers drop previous declaration) */
#pickupInput{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2316a34a' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E") !important;
}

#dropoffInput{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23dc2626' d='M6 2v20h2v-7h9l-2-4 2-4H8V2H6z'/%3E%3C/svg%3E") !important;
}

/* If Chrome autofill hides icons, fix it */
input:-webkit-autofill{
  -webkit-box-shadow: 0 0 0px 1000px rgba(255,255,255,.96) inset !important;
  -webkit-text-fill-color: #0f172a !important;
}

/* If your "inner card" background is too strong, keep it */
#searchForm .daytrip-row{
  background: rgba(255,255,255,.74) !important;
}
@media (max-width: 700px){
  .hero-benefits span{
    background: #ffffff !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    color: #0f172a !important;
  }
}
/* MOBILE STICKY CTA */
@media (max-width:700px){
  .mobile-book-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    background:#fff;
    padding:10px 14px;
    box-shadow:0 -8px 24px rgba(0,0,0,.15);
  }

  .mobile-book-bar button{
    width:100%;
    height:52px;
    border:none;
    border-radius:14px;
    font-weight:900;
    font-size:16px;
    background:linear-gradient(135deg,#1976d2,#0d47a1);
    color:#fff;
  }

  body{ padding-bottom:72px; } /* da ne prekrije content */
}
.hero-proof{
  margin-top:10px;
  text-align:center;
  font-weight:700;
  color:rgba(255,255,255,.9);
  font-size:14px;
}

@media(max-width:700px){
  .hero-proof{ color:#0f172a; }
}
#searchBtn{
  transition: all .18s ease;
}

#searchBtn:hover{
  transform: translateY(-2px);
  box-shadow:0 18px 40px rgba(13,71,161,.35);
}
.trust-badges{
  display:flex;
  justify-content:center;
  gap:18px;
  margin-top:10px;
  font-size:13px;
  opacity:.8;
}
/* ===== FINAL PATCH ===== */

/* trust badges readable on hero */
.trust-badges{
  color: rgba(255,255,255,.9);
}
@media (max-width:700px){
  .trust-badges{
    color:#0f172a;
    opacity:.9;
    padding-bottom: 10px;
  }
  .mobile-book-bar{ z-index: 9990; } /* CMP iznad */
}

/* optional: smoother tap */
.mobile-book-bar button{
  -webkit-tap-highlight-color: transparent;
}
/* =========================================================
   BASTA RIDES — PREMIUM COOKIE CMP (FINAL)
   ✔ no scroll lock
   ✔ accept biggest
   ✔ reject visible
   ✔ modern glass style
   ✔ mobile friendly
========================================================= */

/* ---------- overlay (visual only, NOT blocking) ---------- */
#cmp-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.28);
  backdrop-filter: blur(2px);
  pointer-events:none;          /* ključ: ne blokira klik/scroll */
  z-index:9998;
}

/* ---------- wrapper ---------- */
#cmp{
  display:none;
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  padding:12px;
}

#cmp.show,
#cmp-overlay.show{
  display:block;
}

/* ---------- main card ---------- */
#cmp .cmp-box{
  max-width:1050px;
  margin:0 auto;

  background:rgba(255,255,255,.97);
  border:1px solid rgba(15,23,42,.10);

  border-radius:20px;
  padding:18px;

  box-shadow:
    0 -18px 60px rgba(0,0,0,.25),
    0 10px 30px rgba(2,6,23,.08);

  display:flex;
  flex-direction:column;
  gap:14px;
}

/* ---------- layout row ---------- */
#cmp .cmp-left{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

/* ---------- icon ---------- */
#cmp .cmp-icon{
  width:42px;
  height:42px;
  border-radius:14px;

  display:grid;
  place-items:center;

  font-size:20px;

  background:linear-gradient(135deg, rgba(25,118,210,.12), rgba(255,195,0,.18));
  border:1px solid rgba(15,23,42,.08);
}

/* ---------- text ---------- */
#cmp .cmp-title{
  font-weight:950;
  font-size:17px;
  letter-spacing:-0.01em;
  color:#0f172a;
}

#cmp .cmp-text{
  font-size:13px;
  line-height:1.55;
  color:#475569;
  margin-top:4px;
}

#cmp .cmp-text a{
  color:#1976d2;
  font-weight:900;
  text-decoration:underline;
}

/* ---------- toggles ---------- */
#cmp .cmp-toggles{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top:12px;
}

#cmp .cmp-toggle{
  display:flex;
  gap:10px;
  align-items:flex-start;

  padding:10px 12px;

  background:#f8fafc;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;

  cursor:pointer;
  transition:background .15s ease;
}

#cmp .cmp-toggle:hover{
  background:#eef2f7;
}

#cmp .cmp-toggle input{
  width:18px;
  height:18px;
  margin-top:3px;
  accent-color:#1976d2;
}

#cmp .cmp-toggle-text strong{
  display:block;
  font-size:13px;
  color:#0f172a;
}

#cmp .cmp-toggle-text span{
  display:block;
  font-size:12px;
  color:#64748b;
  margin-top:2px;
}

/* =========================================================
   BUTTONS (IMPORTANT PART)
   Accept is biggest & primary
========================================================= */
#cmp .cmp-actions{
  display:flex;
  gap:10px;
  margin-top:6px;
}

/* base */
#cmp .cmp-btn{
  height:48px;
  border:none;
  border-radius:14px;
  font-weight:950;
  cursor:pointer;
  transition: all .18s ease;
}

#cmp .cmp-btn:hover{
  transform:translateY(-1px);
}

/* Reject (secondary but visible) */
#cmp .cmp-btn.reject{
  flex:1;
  background:#ef4444;
  color:#fff;
}

/* Save (neutral) */
#cmp .cmp-btn.save{
  flex:1;
  background:#e5e7eb;
  color:#111827;
}

/* ⭐ ACCEPT (PRIMARY BIGGEST) */
#cmp .cmp-btn.accept{
  flex:1.9;                      /* najšire */
  font-size:16px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;

  box-shadow:0 12px 32px rgba(34,197,94,.35);
}

#cmp .cmp-btn.accept:hover{
  filter:brightness(.98);
}

/* ---------- mobile ---------- */
@media (max-width: 780px){

  #cmp .cmp-toggles{
    grid-template-columns:1fr;
  }

  #cmp .cmp-actions{
    flex-direction:column;
  }

  #cmp .cmp-btn{
    width:100%;
    flex:none;
  }
}

/* ---------- subtle appear animation ---------- */
#cmp.show .cmp-box{
  animation:cmpSlideUp .25s ease;
}

@keyframes cmpSlideUp{
  from{
    transform:translateY(20px);
    opacity:0;
  }
  to{
    transform:none;
    opacity:1;
  }
}

/* =================================================
   PREMIUM TRUST BADGES (Basta Rides)
================================================= */

.trust-strip{
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  padding:18px 12px 20px;
  border-bottom:1px solid #e5e7eb;
}

/* container */
.trust-badges{
  max-width:1100px;
  margin:0 auto;

  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

/* each badge */
.trust-item{
  display:flex;
  align-items:center;
  gap:10px;

  padding:10px 16px;

  font-weight:800;
  font-size:14px;
  color:#0f172a;

  background:rgba(255,255,255,.85);
  border:1px solid rgba(15,23,42,.08);

  border-radius:999px;

  box-shadow:
    0 6px 18px rgba(2,6,23,.06),
    0 2px 6px rgba(2,6,23,.04);

  transition:all .18s ease;
}

/* hover premium effect */
.trust-item:hover{
  transform:translateY(-2px);
  box-shadow:
    0 10px 28px rgba(2,6,23,.10),
    0 4px 10px rgba(2,6,23,.06);
}

/* icon bubble */
.trust-icon{
  width:26px;
  height:26px;

  display:grid;
  place-items:center;

  border-radius:8px;

  font-size:14px;

  background:linear-gradient(135deg,#1976d2,#0d47a1);
  color:#fff;

  flex-shrink:0;
}

/* mobile */
@media (max-width:640px){
  .trust-badges{
    gap:10px;
  }

  .trust-item{
    width:100%;
    justify-content:center;
    font-size:13px;
  }
}
/* =================================================
   FLOATING WHATSAPP (Premium)
================================================= */
.chat-float{
  position:fixed;
  right:16px;
  bottom:18px;
  z-index:9997; /* ispod CMP (9999) i ispod nekih modala */
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* avoid covering your mobile sticky bar if it exists */
@media (max-width:700px){
  .chat-float{ bottom:92px; } /* sticky bar ~72px + margin */
}

.chat-float-btn{
  display:flex;
  align-items:center;
  gap:10px;

  padding:12px 14px;
  border-radius:999px;

  color:#fff;
  text-decoration:none;
  font-weight:950;
  font-size:14px;

  box-shadow:0 14px 34px rgba(2,6,23,.18);
  transform:translateY(0);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.chat-float-btn:hover{
  transform:translateY(-2px);
  filter:brightness(.98);
  box-shadow:0 18px 44px rgba(2,6,23,.22);
}

.chat-float-btn .chat-ic{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-size:16px;
}

.chat-float-btn .chat-txt{
  white-space:nowrap;
  letter-spacing:.1px;
}

/* WhatsApp style */
.chat-float-btn.wa{
  background:linear-gradient(135deg,#25D366,#128C7E);
}

/* Viber style (optional) */
.chat-float-btn.vb{
  background:linear-gradient(135deg,#7C3AED,#5B21B6);
}

/* Mobile: icon-only pill to keep it clean */
@media (max-width:520px){
  .chat-float-btn{
    padding:12px;
    width:52px;
    height:52px;
    border-radius:18px;
    justify-content:center;
  }
  .chat-float-btn .chat-txt{ display:none; }
  .chat-float-btn .chat-ic{
    width:28px;height:28px;border-radius:12px;
  }
}

/* Optional subtle attention animation (once in a while feeling) */
@media (prefers-reduced-motion: no-preference){
  .chat-float-btn.wa{
    animation: waPop 4.8s ease-in-out infinite;
  }
  @keyframes waPop{
    0%, 86%, 100% { transform: translateY(0); }
    90% { transform: translateY(-3px); }
    94% { transform: translateY(0); }
    97% { transform: translateY(-2px); }
  }
}
/* =========================================================
   BASTA RIDES — PREMIUM FINAL PATCH (override everything)
   - Outline form icons (metallic)
   - Premium trust badges (always visible)
   - Floating WhatsApp/Viber
========================================================= */

/* -----------------------------
   1) FORM ICONS: OUTLINE METALLIC
------------------------------ */

/* kill any old colorful fill icons */
#pickupInput,
#dropoffInput,
#searchForm .date-wrap,
#passengersLuggageBtn{
  background-repeat:no-repeat !important;
  background-position:14px 50% !important;
  background-size:18px 18px !important;
  padding-left:46px !important;
  filter:contrast(.96) brightness(.96);
}

/* pickup pin outline */
#pickupInput{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-7.5 7-12a7 7 0 1 0-14 0c0 4.5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E") !important;
}

/* dropoff flag outline */
#dropoffInput{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v18'/%3E%3Cpath d='M6 4h11l-2.5 4L17 12H6'/%3E%3C/svg%3E") !important;
}

/* calendar outline */
#searchForm .date-wrap{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
}

/* passengers outline */
#passengersLuggageBtn{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c2.5-4 13.5-4 16 0'/%3E%3C/svg%3E") !important;
}

/* nicer focus */
#pickupInput:focus,
#dropoffInput:focus,
#searchForm .date-wrap:focus-within,
#passengersLuggageBtn:focus{
  border-color: rgba(25,118,210,.55) !important;
  box-shadow: 0 0 0 4px rgba(25,118,210,.14), 0 12px 26px rgba(15,23,42,.10) !important;
}

/* mobile sizing */
@media (max-width:640px){
  #pickupInput,
  #dropoffInput,
  #searchForm .date-wrap,
  #passengersLuggageBtn{
    background-size:17px 17px !important;
    padding-left:42px !important;
  }
}

/* -----------------------------
   2) TRUST BADGES: PREMIUM + VISIBLE
   (fix: your previous trust-badges were low opacity + wrong color)
------------------------------ */

.trust-badges{
  position:relative;
  z-index:4;
  max-width:1100px;
  margin:12px auto 0;
  padding:0 16px;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  opacity:1 !important; /* override your old opacity:.8 */
}

/* each pill */
.trust-badges .trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;

  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);

  box-shadow: 0 10px 22px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  font-weight:900;
  font-size:13px;
}

/* icon bubble */
.trust-badges .trust-ic{
  width:28px;
  height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;

  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.20);
}

/* outline svg icons */
.trust-badges .trust-ic svg{
  width:18px;
  height:18px;
  stroke: rgba(255,255,255,.92);
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* on mobile / non-hero backgrounds */
@media (max-width:700px){
  .trust-badges{
    margin-top:10px;
  }
  .trust-badges .trust-item{
    width:100%;
    justify-content:center;
    background:#fff;
    border:1px solid rgba(15,23,42,.10);
    color:#0f172a;
    box-shadow:0 10px 26px rgba(15,23,42,.08);
    backdrop-filter:none;
  }
  .trust-badges .trust-ic{
    background: rgba(25,118,210,.08);
    border:1px solid rgba(25,118,210,.15);
  }
  .trust-badges .trust-ic svg{
    stroke:#1976d2;
  }
}

/* -----------------------------
   3) FLOATING WHATSAPP/VIBER (premium)
------------------------------ */

.chat-float{
  position:fixed;
  right:16px;
  bottom:18px;
  z-index:9997; /* under CMP (9999), above content */
  display:flex;
  flex-direction:column;
  gap:10px;
}

@media (max-width:700px){
  .chat-float{ bottom:92px; } /* above mobile sticky bar */
}

.chat-float a{
  display:flex;
  align-items:center;
  gap:10px;

  padding:12px 14px;
  border-radius:999px;

  color:#fff;
  text-decoration:none;
  font-weight:950;
  font-size:14px;

  box-shadow:0 14px 34px rgba(2,6,23,.18);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.chat-float a:hover{
  transform:translateY(-2px);
  filter:brightness(.98);
  box-shadow:0 18px 44px rgba(2,6,23,.22);
}

.chat-float .ic{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
}

.chat-float .wa{ background:linear-gradient(135deg,#25D366,#128C7E); }
.chat-float .vb{ background:linear-gradient(135deg,#7C3AED,#5B21B6); }

@media (max-width:520px){
  .chat-float a{
    padding:12px;
    width:52px;
    height:52px;
    border-radius:18px;
    justify-content:center;
  }
  .chat-float a .txt{ display:none; }
  .chat-float .ic{ width:28px;height:28px;border-radius:12px; }
}
/* =========================
   PREMIUM HERO META (benefits + proof + trust)
========================= */
.hero-meta{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* --- benefits chips (premium, single line) --- */
.hero-benefits{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0 !important;
}
.hero-benefits span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;

  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.hero-benefits span::before{
  content:"✓";
  font-weight:950;
  opacity:.95;
}

/* --- proof line (clean) --- */
.hero-proof{
  margin:0 !important;
  text-align:center;
  font-weight:800;
  font-size:13px;
  color:rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.hero-proof .hp-star{
  color:var(--accent);
  font-size:14px;
  transform: translateY(-1px);
}
.hero-proof .hp-dot{
  opacity:.65;
}

/* --- trust badges (premium mini cards) --- */
.trust-badges{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:2px 0 0 !important;
  opacity:1 !important;
}

.trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;

  font-weight:900;
  font-size:13px;
  color:rgba(255,255,255,.92);

  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 22px rgba(0,0,0,.12);

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.trust-ic{
  width:30px;
  height:30px;
  border-radius:12px;
  display:grid;
  place-items:center;

  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  flex-shrink:0;
}
.trust-ic svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:rgba(255,255,255,.92);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Desktop: drži u jednom redu kad može */
@media (min-width: 980px){
  .trust-badges{ flex-wrap:nowrap; }
}

/* Mobile: prebacuje u 1 kolonu i postaje čitljivo */
@media (max-width:700px){
  .hero-proof{ color:#0f172a; }
  .hero-benefits span{
    color:#0f172a;
    background:#fff;
    border:1px solid rgba(15,23,42,.10);
    box-shadow:0 10px 22px rgba(2,6,23,.06);
  }
  .trust-item{
    width:100%;
    justify-content:center;

    color:#0f172a;
    background:#fff;
    border:1px solid rgba(15,23,42,.10);
    box-shadow:0 10px 22px rgba(2,6,23,.06);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .trust-ic{
    background:#f1f5f9;
    border:1px solid rgba(15,23,42,.10);
  }
  .trust-ic svg{ stroke:#0f172a; }
}
/* ==============================
   ULTRA MINIMAL TRUST (SaaS style)
============================== */

.trust-minimal{
  margin-top:16px;
  text-align:center;
}

/* social proof line */
.trust-proof{
  font-weight:800;
  font-size:14px;
  color:rgba(255,255,255,.92);
  margin-bottom:10px;
  letter-spacing:.2px;
}

/* row */
.trust-row{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

/* chips */
.trust-chip{
  display:flex;
  align-items:center;
  gap:8px;

  padding:8px 14px;

  font-size:13px;
  font-weight:800;

  color:rgba(255,255,255,.92);

  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);

  border-radius:999px;

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  transition:all .15s ease;
}

.trust-chip:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.18);
}

/* icons */
.trust-chip svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  flex-shrink:0;
}

/* mobile */
@media(max-width:640px){
  .trust-chip{
    width:100%;
    justify-content:center;
  }
}

/* if section is white instead of hero */
@media(max-width:700px){
  .trust-proof{ color:#0f172a; }
  .trust-chip{
    color:#0f172a;
    background:#fff;
    border:1px solid rgba(15,23,42,.10);
  }
} da li treba da sredjuejm css
/* =========================================================
   CMP (Cookie banner) – base
========================================================= */

#cmp-overlay{
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.55);
  backdrop-filter: blur(2px);
  z-index:2147483600;
  display:none;
}

#cmp{
  position:fixed;
  left:0;
  right:0;
  bottom:18px;
  z-index:2147483601;
  display:none;
  padding:0 14px;
}

#cmp.show{ display:block; }
#cmp-overlay.show{ display:block; }

/* Banner box */
#cmp .cmp-box{
  max-width:1100px;
  margin:0 auto;
  background:#0b1220;
  color:#e8eef7;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  padding:16px 16px;
  display:flex;
  gap:14px;
  align-items:flex-start;
  justify-content:space-between;
}

#cmp .cmp-left{
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-width:0;
}

#cmp .cmp-icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  flex:0 0 40px;
  font-size:18px;
}

#cmp .cmp-copy{ min-width:0; }

#cmp .cmp-title{
  font-weight:950;
  letter-spacing:.2px;
  font-size:16px;
  margin:0 0 6px;
}

#cmp .cmp-text{
  font-size:13px;
  line-height:1.45;
  opacity:.92;
  margin-bottom:10px;
}

#cmp .cmp-text a{
  color:#4ea6ff;
  text-decoration:none;
  font-weight:800;
}
#cmp .cmp-text a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Toggles */
#cmp .cmp-toggles{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}

#cmp .cmp-toggle{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

#cmp .cmp-toggle input{
  margin-top:3px;
  width:18px;
  height:18px;
}

#cmp .cmp-toggle-text strong{
  display:block;
  font-size:13px;
  font-weight:900;
  margin-bottom:2px;
}

#cmp .cmp-toggle-text span{
  display:block;
  font-size:12px;
  opacity:.85;
  line-height:1.35;
}

/* =========================================================
   BUTTONS (IMPORTANT PART)
   Accept is biggest & primary
========================================================= */
#cmp .cmp-actions{
  display:flex;
  gap:10px;
  margin-top:6px;
  align-self:stretch;
  align-items:stretch;
}

/* base */
#cmp .cmp-btn{
  height:48px;
  border:none;
  border-radius:14px;
  font-weight:950;
  cursor:pointer;
  transition: all .18s ease;
  padding:0 14px;
}

#cmp .cmp-btn:hover{
  transform:translateY(-1px);
}

/* Reject (secondary but visible) */
#cmp .cmp-btn.reject{
  flex:1;
  background:#ef4444;
  color:#fff;
}

/* Save (neutral) */
#cmp .cmp-btn.save{
  flex:1;
  background:#e5e7eb;
  color:#111827;
}

/* ⭐ ACCEPT (PRIMARY BIGGEST) */
#cmp .cmp-btn.accept{
  flex:1.9;                      /* najšire */
  font-size:16px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  box-shadow:0 12px 32px rgba(34,197,94,.35);
}

#cmp .cmp-btn.accept:hover{
  filter:brightness(.98);
}

/* ---------- mobile ---------- */
@media (max-width: 780px){
  #cmp{
    bottom:12px;
    padding:0 10px;
  }
  #cmp .cmp-box{
    flex-direction:column;
    gap:12px;
  }

  #cmp .cmp-toggles{
    grid-template-columns:1fr;
  }

  #cmp .cmp-actions{
    flex-direction:column;
  }

  #cmp .cmp-btn{
    width:100%;
    flex:none;
  }
}

/* ---------- subtle appear animation ---------- */
#cmp.show .cmp-box{
  animation:cmpSlideUp .25s ease;
}

@keyframes cmpSlideUp{
  from{ transform:translateY(20px); opacity:0; }
  to{ transform:none; opacity:1; }
}
