/* ==========================================================================
   marketing.css: korak 4 (obične stranice, kontakt, 404, pretraga, partneri i marketinški blokovi).
   Učitava se posle pages.css. Samo tokeni iz theme.json (--wp--preset--*, --wp--custom--*, alias --pt-*).
   ========================================================================== */
.pt-section--cta:not(:has(.pt-cta)) { display: none; }

/* ---------- kontakt ---------- */
.pt-contact { display: grid; gap: var(--pt-sp-l); align-items: start; }
.pt-contact > * { margin: 0; min-width: 0; }
.pt-contact:not(:has(.wp-block-pettravel-kontakt-forma)) { grid-template-columns: minmax(0, 46rem); }
@media (min-width: 52rem) { .pt-contact:has(.wp-block-pettravel-kontakt-forma) { grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); gap: var(--pt-sp-xl); } }

/* ---------- 404 ---------- */
.pt-404 { display: grid; gap: var(--pt-sp-s); justify-items: start; padding-block: var(--pt-sp-l); }
.pt-404 > * { margin: 0; }
.pt-404__num { font: 700 clamp(5rem, 22vw, 11rem)/0.9 var(--wp--preset--font-family--serif); color: var(--wp--preset--color--rose); letter-spacing: -0.04em; }
.pt-404 h1 { font-size: var(--wp--preset--font-size--xxl); max-width: 18ch; }
.pt-404 h1 em { color: var(--pt-wine); }
.pt-404 .wp-block-buttons { margin-top: var(--pt-sp-xs); }

