/* Klinikë Fizioterapie — Kristi Bylykbashi
   Drejtimi vizual: editorial / i shtypur. Pa gradient, pa hije, pa karta.
   Letër e ngrohtë, bojë, vija flokëzuese 1px dhe një theks i vetëm.

   HAPËSIRAT: çdo margjinë dhe mbushje vjen nga shkalla --sp-1 … --sp-8 më poshtë.
   Mos shkruaj vlera rem të lira dhe mos vendos margjina inline në HTML —
   përdor klasat .stack / .stack-lg. Kjo e mban ritmin vertikal të njëtrajtshëm. */

:root{
  /* Ngjyrat */
  --paper:#f6f3ec;
  --paper-deep:#eee8dc;
  --ink:#191714;
  --ink-soft:#5a5348;
  --ink-faint:#8a8175;
  --rule:#d8d0c0;
  --rule-dark:#b6ab95;
  --accent:#24523a;
  --wa:#25d366;

  /* Shkronjat */
  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;

  /* Shkalla e hapësirave — bazë 4px */
  --sp-1:.25rem;
  --sp-2:.5rem;
  --sp-3:.75rem;
  --sp-4:1rem;
  --sp-5:1.5rem;
  --sp-6:2rem;
  --sp-7:2.75rem;
  --sp-8:4rem;
  --sp-sec:clamp(2.75rem,6vw,4.25rem);   /* mbushja lart e poshtë e çdo seksioni */
  --sp-gut:clamp(2rem,5vw,4.5rem);       /* hapësira mes dy kolonave */

  /* Gjerësitë */
  --measure:38rem;        /* çdo tekst i vazhduar */
  --measure-lede:36rem;   /* hyrja, që del me shkronjë më të madhe */
  --wrap:72rem;
  --col-a:15.5rem;
  --ease:cubic-bezier(.2,.7,.3,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.62;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}

a{
  color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-decoration-color:var(--rule-dark);
  text-underline-offset:.2em;
  transition:text-decoration-color .22s var(--ease),color .22s var(--ease);
}
a:hover{color:var(--accent);text-decoration-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--sp-5)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--sp-4);top:var(--sp-4);z-index:99;background:var(--ink);color:var(--paper);padding:var(--sp-3) var(--sp-4);text-decoration:none}

/* Ndarëset e vetme vertikale: .stack pas tekstit, .stack-lg para një butoni */
.stack{margin-top:var(--sp-5)}
.stack-lg{margin-top:var(--sp-6)}

/* ── Titujt ─────────────────────────────────────────────── */
h1,h2{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.018em;
  margin:0;
  text-wrap:balance;
}
h1{font-size:clamp(2.15rem,5.4vw,3.35rem);line-height:1.07}
h2{font-size:clamp(1.5rem,3.1vw,2.05rem);line-height:1.15}
h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;letter-spacing:-.005em;margin:0}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
.measure,.bio p,.tarifa p,.hapa p,.qa dd{max-width:var(--measure)}
.lede{font-size:1.14rem;line-height:1.55;color:var(--ink-soft);max-width:var(--measure-lede)}
.muted{color:var(--ink-soft)}

/* ── Koka e faqes ───────────────────────────────────────── */
.masthead{border-bottom:1px solid var(--rule)}
.masthead .wrap{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--sp-4) var(--sp-5);flex-wrap:wrap;
  padding-top:var(--sp-4);padding-bottom:var(--sp-4);
}
.wordmark{text-decoration:none;line-height:1.1}
.wordmark b{
  display:block;font-family:var(--serif);font-weight:500;
  font-size:1.42rem;letter-spacing:-.02em;
}
.wordmark span{
  display:block;font-size:.78rem;color:var(--ink-faint);
  letter-spacing:.07em;text-transform:uppercase;margin-top:var(--sp-1);
}
.masthead nav{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}
.masthead nav a{
  font-size:.93rem;text-decoration:none;color:var(--ink-soft);
  border-bottom:1px solid transparent;padding-bottom:2px;
  transition:border-color .22s var(--ease),color .22s var(--ease);
}
.masthead nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.masthead nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--rule-dark)}

