/* Portal ordinacija (R4 G2): /ordinacije, /ordinacija, /doktori, /doktor, /claim, rezervacija ordinacije i SSR stranice.
   Učitava se poslije /css/grana.css: tokeni, fontovi, izbornik, podnožje, gumbi, FAQ i završni blok dolaze odande. */
:root{
  /* stari nazivi koje koriste style atributi u skriptama portala */
  --muted:var(--sivo);
  --text-soft:var(--sivo);
  --text-med:var(--sivo);
  --text:var(--tinta);
  --white:#fff;
  --gold:var(--teal);
  --gold-dim:var(--teal-tamni);
  --gold-light:var(--teal-blijedi);
  --gold-border:#b6d9d6;
  --zeleno:#1d7148;
  --zeleno-blijedo:#e7f3ec;
  --crveno:#b42318;
  --crveno-blijedo:#fbeceb;
  --sjena:0 18px 40px -26px rgba(23,35,44,.45);
}

/* ─── Gumbi i mrvice za svijetlu podlogu ─── */
.gumb-obrub{background:#fff;border-color:var(--crta-jaka);color:var(--tinta);}
.gumb-obrub:hover{background:#fff;border-color:var(--teal);color:var(--teal-tamni);}
.gumb:disabled{opacity:.5;cursor:not-allowed;}
.mrvice.svijetle{justify-content:flex-start;margin:0 0 18px;color:var(--sivo);}
.mrvice.svijetle a{color:var(--teal);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ─── Mirni hero pretrage (ordinacije, doktori) ─── */
.portal-hero{padding:clamp(24px,3vw,40px) 0 clamp(28px,3.5vw,44px);background:#fff;border-bottom:1px solid var(--crta);}
.portal-hero h1{font-size:clamp(32px,4vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0 0 12px;text-wrap:balance;}
.portal-hero .uvod{max-width:40em;margin:0 0 24px;color:var(--sivo);font-size:clamp(17px,1.4vw,19px);line-height:1.55;}
.trazilica{display:flex;gap:10px;max-width:640px;}
/* Pitanje za vlasnike na prvom ekranu popisa (Web R5 AC-7) */
.portal-hero .vlasnik{margin:12px 0 0;font-size:16px;line-height:1.4;color:var(--sivo);}
.portal-hero .vlasnik a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.trazilica input{flex:1;min-width:0;min-height:52px;padding:0 18px;border:1px solid var(--crta-jaka);border-radius:10px;background:#fff;color:var(--tinta);font-family:inherit;font-size:17px;}
.trazilica input::placeholder{color:var(--sivo);}
.trazilica input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
.trazilica .gumb{min-height:52px;padding:0 26px;}
.portal-tabovi{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;}
.portal-tabovi a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--crta);border-radius:999px;background:var(--toplo);color:var(--sivo);font-size:16px;font-weight:500;}
.portal-tabovi a:hover{border-color:var(--teal);color:var(--tinta);}
.portal-tabovi a[aria-current]{background:var(--tinta);border-color:var(--tinta);color:#fff;}

/* ─── Karta i prekidač popis ili karta ─── */
.karta-dio{padding-top:28px;}
.map-toggle{display:inline-flex;gap:4px;margin:0 0 14px;padding:4px;border:1px solid var(--crta);border-radius:10px;background:#fff;}
.map-toggle-btn{min-height:44px;padding:0 20px;border:0;border-radius:7px;background:transparent;color:var(--sivo);font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;}
.map-toggle-btn:hover{color:var(--tinta);}
.map-toggle-btn.active{background:var(--tinta);color:#fff;}
.map-wrap,.map-container{position:relative;z-index:0;overflow:hidden;border:1px solid var(--crta);background:var(--meko);}
.map-wrap{height:420px;border-radius:14px;}
.map-container{height:220px;border-radius:10px;}
.leaflet-container{font-family:var(--font);}
.leaflet-popup-content{font-size:15px;line-height:1.5;}
.leaflet-popup-content b{color:var(--tinta);font-weight:600;}
.leaflet-popup-content a{display:inline-block;padding:4px 0;color:var(--teal);font-weight:600;}
.leaflet-control-attribution{font-size:11px;}
.karta-oznaka{font-family:var(--font);font-size:12px;font-weight:600;line-height:1.25;color:var(--tinta);text-align:center;white-space:nowrap;pointer-events:none;text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 2px #fff;}
.karta-oznaka span{font-size:11px;color:var(--teal-tamni);}

/* ─── Filtri s prijedlozima ─── */
.directory-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:24px 0 18px;}
.filter-autocomplete{position:relative;}
.filter-input{width:220px;min-height:48px;padding:0 16px;border:1px solid var(--crta-jaka);border-radius:var(--radius);background:#fff;color:var(--tinta);font-family:inherit;font-size:16px;}
.filter-input::placeholder{color:var(--sivo);}
.filter-input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
.filter-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:220px;max-height:288px;overflow-y:auto;background:#fff;border:1px solid var(--crta);border-radius:10px;box-shadow:var(--sjena);z-index:50;}
.filter-dropdown.open{display:block;}
.filter-dropdown-item{display:flex;align-items:center;min-height:44px;padding:0 16px;font-size:16px;cursor:pointer;}
.filter-dropdown-item:hover{background:var(--teal-blijedi);}
.filter-dropdown-item.active{background:var(--teal-blijedi);color:var(--teal-tamni);font-weight:600;}
.filter-count{margin-left:auto;color:var(--sivo);font-size:16px;}

/* ─── Kartice ordinacija i doktora ─── */
.sponsored-section{padding:4px 0 0;}
.sponsored-label,.promoted-label{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0 0 10px;}
.promoted-label{margin:0;}
.directory-grid,.sponsored-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.sponsored-grid{margin-bottom:20px;}
.clinic-card,.clinic-card-sponsored,.doctor-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--crta);border-radius:14px;background:#fff;color:inherit;}
.clinic-card:hover,.clinic-card-sponsored:hover,.doctor-card:hover{border-color:var(--teal);}
.clinic-card-sponsored,.clinic-card-promoted{border-color:var(--gold-border);background:var(--teal-blijedi);}
.clinic-card-unclaimed{border-style:dashed;}
.clinic-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.clinic-card-name{font-size:17px;font-weight:600;line-height:1.35;color:var(--tinta);overflow-wrap:anywhere;}
.clinic-card-rating{flex:none;color:var(--teal-tamni);font-weight:600;font-size:16px;}
.clinic-card-meta{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--sivo);font-size:15px;line-height:1.45;}
.clinic-card-services{color:var(--sivo);font-size:15px;}
.clinic-card-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:30px;margin-top:auto;padding:0 12px;border-radius:999px;background:var(--teal-blijedi);color:var(--teal-tamni);font-size:14px;font-weight:600;}
.clinic-card-sponsored .clinic-card-badge{background:var(--teal);color:#fff;}
.doctor-card{flex-direction:row;align-items:flex-start;gap:14px;}
.doctor-card .doctor-avatar{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--teal-blijedi);color:var(--teal-tamni);font-weight:700;font-size:17px;}
.doctor-info{flex:1;min-width:0;}
.doctor-name{font-size:17px;font-weight:600;line-height:1.35;color:var(--tinta);}
.doctor-card .doctor-specialty{margin-top:2px;color:var(--teal-tamni);font-size:15px;font-weight:500;}
.doctor-card .doctor-meta,.doctor-institution{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:var(--sivo);font-size:15px;line-height:1.45;}
.doctor-card .doctor-meta svg,.doctor-institution svg{flex:none;margin-top:4px;color:var(--teal);}
.loading{padding:48px 16px;text-align:center;color:var(--sivo);font-size:16px;}
.vise{padding:20px 0 56px;text-align:center;}

/* ─── SEO blokovi koje ugradi server (routes/portal-ssr.js) ─── */
.seo-intro{max-width:820px;padding:28px 0 0;}
.seo-intro h2,.seo-faq h2,.seo-ecosystem h2,.seo-links h2{font-size:clamp(24px,2.6vw,30px);font-weight:700;line-height:1.2;letter-spacing:-.015em;margin:0 0 12px;}
.seo-intro p{margin:0 0 14px;color:var(--sivo);}
.seo-services{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;}
.seo-service-tag{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--crta);border-radius:999px;background:#fff;font-size:15px;}
.seo-service-tag svg{flex:none;color:var(--teal);}
.seo-faq,.seo-ecosystem{padding:clamp(40px,4vw,56px) 0 0;}
.seo-links{padding:clamp(40px,4vw,56px) 0;border-top:1px solid var(--crta);}
.seo-faq .faq-list{margin-top:8px;}
.seo-ecosystem{padding-bottom:clamp(40px,4vw,56px);}
.seo-eco-grid,.ecosystem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:12px;}
.seo-eco-card,.eco-card{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid var(--crta);border-radius:14px;background:#fff;color:inherit;}
.seo-eco-card:hover,.eco-card:hover{border-color:var(--teal);}
.seo-eco-title,.eco-card-title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;color:var(--tinta);}
.seo-eco-icon,.eco-icon{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:#fff;font-size:15px;font-weight:700;}
.seo-eco-desc,.eco-card-desc{color:var(--sivo);font-size:15px;line-height:1.55;}
.seo-eco-link,.eco-card-link{margin-top:auto;color:var(--teal);font-size:15px;font-weight:600;}
.seo-links p{color:var(--sivo);font-size:16px;line-height:2;}
.seo-links p + h2{margin-top:28px;}
.seo-links a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}

/* ─── Profil ordinacije i doktora ─── */
.profil-hero{padding:clamp(24px,3vw,40px) 0 clamp(28px,3vw,40px);background:#fff;border-bottom:1px solid var(--crta);}
.profile-hero-inner,.doctor-hero-inner{display:flex;align-items:center;gap:20px;}
.profile-logo,.doctor-hero .doctor-avatar{flex:none;display:flex;align-items:center;justify-content:center;width:76px;height:76px;overflow:hidden;border:1px solid var(--crta);border-radius:14px;background:var(--teal-blijedi);}
.doctor-hero .doctor-avatar{border-radius:50%;color:var(--teal-tamni);font-size:28px;font-weight:700;}
.profile-logo img{width:100%;height:100%;object-fit:cover;}
.profile-logo-placeholder{font-size:30px;font-weight:700;color:var(--teal-tamni);}
.profile-info,.doctor-hero .doctor-info{flex:1;min-width:0;}
.profile-info h1,.doctor-hero h1{font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0 0 8px;text-wrap:balance;overflow-wrap:anywhere;}
.doctor-hero .doctor-specialty{margin:0 0 6px;color:var(--teal-tamni);font-size:18px;font-weight:500;}
.profile-meta,.doctor-hero .doctor-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:var(--sivo);font-size:16px;}
.profile-meta-item,.doctor-meta-item{display:inline-flex;align-items:center;gap:6px;}
.profile-meta-item svg,.doctor-meta-item svg{flex:none;color:var(--teal);}
.profile-rating{display:inline-flex;align-items:center;gap:6px;color:var(--teal-tamni);font-weight:600;}
.profile-cta{flex:none;}
.profile-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;font-size:14px;font-weight:600;}
.badge-claimed{background:var(--zeleno-blijedo);color:var(--zeleno);}
.badge-unclaimed{background:var(--meko);color:var(--sivo);}

.profile-grid,.doctor-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;padding:clamp(28px,3vw,40px) 0 clamp(48px,5vw,72px);}
.profile-main{display:flex;flex-direction:column;}
/* profil doktora bez drugih doktora u gradu: kontakt kartice bez praznog lijevog stupca */
.doctor-grid:not(:has(.related-section[style*="block"])){grid-template-columns:minmax(0,640px);}
.doctor-grid:not(:has(.related-section[style*="block"])) > div:first-child{display:none;}
.profile-sidebar{display:flex;flex-direction:column;gap:16px;}
.section-block{padding:28px 0;border-bottom:1px solid var(--crta);}
.section-block:first-child{padding-top:0;}
.section-block:last-child{border-bottom:none;}
.section-label,.info-card-label,.clinic-link-label{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0 0 14px;}

.services-category{margin-bottom:20px;}
.services-category h3{margin:0 0 10px;font-size:18px;}
.services-list{display:flex;flex-direction:column;gap:6px;}
.service-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--crta);border-radius:var(--radius);background:#fff;}
.service-name{font-size:16px;font-weight:500;}
.service-meta{display:flex;flex:none;align-items:center;gap:14px;}
.service-duration{color:var(--sivo);font-size:15px;}
.service-price{color:var(--teal-tamni);font-weight:600;}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.team-card{overflow:hidden;border:1px solid var(--crta);border-radius:14px;background:#fff;text-align:center;}
.team-photo,.team-photo-placeholder{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--teal-blijedi);}
.team-photo-placeholder{display:flex;align-items:center;justify-content:center;color:var(--teal-tamni);font-size:28px;font-weight:700;}
.team-name{padding:12px;font-size:16px;font-weight:600;}
.reviews-grid{display:flex;flex-direction:column;gap:10px;}
.review-card{padding:18px 20px;border:1px solid var(--crta);border-radius:14px;background:#fff;}
.review-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 6px;}
.review-author{font-weight:600;}
.review-stars{color:var(--teal-tamni);letter-spacing:1px;}
.review-text{color:var(--sivo);font-size:16px;}

.branch-about{color:var(--sivo);}
.branch-about h2{margin:0 0 12px;color:var(--tinta);font-size:clamp(24px,2.6vw,30px);font-weight:700;line-height:1.2;letter-spacing:-.015em;}
.branch-about h3{margin:22px 0 8px;}
.branch-about p{margin:0 0 14px;}
.branch-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;}
.branch-service-tag{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 14px;border:1px solid var(--crta);border-radius:var(--radius);background:#fff;font-size:16px;}
.branch-service-tag svg{flex:none;color:var(--teal);}

/* FAQ profila: gumb otvara odgovor (ordinacija.js), crte i znak kao FAQ u grana.css */
#faqList.faq-list,.seo-faq .faq-list{max-width:none;}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:14px 0;border:0;background:none;color:var(--tinta);font-family:inherit;font-size:inherit;font-weight:600;text-align:left;cursor:pointer;}
.faq-question svg{flex:none;color:var(--sivo);transition:transform .2s;}
.faq-item.open .faq-question svg{transform:rotate(180deg);}
.faq-answer{display:none;padding:0 0 18px;color:var(--sivo);}
.faq-item.open .faq-answer{display:block;}

.similar-grid,.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.similar-card,.related-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--crta);border-radius:14px;background:#fff;}
.similar-card:hover,.related-card:hover{border-color:var(--teal);}
.similar-card-name,.related-card-name{font-weight:600;color:var(--tinta);line-height:1.35;}
.similar-card-meta,.related-card-meta{color:var(--sivo);font-size:15px;}

