/* Calypte tipografija — jedan font identiteta na celom sajtu.
   Montserrat ExtraBold (800) za glavne tekstove, Montserrat Medium (500) za sekundarne i tercijarne.
   Učitavaju se samo ove dve debljine: sve što je ranije bilo podebljano prikazuje se kao 800,
   a sve ostalo kao 500. */

:root{
  --cal-font:"Montserrat",Arial,Helvetica,sans-serif;
  --fs-h1:clamp(40px,4vw,76px);     /* glavni naslov stranice */
  --fs-h2:clamp(32px,3.8vw,56px);   /* naslov sekcije */
  --fs-h3:clamp(20px,1.6vw,24px);   /* naslov kartice, koraka, pitanja */
  --fs-body:18px;                   /* sekundarni tekst */
  --fs-small:14px;                  /* tercijarni tekst: oznake, dugmad, potpisi */
}
@media (max-width:600px){:root{--fs-h1:clamp(28px,8vw,44px);--fs-h2:clamp(28px,7.6vw,36px);--fs-h3:20px}}

/* Font identiteta svuda, bez serifa i bez veštačkog podebljavanja ili kurziva */
html *:not(#cal_a):not(#cal_b),
html *:not(#cal_a):not(#cal_b)::before,
html *:not(#cal_a):not(#cal_b)::after{
  font-family:var(--cal-font)!important;
  font-synthesis:style!important; /* bez lažnog podebljavanja; kurziv u prikazima klijenata ostaje */
}
html :is(h1,h2,h3,h4,summary) :is(em,i):not(#cal_a):not(#cal_b){font-style:normal!important}

/* Grafički prikazi (makete telefona, objava, vizitki) zadržavaju svoje dimenzije;
   menja im se samo font. */

/* GLAVNI TEKSTOVI */
html :is(h1,h2,h3,h4,summary):not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post,.ig-profile,.el,.bcard,.reel-screen,.product-box,.modal-card .receipt) *){
  font-weight:800!important;
  letter-spacing:.01em!important; /* slova u naslovima se nikad ne dodiruju */
  text-wrap:balance;
}
html h1:not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post) *){
  font-size:var(--fs-h1)!important;line-height:1.06!important;
}
html :is(h2,.signal-path h3,.idx h3,.idx-hl h3,.amx-hero h3,.prx-hero h3,.evx-head h3,.gsc-head h3,.kc-h,.kc-big):not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post,.ig-profile,.el,.bcard,.product-box) *){
  font-size:var(--fs-h2)!important;line-height:1.1!important;
}
html :is(h3,summary):not(:is(.signal-path h3,.idx h3,.idx-hl h3,.amx-hero h3,.prx-hero h3,.evx-head h3,.gsc-head h3,.kc-h,.kc-big)):not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post,.ig-profile,.el,.bcard,.reel-screen,.product-box) *){
  font-size:var(--fs-h3)!important;line-height:1.25!important;
}
/* delovi naslova (npr. drugi red u boji) prate veličinu naslova */
html :is(h1,h2,h3) :is(span,em,u,strong,b,a,i):not(#cal_a):not(#cal_b){font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}

/* SEKUNDARNI TEKST */
html :is(p,li,dd,blockquote,td):not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post,.ig-profile,.el,.bcard,.reel-screen,.product-box,.ig-posts,.proof,footer,.site-footer,.copyright) *){
  font-size:var(--fs-body)!important;line-height:1.6!important;letter-spacing:0!important;
}

