/* Around the World — featured cards + news list
   This site's theme applies its own line-height / white-space / spacing
   rules broadly enough that plain specificity wasn't consistently
   winning (that's what caused text to run past the card edge instead
   of wrapping, and oversized gaps around each line). !important is
   used deliberately here so this self-contained widget renders the
   same regardless of what the theme does elsewhere — it's scoped
   entirely to .atw-wrap so it can't affect anything outside this
   widget. */

.atw-wrap,
.atw-wrap * {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.atw-wrap {
    max-width: 960px;
    margin: 0 auto !important;
}

.atw-wrap .atw-section-label {
    display: block !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8a8a86;
    margin: 32px 0 12px !important;
}

.atw-wrap .atw-section-label:first-child {
    margin-top: 0 !important;
}

/* Featured cards — capped track width so 1-2 items don't stretch to
   fill the whole row; more items will still wrap into extra columns. */
.atw-wrap .atw-featured-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
    justify-content: start;
    gap: 16px;
}

.atw-wrap .atw-card {
    display: block !important;
    border: 1px solid #e5e4e0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.atw-wrap .atw-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.atw-wrap .atw-card__media {
    display: block !important;
    position: relative;
    height: 130px !important;
    background-color: #eceae4;
    background-size: cover;
    background-position: center;
}

.atw-wrap .atw-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #1a3c6e;
}

.atw-wrap .atw-card__body {
    display: block !important;
    padding: 14px 16px !important;
}

.atw-wrap .atw-card__meta {
    display: block !important;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #8a8a86;
    margin-bottom: 6px !important;
}

.atw-wrap .atw-card__title {
    display: block !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
}

.atw-wrap .atw-card__blurb {
    display: block !important;
    font-size: 13px;
    color: #555;
    line-height: 1.5 !important;
}

/* News list */
.atw-wrap .atw-news-list {
    display: block !important;
    border: 1px solid #e5e4e0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.atw-wrap .atw-news-row {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 12px 16px !important;
    border-bottom: 1px solid #eeece7;
    text-decoration: none;
    color: inherit;
    transition: background 0.12s ease;
}

.atw-wrap .atw-news-row:last-child {
    border-bottom: none;
}

.atw-wrap .atw-news-row:hover {
    background: #faf9f6;
}

.atw-wrap .atw-news-date {
    display: block !important;
    font-size: 12px;
    color: #8a8a86;
    width: 48px;
    flex-shrink: 0;
}

.atw-wrap .atw-news-country {
    display: inline-block !important;
    font-size: 12px;
    padding: 2px 10px !important;
    border-radius: 999px;
    background: #eef2f7;
    color: #1a3c6e;
    flex-shrink: 0;
    white-space: nowrap !important;
}

.atw-wrap .atw-news-headline {
    display: block !important;
    font-size: 13px;
    color: #333;
    flex: 1;
}

.atw-wrap .atw-news-icon {
    display: inline-flex !important;
    font-size: 13px;
    color: #8a8a86;
    flex-shrink: 0;
}

@media (max-width: 640px) {
    .atw-wrap .atw-news-headline {
        flex-basis: 100%;
        order: 3;
    }
}

/* Pagination */
.atw-wrap .atw-pager {
    display: flex !important;
    justify-content: center;
    gap: 6px;
    margin-top: 16px !important;
}

.atw-wrap .atw-pager__btn {
    display: inline-block !important;
    font-size: 13px;
    width: 32px;
    height: 32px !important;
    border-radius: 8px;
    border: 1px solid #e5e4e0;
    background: #fff;
    color: #555;
    cursor: pointer;
}

.atw-wrap .atw-pager__btn:hover {
    border-color: #1a3c6e;
}

.atw-wrap .atw-pager__btn.is-active {
    background: #1a3c6e;
    border-color: #1a3c6e;
    color: #fff;
}
