/* Dentecare — Vanilla CSS (plotëson Tailwind) */
:root{--c-primary:11 58 99;--c-secondary:14 142 160;--c-accent:245 130 32;--c-soft:238 247 253}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans','Inter',sans-serif;letter-spacing:-.01em}
.container-x{width:100%;max-width:1240px;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:1024px){.container-x{padding-inline:2rem}}

/* Header */
.site-header{background:linear-gradient(90deg,rgb(var(--c-primary)),rgb(var(--c-primary)) 55%,rgb(var(--c-secondary)));transition:box-shadow .25s}
.site-header.is-scrolled{box-shadow:0 8px 30px -12px rgba(0,0,0,.45)}
.nav-link{position:relative;padding:.35rem 0;transition:color .2s}
.nav-link:hover{color:#fff}
.nav-link::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:rgb(var(--c-accent));transition:width .25s}
.nav-link:hover::after,.nav-link.is-current::after{width:100%}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.6rem;border-radius:999px;font-weight:600;font-size:.92rem;line-height:1;cursor:pointer;border:2px solid transparent;transition:transform .2s,filter .2s,background .2s,box-shadow .2s}
.btn:focus-visible,.tab:focus-visible,.field:focus-visible{outline:3px solid rgb(var(--c-secondary) / .45);outline-offset:2px}
.btn-accent{background:rgb(var(--c-accent));color:#fff;box-shadow:0 12px 24px -12px rgb(var(--c-accent) / .9)}
.btn-accent:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-primary{background:rgb(var(--c-primary));color:#fff}
.btn-primary:hover{transform:translateY(-2px);background:rgb(var(--c-secondary))}
.btn-navy{background:rgb(var(--c-primary));color:#fff}
.btn-navy:hover{background:rgb(var(--c-secondary))}
.btn[disabled]{opacity:.7;cursor:wait}

/* Hero */
.hero-bg{background:
  radial-gradient(900px 420px at 85% 10%,rgb(var(--c-secondary) / .45),transparent 60%),
  linear-gradient(135deg,rgb(var(--c-primary)) 0%,rgb(var(--c-primary)) 45%,rgb(var(--c-secondary)) 140%)}
.text-gradient{background:linear-gradient(90deg,#7dd3fc,#5eead4);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-frame{border-radius:2rem;padding:.5rem;background:rgba(255,255,255,.12);box-shadow:0 30px 60px -25px rgba(0,0,0,.55)}
.cta-bg{background:linear-gradient(110deg,#1d6fc4,rgb(var(--c-secondary)) 140%)}
.why-bg{background:linear-gradient(120deg,rgb(var(--c-primary)),rgb(var(--c-secondary)))}
.book-bg{background:linear-gradient(150deg,rgb(var(--c-primary)),#0a2f52 60%,rgb(var(--c-secondary)) 160%)}

/* Media placeholders */
.ph{background:linear-gradient(135deg,rgb(var(--c-secondary) / .85),rgb(var(--c-primary) / .9))}
.media-box img{transition:transform .5s ease}
.group:hover .media-box img{transform:scale(1.05)}

/* Cards */
.card-hover{display:block;transition:transform .28s ease,box-shadow .28s ease}
a.card-hover:hover{transform:translateY(-4px);box-shadow:0 22px 40px -22px rgba(11,58,99,.45)}

/* Tabs */
.tab{flex:none;padding:.65rem 1.2rem;border-radius:999px;font-size:.9rem;font-weight:600;color:rgb(var(--c-primary));background:rgb(var(--c-soft));border:1px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap}
.tab:hover{background:#dff0fb}
.tab.is-active{background:rgb(var(--c-primary));color:#fff}
.service-card.is-hidden{display:none}

/* Forms */
.lbl{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:600;color:#475569}
.field{width:100%;padding:.8rem .95rem;border:1.5px solid #dbe4ee;border-radius:.8rem;background:#fff;color:#0f172a;font-size:.95rem;transition:border-color .2s,box-shadow .2s;min-height:48px}
textarea.field{min-height:92px;resize:vertical}
.field:focus{outline:none;border-color:rgb(var(--c-secondary));box-shadow:0 0 0 4px rgb(var(--c-secondary) / .15)}
.field.is-invalid{border-color:#e11d48;box-shadow:0 0 0 4px rgba(225,29,72,.1)}
.form-msg.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.form-msg.err{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}

/* Modal */
.modal{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:0}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(7,31,56,.65);backdrop-filter:blur(3px);animation:fade .2s}
.modal-panel{position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;background:#fff;border-radius:1.5rem 1.5rem 0 0;padding:1.5rem 1.25rem 2rem;animation:rise .28s ease}
@media(min-width:640px){.modal{align-items:center;padding:1.5rem}.modal-panel{border-radius:1.5rem;padding:2rem}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}

.hide-scroll{scrollbar-width:none;-ms-overflow-style:none}
.hide-scroll::-webkit-scrollbar{display:none}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
