/* Playbook v4: useful populations, real outcomes and readable image graphics. */
.no-wrap{white-space:nowrap}
.hero-counts{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:27px 0 0;max-width:700px}
.hero-counts>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.hero-counts dt{font-size:17px;line-height:1.45;color:#e2e9f1;max-width:280px}
.hero-counts dd{order:-1;margin:0;font-size:54px;line-height:1;font-weight:600;color:#e5c58b;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.hero-counts a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:#bd954e70}
.hero-counts a:hover{text-decoration-color:#e5c58b}.hero-counts a:focus-visible{outline:3px solid #fff;outline-offset:7px}
.directory-intro .research-summary{font-size:16px;line-height:1.6;margin-top:24px;max-width:680px}
.directory-finder>label{font-size:14px}.finder-links{font-size:13px;gap:18px}
.directory-finder>input[type=hidden]{display:none}
.brand-hero-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.48fr)}
.brand-hero-art .brand-illustration{max-width:380px}
.brand-illustration{object-fit:contain;max-height:360px}
.hero-offer-art .brand-illustration{max-height:100px}
.rss-icon{width:21px;height:21px;display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0}
/* Photo rules also target img; isolate small icon assets from those layouts. */
img.rss-icon{width:var(--icon-size,21px)!important;height:var(--icon-size,21px)!important;max-width:none!important;margin:0!important;padding:0!important;aspect-ratio:1!important;object-fit:contain!important;border-radius:0!important}
.brand-illustration>img{width:100%;height:auto;object-fit:contain}
.btn,.text-link{--icon-size:19px}.signal-icon{--icon-size:27px}.badge{--icon-size:16px}.firm-city{--icon-size:17px}
.editorial-tool>.rss-icon:first-child{--icon-size:34px}.editorial-tool>.rss-icon:last-child{--icon-size:18px}.service-offers h3>.rss-icon{--icon-size:30px}.tool-icon{--icon-size:27px}
.menu-toggle{--icon-size:23px}.carousel-controls{--icon-size:20px}.city-stats dt{--icon-size:22px}
.btn .rss-icon,.text-link .rss-icon{width:19px;height:19px}
.brand-intro-art .brand-illustration{max-height:225px}
.showcase-row .directory-name p .rss-icon{width:17px;height:17px}
.signal-icon{background:#f5f0e5;clip-path:none;width:40px;height:40px}
.signal-icon .rss-icon{width:27px;height:27px}
.profile-signal{font-size:12px}.profile-signal.is-unavailable{color:#59677a}
.is-unavailable .rss-icon{filter:grayscale(1);opacity:.42}
.profile-signal.is-checked .rss-icon{filter:grayscale(1) brightness(0) invert(1)}
.carousel-controls button{min-height:44px;font-size:13px}
.carousel-controls .rss-icon{width:20px;height:20px}.carousel-controls [data-carousel-prev] .rss-icon{transform:rotate(180deg)}
.page-intro .rss-icon,.site-footer .rss-icon,.btn:not(.outline):not(.light):not(.white) .rss-icon{filter:grayscale(1) brightness(0) invert(1)}
.directory-hero .rss-icon{filter:grayscale(1) brightness(0) invert(1)}
.directory-finder .rss-icon{filter:none!important}
.directory-finder .btn .rss-icon,.hero-offer .btn .rss-icon,.header-cta .rss-icon{filter:none!important}
.city-stats dt .rss-icon{width:22px;height:22px}.city-capacity>.rss-icon{width:22px;height:22px}
.editorial-tool>.rss-icon:first-child{width:34px;height:34px}.service-offers h3>.rss-icon{width:30px;height:30px}
.firm-city .rss-icon{width:17px;height:17px}.firm-actions .rss-icon,.badge .rss-icon{width:16px;height:16px}
.directory-contact .rss-icon{width:18px;height:18px}.tool-icon .rss-icon{width:27px;height:27px}
.menu-toggle{background:#f5f0e5!important}.menu-toggle .rss-icon{width:23px;height:23px}
.brand-symbols{display:none}.related h2{margin-top:35px}
.contact-hint{font-size:14px}
.articles-section .section-head h2{max-width:800px}
@media(max-width:950px){.brand-hero-layout{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.hero-counts{gap:24px}.hero-counts dt{font-size:16px}.hero-counts dd{font-size:47px}}
@media(max-width:700px){.brand-hero-layout{display:block}.hero-counts{max-width:600px}.hero-counts dd{font-size:46px}.hero-offer-art{width:94px;flex-basis:94px}.hero-offer-art .brand-illustration{width:94px}}
@media(max-width:620px){.hero-counts{margin-top:25px;gap:22px}.hero-counts dt{font-size:15px;line-height:1.45}.hero-counts dd{font-size:44px}.directory-intro .research-summary{font-size:14px;line-height:1.6;margin-top:20px}.finder-links{font-size:12px;gap:14px}.profile-signals{gap:9px}.profile-signal{font-size:12px}.signal-icon{width:38px;height:38px}.signal-icon .rss-icon{width:26px;height:26px}.hero-offer-copy{align-items:center}.hero-offer h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* L1-F1 fix 1: firm-card grid children overflow - min-width:0 + overflow-wrap + flex-wrap on mobile */
.firm-details,.firm-actions{min-width:0}
.firm-card h3,.firm-city{overflow-wrap:anywhere}
.firm-actions>a{overflow-wrap:anywhere}
@media(max-width:850px){.firm-actions{flex-wrap:wrap}}
/* L1-F1 fix 2: tap targets >= 24px (breadcrumb, text-link, checkbox, map markers) */
.breadcrumb a{padding-block:4px;display:inline-flex;align-items:center}
.text-link{min-height:24px}
.check{min-height:24px}
.slovenia-map .map-cluster::before{content:"";position:absolute;inset:-8px}
/* L1-F1 fix 3: /ponudbe/ H1 period removed in quotes.py (template change, not CSS) */
/* L1-F1 fix 4: hide empty .form-message boxes */
.form-message:empty{display:none}
/* L1-F2 fix: firm-actions a >= 44 px on <=600 px viewports, >= 24 px otherwise; footer / recipient-list / quote-privacy links >= 24 px */
.firm-actions a{display:inline-flex;align-items:center;min-height:24px}
@media(max-width:600px){.firm-actions a{min-height:44px;padding-block:10px}}
footer a{padding-block:3px;min-height:24px;display:inline-flex;align-items:center}
#quote-recipient-list li>a{min-height:24px;display:flex;align-items:center}
.quote-privacy{min-height:24px;display:inline-flex;align-items:center}

/* S95 2026-10-22: the raster icons replaced inline SVG, so the svg-only layout rules no longer applied (arrows sat after the text instead of at the row end). */
.editorial-tool>img.rss-icon:last-child{margin-left:auto!important}
.text-link .rss-icon{transition:transform .2s}.text-link:hover .rss-icon{transform:translateX(4px)}
.offer-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:18px}
.offer-links .text-link{margin:0}
.calc-cta{margin:6px 0 30px}
.legacy a.btn{color:#fff;text-decoration:none}
/* S95: featured profile (content/featured-profiles.json): hero photo + tagline */
.featured-hero{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:0 0 28px}
.featured-tagline{font-size:18px;font-style:italic;color:#795c27;margin:6px 0 4px}
@media(max-width:600px){.featured-profile .profile-heading{flex-direction:column;align-items:flex-start;gap:14px}.featured-profile .featured-logo{max-width:200px}}
