.horoscope-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}

.horoscope-head h3 {
  margin: 0;
  font-size: 20px;
}

.entertainment-label {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid #ead7a5;
  border-radius: 5px;
  background: #fff9e9;
  color: #75581a;
  font-size: 11px;
  font-weight: 800;
}

.entertainment-label svg {
  width: 15px;
  height: 15px;
}

.zodiac-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}

.zodiac-button {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 64px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  cursor: pointer;
  text-align: left;
}

.zodiac-button:hover {
  border-color: #d68724;
}

.zodiac-button.is-active {
  border-color: #172f43;
  background: #172f43;
  color: #fff;
}

.zodiac-button strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.zodiac-button span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.3;
}

.zodiac-button.is-active span {
  color: #c8d4dd;
}

.horoscope-detail {
  margin-top: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.horoscope-detail-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.horoscope-detail-head span,
.horoscope-detail-head time {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.horoscope-detail-head h4 {
  margin: 3px 0;
  font-size: 25px;
}

.horoscope-detail-head p,
.horoscope-summary,
.horoscope-notes p {
  margin: 0;
}

.horoscope-detail-head p {
  color: var(--muted);
  font-size: 12px;
}

.horoscope-summary {
  max-width: 760px;
  padding: 18px 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.55;
}

.horoscope-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--border);
}

.horoscope-facts span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px;
  background: var(--surface-soft);
}

.horoscope-facts small {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.horoscope-facts strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.horoscope-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 26px;
  margin-top: 20px;
}

