/* ===== Design tokens (shared across the whole site) ===== */
:root{
  --coral:#c06b78;
  --coral-dark:#8c3f4d;
  --coral-light:#f0cbcd;
  --coral-soft:#fbebec;
  --teal:#4a3020;
  --teal-light:#7a5038;
  --ink:#3a2a20;
  --bg:#ffffff;
  --cream:#fbf3ec;
  --card:#ffffff;
  --line:#ede1d8;
  --line-soft:#f5ece3;
  --text:#3a2a20;
  --muted:#96877a;
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(74,48,32,.06);
  --shadow-md:0 8px 24px -8px rgba(74,48,32,.18);
  --shadow-lg:0 24px 64px -16px rgba(74,48,32,.28);
  --ease:cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Rubik',sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;}
::selection{background:var(--coral-light);color:var(--coral-dark);}

/* ===== Top nav (shared) ===== */
.site-nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 32px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-nav .brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--teal);font-size:17px;}
.site-nav .brand .dot{width:10px;height:10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px var(--coral-light);}
.site-nav .nav-links{display:flex;align-items:center;gap:8px;}
.site-nav .nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:999px;
  background:var(--teal);color:#fff;font-weight:700;font-size:13.5px;
  transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease);
  box-shadow:var(--shadow-sm);
}
.site-nav .nav-cta:hover{background:var(--coral);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.site-nav .nav-ghost{color:var(--muted);font-size:13.5px;font-weight:600;padding:9px 12px;border-radius:999px;transition:color .15s,background .15s;}
.site-nav .nav-ghost:hover{color:var(--teal);background:var(--line-soft);}

/* ===== Buttons (shared) ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;text-align:center;padding:13px 18px;border-radius:12px;border:none;
  font-weight:700;font-size:14.5px;cursor:pointer;font-family:inherit;
  transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease),opacity .16s var(--ease);
}
.btn:active{transform:scale(.98);}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.btn-primary{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;box-shadow:0 10px 24px -8px rgba(140,63,77,.55);}
.btn-primary:hover:not(:disabled){box-shadow:0 14px 30px -8px rgba(140,63,77,.65);transform:translateY(-1px);}
.btn-teal{background:var(--teal);color:#fff;box-shadow:0 10px 24px -8px rgba(74,48,32,.45);}
.btn-teal:hover:not(:disabled){background:var(--teal-light);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line);}
.btn-ghost:hover:not(:disabled){background:var(--line-soft);color:var(--text);}
.btn-whatsapp{background:#25D366;color:#fff;box-shadow:0 10px 24px -8px rgba(37,211,102,.5);}
.btn-whatsapp:hover:not(:disabled){background:#1ebe59;transform:translateY(-1px);}
.btn-sm{width:auto;padding:9px 16px;font-size:13px;border-radius:10px;}

/* ===== Cards ===== */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}

/* ===== Inputs ===== */
.input, input[type=text], input[type=email], input[type=password], input[type=number]{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:11px;
  font-family:inherit;font-size:14.5px;background:#fdf8f4;color:var(--text);
  transition:border-color .15s,box-shadow .15s;
}
.input:focus, input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-light);}
label{font-size:13px;font-weight:600;color:var(--teal);}

/* ===== Toast ===== */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--teal);color:#fff;padding:14px 22px;border-radius:12px;
  font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);
  opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);
  z-index:999;max-width:90vw;text-align:center;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.error{background:var(--coral-dark);}

/* ===== Loader ===== */
.spinner{width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.page-loader{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--muted);gap:10px;font-size:14px;}
.page-loader .spinner{border-color:var(--line);border-top-color:var(--coral);}

/* ===== Scrollbar polish ===== */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;}
::-webkit-scrollbar-thumb:hover{background:#ded0c4;}

@media (max-width:700px){
  .site-nav{padding:14px 18px;}
}