.sidebar-card,.info-card,.clinic-link-card{padding:20px;border:1px solid var(--crta);border-radius:14px;background:#fff;}
.clinic-link-card{margin-top:16px;}
.sidebar-card h3{margin:0 0 12px;font-size:18px;}
.sidebar-card p{margin:0 0 16px;color:var(--sivo);font-size:16px;}
.info-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:16px;overflow-wrap:anywhere;}
.info-row svg{flex:none;margin-top:4px;color:var(--teal);}
.info-row a,.clinic-link-name a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.clinic-link-name{font-weight:600;}
.map-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:6px;color:var(--teal);font-size:16px;font-weight:600;}
.map-link:hover{text-decoration:underline;text-underline-offset:3px;}
.claim-kartica{border-color:var(--gold-border);background:var(--teal-blijedi);}
.promo-kartica{border-color:var(--teal);background:var(--teal-blijedi);}
.promo-glava{display:flex;align-items:center;gap:10px;margin:0 0 12px;}
.promo-ikona{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--teal);color:#fff;font-weight:700;}
#promotedName{font-weight:700;color:var(--tinta);}
#promotedBadge{color:var(--teal-tamni);font-size:14px;font-weight:600;}
#promotedPhone{display:flex;align-items:center;gap:8px;margin:0 0 12px;}
#promotedPhone svg{color:var(--teal);}
.sidebar-card .gumb{width:100%;}
.kraj .gumb-bijeli{color:var(--teal-tamni);}

