/* ============================================================================
   Kovanlık Belediyesi — Görünüm › Bileşenler (core/Widgets.php) · GÜNCEL TEMA (cx) görünümü
   Bileşenler `.cvw-*` sınıflarıyla basılır; bu dosya her düzende (anasayfa, cxp iç sayfalar, eski iç sayfalar) yüklenir ve
   Tema Stüdyosu jetonlarını (--ax-navy, --ax-or, --ax-ink, --ax-text, --ax-fz, --ax-rs) kullanır → renk/yazı/köşe ayarları panelden izlenir.
   Yerler: iç sayfa yan sütunları `.cxp-wgts` · anasayfa/footer üstü şeritleri `.cx-home-band`, `.cx-bf-band` · footer sağ sütunu `.cx-foot__extra`
   ============================================================================ */
.cxp-wgts { margin-top: 24px; }
.cxp-wgts:first-child { margin-top: 0; }
.cxp-wgts > .cvw-wgts + .cvw-wgts { margin-top: 20px; }
.cvw-wgts { display: flex; flex-direction: column; gap: 20px; }

/* kart kabuğu (başlıklı bileşenler) */
.cvw-widget { background: #fff; border-radius: calc(22px * var(--ax-rs, 1)); box-shadow: var(--cx-shadow-sm, 0 10px 28px -14px rgba(27, 94, 36, .22)); overflow: hidden; }
.cvw-widget__hd { display: flex; align-items: center; gap: 10px; padding: 16px 20px 0; font-size: calc(15px * var(--ax-fz, 1)); font-weight: 800; line-height: 1.3; color: var(--ax-ink, #14241a); font-family: var(--ax-head, inherit); }
.cvw-widget__hd i { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; font-size: .8rem; background: color-mix(in srgb, var(--ax-or, #2e9b3c) 18%, #fff); color: var(--ax-or2, #237a2e); }
.cvw-widget__bd { padding: 14px 20px 20px; font-size: calc(14px * var(--ax-fz, 1)); line-height: 1.65; color: var(--ax-text, #4b5c4f); }
.cvw-widget:not(:has(.cvw-widget__hd)) .cvw-widget__bd { padding-top: 20px; }

/* metin / gömme */
.cvw-text { font-size: calc(14px * var(--ax-fz, 1)); line-height: 1.65; color: var(--ax-text, #4b5c4f); overflow-wrap: anywhere; }
.cvw-text p { margin: 0 0 .8em; } .cvw-text p:last-child { margin-bottom: 0; }
.cvw-text a { color: var(--ax-navy, #1b5e24); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--ax-or, #2e9b3c) 70%, transparent); }
.cvw-text img, .cvw-embed img, .cvw-img img { max-width: 100%; height: auto; }
.cvw-embed iframe { max-width: 100%; border: 0; border-radius: 12px; }

/* bağlantı listeleri: menü / bağlantılar / belgeler */
.cvw-links, .cvw-files { display: flex; flex-direction: column; }
.cvw-links a, .cvw-file { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; font-size: calc(14px * var(--ax-fz, 1)); font-weight: 700; color: var(--ax-ink, #14241a); text-decoration: none; border-bottom: 1px solid var(--cx-line, #dfe8df); transition: color .15s, padding-left .15s; }
.cvw-links a::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--ax-or, #2e9b3c); margin-right: 2px; }
.cvw-links a { justify-content: flex-start; }
.cvw-links a em { margin-left: auto; }
.cvw-links a:last-child, .cvw-file:last-child { border-bottom: 0; }
.cvw-links a:hover, .cvw-links a.on, .cvw-file:hover { color: var(--ax-navy, #1b5e24); padding-left: 4px; }
.cvw-links em, .cvw-file em { font-style: normal; font-size: 12px; opacity: .55; }
.cvw-file i:first-child { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--ax-bg, #f5faf5); color: var(--ax-navy, #1b5e24); font-size: 15px; }
.cvw-file span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }

/* son içerikler */
.cvw-posts { display: flex; flex-direction: column; gap: 14px; }
.cvw-posts__item { display: flex; gap: 12px; align-items: flex-start; color: var(--ax-ink, #14241a); text-decoration: none; }
.cvw-posts__img { flex: 0 0 68px; height: 68px; border-radius: 12px; overflow: hidden; background: var(--ax-bg, #f5faf5); }
.cvw-posts__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cvw-posts__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cvw-posts__txt b { font-size: calc(14px * var(--ax-fz, 1)); line-height: 1.35; font-weight: 700; }
.cvw-posts__txt time, .cvw-ph__item time { font-size: 12px; color: var(--cx-muted, #51624f); }
.cvw-posts__item:hover b { color: var(--ax-navy, #1b5e24); text-decoration: underline; text-underline-offset: 3px; }

/* görsel / afiş */
.cvw-img { display: block; }
.cvw-img img { display: block; width: 100%; border-radius: 14px; }

/* iletişim */
.cvw-ct { display: flex; flex-direction: column; gap: 12px; }
.cvw-ct__row { display: flex; gap: 12px; align-items: flex-start; font-size: calc(14px * var(--ax-fz, 1)); line-height: 1.5; }
.cvw-ct__row i { flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--ax-bg, #f5faf5); color: var(--ax-navy, #1b5e24); font-size: .8rem; }
.cvw-ct__row a { color: var(--ax-ink, #14241a); font-weight: 700; text-decoration: none; }
.cvw-ct__row a:hover { color: var(--ax-navy, #1b5e24); text-decoration: underline; }

/* arama */
.cvw-search { display: flex; background: var(--ax-bg, #f5faf5); border-radius: 14px; overflow: hidden; border: 1.5px solid transparent; transition: border-color .15s, background .15s; }
.cvw-search:focus-within { background: #fff; border-color: var(--ax-or, #2e9b3c); }
.cvw-search input { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; padding: 12px 14px; font: inherit; color: var(--ax-ink, #14241a); outline: 0; }
.cvw-search button { border: 0; background: var(--ax-navy, #1b5e24); color: #fff; padding: 0 18px; cursor: pointer; transition: background .15s; }
.cvw-search button:hover { background: var(--ax-navy2, #123a17); }
.cvw-none { font-size: calc(14px * var(--ax-fz, 1)); color: var(--cx-muted, #51624f); }

/* etkinlikler */
.cvw-evs { display: flex; flex-direction: column; gap: 14px; }
.cvw-ev { display: flex; gap: 12px; align-items: center; color: var(--ax-ink, #14241a); text-decoration: none; }
.cvw-ev__d { flex: 0 0 54px; text-align: center; background: var(--ax-navy, #1b5e24); color: #fff; border-radius: 12px; padding: 7px 4px; line-height: 1.1; }
.cvw-ev__d b { display: block; font-size: 19px; font-weight: 800; }
.cvw-ev__d i { font-style: normal; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--ax-or3, #9ee0a6); }
.cvw-ev__t { font-size: calc(14px * var(--ax-fz, 1)); font-weight: 700; line-height: 1.35; }
.cvw-ev:hover .cvw-ev__t { color: var(--ax-navy, #1b5e24); text-decoration: underline; text-underline-offset: 3px; }

/* nöbetçi eczane */
.cvw-ph { display: flex; flex-direction: column; gap: 12px; }
.cvw-ph__item { display: flex; flex-direction: column; gap: 3px; font-size: calc(14px * var(--ax-fz, 1)); padding-bottom: 12px; border-bottom: 1px solid var(--cx-line, #dfe8df); }
.cvw-ph__item:last-of-type { border-bottom: 0; padding-bottom: 0; }
.cvw-ph__item b { color: var(--ax-ink, #14241a); }
.cvw-ph__item a { color: var(--ax-navy, #1b5e24); font-weight: 700; text-decoration: none; }
.cvw-ph__item i { color: var(--ax-or2, #237a2e); margin-right: 4px; }
.cvw-more { color: var(--ax-navy, #1b5e24); font-weight: 800; font-size: 13.5px; text-decoration: none; }
.cvw-more:hover { text-decoration: underline; text-underline-offset: 3px; }

/* galeri */
.cvw-gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.cvw-gal a { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--ax-bg, #f5faf5); }
.cvw-gal img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.cvw-gal a:hover img { transform: scale(1.06); }

/* rakamlar */
.cvw-sts { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; }
.cvw-st { text-align: center; background: var(--ax-bg, #f5faf5); border-radius: 14px; padding: 16px 8px; }
.cvw-st b { display: block; font-size: 24px; font-weight: 800; color: var(--ax-navy, #1b5e24); letter-spacing: -.02em; }
.cvw-st span { font-size: 12.5px; color: var(--cx-muted, #51624f); }

/* çağrı kutusu (kendi kabuğu) */
.cvw-cta { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; border-radius: calc(22px * var(--ax-rs, 1)); padding: 24px; color: #fff; background: var(--ax-navy, #1b5e24); box-shadow: var(--cx-shadow-sm, 0 10px 28px -14px rgba(27, 94, 36, .3)); }
.cvw-cta > i { font-size: 24px; color: var(--ax-or3, #9ee0a6); }
.cvw-cta p { margin: 0; font-size: calc(15px * var(--ax-fz, 1)); line-height: 1.55; }
.cvw-cta a { display: inline-flex; gap: 8px; align-items: center; background: var(--ax-or, #2e9b3c); color: var(--ax-onor, #14241a); font-weight: 800; padding: 11px 18px; border-radius: 12px; text-decoration: none; font-size: 14px; transition: transform .15s, background .15s; }
.cvw-cta a:hover { transform: translateY(-1px); background: var(--ax-or3, #9ee0a6); }
.cvw-cta--navy { background: var(--ax-navy2, #123a17); }
.cvw-cta--gold { background: var(--ax-or, #2e9b3c); color: var(--ax-onor, #14241a); }
.cvw-cta--gold > i { color: var(--ax-onor, #14241a); }
.cvw-cta--gold a { background: var(--ax-navy, #1b5e24); color: #fff; }
.cvw-cta--soft { background: var(--ax-bg, #f5faf5); color: var(--ax-ink, #14241a); box-shadow: none; }
.cvw-cta--soft > i { color: var(--ax-or2, #237a2e); }
.cvw-cta--soft a { background: var(--ax-navy, #1b5e24); color: #fff; }

/* not kutusu (kendi kabuğu) */
.cvw-note { display: flex; gap: 12px; align-items: flex-start; border-radius: 16px; padding: 16px 18px; font-size: calc(14px * var(--ax-fz, 1)); line-height: 1.55; background: color-mix(in srgb, var(--ax-navy, #1b5e24) 8%, #fff); color: var(--ax-ink, #14241a); }
.cvw-note > i { margin-top: 3px; color: var(--ax-navy, #1b5e24); }
.cvw-note--ok { background: #e7f4ea; color: #1d5b32; } .cvw-note--ok > i { color: #2c8a4b; }
.cvw-note--warn { background: #fdf1d9; color: #7a4f0c; } .cvw-note--warn > i { color: var(--ax-or2, #237a2e); }
.cvw-note--stop { background: #fde7e4; color: #8a2417; } .cvw-note--stop > i { color: #d64545; }

/* sosyal */
.cvw-soc { display: flex; flex-wrap: wrap; gap: 8px; }
.cvw-soc a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 42px; height: 42px; padding: 0 13px; border-radius: 13px; background: var(--ax-navy, #1b5e24); color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; transition: background .15s, transform .15s; }
.cvw-soc a:hover { background: var(--ax-or, #2e9b3c); color: var(--ax-onor, #14241a); transform: translateY(-2px); }

/* video + boşluk */
.cvw-vid { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; }
.cvw-vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cvw-sp--line { position: relative; }
.cvw-sp--line::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--cx-line, #e0ece2); }

/* tam genişlik şeritler: anasayfa (Hero altı / En alt) ve her sayfada Footer üstü — kartlar yan yana dizilir */
.cx-home-band, .cx-bf-band { padding: 28px 0; }
.cx-home-band .cvw-wgts, .cx-bf-band .cvw-wgts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; align-items: start; }
.cx-home-band .cvw-wgts > .cvw-cta, .cx-home-band .cvw-wgts > .cvw-note, .cx-home-band .cvw-wgts > .cvw-widget--text,
.cx-bf-band .cvw-wgts > .cvw-cta, .cx-bf-band .cvw-wgts > .cvw-note, .cx-bf-band .cvw-wgts > .cvw-widget--text { grid-column: 1 / -1; }
.cx-home-band .cvw-cta, .cx-bf-band .cvw-cta { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 14px 20px; }
.cx-home-band .cvw-cta p, .cx-bf-band .cvw-cta p { flex: 1 1 260px; }

/* içerik üstü / altı (detay sayfaları ve düz sayfalar): metin sütunu içinde tam genişlik */
.cxpi-art > .cxp-wgts, .cxhd__main > .cxp-wgts { margin: 0 0 24px; }
.cxpi-art > .cxp-wgts:last-of-type, .cxhd__main > .cxp-wgts:last-child { margin: 24px 0 0; }

/* footer sağ sütunu: koyu zeminde beyaz kartlar, gölgesiz */
.cx-foot__extra { margin-top: 18px; }
.cx-foot__extra .cvw-widget { box-shadow: none; }
.cx-foot__extra .cvw-wgts { gap: 14px; }

@media (max-width: 640px) {
  .cvw-widget__hd { padding: 14px 16px 0; } .cvw-widget__bd { padding: 12px 16px 16px; }
  .cx-home-band, .cx-bf-band { padding: 20px 0; }
}
.cx-bf-band .cxp-wgts { margin-top: 0; }
.cx-bf-band .cxp-wgts > .cvw-wgts + .cvw-wgts { margin-top: 20px; }
/* şerit içinde alan grupları tek ızgarada birleşir (her alan ayrı satır olmasın) */
.cx-bf-band .cxp-wgts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; align-items: start; }
.cx-bf-band .cxp-wgts > .cvw-wgts { display: contents; }
.cx-bf-band .cxp-wgts > .cvw-wgts > .cvw-cta, .cx-bf-band .cxp-wgts > .cvw-wgts > .cvw-note { grid-column: 1 / -1; }

/* ── Uluslararası telefon girişi (partials/phone-input.php): bayrak + ülke seçici — site giriş kutularıyla uyumlu (yalnız ön yüz; panel kendi stilini kullanır) ── */
html body .itp { height: 52px; border: 1.5px solid transparent; border-radius: calc(15px * var(--ax-rs, 1)); background: var(--ax-bg, #f3f8f4); box-shadow: none; }
html body .itp:focus-within { background: #fff; border-color: var(--ax-or, #2e9b3c); box-shadow: 0 0 0 4px rgba(46, 155, 60, .14); }
html body .itp.itp--valid { border-color: #2f9a58 !important; box-shadow: none !important; }
html body .itp__btn { background: transparent; border-right: 1.5px solid rgba(20, 36, 26, .1); border-radius: calc(15px * var(--ax-rs, 1)) 0 0 calc(15px * var(--ax-rs, 1)); padding: 0 12px 0 14px; }
html body .itp__btn:hover { background: rgba(20, 36, 26, .05); }
html body .itp__dial { color: var(--ax-ink, #14241a); font-weight: 700; }
html body .itp__input { font-size: calc(14.5px * var(--ax-fz, 1)) !important; color: var(--ax-ink, #14241a) !important; padding: 0 14px !important; height: 100%; }
html body .itp__dd { border-radius: 16px; border-color: var(--cx-line, #dfe8df); }
html body .itp__li:hover, html body .itp__li.is-active { background: var(--ax-bg, #f2f8f2); }
html body .itp__search:focus { border-color: var(--ax-or, #2e9b3c); outline: 0; box-shadow: 0 0 0 3px rgba(46, 155, 60, .14); }
/* iletişim formundaki simgeli kutu: bayrak seçici zaten telefonu belirtir → ikon gizlenir, kutu tam genişlik */
.cxp-ilt-inp:has(.itp) > i { display: none; }
.cxp-ilt-inp .itp .itp__input { padding-left: 14px !important; }
