/* ═══ 24 ORE HOMEPAGE BUILDER — FRONTEND CSS ═══ */

/* ── Zones ── */
.ohb-zone { position: relative; }
.ohb-zone--disabled { display: none; }
.ohb-zone__head { margin-bottom: 16px; }
.ohb-zone__title {
    font-family: var(--font-ui, 'Barlow', sans-serif);
    font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em;
    text-transform: uppercase; border-top: 3px solid #333;
    padding-top: 8px; display: inline-block;
}

/* ── Responsive visibility ── */
@media (min-width: 1025px) {
    .ohb-show-desktop { display: block; }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .ohb-zone:not(.ohb-show-tablet),
    .ohb-block:not(.ohb-show-tablet) { display: none !important; }
}
@media (max-width: 768px) {
    .ohb-zone:not(.ohb-show-mobile),
    .ohb-block:not(.ohb-show-mobile) { display: none !important; }
}

/* ── Lead + List layout ── */
.ohb-lead-list {
    display: grid; grid-template-columns: 1fr 320px; gap: 28px;
    align-items: start; padding: 20px 0;
}
.ohb-lead__img { width: 100%; height: 340px; object-fit: cover; display: block; margin-bottom: 12px; }
.ohb-side-list { display: flex; flex-direction: column; }
.ohb-side-item { display: flex; gap: 12px; padding: 14px 0; }
.ohb-side-item__img { width: 100%; height: 110px; object-fit: cover; display: block; margin-bottom: 8px; }

@media (max-width: 900px) {
    .ohb-lead-list { grid-template-columns: 1fr; }
    .ohb-lead__img { height: 220px; }
}

/* ── Grid layouts ── */
.ohb-grid { display: grid; gap: 20px; padding: 16px 0; }
.ohb-grid--2 { grid-template-columns: repeat(2, 1fr); }
.ohb-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ohb-grid--4 { grid-template-columns: repeat(4, 1fr); }
.ohb-grid__img { width: 100%; height: 180px; object-fit: cover; display: block; margin-bottom: 10px; }
@media (max-width: 768px) {
    .ohb-grid--3, .ohb-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .ohb-grid--2, .ohb-grid--3, .ohb-grid--4 { grid-template-columns: 1fr; }
}

/* ── List vertical ── */
.ohb-list-v__item { padding: 10px 0; }
.ohb-list-v__link { display: flex; gap: 12px; align-items: center; text-decoration: none; color: inherit; }
.ohb-list-v__thumb { width: 80px; height: 60px; object-fit: cover; flex-shrink: 0; }

/* ── Carousel ── */
.ohb-carousel-wrap { overflow: hidden; }
.ohb-carousel-viewport { overflow: hidden; }
.ohb-carousel-track { display: flex; gap: 20px; transition: transform 0.4s ease; }
.ohb-carousel-slide { flex: 0 0 260px; }

/* ── Ticker ── */
.ohb-ticker { overflow: hidden; background: #C41A1A; color: #fff; padding: 8px 0; }
.ohb-ticker__track {
    display: flex; white-space: nowrap;
    animation: ohb-ticker-scroll 30s linear infinite;
}
.ohb-ticker__item {
    display: inline-block; padding: 0 24px;
    font-family: var(--font-ui, sans-serif); font-size: 0.82rem; font-weight: 600;
    text-decoration: none; color: #fff;
}
.ohb-ticker__dot { color: #ffd700; margin-right: 6px; }
@keyframes ohb-ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── Titles only ── */
.ohb-titles-only__item { padding: 10px 0; }

/* ── Excerpt + meta ── */
.ohb-excerpt-meta__item { padding: 16px 0; }
.ohb-excerpt-meta__img { width: 100%; height: 200px; object-fit: cover; display: block; margin-bottom: 10px; }
.ohb-meta { display: flex; gap: 8px; align-items: center; margin-top: 6px; }
.ohb-meta__author { font-family: var(--font-ui, sans-serif); font-size: 0.75rem; color: #666; }

/* ── Video ── */
.ohb-video-thumb { position: relative; display: block; }
.ohb-play-btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.6); color: #fff; width: 50px; height: 50px;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 20px;
}
.ohb-video-block iframe { width: 100%; aspect-ratio: 16/9; }

/* ── Widgets ── */
.ohb-widget {
    background: #f9f9f7; border: 1px solid var(--border, #e5e5e5);
    padding: 16px; border-radius: 4px; text-align: center;
}
.ohb-widget__label {
    font-family: var(--font-ui, sans-serif); font-size: 0.65rem;
    font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
    color: #666; margin-bottom: 8px;
}
.ohb-widget__icon { font-size: 28px; margin-bottom: 4px; }
.ohb-widget__city { font-size: 0.85rem; font-weight: 600; }
.ohb-widget__temp { font-size: 1.8rem; font-weight: 700; margin-top: 4px; }

.ohb-crypto-item {
    display: flex; gap: 8px; justify-content: center; align-items: center;
    padding: 4px 0; font-family: var(--font-ui, sans-serif); font-size: 0.82rem;
}

/* ── Misc ── */
.ohb-spacer { clear: both; }
.ohb-empty { font-family: var(--font-ui, sans-serif); color: #999; font-size: 0.85rem; padding: 20px; text-align: center; }
.ohb-image-block img { border-radius: 2px; }
.ohb-caption { font-size: 0.8rem; color: #666; margin-top: 6px; font-style: italic; }
.ohb-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.ohb-gallery__img { width: 100%; height: 160px; object-fit: cover; }
.ohb-ad { text-align: center; margin: 16px 0; }
.ohb-embed iframe { width: 100%; }
.ohb-text { font-family: var(--font-body, serif); line-height: 1.6; }
