/* Naslovnica V22: vanjski vertikalni ritam. Učitava se samo u index.html.
   Bez promjena zaglavlja, tipografije, slika, oglasa ili unutrašnjosti alata. */
body main.fix { --k24-section-gap: 48px; --k24-card-gap: 24px; }
body main.fix .section-title-wrap { margin-bottom: 24px; }
body main.fix > .editor-post-area-three { padding-block: 0 !important; }
/* Jedan razmak umjesto zbrajanja margine posljednje kartice i row-gap. */
body main.fix .news-banner-small-post > .banner-post-five:last-child { margin-bottom: 0; }
body main.fix .top-news-post { margin-bottom: 24px; }
body main.fix .top-news-post-area .horizontal-post-four { margin-bottom: 24px; }
body main.fix .top-news-post-area .horizontal-post-four:last-child { margin-bottom: 0; }
/* Između savjetnika i newslettera jedan vanjski razmak, ne 48 + 48 px.
   Footer i unutarnji padding newsletter kartice ostaju izvorni. */
body.k24-glass-photo main.fix + .k24-glass-bottom { margin-top: 48px; }
body.k24-glass-photo main.fix + .k24-glass-bottom > .newsletter-area-four { padding-top: 0 !important; }
@media (max-width: 1199px) {
 body main.fix > .banner-post-area-five > .container > .row,
 body main.fix > .top-news-post-area > .container > .row { row-gap: 32px; }
}
@media (max-width: 767px) {
 body main.fix { --k24-section-gap: 32px; }
 body main.fix .section-title-wrap { margin-bottom: 20px; }
 body.k24-glass-photo main.fix + .k24-glass-bottom { margin-top: 32px; }
}

/* Dodatno poliranje: 8–12 px unutar kartice, 24 px između kartica,
   32/48 px između samostalnih blokova. Samo razmaci naslovnice. */
body main.fix :is(.politics-post-thumb, .editor-post-thumb-three, .sports-post-thumb,
 .banner-post-seven .banner-post-thumb-five) { margin-bottom: 12px; }
/* U V89 i slika i njezin omotač imaju 12 px: uklanjamo samo unutarnji duplikat. */
body main.fix .politics-post-thumb img { margin-bottom: 0; }
body main.fix :is(.politics-post-content, .politics-post-content-two,
 .banner-post-content-five, .editor-post-content-three, .sports-post-content,
 .horizontal-post-content-four, .stories-post-content, .hot-post-content) .post-tag-four {
 margin-bottom: 8px;
}
body main.fix :is(.politics-post-content, .politics-post-content-two,
 .banner-post-content-five, .editor-post-content-three, .sports-post-content,
 .horizontal-post-content-four, .stories-post-content, .hot-post-content) h2.post-title {
 margin-bottom: 0;
}
body main.fix :is(.k24-v94-card-description, .k24-v95-editor-description, .k24-v96-desc) {
 margin-top: 10px;
 margin-bottom: 0;
}
/* Jednaka podjela razmaka oko razdjelnika u kompaktnom sidebar popisu. */
body main.fix .stories-post { padding-bottom: 12px; margin-bottom: 12px; align-items: flex-start; }
body main.fix .stories-post:last-child { padding-bottom: 0; margin-bottom: 0; }
/* Kompaktna slika koristi height:100% roditelja. Zbroj dviju margina ostaje
   16 px (prije 6 + 10, sada 8 + 8), pa se fotografija ne smanjuje. */
body main.fix .horizontal-post-four:not(.horizontal-post-five) h2.post-title { margin-bottom: 8px; }
body main.fix .horizontal-post-content-four { justify-content: flex-start; }
/* Ne ostavljamo završnu marginu unutar retka pa još row-gap izvana. */
body main.fix .top-news-post-area > .container > .row > .col-xl-9 > .row { row-gap: 24px; }
body main.fix .top-news-post-area > .container > .row > .col-xl-9 > .row > [class*="col-"] > :is(.horizontal-post-four, .top-news-post) {
 margin-bottom: 0;
}
body main.fix .k24-v97-layout > .row { row-gap: 24px; }
body main.fix .k24-v97-layout .horizontal-post-five { margin-bottom: 0; }
/* Razmak unutar donjeg lijevog stupca i prema izdvojenim vodičima. */
body main.fix .sports-post-wrap { margin-top: 32px; }
/* Newsletter i footer: odvojene zaobljene kartice, bez negativnog preklapanja. */
body.k24-glass-photo main.fix + .k24-glass-bottom > footer.k24-footer {
 padding-top: 32px !important;
}
@media (max-width: 1199px) {
 body main.fix .top-news-post-area > .container > .row { row-gap: 32px; }
}
@media (max-width: 767px) {
 body main.fix .news-banner-small-post { row-gap: 24px; }
 body main.fix .news-banner-small-post > .banner-post-five { margin-bottom: 0; }
 body.k24-glass-photo main.fix + .k24-glass-bottom > footer.k24-footer {
  padding-top: 24px !important;
 }
}
/* Ugniježđeni sidebar grijanja već ima row-gap: bez naslijeđenih 40 px paddinga. */
body main.fix .k24-v97-layout .sidebar-wrap-four { padding-top: 0; }
body main.fix .klima24-montaza-sidebar .hot-post-thumb { margin-bottom: 12px; }
body main.fix .klima24-montaza-sidebar .hot-post-item-two { margin-bottom: 12px; padding-bottom: 12px; }
body main.fix .klima24-montaza-sidebar .hot-post-item-two:last-child { margin-bottom: 0; padding-bottom: 0; }
@media (max-width: 1199px) {
 /* Nakon oglasa stupci se slažu: row-gap je jedini razmak do Izdvojenih vodiča. */
 body main.fix .top-news-post-area .klima24-v102-ad-slot { margin-bottom: 0; }
}

