/* CartolaNews — Futebol de Areia. All rules scoped under .cn-beach-wrap
 * (spec §18). Theme-aware: LIGHT is the default look; DARK only applies
 * when Foxiz's own toggle stamps body[data-theme="dark"] — no reload,
 * no separate theme button on this page (spec §16/§98). */

.cn-beach-wrap {
	--cn-bg: #f4f6f9;
	--cn-card: #ffffff;
	--cn-text: #152238;
	--cn-muted: #667085;
	--cn-border: #e4e7ec;
	--cn-shadow: 0 8px 24px rgba(15,23,42,.06);

	--cn-primary: #144b9b;
	--cn-primary-dark: #082e63;
	--cn-primary-light: #7494c4;

	--cn-sand: #d6a640;
	--cn-gold: #f2b91d;

	--cn-success: #15803d;
	--cn-danger: #c62828;
	--cn-purple: #5b3fa0;

	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	background: var(--cn-bg);
	color: var(--cn-text);
	display: block;
	max-width: 100%;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
}

body[data-theme="dark"] .cn-beach-wrap {
	--cn-bg: #071525;
	--cn-card: #0d2038;
	--cn-text: #f7f9fc;
	--cn-muted: #aeb9c8;
	--cn-border: rgba(255,255,255,.09);
	--cn-shadow: none;
	--cn-primary-light: #8fb0dd;
}

.cn-beach-wrap * { box-sizing: border-box; }
.cn-beach-wrap img { max-width: 100%; height: auto; }
.cn-beach-wrap a { color: inherit; text-decoration: none; }
.cn-beach-wrap ul, .cn-beach-wrap ol { margin: 0; padding: 0; list-style: none; }
.cn-beach-wrap h1, .cn-beach-wrap h2, .cn-beach-wrap h3 { margin: 0; }
.cn-beach-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.cn-beach-container { max-width: 1320px; margin: 0 auto; padding: 0 20px; }

/* ---------- Hero ---------- */
.cn-beach-hero { position: relative; min-height: 480px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; }
.cn-beach-hero.has-gradient { background: linear-gradient(135deg, var(--cn-primary-dark) 0%, var(--cn-primary) 55%, var(--cn-sand) 130%); }
.cn-beach-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cn-beach-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,20,40,.35) 0%, rgba(8,20,40,.75) 100%); }
.cn-beach-hero-content { position: relative; z-index: 1; width: 100%; max-width: 1320px; margin: 0 auto; padding: 60px 20px 32px; }
.cn-beach-hero-title { font-size: clamp(34px, 5vw, 64px); font-weight: 800; letter-spacing: .5px; line-height: 1.05; margin-bottom: 10px; text-transform: uppercase; }
.cn-beach-hero-subtitle { color: var(--cn-gold); font-weight: 700; font-size: clamp(13px, 1.6vw, 18px); letter-spacing: .5px; margin: 0 0 12px; }
.cn-beach-hero-desc { max-width: 640px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.9); margin: 0 0 24px; }