/* ─── Preuzimanje profila i rezervacija ─── */
.uski{max-width:560px;margin:0 auto;padding:clamp(28px,4vw,48px) var(--rub) clamp(48px,5vw,72px);}
.forma-kartica{padding:clamp(20px,3vw,32px);border:1px solid var(--crta);border-radius:16px;background:#fff;}
.forma-glava{margin:0 0 24px;}
.forma-glava h1{font-size:clamp(28px,3.4vw,38px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0 0 8px;text-wrap:balance;}
.forma-glava p{color:var(--sivo);}
.claim-clinic{margin:0 0 20px;padding:16px 18px;border:1px solid var(--gold-border);border-radius:var(--radius-velik);background:var(--teal-blijedi);}
.claim-clinic-name{font-weight:600;font-size:17px;}
.claim-clinic-meta{margin-top:2px;color:var(--sivo);font-size:15px;}
.claim-clinic-meta a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;} /* prijava i kontakt kad profila nema (QA R4-U2) */
.claim-benefits{display:grid;gap:10px;margin:0 0 24px;}
.claim-benefits li{display:flex;gap:12px;align-items:flex-start;color:var(--sivo);font-size:16px;line-height:1.5;}
.form-group{margin:0 0 16px;}
.form-group label,.uski label{display:block;margin:0 0 6px;color:var(--tinta);font-size:15px;font-weight:600;}
.form-group input,.uski select,.uski input[type="text"],.uski input[type="tel"],.uski input[type="date"]{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--crta-jaka);border-radius:var(--radius);background:#fff;color:var(--tinta);font-family:inherit;font-size:16px;}
.form-group input:focus,.uski select:focus,.uski input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
.claim-submit{width:100%;margin-top:8px;}
.claim-error{display:none;margin:0 0 16px;padding:12px 14px;border-radius:var(--radius);background:var(--crveno-blijedo);color:var(--crveno);font-size:15px;}
.claim-success,.booking-success{display:none;padding:32px 0 8px;text-align:center;}
.booking-success{display:block;}
.claim-success h2,.booking-success h2{font-size:26px;font-weight:700;margin:0 0 8px;}
.claim-success p,.booking-success p{color:var(--sivo);}
.success-icon,.check-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 0 16px;border-radius:50%;background:var(--teal-blijedi);color:var(--teal);}
.success-icon svg,.check-icon svg{width:36px;height:36px;}
.claim-footer{margin-top:20px;text-align:center;color:var(--sivo);font-size:15px;}
.claim-footer span{color:var(--teal-tamni);font-weight:600;}
.claim-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