/* Mobilno: prozračnije odvojeni članci i samostalne površine.
   row-gap ne djeluje na dva postojeća display:block popisa;
   njima razmak daje samo margina između susjeda, bez zbrajanja. */
@media (max-width: 767px) {
 body main.fix { --k24-section-gap: 40px; }
 body main.fix .news-banner-small-post > .banner-post-five:not(:last-child) {
  margin-bottom: 28px;
 }
 body main.fix .k24-v97-layout .sidebar-wrap-four > .horizontal-post-five:not(:last-child) {
  margin-bottom: 28px;
 }
 body main.fix .top-news-post-area > .container > .row > .col-xl-9 > .row {
  row-gap: 28px;
 }
 body main.fix .stories-post { padding-bottom: 14px; margin-bottom: 14px; }
 body main.fix .stories-post:last-child { padding-bottom: 0; margin-bottom: 0; }
 body main.fix .sports-post-wrap { margin-top: 40px; }
 body main.fix > .banner-post-area-five > .container > .row,
 body main.fix > .top-news-post-area > .container > .row { row-gap: 40px; }
 body.k24-glass-photo main.fix + .k24-glass-bottom { margin-top: 40px; }
 body.k24-glass-photo main.fix + .k24-glass-bottom > footer.k24-footer {
  padding-top: 40px !important;
 }
}

/* Samo vanjski odmak cijele newsletter/footer površine od prethodne sekcije. */
body.k24-glass-photo main.fix + .k24-glass-bottom { margin-top: 40px; }

/* Bijele vanjske površine: isključivo tri odobrena segmenta naslovnice. */
body main.fix .k24-home-white-panel {
 background: #fff;
 border-radius: 22px;
 padding: 24px;
 box-shadow: 0 5px 22px rgba(18, 52, 90, .045);
}
body main.fix .k24-v97-layout .sidebar-wrap-four.k24-home-white-panel { padding: 24px; }
body main.fix .k24-home-compact-top > .row { row-gap: 24px; }
body main.fix .k24-home-compact-top .horizontal-post-four { margin-bottom: 0; }
@media (max-width: 767px) {
 body main.fix .k24-home-white-panel,
 body main.fix .k24-v97-layout .sidebar-wrap-four.k24-home-white-panel { padding: 18px; }
 body main.fix .k24-home-compact-top > .row { row-gap: 28px; }
}

/* Diskretni glass: isti princip kao top-calculator-button / codes-shortcut.
   Inset obrub ne oduzima prostor sadržaju i čuva odobrene dimenzije i razmake. */
body main.fix .k24-home-white-panel {
 background-color: #edf5fb;
 background-image: linear-gradient(125deg, rgba(255,255,255,.7), rgba(225,240,251,.45));
 box-shadow: inset 0 0 0 1px rgba(169,196,217,.48),
             inset 0 1px 0 rgba(255,255,255,.85),
             0 3px 10px rgba(34,71,99,.035);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body main.fix .k24-home-white-panel {
  background-color: rgba(235,245,253,.78);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
 }
}