.horoscope-notes section {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.entertainment-page { --wc-green:#2357eb; --wc-red:#e74736; --wc-blue:#2f79a7; --wc-line:#dce5e8; --wc-muted:#667b84; }
#view-entertainment [hidden] { display:none !important; }
.leisure-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; border-bottom:1px solid var(--wc-line); }
.leisure-heading h1 { margin:0; font-size:28px; line-height:1.3; letter-spacing:0; }
.wc-coverage { margin:6px 0 0; font-size:12px; color:var(--wc-muted); }
.leisure-tabs { display:flex; gap:4px; border-bottom:1px solid var(--wc-line); }
.leisure-tabs a { display:flex; gap:8px; align-items:center; min-height:44px; padding:0 15px; border-bottom:2px solid transparent; color:#526b75; font-size:14px; font-weight:600; text-decoration:none; }
.leisure-tabs a[aria-current=page] { color:var(--wc-green); border-bottom-color:var(--wc-green); }
.leisure-tabs a:hover { background:#f4f8f9; }
.entertainment-page svg { width:18px; height:18px; flex-shrink:0; }
.world-calendar { min-width:0; }
.wc-filters { display:grid; grid-template-columns:minmax(200px,1.6fr) minmax(120px,1fr) minmax(120px,1fr) minmax(150px,1fr) 155px; gap:12px; padding:20px 0; align-items:end; border-bottom:1px solid var(--wc-line); }
.wc-filters:has(#wcRegionField[hidden]) { grid-template-columns:minmax(200px,1.6fr) minmax(120px,1fr) minmax(150px,1fr) 155px; }
.wc-filters .field { margin:0; min-width:0; gap:6px; }
.wc-filters .field>span { font-size:12px; color:var(--wc-muted); font-weight:500; }
.wc-filters input,.wc-filters select { width:100%; min-width:0; height:40px; padding:0 10px; font-size:13px; border:1px solid #ccd9df; border-radius:5px; background:#fff; color:#29424d; }
.wc-search { display:flex; gap:9px; align-items:center; border:1px solid #ccd9df; border-radius:5px; padding:0 12px; height:40px; color:var(--wc-muted); }
.wc-search input { outline:0; border:0; background:transparent; padding:0; height:38px; }
.wc-search:focus-within { outline:2px solid var(--wc-green); outline-offset:2px; }
.wc-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:18px 0 10px; }
.wc-month-nav,.wc-tools,.wc-view { display:flex; align-items:center; gap:6px; }
.wc-month-nav h3 { margin:0 8px; width:190px; font-size:22px; text-transform:capitalize; letter-spacing:0; }
.wc-month-nav .secondary-button { margin-left:12px; font-size:12px; height:38px; padding:0 14px; }
.wc-tools .icon-button,.wc-month-nav .icon-button { width:38px; height:38px; border-radius:5px; }
.wc-tools #wcSaved { display:flex; align-items:center; gap:6px; width:60px; }
.wc-tools b { font-size:12px; }
.wc-view { margin-left:8px; padding-left:10px; border-left:1px solid var(--wc-line); }
.wc-view .is-active,#wcSaved[aria-pressed=true] { background:#edf2ff; color:var(--wc-green); border-color:#adc0f3; }
.wc-status { margin:0 0 16px; color:var(--wc-muted); font-size:12px; }
.wc-month-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; }
.wc-month-board { min-width:0; }
.wc-weekdays,.wc-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.wc-weekdays { margin:0 0 10px; font-size:12px; color:var(--wc-muted); text-align:left; }
.wc-weekdays span { padding-left:12px; }
.wc-weekdays span:nth-last-child(-n+2) { color:#bd695f; }
.wc-grid { border:1px solid var(--wc-line); border-radius:6px; overflow:hidden; }
.wc-day,.wc-day-blank { min-width:0; height:110px; border:0; border-right:1px solid var(--wc-line); border-bottom:1px solid var(--wc-line); }
.wc-day:nth-child(7n),.wc-day-blank:nth-child(7n) { border-right:0; }
.wc-day:nth-last-child(-n+7),.wc-day-blank:nth-last-child(-n+7) { border-bottom:0; }
.wc-day { position:relative; display:flex; align-items:flex-start; flex-direction:column; padding:12px; background:#fff; font:inherit; color:#304b55; text-align:left; cursor:pointer; }
.wc-day:hover { background:#f3f6ff; }
.wc-day.is-weekend,.wc-day-blank { background:#f7f9fa; }
.wc-day-number { display:flex; justify-content:center; align-items:center; width:24px; height:24px; font-size:14px; font-weight:600; }
.wc-day.is-today .wc-day-number { background:var(--wc-red); color:#fff; border-radius:4px; }
.wc-day.is-selected { background:#edf2ff; box-shadow:inset 0 0 0 2px var(--wc-green); }
.wc-day-preview { margin-top:7px; line-height:1.4; font-size:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; width:100%; overflow-wrap:anywhere; }
.wc-day-count { margin-top:auto; font-size:11px; color:var(--wc-green); font-weight:600; }
.wc-day-agenda { min-width:0; }
.wc-agenda-heading { display:flex; align-items:center; gap:9px; color:var(--wc-red); border-bottom:2px solid #e9aa92; padding:0 0 16px; }
.wc-agenda-heading h3 { margin:0; font-size:16px; color:#304b55; text-transform:capitalize; line-height:1.5; }
#wcDayEvents { max-height:548px; overflow-y:auto; scrollbar-gutter:stable; }
.wc-event { display:grid; grid-template-columns:46px minmax(0,1fr) 34px; gap:16px; padding:16px 0; border-bottom:1px solid var(--wc-line); }
.wc-event-date { display:flex; flex-direction:column; align-items:center; align-self:start; gap:0; background:#f1f6f8; border:0; border-radius:5px; padding:8px 4px; cursor:pointer; min-height:58px; color:#325b68; font:inherit; }
.wc-event-date b { font-size:21px; line-height:1.1; }
.wc-event-date span { font-size:10px; text-transform:uppercase; margin-top:5px; }
.wc-event-copy { min-width:0; }
.wc-event-scope { display:block; font-size:11px; color:var(--wc-muted); line-height:1.4; overflow-wrap:anywhere; }
.wc-event-name { display:block; text-align:left; padding:0; margin:3px 0 6px; border:0; background:none; color:#294b58; font:inherit; font-size:15px; line-height:1.5; font-weight:600; cursor:pointer; overflow-wrap:anywhere; }
.wc-event-name:hover { color:var(--wc-green); text-decoration:underline; }
.wc-event-kind { display:block; font-size:11px; color:var(--wc-muted); line-height:1.5; }
.wc-save { width:32px; height:32px; align-self:start; border-color:transparent; }
.wc-save[aria-pressed=true] { color:var(--wc-green); background:#edf2ff; border-color:#adc0f3; }
.wc-day-agenda .wc-event { grid-template-columns:minmax(0,1fr) 32px; gap:10px; }
.wc-day-agenda .wc-event-date { display:none; }
.wc-day-agenda .wc-event-name { font-size:14px; }
.wc-list-surface { border-top:1px solid var(--wc-line); }
#wcMore { display:flex; margin:24px auto; }
.wc-sources { margin:20px 0 0; padding:14px 0; border-top:1px solid var(--wc-line); color:var(--wc-muted); font-size:11px; line-height:1.8; }
.wc-sources summary { display:flex; gap:7px; align-items:center; cursor:pointer; list-style:none; font-size:12px; }
.wc-sources summary::-webkit-details-marker { display:none; }
.wc-sources summary svg:last-child { margin-left:auto; }
.wc-sources[open] summary svg:last-child { transform:rotate(180deg); }
.wc-sources a { color:#397481; text-decoration:underline; }
.wc-empty { grid-column:1/-1; padding:24px 10px; color:var(--wc-muted); line-height:1.6; }
.wc-empty button { margin:12px 6px 0 0; }
.wc-dialog { width:620px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); margin:auto; padding:0; background:white; color:#34505c; border:1px solid #cbdce2; border-radius:8px; box-shadow:0 20px 60px #0003; }
.wc-dialog::backdrop { background:#23465080; }
.wc-dialog svg { width:18px; height:18px; }
.wc-dialog>header { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:22px; border-bottom:1px solid var(--wc-line,#dce5e8); }
.wc-dialog h2 { margin:0; font-size:21px; line-height:1.45; overflow-wrap:anywhere; letter-spacing:0; }
#wcDialogBody { padding:22px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.wc-detail-date { color:#bf6538; font-weight:600; text-transform:capitalize; }
.wc-source-name { color:#73848b; font-size:12px; }
.wc-dialog footer { display:flex; flex-wrap:wrap; gap:16px; align-items:center; border-top:1px solid #dce5e8; padding-top:18px; margin-top:24px; }
.wc-dialog footer a { display:flex; align-items:center; gap:6px; color:#2357eb; }
.wc-warning { border-left:3px solid #dba641; padding-left:12px; color:#8b6530; }
.entertainment-page button:focus-visible,.entertainment-page a:focus-visible,.wc-dialog button:focus-visible { outline:2px solid #2357eb; outline-offset:2px; }
.world-calendar button:disabled { opacity:.45; cursor:default; }
.entertainment-page .horoscope-section { padding:24px 0; }
.entertainment-page .horoscope-head { margin-bottom:22px; align-items:center; }
.entertainment-page .horoscope-head h3 { font-size:16px; }
.entertainment-page .entertainment-label { padding:0; border:0; background:none; color:#70838c; font-size:12px; font-weight:400; }
.horoscope-layout { display:grid; grid-template-columns:350px minmax(0,1fr); gap:36px; align-items:start; }
.entertainment-page .zodiac-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.entertainment-page .zodiac-button { position:relative; min-height:92px; padding:12px 7px; background:#fff; border:1px solid var(--wc-line); border-radius:5px; text-align:center; font:inherit; }
.entertainment-page .zodiac-button:hover { background:#f3f6ff; border-color:#adc0f3; }
.entertainment-page .zodiac-button .zodiac-symbol { color:#5770a3; font-size:23px; line-height:1; font-family:'Segoe UI Symbol',sans-serif; }
.entertainment-page .zodiac-button strong { font-size:13px; }
.entertainment-page .zodiac-button span:not(.zodiac-symbol) { font-size:10px; color:var(--wc-muted); }
.entertainment-page .zodiac-button.is-active { background:#edf2ff; border-color:#2357eb; color:#183aa0; box-shadow:inset 0 0 0 1px #2357eb; }
.entertainment-page .zodiac-button.is-active .zodiac-symbol { color:#2357eb; }
.entertainment-page .horoscope-detail { margin:0; padding:0 0 20px; border-top:0; }
.entertainment-page .horoscope-detail-head { align-items:center; padding-bottom:18px; border-bottom:1px solid var(--wc-line); }
.entertainment-page .horoscope-detail-head h4 { font-size:28px; color:#264b58; }
.entertainment-page .horoscope-summary { font-size:19px; line-height:1.65; font-weight:500; max-width:760px; padding:22px 0; }
.entertainment-page .horoscope-facts { background:none; gap:0; border:0; border-radius:0; border-top:1px solid var(--wc-line); border-bottom:1px solid var(--wc-line); }
.entertainment-page .horoscope-facts>span { padding:14px 10px; background:none; }
.entertainment-page .horoscope-facts>span:first-child { padding-left:0; }
.entertainment-page .horoscope-notes { margin-top:12px; gap:20px; }
.entertainment-page .horoscope-notes section { padding:12px 0; border:0; background:none; }
.entertainment-page .horoscope-notes p { font-size:13px; line-height:1.7; }
.entertainment-page .entertainment-disclaimer { margin-top:20px; font-size:11px; color:var(--wc-muted); }
@media(max-width:1120px) {
  .wc-filters { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .wc-filters:has(#wcRegionField[hidden]) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wc-search { grid-column:1/-1; }
  .wc-month-layout { grid-template-columns:minmax(0,1fr) 290px; gap:22px; }
  .wc-day-preview { display:none; } .wc-day,.wc-day-blank { height:82px; }
  .horoscope-layout { grid-template-columns:300px minmax(0,1fr); gap:24px; }
}
@media(max-width:800px) {
  .leisure-heading { align-items:flex-start; gap:18px; } .leisure-heading h1 { font-size:24px; }
  .leisure-tabs a { font-size:13px; padding:0 10px; }
  .wc-month-layout,.horoscope-layout { grid-template-columns:minmax(0,1fr); }
  .entertainment-page .horoscope-detail { scroll-margin-top:145px; }
  .wc-month-layout { gap:24px; } #wcDayEvents { max-height:none; overflow:visible; }
  .wc-day,.wc-day-blank { height:70px; }
  .entertainment-page .zodiac-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .entertainment-page .zodiac-button { min-height:86px; }
}
@media(max-width:580px) {
  .leisure-heading { flex-direction:column; gap:14px; padding:16px 0 0; }
  .leisure-heading h1 { font-size:24px; }
  .leisure-tabs { width:100%; border:0; }
  .leisure-tabs a { justify-content:center; flex:1; }
  .wc-filters,.wc-filters:has(#wcRegionField[hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px 0; gap:12px; }
  .wc-toolbar { gap:10px; padding:14px 0 10px; }
  .wc-month-nav { width:100%; } .wc-month-nav h3 { flex:1; min-width:0; width:auto; font-size:18px; margin:0; text-align:center; }
  .wc-month-nav .secondary-button { margin:0 0 0 6px; padding:0 10px; }
  .wc-month-nav .icon-button { width:32px; height:36px; }
  .wc-tools { width:100%; justify-content:flex-end; }
  .wc-status { font-size:11px; }
  .wc-day,.wc-day-blank { height:58px; } .wc-day { padding:6px; }
  .wc-day-number { width:22px; height:22px; font-size:13px; }
  .wc-day-count { font-size:10px; }
  .wc-weekdays span { padding-left:6px; }
  .wc-event { grid-template-columns:40px minmax(0,1fr) 30px; gap:10px; }
  .wc-event-name { font-size:14px; }
  .wc-dialog h2 { font-size:18px; } .wc-dialog>header,#wcDialogBody { padding:16px; }
  .entertainment-page .zodiac-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .entertainment-page .zodiac-button { min-height:84px; }
  .entertainment-page .horoscope-head { flex-direction:row; gap:10px; }
  .entertainment-page .horoscope-head h3 { font-size:14px; }
  .entertainment-page .entertainment-label { font-size:10px; }
  .entertainment-page .horoscope-detail-head { flex-direction:row; }
  .entertainment-page .horoscope-detail-head time { order:0; text-align:right; max-width:115px; line-height:1.6; }
  .entertainment-page .horoscope-summary { font-size:16px; }
  .entertainment-page .horoscope-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .entertainment-page .horoscope-facts>span { padding:12px 0; }
  .entertainment-page .horoscope-notes { grid-template-columns:minmax(0,1fr); gap:6px; }
}

/* NEWS70 shell integration: all controls are local to these two pages. */
.entertainment-page {--border:#dce5e8;--surface:#fff;--surface-soft:#f7f9fc;--text:#172333;--muted:#667b84; padding-bottom:20px}
.entertainment-page .field {display:flex;flex-direction:column}
.entertainment-page .icon-button,.entertainment-page .secondary-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce5e8;background:white;color:#29424d;font:inherit;padding:8px 10px;cursor:pointer;border-radius:6px;flex-shrink:0}
.entertainment-page .icon-button:hover,.entertainment-page .secondary-button:hover {background:#edf2ff;color:#2357eb}
.entertainment-page .wc-day.is-selected {background:#edf2ff}
.entertainment-page .wc-view .is-active,.entertainment-page #wcSaved[aria-pressed=true] {background:#edf2ff;color:#2357eb;border-color:#adc0f3}
.entertainment-page .horoscope-notes svg {margin-top:3px;color:#2357eb}
.entertainment-page .horoscope-notes strong {font-size:14px}
.entertainment-page .horoscope-notes p {margin-top:7px}
.entertainment-page .zodiac-button.is-active span {color:#536588}
.entertainment-page .zodiac-button .zodiac-symbol {font-variant-emoji:text}
#leisureNotice:empty {display:none}
#leisureNotice {padding:12px;border-radius:6px;background:#edf2ff;font-size:13px}
.entertainment-page .wc-dialog {position:fixed;inset:0}
.entertainment-page .wc-dialog footer {background:white}
@media(max-width:580px) {
 .entertainment-page .zodiac-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .entertainment-page .zodiac-button strong {overflow-wrap:normal}
}
