:root{
  --brand: #0ea5e9; /* sky */
  --brand-2: #6366f1; /* indigo */
  --text: #0f172a;
  --muted: #475569;
  --bg: #f8fafc;
  --card: #ffffff;
}

/* Base */
*{box-sizing:border-box}
body{
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
a{ text-decoration:none; }
.navbar{ backdrop-filter:saturate(1.2) blur(6px); background:rgba(255,255,255,0.86)!important; }

/* Brand gradient */
.brand-gradient{ background:linear-gradient(90deg,var(--brand),var(--brand-2)); -webkit-background-clip:text; background-clip:text; color:transparent }

/* Buttons */
.btn-brand{ background:linear-gradient(90deg,var(--brand),var(--brand-2)); border:none; color:#fff; box-shadow:0 10px 20px rgba(14,165,233,.12); }
.btn-brand:hover{ filter:brightness(1.03); }

/* Hero */
.hero{ position:relative; border-radius:1rem; background:linear-gradient(135deg,#ffffff,#eef6ff); box-shadow:0 18px 36px rgba(2,6,23,.06); overflow:hidden; }
.hero-bg{ object-fit:cover; width:100%; height:100%; opacity:.12; position:absolute; inset:0; }

/* chips */
.chip{ border:1px solid #e2e8f0; color:var(--muted); padding:.4rem .75rem; border-radius:999px; background:#fff; cursor:pointer; transition:.18s; }
.chip.active, .chip:hover{ border-color:transparent; color:#fff; background:linear-gradient(90deg,var(--brand),var(--brand-2)); box-shadow:0 6px 16px rgba(14,165,233,.15); }

/* Cards */
.card-plan{ border:none; border-radius:1rem; background:var(--card); box-shadow:0 10px 30px rgba(2,6,23,.06); overflow:hidden; display:flex; flex-direction:column; height:100%; }
.card-plan img{ width:100%; height:220px; object-fit:cover; display:block; }
.card-plan .card-body{ padding:16px; display:flex; flex-direction:column; justify-content:space-between; }
.badge-soft{ background:rgba(14,165,233,.08); color:var(--brand); padding:.35rem .6rem; border-radius:8px; }

/* plan blocks */
.plan-location{ color:var(--muted); display:flex; gap:.5rem; align-items:center; }
.plan-price{ display:flex; align-items:center; gap:.65rem; background:#fbfdff; padding:.6rem .75rem; border-radius:.6rem; box-shadow:inset 0 -1px 0 rgba(0,0,0,.02); }

/* small */
.muted{ color:var(--muted); }
.section-title{ font-weight:800; letter-spacing:-.02em; }

/* floating */
.floating-whatsapp{ position:fixed; right:18px; bottom:18px; z-index:1040; display:flex; flex-direction:column; gap:.6rem; }
.floating-whatsapp .btn{ width:56px; height:56px; border-radius:999px; display:grid; place-items:center; box-shadow:0 10px 20px rgba(0,0,0,.15); }

/* Offcanvas */
.offcanvas-cart .list-group-item{ border:none; border-bottom:1px solid #eef2f7; }

/* modal image */
.modal-body img{ max-height:520px; object-fit:contain; }

/* responsive tweaks */
@media (max-width: 576px){
  .card-plan img{ height:160px; }
}