/* Nën ~46rem navigimi nuk rri dot krah emrit — paloset në menu. */
@media(max-width:46rem){
  .masthead .wrap{align-items:center}
  .js .menu-btn{display:inline-flex}
  .js .masthead nav{
    display:none;flex:0 0 100%;
    flex-direction:column;align-items:stretch;gap:0;
    margin-top:var(--sp-3);border-top:1px solid var(--rule);
  }
  .js .masthead nav[data-open]{display:flex}
  .js .masthead nav a{padding:var(--sp-3) 0;font-size:1rem;border-bottom:1px solid var(--rule)}
  .js .masthead nav a:hover,
  .js .masthead nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--rule)}
  .js .masthead nav .nav-wa{font-size:1.3rem;padding:var(--sp-4) 0 var(--sp-3);border-bottom:0}
}

/* Shiriti i njoftimit */
.strip{background:var(--accent);color:#eef2ea}
.strip .wrap{padding-top:var(--sp-2);padding-bottom:var(--sp-2);font-size:.885rem}
.strip b{font-weight:600;color:#fff}

/* ── Rreshti editorial: kolonë e ngushtë + përmbajtje ─────
   Titulli dhe teksti nisin në të njëjtën vijë lart; kapitalet e
   Newsreader-it dhe të Plex-it bien optikisht brenda 1px të njëra-tjetrës. */
section{border-top:1px solid var(--rule);padding:var(--sp-sec) 0}
.row{display:grid;gap:var(--sp-5)}
.row > .col-a{align-self:start}
@media(min-width:900px){
  .row{grid-template-columns:var(--col-a) minmax(0,1fr);gap:var(--sp-gut)}
}

/* ── Hyrja ──────────────────────────────────────────────── */
.opener{padding:clamp(3rem,7vw,5rem) 0 var(--sp-sec)}
.opener h1{max-width:19ch}
.opener .lede{margin-top:var(--sp-5)}
/* Teksti majtas, fotoja djathtas; rreshti i të dhënave zë të dyja kolonat. */
.opener-grid{display:grid;gap:var(--sp-6)}
.opener-grid .factline{grid-column:1/-1;margin-top:0}
.opener-fig{margin:0}
.opener-fig img{width:100%;height:auto;border:1px solid var(--rule)}
@media(min-width:900px){
  .opener-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,24rem);
    gap:var(--sp-7) var(--sp-gut);
    align-items:start;
  }
}
.actions{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-6)}
.factline{
  margin-top:var(--sp-7);padding-top:var(--sp-4);border-top:1px solid var(--rule);
  display:flex;gap:var(--sp-5) var(--sp-7);flex-wrap:wrap;
  font-size:.9rem;color:var(--ink-soft);
}
.factline span{display:block}
.factline b{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--ink);font-weight:500}

/* ── Butonat: një veprim parësor, i qartë ───────────────── */
.btn{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  background:var(--ink);color:var(--paper);
  padding:var(--sp-3) var(--sp-5);border-radius:2px;
  font-size:.98rem;font-weight:500;text-decoration:none;
  transition:background-color .25s var(--ease);
}
.btn:hover{background:var(--accent);color:var(--paper)}
.btn svg{flex:none}
.btn-sm{padding:var(--sp-2) var(--sp-4);font-size:.88rem}
/* Koka nuk ka buton fare — numri është vetë veprimi, si te çdo faqe
   biznesi lokal. Asnjë kuti në një kokë që përndryshe është vetëm tekst. */
.nav-wa{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  font-family:var(--serif);font-size:1.1rem;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:.01em;text-decoration:none;
  border-bottom:1px solid var(--rule-dark);padding-bottom:2px;
  transition:border-color .22s var(--ease),color .22s var(--ease);
}
.nav-wa svg{color:var(--accent);flex:none}
.nav-wa:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* Butoni i menusë: tekst + tri vija flokëzuese, jo ikonë në kuti — e njëjta
   gjuhë si pjesa tjetër e kokës. Shfaqet vetëm nëse JS punon (klasa .js),
   që pa JS navigimi të mbetet i dukshëm. */