/* TERCIJARNI TEKST: oznake iznad naslova, potpisi, dugmad, navigacija, forme, futer */
html :is(
  small,figcaption,label,legend,code,
  .caption,.hint,.meta,.site-year,.index,.kicker,.s-eyebrow,.w2-eyebrow,.svc-ctx,.svc-tag,.pill,.tag,.space-eyebrow,
  .space-tags span,.idx-kick,.st-kick,.st-num,.st-year,.prx-kick,.opening-label,.concept-index,.swatch,.download-label,
  .rt-cap strong,.rt-cap small,.path-cta,.signal-path span,.signal-path strong,.uf-consent span,
  .nav nav a,.nav-cta,.button,.svc-cta,.uf-send,.x-btn,.st-btn,.idx-cta,.w2-all,.sd-ask,.space-back,.about-email,
  .site-footer a,.site-footer p,.site-footer small,footer span,footer a,.copyright
):not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post,.ig-profile,.el,.bcard) *){
  font-size:var(--fs-small)!important;line-height:1.45!important;
}
/* potpisi i napomene u paragrafu ostaju tercijarni */
html :is(p.caption,p.hint,.uf-status,.sd-foot p,.site-footer p):not(#cal_a):not(#cal_b){
  font-size:var(--fs-small)!important;line-height:1.5!important;
}

/* delovi naslova prate i debljinu naslova */
html :is(h1,h2,h3) :is(span,em,u,strong,b,a,i):not(#cal_a):not(#cal_b){font-weight:inherit!important}

/* naslovna: kratke oznake i trake su tercijarni tekst */
html :is(.proof span,.hero-values b,.report span,.report strong,.impact-list b,.impact-number span,.impact-number p):not(#cal_a):not(#cal_b){
  font-size:var(--fs-small)!important;line-height:1.45!important;
}
html .impact-list span:not(#cal_a):not(#cal_b){font-size:var(--fs-body)!important;line-height:1.6!important}
/* istaknuti brojevi i cene su glavni tekst po debljini */
html :is(.collab-steps b,.svc-price,.impact-number strong):not(#cal_a):not(#cal_b){font-weight:800!important}
html .svc-price-ask:not(#cal_a):not(#cal_b){font-size:30px!important;font-weight:800!important}

/* maketa „Brend + sajt“ u hero delu: širi font traži malo manji natpis da ostane u dva reda */
html .product-box h2:not(#cal_a):not(#cal_b){font-size:clamp(30px,3.4vw,50px)!important;white-space:nowrap;letter-spacing:.01em!important}
/* dugmad na karticama usluga ostaju u jednom redu */
html .svc-cta:not(#cal_a):not(#cal_b){letter-spacing:.02em!important;white-space:nowrap}

/* dugačke reči u naslovima nikad ne izlaze iz ekrana */
html :is(h1,h2,h3,summary):not(#cal_a):not(#cal_b){overflow-wrap:break-word}
html .hero-copy:not(#cal_a):not(#cal_b){min-width:0}

/* h4 su kratke oznake iznad slika i blokova */
html h4:not(#cal_a):not(#cal_b):not(:is(.hero-stage,.bb,.phone,.post) *){font-size:var(--fs-small)!important;line-height:1.45!important;letter-spacing:.08em!important}

/* MOZA: podnaslov ispod naziva projekta je drugi nivo, ne novi naslov sekcije */
html .opening-copy h2:not(#cal_a):not(#cal_b){font-size:var(--fs-h3)!important;line-height:1.3!important}

/* Krupni tekstovi koji nisu naslovi (cene, brojevi, natpisi u maketama, specimeni):
   ni ovde se slova ne dodiruju */
html :is(
  .svc-price,.collab-steps b,.impact-number strong,.gcta-in strong,.reel-screen strong,.floating-note,.floating-note strong,
  .idx-n,.font-sample,.web-copy strong,.buy-row strong,.includes span,.type-secondary strong,.type-primary strong,figure figcaption strong,
  .bb h2,.bb h3,.bb .h-h1,.bb .type-aa,.bb strong,.el-card,.bc-name strong,.p-quote,.p-quote em,.p-signal,.p-title,.p-big,.story p,.story em,
  .product-box h2,.st-title,.st-title span,.st-title em,.kc-l,.kc-l span
):not(#cal_a):not(#cal_b){letter-spacing:.01em!important}

/* najuži telefoni (oko 320px) */
@media (max-width:360px){
  html .hero-values b:not(#cal_a):not(#cal_b){letter-spacing:.05em!important}
  html .back-btn:not(#cal_a):not(#cal_b){white-space:normal!important}
  html .swatch:not(#cal_a):not(#cal_b){overflow-wrap:anywhere}
}