.booking-header{margin:0 0 24px;text-align:center;}
.booking-header img{width:56px;height:56px;margin:0 0 12px;border-radius:12px;object-fit:cover;}
.booking-header h1{font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 4px;}
.booking-header p{color:var(--sivo);}
.step{display:none;}
.step.active{display:block;}
.step-indicator{display:flex;gap:8px;margin:0 0 24px;}
.step-dot{flex:1;height:4px;border-radius:2px;background:var(--crta);}
.step-dot.done{background:var(--teal);}
.uski select,.uski input[type="text"],.uski input[type="tel"],.uski input[type="date"]{margin:0 0 16px;}
.service-option{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin:0 0 8px;padding:10px 16px;border:1px solid var(--crta);border-radius:var(--radius);background:#fff;cursor:pointer;}
.service-option:hover,.service-option.selected{border-color:var(--teal);background:var(--teal-blijedi);}
.service-option-name{font-weight:500;}
.service-option-meta{flex:none;color:var(--sivo);font-size:15px;}
#serviceOptions label{margin-top:14px;}
.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:0 0 20px;}
.slot{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--crta);border-radius:var(--radius);background:#fff;font-family:inherit;font-size:inherit;color:var(--tinta);font-weight:600;cursor:pointer;} /* gumb (tipkovnica) */
.slot:hover{border-color:var(--teal);}
.slot.selected{border-color:var(--teal);background:var(--teal);color:#fff;}
.koraci-gumbi{display:flex;flex-wrap:wrap;gap:8px;}
/* Kalendar dana i zauzeti termini (rezervacija-kalendar.js): --crveno na --crveno-blijedo ima kontrast 5,7:1 */
.rk-mreza{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 8px;}
.rk-ime{padding:0 0 2px;color:var(--sivo);font-size:13px;text-align:center;text-transform:uppercase;letter-spacing:.04em;}
.rk-dan{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:52px;padding:4px 0;border:1px solid var(--crta);border-radius:var(--radius);background:#fff;color:var(--tinta);font-family:inherit;font-size:16px;font-weight:600;}
button.rk-dan{cursor:pointer;}
button.rk-dan:hover{border-color:var(--teal);}
button.rk-dan[aria-pressed="true"]{border-color:var(--teal);background:var(--teal);color:#fff;}
.rk-dan.rk-sivo{border-color:transparent;background:transparent;color:var(--sivo);font-weight:400;opacity:.6;}
.rk-dan.rk-crveno,.slot-zauzet{border-color:#f0b4ae;background:var(--crveno-blijedo);color:var(--crveno);cursor:not-allowed;}
.rk-oznaka{min-height:13px;font-size:11px;line-height:13px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;}
.rk-kratka{display:none;font-size:12px;}
@media(max-width:560px){.rk-puna{display:none;}.rk-kratka{display:inline;}}
.rk-legenda{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 16px;color:var(--sivo);font-size:14px;}
.rk-legenda span{display:inline-flex;align-items:center;}
.rk-legenda i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:6px;border:1px solid #f0b4ae;border-radius:4px;background:var(--crveno-blijedo);color:var(--crveno);font-style:normal;font-size:11px;vertical-align:-5px;}
.rk-poruka{grid-column:1/-1;margin:0 0 8px;color:var(--crveno);font-size:15px;}
.slot-zauzet{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;border:1px solid #f0b4ae;border-radius:var(--radius);font-weight:600;line-height:1.15;}
.slot-zauzet small{font-size:12px;}

/* ─── Prilagodba širini ─── */
@media(max-width:1024px){
  .directory-grid,.sponsored-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
  .profile-grid,.doctor-grid{grid-template-columns:minmax(0,1fr);gap:28px;}
  .profile-sidebar{order:-1;}
}
@media(max-width:640px){
  .trazilica{flex-direction:column;}
  .trazilica .gumb{width:100%;}
  .portal-tabovi{flex-wrap:nowrap;overflow-x:auto;margin:20px calc(-1 * var(--rub)) 0;padding:0 var(--rub) 4px;scrollbar-width:none;}
  .portal-tabovi a{flex:none;}
  .map-wrap{height:340px;}
  .directory-filters{gap:8px;}
  .filter-autocomplete,.filter-input{width:100%;}
  .filter-count{margin-left:0;}
  .directory-grid,.sponsored-grid{grid-template-columns:minmax(0,1fr);gap:10px;}
  .profile-hero-inner,.doctor-hero-inner{flex-direction:column;align-items:flex-start;gap:14px;}
  .profile-info h1,.doctor-hero h1{font-size:26px;}
  .profile-logo,.doctor-hero .doctor-avatar{width:60px;height:60px;}
  .profile-cta{align-self:stretch;}
  .profile-cta .gumb{width:100%;}
  .service-item{flex-direction:column;align-items:flex-start;gap:4px;}
}