.menu-btn{
  display:none;align-items:center;gap:var(--sp-2);
  background:none;border:0;border-bottom:1px solid var(--rule-dark);
  padding:0 0 2px;cursor:pointer;
  font-family:var(--sans);font-size:.93rem;color:var(--ink-soft);
  transition:color .22s var(--ease),border-color .22s var(--ease);
}
.menu-btn:hover{color:var(--ink);border-bottom-color:var(--ink)}
.menu-btn[aria-expanded="false"] .lbl-close{display:none}
.menu-btn[aria-expanded="true"] .lbl-open{display:none}
.menu-btn .bars{position:relative;display:block;width:1.05rem;height:1px;background:currentColor}
.menu-btn .bars::before,.menu-btn .bars::after{
  content:"";position:absolute;left:0;width:1.05rem;height:1px;background:currentColor;
  transition:transform .2s var(--ease),top .2s var(--ease);
}
.menu-btn .bars::before{top:-5px}
.menu-btn .bars::after{top:5px}
.menu-btn[aria-expanded="true"] .bars{background:transparent}
.menu-btn[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
.link-alt{
  font-size:.96rem;color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid var(--rule-dark);padding-bottom:2px;
  transition:border-color .22s var(--ease),color .22s var(--ease);
}
.link-alt:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ── Tarifat — i vetmi seksion me sfond tjetër ────────────
   Çmimi është informacioni vendimtar i faqes, prandaj ky seksion
   lexohet si listë tarifash e shtypur, jo si tekst i rrjedhshëm:
   letër më e ngrohtë, pika udhëheqëse nga emri te shuma, shifra jeshile. */
.tarifat{background:var(--paper-deep);border-top-color:var(--rule-dark)}
.tarifat + section{border-top-color:var(--rule-dark)}

.tarifa{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-dark)}
.tarifa li{padding:var(--sp-5) 0;border-bottom:1px solid var(--rule)}
.tarifa li:last-child{border-bottom-color:var(--rule-dark)}
/* Pikat: një element bosh me flex:1 rreshtohet mbi baseline-in e përbashkët. */
.tarifa .head{display:flex;align-items:baseline;gap:var(--sp-3)}
.tarifa .dots{flex:1 1 var(--sp-6);min-width:var(--sp-5);border-bottom:1px dotted var(--rule-dark)}
.tarifa h3{flex:none}
.tarifa .val{
  flex:none;font-family:var(--serif);font-size:1.45rem;color:var(--accent);
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.tarifa .val i{font-style:normal;font-family:var(--sans);font-size:.8rem;color:var(--ink-faint)}
.tarifa p{margin:var(--sp-2) 0 0;color:var(--ink-soft);font-size:.95rem}
.tarifa-note{margin-top:var(--sp-4);font-size:.89rem;color:var(--ink-faint)}

/* ── Hapat — numri rreshtohet në baseline me titullin ───── */
.hapa{list-style:none;counter-reset:h;margin:0;padding:0;border-top:1px solid var(--rule)}
.hapa li{
  counter-increment:h;
  display:grid;grid-template-columns:2.75rem minmax(0,1fr);
  align-items:baseline;padding:var(--sp-5) 0;
  border-bottom:1px solid var(--rule);
}
.hapa li::before{
  content:counter(h,decimal-leading-zero);
  grid-column:1;grid-row:1;
  font-family:var(--serif);font-size:1.15rem;color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.hapa b{grid-column:2;grid-row:1;font-weight:600;font-size:1rem}
.hapa p{grid-column:2;grid-row:2;margin:var(--sp-1) 0 0;color:var(--ink-soft);font-size:.95rem}

/* ── Lista me vizë — dorëzim varës, pa pozicionim absolut ─ */
.dashed{list-style:none;margin:0;padding:0}
.dashed li{
  padding:var(--sp-1) 0 var(--sp-1) 1.35rem;text-indent:-1.35rem;
  color:var(--ink-soft);font-size:.97rem;
}
.dashed li::before{content:"—";color:var(--rule-dark);margin-right:.38rem}
.cols{columns:2;column-gap:var(--sp-6)}
.cols li{break-inside:avoid}
@media(max-width:600px){.cols{columns:1}}

/* Zonat — tekst i thjeshtë */
.zonat{margin:var(--sp-4) 0 0;font-size:.95rem;color:var(--ink-soft);line-height:1.9}
.zonat b{color:var(--ink);font-weight:500}

/* ── Pyetjet ────────────────────────────────────────────── */
.qa{margin:0;border-top:1px solid var(--rule)}
.qa > div{padding:var(--sp-5) 0;border-bottom:1px solid var(--rule)}
.qa dt{font-family:var(--serif);font-size:1.14rem;margin-bottom:var(--sp-1)}
.qa dd{margin:0;color:var(--ink-soft);font-size:.96rem}

/* ── Blloku i kontaktit ─────────────────────────────────── */
.kontakt{background:var(--ink);color:var(--paper);border-top:0}
.kontakt h2{color:var(--paper)}
.kontakt p{color:#c3bdb1}
.kontakt .btn{background:var(--wa);color:#0b2a17}
.kontakt .btn:hover{background:#4ee089;color:#0b2a17}
.kontakt .tel{
  display:block;width:fit-content;
  margin:var(--sp-5) 0 var(--sp-6);
  font-family:var(--serif);font-size:2rem;color:var(--paper);
  text-decoration:none;font-variant-numeric:tabular-nums;letter-spacing:.01em;
  border-bottom:1px solid #4a443b;transition:border-color .22s var(--ease);
}
.kontakt .tel:hover{color:var(--paper);border-bottom-color:var(--paper)}

/* ── Biografia ──────────────────────────────────────────── */
.bio p{color:var(--ink-soft)}
.bio h2{margin:var(--sp-7) 0 var(--sp-3)}
.bio > h2:first-child{margin-top:0}
.portret{
  width:100%;max-width:var(--col-a);aspect-ratio:4/5;background:var(--paper-deep);
  border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:3.6rem;color:var(--rule-dark);letter-spacing:.02em;
}
.portret-cap{
  font-size:.83rem;color:var(--ink-faint);line-height:1.45;
  margin-top:var(--sp-3);max-width:var(--col-a);
}
.cv{list-style:none;margin:var(--sp-5) 0 0;padding:0;border-top:1px solid var(--rule)}
.cv li{padding:var(--sp-4) 0;border-bottom:1px solid var(--rule)}
.cv b{display:block;font-weight:600;font-size:.99rem}
.cv span{display:block;font-size:.92rem;color:var(--ink-soft);margin-top:var(--sp-1)}

/* ── Harta e faqes ──────────────────────────────────────── */
.sitemap h2{margin:var(--sp-7) 0 var(--sp-3);font-size:1.35rem}
.sitemap ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.sitemap > ul > li{padding:var(--sp-4) 0;border-bottom:1px solid var(--rule)}
.sitemap > ul > li > a{font-size:1.06rem;text-decoration:none;border-bottom:1px solid var(--rule-dark);padding-bottom:1px}
.sitemap small{display:block;color:var(--ink-faint);font-size:.89rem;margin-top:var(--sp-1)}
.sitemap ul ul{border-top:0;margin-top:var(--sp-3);columns:2;column-gap:var(--sp-6)}
.sitemap ul ul li{border-bottom:0;padding:var(--sp-1) 0;break-inside:avoid}
.sitemap ul ul a{
  font-size:.93rem;color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .22s var(--ease),color .22s var(--ease);
}
.sitemap ul ul a:hover{color:var(--ink);border-bottom-color:var(--rule-dark)}
@media(max-width:600px){.sitemap ul ul{columns:1}}

/* ── Fundi ──────────────────────────────────────────────── */
.colophon{border-top:1px solid var(--rule-dark);padding:var(--sp-7) 0 var(--sp-6);font-size:.91rem}
.colophon p{margin:0}
.colophon .grid{display:grid;gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
/* Etiketa kolonash, jo tituj dokumenti — prandaj <p>, që të mos krijohet
   kërcim h2->h4 në hierarkinë e faqes. */
.colophon .fh{
  font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-faint);margin:0 0 var(--sp-3);font-weight:600;
}
.colophon ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-1)}
.colophon a{
  text-decoration:none;color:var(--ink-soft);
  border-bottom:1px solid transparent;
  transition:border-color .22s var(--ease),color .22s var(--ease);
}
.colophon a:hover{color:var(--ink);border-bottom-color:var(--rule-dark)}
.colophon .foot{
  margin-top:var(--sp-7);padding-top:var(--sp-4);border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;
  color:var(--ink-faint);font-size:.85rem;
}

/* ── WhatsApp fluturues, vetëm në celular ───────────────── */
.wa{
  position:fixed;right:var(--sp-4);bottom:var(--sp-4);z-index:60;
  width:3.25rem;height:3.25rem;border-radius:50%;background:var(--wa);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(25,23,20,.2);
}
@media(min-width:900px){.wa{display:none}}
@media(max-width:899px){.colophon{padding-bottom:var(--sp-8)}}

@media(max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 var(--sp-4)}
  .actions{gap:var(--sp-4)}
  /* Fotoja katrore do të zinte një ekran të tërë — pritet në 4:3. */
  .opener-fig img{aspect-ratio:4/3;object-fit:cover;object-position:50% 45%}
}
/* Nën ~34rem emri i shërbimit dhe çmimi nuk rrinë dot në një rresht. */
@media(max-width:34rem){
  .tarifa .head{flex-wrap:wrap;gap:0}
  .tarifa .dots{display:none}
  .tarifa .val{flex:1 0 100%;margin-top:var(--sp-1);font-size:1.35rem}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important}
}