/* Kako do ponude: isti diskretni glass princip, bez promjene tamnoplavog CTA bloka. */
body main.fix :is(.k24p-how, .k24p-how-steps > li) {
 background-color: #edf5fb;
 background-image: linear-gradient(125deg, rgba(255,255,255,.7), rgba(225,240,251,.45));
 border-color: rgba(169,196,217,.48);
 border-radius: 22px;
 box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 3px 10px rgba(34,71,99,.035);
}
body main.fix .k24p-how-steps { margin-bottom: 24px; }
body main.fix .k24p-how-button {
 display: flex;
 box-sizing: border-box;
 width: 100%;
 min-height: 60px;
 padding: 12px 18px;
 gap: 14px;
 border-radius: 20px;
 background: linear-gradient(135deg, #173b63, #225b86);
 color: #fff;
 font-size: 16px;
 font-weight: 800;
 line-height: 1.4;
}
body main.fix .k24p-how-button > span { flex: none; font-size: 24px; line-height: 1; }
body main.fix .k24p-how-button:hover { background: linear-gradient(135deg, #12345a, #1c4e76); color: #fff; }
body main.fix .k24p-how-button:focus-visible { outline: 3px solid #0284c7; outline-offset: 4px; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body main.fix :is(.k24p-how, .k24p-how-steps > li) {
  background-color: rgba(235,245,253,.78);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
 }
}

/* Same offer element, moved before the first section on phones only. */
@media(max-width:599px){
 body main.fix > #k24p-photo-offer {
   width:calc(100% - 32px);max-width:none;
   /* Override the legacy direct-section reset, preserving the original card padding. */
   margin:28px 16px 4px !important;padding:23px 21px !important;
 }
}

/* Homepage mobile newsletter: override the legacy fixed-width field wrappers. */
@media(max-width:767px){
 body.k24-glass-photo .k24-glass-bottom > .newsletter-area-four .k24-newsletter-form form > .form-grp,
 body.k24-glass-photo .k24-glass-bottom > .newsletter-area-four .k24-newsletter-form form > button.btn {
  width:100%;max-width:none;min-width:0;flex:none;
 }
}

/* Mobile newsletter: one glass card, without the shared blue surround. */
@media(max-width:767px){
 body.k24-glass-photo main.fix + .k24-glass-bottom > .newsletter-area-four {
  background:#f4faff;
 }
 body.k24-glass-photo main.fix + .k24-glass-bottom > .newsletter-area-four > .container {
  padding:24px 20px !important;
  background:linear-gradient(125deg,rgba(255,255,255,.96),rgba(225,240,251,.86));
  border-color:rgba(169,196,217,.48);
  box-shadow:0 6px 22px rgba(34,71,99,.055),inset 0 1px 0 rgba(255,255,255,.85);
 }
 body.k24-glass-photo .newsletter-area-four .newsletter-wrap-four .newsletter-content {margin-bottom:20px;}
 body.k24-glass-photo .newsletter-area-four .k24-newsletter-consent {margin-top:4px;}
}

/* Homepage phones: neutral outer footer surface, preserving its glass card. */
@media(max-width:767px){
 body.k24-glass-photo main.fix + .k24-glass-bottom {
  background:#f4faff;
 }
 body.k24-glass-photo main.fix + .k24-glass-bottom > .k24-glass-bottom-photo {display:none;}
}

/* Mobile homepage: no outer footer shadow or card shadows across the 40px gap. */
@media(max-width:767px){
 body.k24-glass-photo main.fix + .k24-glass-bottom > footer.k24-footer {box-shadow:none;}
 body.k24-glass-photo main.fix + .k24-glass-bottom > footer.k24-footer > .container {clip-path:inset(0 -40px -40px);}
 body.k24-glass-photo main.fix + .k24-glass-bottom > .newsletter-area-four > .container {clip-path:inset(-40px -40px 0);}
}

/* Homepage only: first footer column contact and offer link. */
body.k24-glass-photo main.fix + .k24-glass-bottom .k24-footer-about .k24-home-footer-contact {
 margin-top:20px;padding-top:18px;border-top:1px solid rgba(135,172,201,.3);
 display:flex;flex-direction:column;align-items:stretch;gap:14px;
}
body.k24-glass-photo footer.k24-footer .k24-home-footer-email {
 display:flex;align-items:center;gap:10px;overflow-wrap:anywhere;
}
body.k24-glass-photo footer.k24-footer .k24-home-footer-offer {
 display:flex;align-items:center;gap:10px;padding:12px 14px;
 border:1px solid rgba(160,190,215,.5);border-radius:10px;
 background:#fff;color:#12345a!important;font-weight:700!important;
 box-shadow:0 3px 12px rgba(23,59,99,.04);text-decoration:none!important;
}
body.k24-glass-photo footer.k24-footer .k24-home-footer-offer span {margin:0!important;font:inherit!important;color:inherit!important;}
body.k24-glass-photo footer.k24-footer .k24-home-footer-contact svg {flex:none;width:20px;height:20px;}
body.k24-glass-photo footer.k24-footer .k24-home-footer-offer svg:last-child {margin-left:auto;}
body.k24-glass-photo footer.k24-footer .k24-home-footer-offer:hover {background:#edf6fc;border-color:#9bbcd5;}
body.k24-glass-photo footer.k24-footer .k24-home-footer-offer:focus-visible {outline:2px solid #12345a;outline-offset:3px;}