.cn-beach-hero-shortcuts { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.cn-beach-shortcut { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 6px; background: rgba(8,20,40,.55); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; padding: 12px 18px; min-width: 92px; transition: transform .2s ease, background .2s ease; }
.cn-beach-shortcut:hover { transform: translateY(-2px); background: rgba(8,20,40,.75); }
.cn-beach-shortcut-icon { font-size: 20px; }
.cn-beach-shortcut-label { font-size: 11px; font-weight: 700; text-transform: uppercase; text-align: center; letter-spacing: .3px; }

/* ---------- Menu interno ---------- */
.cn-beach-menu-interno { background: var(--cn-card); border-bottom: 1px solid var(--cn-border); position: sticky; top: 0; z-index: 5; }
.cn-beach-menu-scroller { max-width: 1320px; margin: 0 auto; display: flex; gap: 4px; overflow-x: auto; padding: 0 20px; scrollbar-width: thin; }
.cn-beach-menu-item { flex: 0 0 auto; padding: 14px 16px; font-size: 12.5px; font-weight: 700; letter-spacing: .3px; color: var(--cn-muted); border-bottom: 2px solid transparent; white-space: nowrap; transition: color .2s ease, border-color .2s ease; }
.cn-beach-menu-item:hover, .cn-beach-menu-item:focus-visible { color: var(--cn-primary); border-color: var(--cn-primary); }

/* ---------- Sections & cards ---------- */
.cn-beach-section { padding: 32px 0 8px; }
.cn-beach-section-title { font-size: 20px; font-weight: 800; margin-bottom: 16px; }

.cn-beach-card { background: var(--cn-card); border: 1px solid var(--cn-border); border-radius: 12px; box-shadow: var(--cn-shadow); overflow: hidden; margin-bottom: 24px; display: flex; flex-direction: column; }
.cn-beach-card-header { padding: 14px 18px; font-weight: 800; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cn-beach-card-title { font-size: 14.5px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; color: inherit; }
.cn-beach-header-blue { background: var(--cn-primary); }
.cn-beach-header-navy { background: var(--cn-primary-dark); }
.cn-beach-header-green { background: var(--cn-success); }
.cn-beach-header-purple { background: var(--cn-purple); }
.cn-beach-header-gold { background: linear-gradient(90deg, var(--cn-sand), var(--cn-gold)); color: #21160a; }
.cn-beach-header-red { background: var(--cn-danger); }
.cn-beach-header-with-link { }
.cn-beach-header-link { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.9); text-transform: uppercase; }
.cn-beach-card-body { padding: 18px; flex: 1; }

.cn-beach-empty { color: var(--cn-muted); font-size: 13.5px; padding: 6px 0; }
.cn-beach-fine-print { color: var(--cn-muted); font-size: 11.5px; margin-top: 8px; }
.cn-beach-subheading { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; color: var(--cn-muted); margin: 0 0 10px; }

.cn-beach-btn-outline, .cn-beach-summary-btn { display: inline-block; margin-top: 14px; padding: 10px 16px; border: 1.5px solid var(--cn-primary); color: var(--cn-primary); border-radius: 8px; font-size: 12.5px; font-weight: 800; text-transform: uppercase; text-align: center; cursor: pointer; transition: background .2s ease, color .2s ease; }
.cn-beach-btn-outline:hover, .cn-beach-summary-btn:hover { background: var(--cn-primary); color: #fff; }
body[data-theme="dark"] .cn-beach-btn-outline, body[data-theme="dark"] .cn-beach-summary-btn { color: var(--cn-primary-light); border-color: var(--cn-primary-light); }
body[data-theme="dark"] .cn-beach-btn-outline:hover, body[data-theme="dark"] .cn-beach-summary-btn:hover { background: var(--cn-primary-light); color: #071525; }
.cn-beach-details summary { list-style: none; }
.cn-beach-details summary::-webkit-details-marker { display: none; }

/* ---------- Grids ---------- */
.cn-beach-grid { display: grid; gap: 20px; }
.cn-beach-grid-agora { grid-template-columns: repeat(4, 1fr); }
.cn-beach-grid-jogos-brasil { grid-template-columns: 2.4fr 0.9fr; align-items: start; }
.cn-beach-grid-ranking-campeonatos { grid-template-columns: 1fr 1fr; align-items: start; }
.cn-beach-grid-brasilcentral-noticias { grid-template-columns: 1fr 1.4fr; align-items: start; }
.cn-beach-grid-4col { grid-template-columns: repeat(4, 1fr); align-items: start; }

@media (max-width: 1024px) {
	.cn-beach-grid-agora { grid-template-columns: repeat(2, 1fr); }
	.cn-beach-grid-jogos-brasil, .cn-beach-grid-ranking-campeonatos, .cn-beach-grid-brasilcentral-noticias { grid-template-columns: 1fr 1fr; }
	.cn-beach-grid-4col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.cn-beach-grid-agora, .cn-beach-grid-jogos-brasil, .cn-beach-grid-ranking-campeonatos, .cn-beach-grid-brasilcentral-noticias, .cn-beach-grid-4col { grid-template-columns: 1fr !important; }
}

/* ---------- Agora na areia ---------- */
.cn-beach-card-agora { margin-bottom: 0; }
.cn-beach-vs-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.cn-beach-vs-team { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; text-align: center; flex: 1; min-width: 0; }
.cn-beach-vs-x, .cn-beach-score { font-weight: 800; font-size: 15px; color: var(--cn-muted); white-space: nowrap; }
.cn-beach-flag { font-size: 20px; line-height: 1; }
.cn-beach-team-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.cn-beach-meta-list { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--cn-muted); }
.cn-beach-comp-name { font-weight: 800; font-size: 15px; margin-bottom: 10px; }

.cn-beach-card-sync { justify-content: center; }
.cn-beach-sync-status { display: flex; align-items: center; gap: 6px; font-weight: 800; font-size: 13px; margin-bottom: 10px; }
.cn-beach-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cn-success); display: inline-block; }
.cn-beach-sync-label { font-size: 11.5px; color: var(--cn-muted); margin: 4px 0 2px; }
.cn-beach-sync-value { font-size: 13px; font-weight: 700; }
.cn-beach-sources-list { font-size: 12px; color: var(--cn-muted); display: flex; flex-direction: column; gap: 3px; }

/* ---------- Tabs / filters ---------- */
.cn-beach-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; border-bottom: 1px solid var(--cn-border); padding-bottom: 10px; }
.cn-beach-tabs-compact .cn-beach-tab-btn { padding: 7px 12px; font-size: 11.5px; }
.cn-beach-tab-btn { background: transparent; border: none; padding: 9px 16px; font-size: 12.5px; font-weight: 800; letter-spacing: .3px; color: var(--cn-muted); border-radius: 999px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.cn-beach-tab-btn.is-active, .cn-beach-tab-btn:hover { background: var(--cn-primary); color: #fff; }
.cn-beach-tab-panel { display: none; }
.cn-beach-tab-panel.is-active { display: block; }

.cn-beach-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.cn-beach-filter-btn { background: var(--cn-bg); border: 1px solid var(--cn-border); padding: 7px 14px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .3px; color: var(--cn-muted); cursor: pointer; transition: background .2s ease, color .2s ease; }
.cn-beach-filter-btn.is-active { background: var(--cn-sand); color: #21160a; border-color: var(--cn-sand); }

/* ---------- Tables ---------- */
.cn-beach-table-scroll, .cn-beach-table-wrap { overflow-x: auto; }
.cn-beach-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cn-beach-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .3px; color: var(--cn-muted); padding: 8px 10px; border-bottom: 2px solid var(--cn-border); }
.cn-beach-table td { padding: 10px; border-bottom: 1px solid var(--cn-border); vertical-align: middle; }
.cn-beach-table tbody tr:last-child td { border-bottom: none; }
.cn-beach-table tbody tr:hover { background: rgba(20,75,155,.04); }
body[data-theme="dark"] .cn-beach-table tbody tr:hover { background: rgba(255,255,255,.03); }

.cn-beach-col-player { display: flex; align-items: center; gap: 8px; }
.cn-beach-scorer-avatar { width: 26px; height: 26px; border-radius: 50%; background: var(--cn-primary); color: #fff; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cn-beach-scorer-photo { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.cn-beach-rank-top td:first-child { font-size: 16px; }
.cn-beach-row-brasil, .cn-beach-match-row.has-brazil { background: rgba(20,75,155,.05); }
body[data-theme="dark"] .cn-beach-row-brasil, body[data-theme="dark"] .cn-beach-match-row.has-brazil { background: rgba(255,255,255,.04); }

.cn-beach-match-row.is-finished { opacity: .6; }
.cn-beach-match-row.is-live { background: rgba(198,40,40,.06); }
.cn-beach-col-match { min-width: 220px; }
.cn-beach-match-team { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.cn-beach-match-score { display: inline-block; margin: 0 10px; font-weight: 800; }
.cn-beach-live-badge { color: var(--cn-danger); font-weight: 800; font-size: 11.5px; letter-spacing: .3px; }

/* Site-wide client-side .cn-table-wrap adds a hardcoded light background to
 * every <table> on the page (pre-existing, unrelated mechanism) — scoped
 * override so dark mode stays readable, without touching it anywhere else. */
.cn-beach-wrap .cn-table-wrap { background: transparent !important; }
/* The same site-wide script also carries an unconditional (no media query)
 * rule, `.cn-table-wrap table { min-width: 640px; }`, meant to make ordinary
 * tables horizontally scrollable on mobile — it silently defeats this
 * plugin's own card-transform below, since a 640px min-width on the table
 * forces every 100%-width block/flex descendant to also compute at 640px
 * regardless of the real (390px-class) viewport. Confirmed live 2026-08-30
 * via getComputedStyle + a full ancestor-chain walk. */
.cn-beach-wrap .cn-table-wrap table { min-width: 0 !important; }

/* Responsive table -> card transform (mobile), spec §24.
 * Overriding tr/td display without also overriding table/tbody leaves the
 * table element itself running its default auto-layout width algorithm —
 * confirmed live (2026-08-30) via real mobile screenshots: rows computed a
 * ~640px intrinsic width on a 390px viewport, silently clipped by this
 * wrap's own overflow-x:hidden, making every table look blank. Every level
 * of the hierarchy must exit table-display mode together. */
@media (max-width: 640px) {
	.cn-beach-matches-table, .cn-beach-ranking-table, .cn-beach-table { display: block; width: 100%; }
	.cn-beach-matches-table thead, .cn-beach-ranking-table thead, .cn-beach-table thead { display: none; }
	.cn-beach-matches-table tbody, .cn-beach-ranking-table tbody, .cn-beach-table tbody { display: block; width: 100%; }
	.cn-beach-matches-table tr, .cn-beach-ranking-table tr, .cn-beach-table tr { display: block; width: 100%; padding: 10px 0; }
	.cn-beach-matches-table td, .cn-beach-ranking-table td, .cn-beach-table td { display: flex; width: 100%; justify-content: space-between; gap: 10px; border: none; padding: 4px 0; }
	.cn-beach-matches-table td::before, .cn-beach-ranking-table td::before, .cn-beach-table td::before { content: attr(data-label); font-weight: 700; color: var(--cn-muted); font-size: 11px; text-transform: uppercase; flex: 0 0 auto; }
	.cn-beach-col-match { flex-direction: column; align-items: flex-start !important; }
}

/* ---------- Brasil hero card ---------- */
.cn-beach-card-brasil-hero { background: linear-gradient(160deg, var(--cn-primary-dark), var(--cn-primary)); color: #fff; text-align: center; padding: 28px 18px; align-items: center; justify-content: center; }
.cn-beach-brasil-flag { font-size: 46px; margin-bottom: 8px; }
.cn-beach-brasil-hero-name { font-size: 22px; font-weight: 800; letter-spacing: .5px; }
.cn-beach-brasil-hero-tag { font-size: 11.5px; color: var(--cn-gold); font-weight: 700; text-transform: uppercase; margin: 8px 0 20px; }
.cn-beach-brasil-hero-number { font-size: 46px; font-weight: 800; line-height: 1; }
.cn-beach-brasil-hero-caption { font-size: 11px; text-transform: uppercase; letter-spacing: .3px; color: rgba(255,255,255,.85); margin-top: 6px; }

.cn-beach-simple-list { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.cn-beach-simple-list li { display: flex; gap: 8px; align-items: baseline; }
.cn-beach-simple-date { font-weight: 800; color: var(--cn-muted); font-size: 11.5px; min-width: 34px; }
.cn-beach-simple-time { margin-left: auto; color: var(--cn-muted); font-size: 11.5px; }
.cn-beach-ranked-list li { display: flex; gap: 8px; align-items: center; padding: 4px 0; }

/* ---------- Campeonatos ---------- */
.cn-beach-competitions-list { display: flex; flex-direction: column; gap: 14px; }
.cn-beach-competition-item { display: flex; gap: 12px; align-items: flex-start; }
.cn-beach-month-chip { flex: 0 0 auto; background: var(--cn-primary-dark); color: #fff; font-size: 11px; font-weight: 800; padding: 6px 10px; border-radius: 6px; text-transform: uppercase; }
.cn-beach-competition-info { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.cn-beach-competition-meta { font-size: 11.5px; color: var(--cn-muted); }

/* ---------- Notícias ---------- */
.cn-beach-news-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cn-beach-news-item { display: flex; flex-direction: column; gap: 6px; }
.cn-beach-news-thumb { aspect-ratio: 16/9; background: var(--cn-bg); border-radius: 8px; overflow: hidden; }
.cn-beach-news-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cn-beach-news-title { font-size: 13px; font-weight: 700; line-height: 1.35; }
.cn-beach-news-date { font-size: 11px; color: var(--cn-muted); }

/* ---------- Links rápidos ---------- */
.cn-beach-quicklinks { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin: 8px 0 32px; }
.cn-beach-quicklink { background: var(--cn-card); border: 1px solid var(--cn-border); border-radius: 10px; padding: 16px 10px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; transition: transform .2s ease, box-shadow .2s ease; }
.cn-beach-quicklink:hover { transform: translateY(-2px); box-shadow: var(--cn-shadow); }
.cn-beach-quicklink-icon { font-size: 22px; }
.cn-beach-quicklink-label { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.cn-beach-quicklink-desc { font-size: 10.5px; color: var(--cn-muted); }
@media (max-width: 900px) { .cn-beach-quicklinks { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .cn-beach-quicklinks { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Lendas ---------- */
.cn-beach-legends-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.cn-beach-legend-card { text-align: center; }
.cn-beach-legend-avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--cn-primary); color: #fff; font-size: 22px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 0 auto 8px; }
.cn-beach-legend-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 8px; border: 2px solid var(--cn-border); }
.cn-beach-legend-name { font-size: 12.5px; font-weight: 800; }
.cn-beach-legend-country { font-size: 11px; color: var(--cn-muted); }
.cn-beach-legend-detail { padding: 12px 0; border-top: 1px solid var(--cn-border); }
.cn-beach-legend-detail:first-child { border-top: none; }
.cn-beach-legend-detail-header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.cn-beach-legend-detail-header .cn-beach-legend-avatar, .cn-beach-legend-detail-header .cn-beach-legend-photo { margin: 0; flex: 0 0 auto; }
.cn-beach-legend-detail-header h3 { font-size: 14px; }
@media (max-width: 640px) { .cn-beach-legends-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Regras / campo / recordes ---------- */
.cn-beach-rules-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 12.5px; }
.cn-beach-field-svg { width: 100%; max-width: 320px; display: block; margin: 10px auto; color: var(--cn-primary); }
.cn-beach-records-list { display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.cn-beach-timeline { display: flex; flex-direction: column; gap: 16px; }
.cn-beach-timeline-item { border-left: 3px solid var(--cn-sand); padding-left: 14px; }
.cn-beach-timeline-period { font-size: 11px; font-weight: 800; color: var(--cn-sand); text-transform: uppercase; }
.cn-beach-timeline-title { font-size: 14px; font-weight: 800; margin: 4px 0; }

.cn-beach-curiosity-text { font-size: 14px; line-height: 1.6; min-height: 60px; transition: opacity .3s ease; }

.cn-beach-feminino-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .cn-beach-feminino-grid { grid-template-columns: 1fr; } }

.cn-beach-radar-list { display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.cn-beach-radar-list li { padding-bottom: 8px; border-bottom: 1px solid var(--cn-border); }
.cn-beach-radar-list li:last-child { border-bottom: none; }

.cn-beach-worldcup-box { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--cn-border); }

/* ---------- Newsletter ---------- */
.cn-beach-newsletter { background: var(--cn-primary-dark); color: #fff; padding: 36px 20px; margin-top: 20px; }
.cn-beach-newsletter-inner { max-width: 1320px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.cn-beach-newsletter-title { font-size: 18px; font-weight: 800; }
.cn-beach-newsletter-form { display: flex; gap: 8px; flex: 1; max-width: 420px; min-width: 260px; }
.cn-beach-newsletter-form input { flex: 1; padding: 12px 14px; border-radius: 8px; border: none; font-size: 13px; }
.cn-beach-newsletter-form button { background: var(--cn-gold); color: #21160a; border: none; padding: 12px 20px; border-radius: 8px; font-weight: 800; text-transform: uppercase; font-size: 12px; cursor: pointer; transition: transform .2s ease; }
.cn-beach-newsletter-form button:hover { transform: translateY(-2px); }
.cn-beach-newsletter-feedback { width: 100%; font-size: 12.5px; margin-top: 8px; }

/* ---------- Accessibility / focus ---------- */
.cn-beach-wrap a:focus-visible, .cn-beach-wrap button:focus-visible, .cn-beach-wrap input:focus-visible { outline: 2px solid var(--cn-gold); outline-offset: 2px; }

/* ---------- Responsive top-level ---------- */
@media (max-width: 768px) {
	.cn-beach-hero { min-height: 560px; }
	.cn-beach-hero-content { padding: 40px 16px 24px; }
	.cn-beach-container { padding: 0 14px; }
	.cn-beach-news-grid { grid-template-columns: 1fr; }
}