/* ---------- pretraga ---------- */
.pt-searchbar { margin-bottom: var(--pt-sp-s); max-width: 40rem; }
.pt-searchbar .wp-block-search__inside-wrapper { display: flex; gap: var(--pt-sp-xs); }
.pt-searchbar .wp-block-search__input { flex: 1; min-width: 0; min-height: 3.25rem; padding: 0 1.4rem; border: 1.5px solid var(--pt-line); border-radius: var(--pt-r-pill); background: var(--pt-surface); color: var(--pt-ink); font: inherit; }
.pt-searchbar .wp-block-search__input:focus-visible { outline: 3px solid var(--pt-wine); outline-offset: 2px; }
.pt-searchbar .wp-block-search__button { min-height: 3.25rem; margin: 0; padding: 0 1.6rem; border: 1.5px solid var(--pt-wine); border-radius: var(--pt-r-pill); background: var(--pt-wine); color: #fff; font: 600 var(--wp--preset--font-size--base)/1.2 var(--wp--preset--font-family--sans); cursor: pointer; }
.pt-searchbar .wp-block-search__button:hover { background: var(--pt-wine-hover); border-color: var(--pt-wine-hover); }
.pt-results .wp-block-post-template { display: grid; gap: var(--pt-sp-s); list-style: none; margin: var(--pt-sp-s) 0 0; padding: 0; }
.pt-results .wp-block-post-template > li { margin: 0; }
.pt-result { position: relative; display: grid; gap: var(--pt-sp-xs); padding: var(--pt-sp-m); border-radius: var(--pt-r-l); background: var(--pt-surface); box-shadow: var(--wp--preset--shadow--s); transition: box-shadow var(--pt-t), transform var(--pt-t); }
.pt-result > * { margin: 0; }
.pt-result:hover, .pt-result:focus-within { box-shadow: var(--wp--preset--shadow--m); transform: translateY(-2px); }
.pt-result:focus-within { outline: 3px solid var(--pt-wine); outline-offset: 3px; }
.pt-result h3 a { color: var(--pt-ink); }
.pt-result h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.pt-result .wp-block-post-excerpt { color: var(--pt-ink-muted); }
.pt-result .wp-block-post-excerpt__excerpt { margin: 0; }
.pt-result:has([data-tip="zemlja"]), .pt-result:has([data-tip="destinacija"]) { background: var(--wp--preset--color--rose); }
.pt-result:has([data-tip="avio_kompanija"]) { background: var(--wp--preset--color--mint); }
.pt-result:has([data-tip="smestaj_vodic"]) { background: var(--wp--preset--color--sand); }
.pt-result:has([data-tip="vodic"]) { background: var(--wp--preset--color--lavender); }
.pt-result:has([data-tip="post"]), .pt-result:has([data-tip="page"]) { background: var(--pt-cream-2); }

/* ---------- partneri: proizvodi, preporuka, promo kod, sezonski baner, veterinari, isplaniraj put ---------- */
.wp-block-pettravel-proizvodi, .wp-block-pettravel-preporuka-partnera { display: grid; gap: var(--pt-sp-s); padding: var(--pt-sp-m); border-radius: var(--pt-r-l); background: var(--pt-cream-2); max-width: none; }
.wp-block-pettravel-proizvodi > *, .wp-block-pettravel-preporuka-partnera > * { margin: 0; }
.wp-block-pettravel-proizvodi h2, .wp-block-pettravel-preporuka-partnera h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 0; }
.pt-partners { display: grid; gap: var(--pt-sp-s); grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.pt-partner { position: relative; display: grid; gap: var(--pt-sp-xs); align-content: start; padding: var(--pt-sp-s); border-radius: var(--pt-r-m); background: var(--pt-surface); box-shadow: var(--wp--preset--shadow--s); }
.pt-partner > * { margin: 0; }
.pt-partner__label { justify-self: start; padding: 0.15rem 0.7rem; border-radius: var(--pt-r-pill); background: var(--pt-ink); color: #fff; font: 700 var(--wp--preset--font-size--xs)/1.4 var(--wp--preset--font-family--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.pt-partner__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--pt-r-s); background: var(--pt-cream-2); }
.pt-partner__name { font-size: var(--wp--preset--font-size--md); }
.pt-partner__text { font-size: var(--wp--preset--font-size--sm); color: var(--pt-ink-muted); }
.pt-partner__btn { justify-self: start; margin-top: auto; }
.pt-prose .pt-partner a.pt-btn, .pt-prose .wp-block-pettravel-promo-kod a.pt-btn, .pt-prose .wp-block-pettravel-sezonski-baner a.pt-btn { color: #fff; text-decoration: none; }
.pt-partner__legal { font-size: var(--wp--preset--font-size--sm); color: #5C493B; }
.pt-partner__legal a, .pt-prose .pt-partner__legal a { color: var(--pt-wine); text-decoration: underline; text-underline-offset: 0.2em; }
.pt-ponuda { display: grid; gap: var(--pt-sp-s); margin-block: var(--pt-sp-m); padding: var(--pt-sp-m); border-radius: var(--pt-r-l); background: var(--pt-cream-2); }
.pt-ponuda > * { margin: 0; }
.pt-prose .pt-ponuda__list, .pt-ponuda__list { display: grid; gap: var(--pt-sp-s); margin: 0; padding: 0; list-style: none; }
.pt-ponuda__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pt-sp-xs) var(--pt-sp-s); margin: 0; }
.pt-ponuda__tip { font-weight: 700; }
.pt-ponuda__note { font-size: var(--wp--preset--font-size--sm); color: #5C493B; }
.pt-prose .pt-ponuda a.pt-btn { color: #fff; text-decoration: none; }

.wp-block-pettravel-promo-kod { display: grid; gap: var(--pt-sp-s); padding: var(--pt-sp-m); border-radius: var(--pt-r-l); background: var(--wp--preset--color--sand); }
.wp-block-pettravel-promo-kod > * { margin: 0; }
.wp-block-pettravel-promo-kod h2 { font-size: var(--wp--preset--font-size--lg); margin-top: 0; }
.pt-promo__text { display: grid; gap: 0.4rem; }
.pt-promo__text > * { margin: 0; }
.pt-promo__until { font-size: var(--wp--preset--font-size--sm); color: var(--pt-ink-muted); }
.pt-promo__action { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pt-sp-xs); }
.pt-promo__action > * { margin: 0; }
.pt-promo__code code { display: inline-block; padding: 0.6rem 1.2rem; border: 2px dashed var(--pt-wine); border-radius: var(--pt-r-m); background: var(--pt-surface); font: 700 var(--wp--preset--font-size--lg)/1 var(--wp--preset--font-family--sans); letter-spacing: 0.12em; user-select: all; }
.pt-promo__status { font-size: var(--wp--preset--font-size--sm); color: var(--pt-ink-muted); min-height: 1.4em; }
.wp-block-pettravel-promo-kod .pt-partner__btn { margin-top: 0; }

.wp-block-pettravel-sezonski-baner { display: grid; gap: var(--pt-sp-s); align-items: center; padding: var(--pt-sp-m); border-radius: var(--pt-r-l); background: var(--wp--preset--color--mint); }
.wp-block-pettravel-sezonski-baner > * { margin: 0; }
.pt-season__text { display: grid; gap: 0.4rem; justify-items: start; }
.pt-season__text > * { margin: 0; }
.wp-block-pettravel-sezonski-baner h2 { font-size: var(--wp--preset--font-size--lg); margin-top: 0; }
@media (min-width: 52rem) { .wp-block-pettravel-sezonski-baner { grid-template-columns: 1fr auto; } }

.wp-block-pettravel-veterinari-cta { display: grid; gap: var(--pt-sp-xs); justify-items: start; padding: var(--pt-sp-m); border-radius: var(--pt-r-l); background: var(--wp--preset--color--lavender); }
.wp-block-pettravel-veterinari-cta > * { margin: 0; }
.wp-block-pettravel-veterinari-cta h2 { font-size: var(--wp--preset--font-size--lg); margin-top: 0; }
.wp-block-pettravel-veterinari-cta p { color: #4E3B2E; max-width: 46rem; }
.pt-prose .wp-block-pettravel-veterinari-cta a.pt-btn { text-decoration: none; }

.wp-block-pettravel-isplaniraj-put { display: grid; gap: var(--pt-sp-s); }
.wp-block-pettravel-isplaniraj-put > * { margin: 0; }
.wp-block-pettravel-isplaniraj-put h2 { font-size: var(--wp--preset--font-size--xl); }
.pt-plan__steps { display: grid; gap: var(--pt-sp-s); list-style: none; margin: 0; padding: 0; }
.pt-plan__steps li { display: grid; grid-template-columns: auto 1fr; gap: var(--pt-sp-s); align-items: start; padding: var(--pt-sp-s); border-radius: var(--pt-r-l); background: var(--pt-surface); box-shadow: var(--wp--preset--shadow--s); }
.pt-plan__steps h3 { margin: 0 0 0.25rem; font-size: var(--wp--preset--font-size--md); }
.pt-plan__steps p { margin: 0 0 0.5rem; color: var(--pt-ink-muted); font-size: var(--wp--preset--font-size--sm); }
.pt-plan__steps a { margin-right: var(--pt-sp-s); color: var(--pt-wine); font-weight: 700; font-size: var(--wp--preset--font-size--sm); text-decoration: underline; text-underline-offset: 0.2em; }
.pt-plan__n { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--pt-wine); color: #fff; font: 700 var(--wp--preset--font-size--md)/1 var(--wp--preset--font-family--serif); }
@media (min-width: 52rem) { .pt-plan__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.pt-prose .wp-block-pettravel-proizvodi, .pt-prose .wp-block-pettravel-promo-kod, .pt-prose .wp-block-pettravel-sezonski-baner, .pt-prose .wp-block-pettravel-preporuka-partnera, .pt-prose .wp-block-pettravel-veterinari-cta, .pt-prose .wp-block-pettravel-newsletter { margin-top: var(--pt-sp-l); }

/* oznaka [PRIMER] u naslovima partnera je manja od naslova */
.pt-partner__name .pt-flag, .wp-block-pettravel-proizvodi h2 .pt-flag, .wp-block-pettravel-preporuka-partnera h2 .pt-flag, .wp-block-pettravel-promo-kod h2 .pt-flag, .wp-block-pettravel-sezonski-baner h2 .pt-flag { font-size: 0.5em; vertical-align: middle; }
.pt-404 .pt-searchbar { width: min(100%, 40rem); justify-self: stretch; }

/* forme na uskim ekranima: Turnstile (300px) ne sme da raširi kolonu */
.wp-block-pettravel-newsletter .pt-form, .wp-block-pettravel-kontakt-forma { min-width: 0; }
.wp-block-pettravel-newsletter .pt-form > *, .wp-block-pettravel-kontakt-forma > * { min-width: 0; max-width: 100%; }
.wp-block-pettravel-newsletter .cf-turnstile, .wp-block-pettravel-kontakt-forma .cf-turnstile { overflow: hidden; }
.wp-block-pettravel-newsletter input[type="email"] { box-sizing: border-box; }

/* direktna reklama (blok reklama-slot, inc/reklame.php): oznaka "Reklama", slika bez sečenja (width/height iz priloga, bez CLS) */
.pt-reklama { display: grid; gap: var(--pt-sp-xs); }
.pt-reklama > * { margin: 0; }
.pt-reklama__label { justify-self: start; color: var(--pt-ink-muted); font: 700 var(--wp--preset--font-size--xs)/1.4 var(--wp--preset--font-family--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.pt-reklama__link { display: grid; gap: var(--pt-sp-xs); color: inherit; text-decoration: none; }
.pt-reklama__link img { display: block; width: 100%; height: auto; border-radius: var(--pt-r-m); background: var(--pt-cream-2); }
.pt-reklama__link:focus-visible { outline: 2px solid var(--pt-wine); outline-offset: 3px; border-radius: var(--pt-r-m); }
.pt-reklama__text { font-size: var(--wp--preset--font-size--sm); color: var(--pt-ink-muted); }
.pt-reklama--bocna { display: none; }
@media (min-width: 62rem) { .pt-reklama--bocna { display: grid; } }
.pt-reklama[data-pt-reklama="prazno"] { padding: var(--pt-sp-m); border: 1px dashed var(--pt-ink-muted); border-radius: var(--pt-r-l); }
.pt-reklama__house-title { font: 600 var(--wp--preset--font-size--md)/1.3 var(--wp--preset--font-family--serif); }
.pt-reklama__house-text { font-size: var(--wp--preset--font-size--sm); color: var(--pt-ink-muted); }
.pt-reklama__house-link { display: inline-flex; align-items: center; gap: 0.4rem; justify-self: start; color: var(--pt-wine); font-weight: 700; font-size: var(--wp--preset--font-size--sm); text-decoration: underline; text-underline-offset: 0.2em; }
.pt-reklama__house-link svg { width: 1em; height: 1em; }

/* Localrent widget (inc/partner-ponuda.php, učitava se kad priđe ekranu): bela kartica, widget od ivice do ivice (border=false u src).
   Rezervisana visina samo uz JS (is-js) = izmerena visina widgeta, pa učitavanje ne pomera sadržaj. */
.pt-tpw { container-type: inline-size; display: grid; gap: var(--pt-sp-xs); padding: var(--pt-sp-s); border-radius: var(--pt-r-m); background: var(--pt-surface); box-shadow: var(--wp--preset--shadow--s); }
.pt-tpw > * { margin: 0; }
.pt-tpw__title { font-size: var(--wp--preset--font-size--md); }
.pt-tpw__lang { font-size: var(--wp--preset--font-size--sm); color: var(--pt-ink-muted); }
.pt-tpw__mount { display: block; min-width: 0; }
/* widget od ivice do ivice bele kartice (bez bočnog paddinga kartice) */
.pt-tpw.is-js .pt-tpw__mount { margin-inline: calc(-1 * var(--pt-sp-s)); }
.pt-tpw__mount > * { margin: 0; }
.pt-tpw [hidden] { display: none !important; }
.pt-tpw__consent { font-size: var(--wp--preset--font-size--sm); color: #5C493B; }
.pt-tpw__consent a { color: var(--pt-wine); text-decoration: underline; text-underline-offset: 0.2em; }
.pt-prose .pt-tpw a.pt-btn { color: #fff; text-decoration: none; }
/* izmereno (border=false): widget 243 px kad je uži od ~260 px, inače 237 px */
.pt-tpw.is-js .pt-tpw__mount { min-height: 244px; }
@container (min-width: 260px) { .pt-tpw.is-js .pt-tpw__mount { min-height: 238px; } }
