/* ===========================================================================
 * Extreme Pro - widgety v patičce (Theme Options -> Footer -> 2. Widgety)
 * Proměnné: --fw-cols, --fw-accent, --fw-pt, --fw-pb. Barvy pozadí / textu /
 * nadpisů z nastavení Footeru se přidávají inline (exp_footer_inline_style).
 * Třídy: .exp-fw--t-{line|bar|full|plain}, .exp-fw--a-{left|center}, .exp-fw--l-{arrows|dots|plain}
 * ======================================================================== */
.exp-fw-area { --fw-accent: var(--exp-primary,#5000A0); --fw-light: color-mix(in srgb, var(--fw-accent) 45%, #fff); position: relative; padding: var(--fw-pt, 64px) 0 var(--fw-pb, 48px); background: #121318; color: var(--ft-text, rgba(255, 255, 255, .72)); font-size: var(--fw-fs, 15px); line-height: 1.7; }
@media (max-width: 767px) { .exp-fw-area { padding-top: var(--fw-ptm, var(--fw-pt, 64px)); padding-bottom: var(--fw-pbm, var(--fw-pb, 48px)); } }
.exp-fw-area *, .exp-fw-area *::before, .exp-fw-area *::after { box-sizing: border-box; }
.exp-fw-area::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: var(--fw-lh, 3px); background: linear-gradient(90deg, var(--fw-l1, var(--fw-accent)), var(--fw-l2, color-mix(in srgb, var(--fw-accent) 40%, var(--exp-secondary,#ff7a59)))); }
.container.exp-fw-area::before { content: none; }
.exp-fw-area .container::before, .exp-fw-area .container::after { content: none; display: none; }
.exp-fw-grid { display: grid; grid-template-columns: repeat(var(--fw-cols, 4), minmax(0, 1fr)); gap: var(--fw-gy, 40px) var(--fw-gx, 48px); }
.exp-fw.is-wide { grid-column: span 2; }
@media (max-width: 991px) { .exp-fw-grid { grid-template-columns: repeat(min(2, var(--fw-cols, 4)), minmax(0, 1fr)); } .exp-fw.is-wide { grid-column: auto; } }
@media (max-width: 575px) { .exp-fw-grid { grid-template-columns: minmax(0, 1fr); } }
.exp-fw { min-width: 0; }
.exp-fw-area p { margin: 0 0 .8em; color: inherit; font-size: inherit; line-height: inherit; }
.exp-fw-area a { color: var(--ft-link, rgba(255, 255, 255, .82)); text-decoration: none; transition: color .2s; }
.exp-fw-area a:hover { color: var(--ft-hover, var(--fw-light)); }

/* Nadpis widgetu */
.exp-fw-title { position: relative; margin: 0 0 var(--fw-tg, 22px); padding: 0; font-size: var(--fw-tfs, 17px); font-weight: 700; line-height: 1.3; letter-spacing: .02em; color: var(--ft-title, #fff); text-transform: none; }
.exp-fw--t-line .exp-fw-title { padding-bottom: 14px; }
.exp-fw--t-line .exp-fw-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; border-radius: 3px; background: var(--fw-accent); }
.exp-fw--t-bar .exp-fw-title { padding-left: 12px; border-left: 3px solid var(--fw-accent); line-height: 1.1; }
.exp-fw--t-full .exp-fw-title { padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.exp-fw--a-center .exp-fw { text-align: center; }
.exp-fw--a-center.exp-fw--t-line .exp-fw-title::after { left: 50%; transform: translateX(-50%); }
.exp-fw--a-center .exp-fw-social, .exp-fw--a-center .exp-fw-contact li, .exp-fw--a-center .exp-fw-posts a { justify-content: center; }
.exp-fw--a-center .exp-fw-links a { justify-content: center; }

/* O nás */
.exp-fw-logo { display: inline-block; margin-bottom: 16px; }
.exp-fw-logo img { display: block; max-width: 180px; max-height: 56px; width: auto; height: auto; }
.exp-fw-logo--text { font-size: 22px; font-weight: 800; color: var(--ft-title, #fff) !important; }
.exp-fw-social { margin-top: 16px; }
.exp-fw--a-center .exp-fw-social .exp-soc { justify-content: center; }

/* Odkazy */
.exp-fw-links { margin: 0; padding: 0; list-style: none; }
.exp-fw-links li { margin: 0; padding: 0; list-style: none; }
.exp-fw-links a { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.exp-fw--l-arrows .exp-fw-links a::before { content: ""; flex: 0 0 auto; width: 6px; height: 6px; border-top: 2px solid var(--fw-light); border-right: 2px solid var(--fw-light); transform: rotate(45deg); transition: transform .2s; }
.exp-fw--l-arrows .exp-fw-links a:hover::before { transform: translateX(3px) rotate(45deg); }
.exp-fw--l-dots .exp-fw-links a::before { content: ""; flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%; background: var(--fw-light); }

/* Kontakt */
.exp-fw-contact { margin: 0; padding: 0; list-style: none; }
.exp-fw-contact li { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px; padding: 0; list-style: none; }
.exp-fw-ci { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: color-mix(in srgb, var(--fw-accent) 30%, transparent); color: #fff; font-size: 14px; }
.exp-fw-contact li > span:last-child { padding-top: 5px; }

/* Nejnovější články */
.exp-fw-posts { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.exp-fw-posts li { margin: 0; padding: 0; list-style: none; }
.exp-fw-posts a { display: flex; align-items: center; gap: 12px; }
.exp-fw-pimg { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.exp-fw-pimg img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.exp-fw-posts a:hover .exp-fw-pimg img { transform: scale(1.08); }
.exp-fw-noimg { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--fw-accent), color-mix(in srgb, var(--fw-accent) 55%, var(--exp-secondary,#ff7a59))); color: #fff; font-weight: 700; font-size: 20px; }
.exp-fw-ptxt { display: flex; flex-direction: column; min-width: 0; }
.exp-fw-ptitle { font-weight: 600; line-height: 1.35; color: var(--ft-title, #fff); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.exp-fw-posts a:hover .exp-fw-ptitle { color: var(--ft-hover, var(--fw-light)); }
.exp-fw-pdate { font-size: 13px; color: rgba(255, 255, 255, .5); }

/* Výzva */
.exp-fw-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding: 11px 22px; border-radius: 999px; background: var(--fw-accent); color: #fff !important; font-weight: 600; font-size: 14px; transition: transform .2s, filter .2s; }
.exp-fw-btn:hover { transform: translateY(-2px); filter: brightness(1.15); }

/* Obsah z editoru */
.exp-fw-text ul { margin: 0; padding-left: 18px; }
.exp-fw-text img { max-width: 100%; height: auto; }

/* Accordion na mobilu (js/exp-footer-widget.js) */
.exp-fw-area .exp-footer-accordion-item { border-bottom: 1px solid rgba(255, 255, 255, .12); }
.exp-fw-area .exp-footer-accordion-title { color: var(--ft-title, #fff); font-size: 15px; letter-spacing: .02em; }
@media (max-width: 767px) {
	.exp-fw-area .container, .exp_footer_area .container { padding-left: 20px; padding-right: 20px; }
}
