/* GeoAstro front-end — light "official" theme (self-contained pages). */
:root{
  --ga-bg:#ffffff;--ga-panel:#ffffff;--ga-ink:#1e2430;--ga-mut:#6b7488;
  --ga-acc:#2f6bd8;--ga-line:#e3e7ef;--ga-zebra:#f6f8fc;
  --ga-blue1:#1b45b0;--ga-blue2:#3f79e6;
}
*{box-sizing:border-box}
body.ga-body{margin:0;background:var(--ga-bg);color:var(--ga-ink);
  font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
.ga-top{background:var(--ga-panel);border-bottom:1px solid var(--ga-line);padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ga-top a{color:var(--ga-ink);text-decoration:none}
.ga-top .ga-top-logo{font-weight:700;font-size:18px}
.ga-top .ga-moon{margin-right:8px}
.ga-top-nav{display:flex;gap:18px;flex-wrap:wrap}
.ga-top-nav a{font-size:14px;font-weight:600;color:var(--ga-mut)}
.ga-top-nav a:hover{color:var(--ga-acc)}
.ga-wrap{max-width:960px;margin:0 auto;padding:22px 18px 60px}
.ga-wrap h1{font-size:24px;margin:.2em 0 .4em}
.ga-lead{color:var(--ga-mut);margin:0 0 18px}
.ga-crumbs{font-size:13px;color:var(--ga-mut);margin-bottom:10px}
.ga-crumbs a{color:var(--ga-acc);text-decoration:none}
.ga-sub{font-size:17px;margin:26px 0 10px}
.ga-grid{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.ga-grid a{display:flex;justify-content:space-between;gap:8px;background:var(--ga-panel);
  border:1px solid var(--ga-line);border-radius:8px;padding:9px 12px;color:var(--ga-ink);text-decoration:none}
.ga-grid a:hover{border-color:var(--ga-acc)}
.ga-n{color:var(--ga-mut);font-size:12px}
.ga-card{background:var(--ga-panel);border:1px solid var(--ga-line);border-radius:12px;padding:6px 16px;margin:14px 0;
  box-shadow:0 1px 2px rgba(20,30,60,.04)}
.ga-facts{width:100%;border-collapse:collapse}
.ga-facts th{text-align:left;color:var(--ga-mut);font-weight:500;padding:9px 0;width:52%;border-bottom:1px solid var(--ga-line)}
.ga-facts td{text-align:right;padding:9px 0;border-bottom:1px solid var(--ga-line);font-weight:600}
.ga-facts tr:last-child th,.ga-facts tr:last-child td{border-bottom:none}
.ga-embed-hint{margin-top:22px;font-size:13px;color:var(--ga-mut);word-break:break-all}
.ga-embed-hint code{background:#f2f4f9;border:1px solid var(--ga-line);border-radius:6px;padding:2px 6px;display:inline-block}
.ga-foot{max-width:960px;margin:0 auto;padding:20px;color:var(--ga-mut);font-size:12px;border-top:1px solid var(--ga-line)}

/* date nav */
.ga-datenav{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:6px 0 16px}
.ga-datenav a{flex:1;text-align:center;background:var(--ga-panel);border:1px solid var(--ga-line);
  border-radius:8px;padding:8px 10px;color:var(--ga-ink);text-decoration:none;font-size:13px}
.ga-datenav a:hover{border-color:var(--ga-acc)}
.ga-datenav .ga-today{flex:0 0 auto;color:var(--ga-acc);font-weight:600}

/* ---- moon hero: two-panel official card ---- */
.ga-moonhero{display:flex;background:var(--ga-panel);border:1px solid var(--ga-line);
  border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(20,30,60,.06);margin:8px 0 6px}
.ga-mh-left{flex:1 1 54%;min-width:300px;padding:16px 18px}
.ga-mh-title{font-weight:700;font-size:15px;margin-bottom:10px;line-height:1.35}
.ga-mh-title span{font-weight:400;color:var(--ga-mut)}
.ga-facts2{width:100%;border-collapse:collapse;font-size:13.5px}
.ga-facts2 tr:nth-child(odd){background:var(--ga-zebra)}
.ga-facts2 td{padding:7px 8px}
.ga-facts2 td.ga-lbl{color:#3b4252;display:flex;align-items:center;gap:7px}
.ga-facts2 td.ga-val{text-align:right;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ga-facts2 td.ga-val a{color:var(--ga-acc);text-decoration:none}
.ga-q{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;
  border:1px solid #c3cad8;border-radius:50%;color:#9aa2b4;font-size:10px;line-height:1}
.ga-arrow{color:var(--ga-mut);margin-right:2px}

.ga-mh-right{flex:1 1 46%;min-width:280px;color:#fff;text-align:center;padding:18px 16px 20px;
  background:linear-gradient(160deg,var(--ga-blue1),var(--ga-blue2))}
.ga-mh-h{font-size:20px;font-weight:700;letter-spacing:.3px}
.ga-mh-sub{font-size:13px;opacity:.9;margin-top:2px}
.ga-mh-phase{font-size:15px;font-weight:600;margin:6px 0 4px}
.ga-mh-disk{margin:6px auto 4px}
.ga-mh-zod{font-size:14px;margin-top:6px}
.ga-zbadge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;
  background:radial-gradient(120% 120% at 35% 25%,#ffffff22,#ffffff08);border:1px solid #ffffff40;
  font-size:26px;line-height:1;color:#fff;font-family:"Segoe UI Symbol","DejaVu Sans",sans-serif}
.ga-zname{margin-top:6px;font-weight:600;letter-spacing:.2px}
.ga-zsmall{font-family:"Segoe UI Symbol","DejaVu Sans",sans-serif;color:#5b57b8}
.ga-mh-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:16px;
  border-top:1px solid rgba(255,255,255,.18);padding-top:14px}
.ga-mini{font-size:10.5px;line-height:1.25}
.ga-mini-lbl{display:block;opacity:.85;min-height:26px}
.ga-mini svg{display:block;margin:3px auto}
.ga-mini-dt{display:block;font-weight:600;font-size:11px}
@media(max-width:620px){.ga-moonhero{flex-direction:column}.ga-mh-left,.ga-mh-right{flex:1 1 100%}}

/* charts */
.ga-card-chart{padding:12px 14px}
.ga-chart{display:block}

/* month table */
.ga-monthwrap{padding:0;overflow:hidden}
.ga-month{width:100%;border-collapse:collapse;font-size:13px}
.ga-month th{background:#f2f4f9;color:var(--ga-mut);font-weight:500;text-align:left;padding:9px 10px}
.ga-month td{padding:8px 10px;border-top:1px solid var(--ga-line)}
.ga-month tr:nth-child(even) td{background:var(--ga-zebra)}
.ga-month td a{color:var(--ga-acc);text-decoration:none}
.ga-month .ga-ph{color:var(--ga-ink)}
.ga-month tr.ga-cur td{background:#eaf1ff;font-weight:600}
.ga-month tr:hover td{background:#eef3fe}

/* definition-first lede */
.ga-lede{background:#f2f6ff;border:1px solid #d6e2fb;border-left:3px solid var(--ga-acc);
  border-radius:10px;padding:12px 16px;margin:0 0 16px;font-size:15px;line-height:1.55}

/* visual month calendar grid (moon disk per day) */
.ga-gridwrap{padding:12px}
.ga-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ga-cal-h{text-align:center;font-size:12px;color:var(--ga-mut);font-weight:600;padding:2px 0}
.ga-cal-x{visibility:hidden}
.ga-cal-d{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--ga-ink);
  background:#f7f9fc;border:1px solid var(--ga-line);border-radius:10px;padding:6px 2px}
.ga-cal-d:hover{border-color:var(--ga-acc);background:#eef3fe}
.ga-cal-n{font-size:12px;font-weight:600;align-self:flex-start;margin-left:6px;color:var(--ga-mut)}
.ga-cal-i{font-size:10px;color:var(--ga-mut)}
.ga-cal-d.ga-cal-cur{border-color:var(--ga-acc);background:#e7efff;box-shadow:0 0 0 1px var(--ga-acc) inset}
.ga-cal svg{width:44px;height:44px}
@media(max-width:560px){.ga-cal{gap:4px}.ga-cal svg{width:34px;height:34px}.ga-cal-i{display:none}}

/* year calendar */
.ga-yearwrap{padding:0;overflow:hidden}
.ga-year{width:100%;border-collapse:collapse;font-size:13px}
.ga-year th{background:#f2f4f9;color:var(--ga-mut);font-weight:500;text-align:left;padding:9px 12px}
.ga-year td{padding:8px 12px;border-top:1px solid var(--ga-line)}
.ga-year tr:nth-child(even) td{background:var(--ga-zebra)}

/* FAQ */
.ga-faq{display:flex;flex-direction:column;gap:8px;margin:6px 0}
.ga-faq-item{background:var(--ga-panel);border:1px solid var(--ga-line);border-radius:10px;padding:2px 14px}
.ga-faq-item summary{cursor:pointer;padding:11px 0;font-weight:600;list-style:none}
.ga-faq-item summary::-webkit-details-marker{display:none}
.ga-faq-item summary::before{content:"＋";color:var(--ga-acc);margin-right:8px;font-weight:700}
.ga-faq-item[open] summary::before{content:"－"}
.ga-faq-a{padding:0 0 12px 22px;color:#3b4252}

/* applied-calendar teasers */
.ga-teasers{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ga-teaser{display:flex;flex-direction:column;gap:3px;background:var(--ga-panel);border:1px solid var(--ga-line);
  border-radius:12px;padding:12px 14px}
.ga-teaser-i{font-size:22px}
.ga-teaser-t{font-weight:700}
.ga-teaser-d{font-size:12.5px;color:var(--ga-mut)}

/* methodology */
.ga-method p{margin:10px 2px;color:#3b4252;font-size:13.5px;line-height:1.55}

/* share */
.ga-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px}
.ga-share-b{text-decoration:none;color:#fff;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}
.ga-share-b.ga-vk{background:#0077ff}.ga-share-b.ga-tg{background:#2aabee}
.ga-share-tip{font-size:12px;color:var(--ga-mut)}

/* favorability verdict badge (first screen) */
.ga-badge{border-radius:12px;padding:12px 16px;margin:0 0 16px;border:1px solid}
.ga-badge-main{display:flex;align-items:center;gap:8px}
.ga-badge-dot{font-size:17px}
.ga-badge-label{font-size:17px;font-weight:700}
.ga-badge-sub{font-size:13.5px;color:#3b4252;margin-top:3px}
.ga-badge-link{display:inline-block;margin-top:6px;font-size:13px;color:var(--ga-acc);text-decoration:none;font-weight:600}
.ga-badge-good{background:#e8f7ec;border-color:#bfe6cb}
.ga-badge-neutral{background:#fff8e1;border-color:#efe1a8}
.ga-badge-hard{background:#fff1e6;border-color:#f4cfae}
.ga-badge-caution{background:#fdeaea;border-color:#f2bcbc}

/* lunar-day interpretation */
.ga-lunar-verd{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;border:1px solid;margin-right:6px}
.ga-lunar-gen{margin:8px 2px 14px;font-size:14.5px;line-height:1.55}
.ga-aspects{display:flex;flex-direction:column;gap:8px}
.ga-aspect{border:1px solid var(--ga-line);border-radius:10px;background:#fafbfe;padding:0 12px}
.ga-aspect summary{cursor:pointer;padding:11px 0;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}
.ga-aspect summary::-webkit-details-marker{display:none}
.ga-aspect summary::after{content:"▾";margin-left:auto;color:var(--ga-mut)}
.ga-aspect[open] summary::after{content:"▴"}
.ga-aspect-i{font-size:16px}
.ga-aspect-t{padding:0 0 12px 26px;color:#3b4252;font-size:13.5px;line-height:1.5}
.ga-lunar-note{margin:12px 2px 2px;font-size:12px;color:var(--ga-mut);font-style:italic}

/* activity ratings (дело → оценка), life-moon style */
.ga-acts-h{font-weight:700;margin:16px 2px 8px;font-size:14.5px}
.ga-acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.ga-act{display:flex;align-items:center;gap:8px;background:#fafbfe;border:1px solid var(--ga-line);
  border-left-width:3px;border-radius:8px;padding:7px 10px;font-size:13px}
.ga-act-i{font-size:15px}
.ga-act-n{flex:1;min-width:0}
.ga-act-v{font-size:11.5px;font-weight:700;white-space:nowrap}
.ga-act-good{border-left-color:#35b06a}.ga-act-good .ga-act-v{color:#2c8f56}
.ga-act-neu{border-left-color:#e0b23a}.ga-act-neu .ga-act-v{color:#a8801f}
.ga-act-bad{border-left-color:#e0574a}.ga-act-bad .ga-act-v{color:#c0392b}

/* favourable/unfavourable days of the month */
.ga-favdays{display:flex;flex-direction:column;gap:6px;padding:12px 16px}
.ga-fav-row{font-size:14px;line-height:1.5;border-radius:8px;padding:8px 12px}
.ga-fav-good{background:#e8f7ec}.ga-fav-neu{background:#fff8e1}.ga-fav-bad{background:#fdeaea}

/* favourability dot in month grid */
/* enriched month grid cells (disk + per-day details, favourability tint) */
.ga-cal svg{width:46px;height:46px}
.ga-cal-top{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 4px}
.ga-cal-n{font-size:12px;font-weight:700;color:#3b4252;margin:0}
.ga-cal-z{font-size:12px;color:#5b57b8;font-family:"Segoe UI Symbol","DejaVu Sans",sans-serif}
.ga-cal-ld{font-size:10px;color:var(--ga-mut);text-align:center;line-height:1.2}
.ga-cal-rs{font-size:9.5px;color:var(--ga-mut);white-space:nowrap}
.ga-favcell-best{background:#d9f0e0}.ga-favcell-good{background:#eaf7ec}
.ga-favcell-neu{background:#f5f7fb}.ga-favcell-bad{background:#fdf3d6}
.ga-favcell-worst{background:#fbe6e4}
.ga-cal-d.ga-cal-cur{background:#dfeaff;box-shadow:0 0 0 2px var(--ga-acc) inset;border-color:var(--ga-acc)}
@media(max-width:560px){.ga-cal svg{width:30px;height:30px}.ga-cal-rs,.ga-cal-z{display:none}.ga-cal-ld{font-size:9px}}

/* month/year selector */
.ga-msel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
.ga-msel-nav{background:var(--ga-acc);color:#fff;text-decoration:none;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}
.ga-msel-s{padding:7px 10px;border:1px solid var(--ga-line);border-radius:8px;background:#fff;font-size:13px;color:var(--ga-ink)}

/* [2.png] compact favourability heatmap + legend side by side */
.ga-heatbox{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;margin:8px 0 4px}
.ga-heatwrap{padding:12px;flex:0 0 auto}
.ga-heat{display:grid;grid-template-columns:repeat(7,38px);gap:5px}
.ga-heat-h{width:38px;text-align:center;font-size:11px;color:var(--ga-mut);font-weight:600}
.ga-heat-x{visibility:hidden;width:38px;height:38px}
.ga-heat-d{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:7px;
  text-decoration:none;font-size:13px;font-weight:600;color:#1e2430}
.ga-heat-d:hover{filter:brightness(0.95)}
.ga-heat-cur{outline:2px solid #1e2430;outline-offset:-2px}
.ga-heat-best{background:#2e9e4f;color:#fff}.ga-heat-good{background:#8ccf8c}
.ga-heat-neu{background:#dfe4ec}.ga-heat-bad{background:#f2c94c}.ga-heat-worst{background:#e0574a;color:#fff}
.ga-legend{display:flex;flex-direction:column;gap:8px;margin:6px 0;font-size:13px;color:#3b4252}
.ga-legend-i{display:inline-flex;align-items:center;gap:8px}
.ga-legend-sw{width:16px;height:16px;border-radius:4px;display:inline-block;flex:0 0 16px}

/* [1.png] spacious day cards for the Moon-phase calendar */
.ga-dcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin:6px 0}
.ga-dcard{display:block;background:var(--ga-panel);border:1px solid var(--ga-line);border-left:4px solid var(--ga-line);
  border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ga-ink)}
.ga-dcard:hover{border-color:var(--ga-acc)}
.ga-dc-cur{box-shadow:0 0 0 2px var(--ga-acc) inset}
.ga-dc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.ga-dc-head b{color:var(--ga-acc);font-size:15px}
.ga-dc-head span{color:var(--ga-mut);font-size:12px}
.ga-dc-mid{display:flex;gap:10px;align-items:center}
.ga-dc-mid svg{width:56px;height:56px;flex:0 0 56px}
.ga-dc-lines{display:flex;flex-direction:column;gap:2px;min-width:0}
.ga-dc-ld{font-weight:700;font-size:13.5px}
.ga-dc-ph{color:#3b4252;font-size:13px}
.ga-dc-rs{margin-top:9px;font-size:13.5px;color:#2b3242;font-variant-numeric:tabular-nums}
.ga-dc-zl{margin-top:3px;font-size:12.5px;color:var(--ga-mut)}
.ga-dc-verd{margin-top:8px;font-weight:700;font-size:13.5px}
.ga-dc-illum{margin-top:2px;font-size:12px;color:var(--ga-mut)}
.ga-dc-best{border-left-color:#2e9e4f}.ga-vt-best{color:#2e9e4f}
.ga-dc-good{border-left-color:#7cc47c}.ga-vt-good{color:#3f9a4f}
.ga-dc-neu{border-left-color:#c3ccda}.ga-vt-neu{color:#7a8497}
.ga-dc-bad{border-left-color:#f2c94c}.ga-vt-bad{color:#c98a1a}
.ga-dc-worst{border-left-color:#e0574a}.ga-vt-worst{color:#cc3b2c}
@media(max-width:560px){.ga-dcards{grid-template-columns:1fr 1fr}}

/* collapsible sections (progressive disclosure) */
.ga-collapse{border:1px solid var(--ga-line);border-radius:12px;background:var(--ga-panel);margin:14px 0;overflow:hidden}
.ga-csum{cursor:pointer;margin:0;padding:14px 16px;list-style:none;display:flex;align-items:center;border-bottom:none}
.ga-csum::-webkit-details-marker{display:none}
.ga-csum::after{content:"Развернуть ▾";margin-left:auto;font-size:12px;color:var(--ga-acc);font-weight:600;white-space:nowrap}
.ga-collapse[open] .ga-csum::after{content:"Свернуть ▴"}
.ga-collapse-in{padding:0 14px 12px}
.ga-collapse-in .ga-card{margin:8px 0 0;box-shadow:none}
.ga-chart-lbl{font-size:12px;color:var(--ga-mut);margin:4px 2px 2px;font-weight:600}

/* ============ prayer times pages (/namaz/) ============ */
.gp-context{color:var(--ga-mut);font-size:14px;margin:2px 0 12px}
.gp-context a{color:var(--ga-acc);text-decoration:none}

.gp-count{text-align:center;padding:16px;background:linear-gradient(160deg,var(--ga-blue1),var(--ga-blue2));
  color:#fff;border:none}
.gp-count-lbl{font-size:15px;opacity:.92}
.gp-count-t{font-size:44px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1.2}
.gp-count-sub{font-size:12px;opacity:.75;margin-top:2px}

.gp-today th{width:62%}
.gp-today .gp-syn{display:block;font-size:12px;color:var(--ga-mut);font-weight:400}
.gp-today .gp-t{font-size:19px;font-variant-numeric:tabular-nums}
.gp-today tr.gp-cur th,.gp-today tr.gp-cur td{background:#eaf1ff}
.gp-today tr.gp-cur .gp-t{color:var(--ga-blue1)}

.gp-fast{padding:12px 16px}
.gp-fast-t{font-weight:700;margin:4px 0 8px}
.gp-fast-row{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid var(--ga-line)}
.gp-fast-row span:first-child{flex:0 0 150px;color:var(--ga-mut)}
.gp-fast-row b{font-size:18px;font-variant-numeric:tabular-nums}
.gp-fast-note{font-size:12px;color:var(--ga-mut)}
.gp-fast-dur{padding:8px 0 6px;border-top:1px solid var(--ga-line);font-weight:600}
.gp-fast-ramadan{border-color:#caa94a;box-shadow:0 0 0 2px #f4e7bf inset}

.gp-qibla{display:flex;gap:20px;align-items:center;padding:14px 16px;flex-wrap:wrap}
.gp-compass{flex:0 0 auto}
.gp-qibla-txt{flex:1;min-width:240px}
.gp-qibla-txt p{margin:6px 0}
.gp-note{font-size:12.5px;color:var(--ga-mut)}

.gp-month td,.gp-month th{white-space:nowrap;font-variant-numeric:tabular-nums}
.gp-month .gp-hij{color:var(--ga-mut);font-size:12px}
.gp-print{margin-left:auto;background:var(--ga-panel);border:1px solid var(--ga-line);border-radius:8px;
  padding:7px 12px;font-size:13px;cursor:pointer;color:var(--ga-ink)}
.gp-print:hover{border-color:var(--ga-acc)}

.gp-holiday{display:flex;gap:12px;align-items:flex-start;padding:12px 16px}
.gp-holiday-i{font-size:26px;line-height:1.2}
.gp-holiday-d{font-size:13px;color:var(--ga-mut);margin-top:2px}
.gp-holidays td:first-child{white-space:nowrap;vertical-align:top;color:var(--ga-mut)}
.gp-holidays td{text-align:left!important;font-weight:400!important}

.gp-info{padding:12px 16px}
.gp-info-item{padding:8px 0;border-bottom:1px solid var(--ga-line);line-height:1.55}
.gp-info-item:last-of-type{border-bottom:none}

.gp-settings{padding:12px 16px}
.gp-settings form{display:flex;gap:14px;flex-wrap:wrap}
.gp-settings label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ga-mut);flex:1;min-width:200px}
.gp-settings select{border:1px solid var(--ga-line);border-radius:8px;padding:8px 10px;font-size:14px;
  background:var(--ga-panel);color:var(--ga-ink)}

.gp-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:10px 0}
.gp-links a{display:flex;justify-content:space-between;gap:8px;background:var(--ga-panel);
  border:1px solid var(--ga-line);border-radius:8px;padding:9px 12px;color:var(--ga-ink);
  text-decoration:none;font-size:14px}
.gp-links a:hover{border-color:var(--ga-acc)}
.gp-links a span{color:var(--ga-mut);font-size:12px;white-space:nowrap}

.gp-cross{padding:12px 16px;font-size:14px}
.gp-cross a{color:var(--ga-acc);text-decoration:none;font-weight:600}

.ga-teaser-link{text-decoration:none;color:inherit;border-color:var(--ga-acc)!important}
.ga-teaser-link:hover{box-shadow:0 2px 10px rgba(47,107,216,.18)}

@media print{
  .ga-top,.ga-foot,.ga-datenav,.ga-msel,.gp-count,.gp-settings,.ga-share,.gp-links,.ga-crumbs,
  .ga-collapse,.gp-cross,.ga-faq{display:none!important}
  .ga-card{box-shadow:none;border-color:#bbb}
}
@media(max-width:640px){
  .gp-count-t{font-size:34px}
  .gp-fast-row span:first-child{flex-basis:120px}
  .gp-qibla{justify-content:center}
}
.gp-polar{padding:12px 16px;line-height:1.55;background:#fff8e8;border-color:#e8d9a8}

/* ---- official-look prayer widget (namaz.png reference) ---- */
.gp-widget{padding:12px 14px}
.gp-remind{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14.5px;padding:4px 2px 10px;color:var(--ga-ink)}
.gp-remind input{width:56px;border:1px solid var(--ga-line);border-radius:6px;padding:6px 8px;font-size:14px;text-align:center}
.gp-btn{border:1px solid var(--ga-line);background:#7a7f8a;color:#fff;border-radius:6px;padding:7px 14px;font-size:13.5px;cursor:pointer}
.gp-btn-blue{background:#2f6bd8;border-color:#2f6bd8}
.gp-btn:hover{filter:brightness(1.08)}
.gp-methodbar{display:flex;gap:8px;align-items:center;padding-bottom:4px}
.gp-methodbar select{flex:1;border:1px solid var(--ga-line);border-radius:6px;padding:9px 10px;font-size:14.5px;
  color:#2456b8;font-weight:600;background:var(--ga-panel)}
.gp-gear{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;
  background:#2f6bd8;color:#fff;border-radius:6px;text-decoration:none;font-size:19px}

.gp-clockrow{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;
  background:linear-gradient(135deg,#2e9c52,#43b568 55%,#2e9c52);border-radius:10px;padding:20px 12px 16px;margin:8px 0 4px}
.gp-ck{flex:1;min-width:0;text-align:center;color:#fff}
.gp-ckface{border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.25);background:#fdfdf8;max-width:100%;height:auto}
.gp-ck-cur .gp-ckface{box-shadow:0 0 0 5px #1e7c3d,0 2px 8px rgba(0,0,0,.3)}
.gp-ck-t{font-size:24px;font-weight:800;margin-top:10px;letter-spacing:.5px;font-variant-numeric:tabular-nums;
  text-shadow:0 1px 2px rgba(0,0,0,.25)}
.gp-ck-l{font-size:16.5px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.gp-ck-none{width:104px;height:104px;display:flex;align-items:center;justify-content:center;margin:0 auto;
  color:#e6f4ea;font-size:30px;background:rgba(255,255,255,.14)}
.gp-count-line{text-align:center;font-size:14.5px;color:var(--ga-mut);padding:6px 0 2px}
.gp-count-line b{color:var(--ga-ink);font-variant-numeric:tabular-nums}

.gp-line{border:1px solid var(--ga-line);border-radius:8px;padding:11px 14px;margin:8px 0;font-size:14.5px;line-height:1.5}
.gp-line-holiday{background:#fdf8e7;border-color:#ecdfb0}
.gp-line-ramadan{background:#fdf8e7;border-color:#e0c26a}
.gp-more{float:right;background:#2f6bd8;color:#fff;text-decoration:none;border-radius:6px;padding:5px 12px;font-size:13px;margin-left:10px}
.gp-actions{display:flex;justify-content:space-between;gap:8px;padding:6px 0 2px}
.gp-act{color:#2f6bd8;text-decoration:none;font-size:13.5px;border:1px solid var(--ga-line);border-radius:6px;padding:7px 12px}
.gp-act:hover{border-color:#2f6bd8}

@media(max-width:760px){
  .gp-clockrow{flex-wrap:wrap;gap:12px 4px}
  .gp-ck{flex:0 0 31%}
  .gp-ck-t{font-size:19px}
  .gp-ck-l{font-size:14px}
}

/* ---- geomagnetic storm pages (/magnitnye-buri/) ---- */
.gs-status{display:flex;gap:22px;align-items:center;padding:16px 18px;flex-wrap:wrap}
.gs-now{text-align:center;flex:0 0 auto}
.gs-kp{font-size:56px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.gs-kp-sub{font-size:12.5px;color:var(--ga-mut);margin-top:4px}
.gs-mid{flex:1;min-width:260px}
.gs-verdict{font-size:19px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.gs-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 auto}
.gs-gauge{position:relative;display:flex;gap:2px;height:14px;border-radius:7px;overflow:visible}
.gs-seg{flex:1;border-radius:2px}
.gs-marker{position:absolute;top:-4px;width:4px;height:22px;background:#1e2430;border:1px solid #fff;border-radius:2px;transform:translateX(-50%)}
.gs-gauge-l{display:flex;justify-content:space-between;font-size:11px;color:var(--ga-mut);margin-top:4px}
.gs-peak{margin-top:10px;font-size:14.5px}
.gs-upd{flex-basis:100%;font-size:12px;color:var(--ga-mut);text-align:right}
.gs-daywrap{padding:12px 16px}
.gs-day-sum{margin:4px 0 8px}
.gs-chart{width:100%;height:auto;display:block;min-width:560px}
/* Ниже 560 px график не ужимается до нечитаемого, а прокручивается вбок.
   Тень у края — единственный намёк, что справа есть продолжение (та же
   техника background-attachment: local, что у таблиц солнечной страницы). */
.gs-chartwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;
  background:
    linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left center/30px 100% no-repeat local,
    linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right center/30px 100% no-repeat local,
    linear-gradient(to right,rgba(31,42,61,.18),rgba(31,42,61,0)) left center/14px 100% no-repeat scroll,
    linear-gradient(to left,rgba(31,42,61,.18),rgba(31,42,61,0)) right center/14px 100% no-repeat scroll}
.gs-chart-note{font-size:12px;color:var(--ga-mut);margin:6px 0 2px}
.gs-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;font-size:13px}
.gs-leg-i{display:flex;align-items:center;gap:6px}
.gs-month td,.gs-month th{white-space:nowrap}
.gs-month td .gs-dot{margin-right:6px}
.gs-ref td{text-align:left!important;font-weight:400!important}
.gs-ref td:first-child,.gs-ref td:nth-child(2){white-space:nowrap;font-weight:600!important}
@media(max-width:640px){.gs-kp{font-size:44px}.gs-status{gap:14px}}

/* --- storm page v0.5: tabs, PNG chart, levels legend, facts --- */
.gs-tabbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.gs-tab{background:#e3f2fd;color:#0b62b0;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1.2}
.gs-tab:hover{background:#d2eafb}
.gs-tab:focus-visible{outline:2px solid #0b62b0;outline-offset:2px}
.gs-tabs.gs-js .gs-tab.on{background:#fff;border-color:#0b62b0;box-shadow:inset 0 0 0 1px #0b62b0}
.gs-tabs.gs-js .gs-panel{display:none}
.gs-tabs.gs-js .gs-panel.on{display:block}
.gs-panel>.ga-sub:first-child{margin-top:6px}
.gs-graphimg{width:100%;height:auto;display:block;border-radius:10px;margin:4px 0 12px}
.gs-grid td,.gs-grid th{text-align:center;white-space:nowrap}
.gs-grid td:first-child,.gs-grid th:first-child{text-align:left}
.gs-cell-na{color:var(--ga-mut)}
.gs-levels{background:#eaf3fc;border-left:4px solid #2f6bd8;border-radius:10px;padding:14px 16px;margin:16px 0 6px}
.gs-levels-t{font-weight:700;font-size:16.5px;color:#1c4d8f;margin-bottom:10px}
.gs-levels-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:6px 16px}
.gs-lvl{display:flex;align-items:center;gap:8px;font-size:13.5px;background:#fff;border-radius:6px;padding:5px 9px}
.gs-lvl-b{width:18px;height:18px;border-radius:4px;flex:0 0 auto}
.gs-facts{margin:6px 0 2px;padding-left:20px}
.gs-facts li{margin:7px 0}
.gp-info h3{font-size:15.5px;margin:14px 0 4px}
@media(max-width:640px){.gs-tab{padding:7px 10px;font-size:13px}}
.gs-ref th{width:auto}
.gs-ref th:first-child,.gs-ref td:first-child{width:64px}
.gs-ref th:nth-child(2),.gs-ref td:nth-child(2){width:90px}
/* month calendar of storms */
.gs-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:10px 0 4px}
.gs-cal-h{text-align:center;font-size:11.5px;color:var(--ga-mut);font-weight:600;padding:2px 0}
.gs-cal-x{visibility:hidden}
.gs-cal-c{display:flex;flex-direction:column;align-items:center;gap:1px;background:#f4f6fa;border:1px solid var(--ga-line);border-radius:8px;padding:5px 2px;min-height:44px}
.gs-cal-c span{font-size:11px;color:var(--ga-mut);align-self:flex-start;margin-left:6px}
.gs-cal-c b{font-size:13px;font-variant-numeric:tabular-nums}
.gs-cal-c i{font-style:normal;color:var(--ga-mut)}
.gs-cal-t{box-shadow:inset 0 0 0 2px var(--ga-acc);border-color:var(--ga-acc)}
@media(max-width:560px){.gs-cal{gap:3px}.gs-cal-c b{font-size:11.5px}}

/* ---- интеграция с темой (Twenty Twenty-One): страницы теперь внутри
   header/footer шаблона, поэтому базовые правила темы аккуратно гасим ---- */
body.ga-body{background:var(--ga-bg);color:var(--ga-ink);
  font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5}
.ga-body .site-main{margin:0;padding:0}
.ga-body #content.site-content{padding-top:0}
.ga-body .site-header{padding-top:20px;padding-bottom:10px}
.ga-body .site-main .ga-wrap h1{font-size:24px}
/* кнопки-табы: тема красит <button> в тёмный — возвращаем дизайн плагина */
.ga-body button.gs-tab,.ga-body button.gs-tab:visited{background:#e3f2fd;color:#0b62b0;
  border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.2}
.ga-body button.gs-tab:hover,.ga-body button.gs-tab:active,.ga-body button.gs-tab:focus{background:#d2eafb;color:#0b62b0}
.ga-body .gs-tabs.gs-js button.gs-tab.on{background:#fff;border-color:#0b62b0;box-shadow:inset 0 0 0 1px #0b62b0;color:#0b62b0}
/* ссылки в сетках/крошках без подчёркивания темы */
.ga-body .ga-grid a,.ga-body .ga-crumbs a,.ga-body .ga-datenav a{text-decoration:none}

/* каталог: доп. ссылки на другие модули рядом с городом */
.ga-grid-mod li{line-height:1.5}
.ga-modlink{font-size:12px;color:#6b7d72;text-decoration:none;border-bottom:1px dotted #b9c6bd;margin-left:4px}
.ga-modlink:hover{color:#14663c}

/* ============================================================
   «Где сейчас Луна» — компас, вердикт, почасовая таблица
   ============================================================ */
.ga-sky{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;margin:10px 0 14px}
.ga-sky-compass{flex:0 0 240px;background:#0d1424;border-radius:14px;padding:8px;line-height:0}
.ga-compass{max-width:100%;height:auto}
.ga-sky-txt{flex:1 1 320px;min-width:0}
.ga-sky-verd{margin:0 0 12px;font-size:16px;line-height:1.55;padding:12px 14px;border-radius:10px;border-left:4px solid #b9c6bd;background:#f4f7f5}
.ga-sky-verd b{font-weight:700}
.ga-sv-yes{border-left-color:#2f9e63;background:#eef8f2}
.ga-sv-low{border-left-color:#c9902f;background:#fdf6e8}
.ga-sv-day{border-left-color:#3f7cc9;background:#eef4fc}
.ga-sv-hard{border-left-color:#c9902f;background:#fdf6e8}
.ga-sv-no{border-left-color:#8a93a6;background:#f1f3f7}
.ga-sky-facts{width:100%}
.ga-sky-hint{margin:10px 0 0;font-size:13px;color:#5f6d63;line-height:1.55}
.ga-hourwrap{overflow-x:auto;padding:0}
.ga-hours{border-collapse:collapse;width:100%;font-size:14px;min-width:420px;font-variant-numeric:tabular-nums}
.ga-hours th,.ga-hours td{padding:7px 10px;text-align:left;border-bottom:1px solid #e6ebe7}
.ga-hours th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7d72;font-weight:600}
.ga-hr-below td{color:#9aa6a0}
.ga-hr-now td{background:#eef8f2;font-weight:700}
.ga-hours-note{margin:8px 12px 12px;font-size:12px;color:#7b8a80}

/* ---- лунные сутки: два дня и момент смены ---- */
.ga-spans{display:flex;flex-direction:column;gap:12px}
.ga-span{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:10px;background:#f4f7f5;border-left:4px solid #b9c6bd}
.ga-span-n{flex:0 0 66px;text-align:center;font-size:30px;font-weight:800;line-height:1;color:#14663c}
.ga-span-n span{display:block;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b7d72;margin-top:4px;line-height:1.25}
.ga-span-b{min-width:0}
.ga-span-t{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.ga-span-name{font-size:14px;color:#4a5a50;margin-top:2px}
.ga-span-v{font-size:13px;margin-top:4px}
.ga-spans-note{margin:4px 0 0;font-size:13px;color:#5f6d63;line-height:1.6}

/* ---- ближайшее затмение ---- */
.ga-ecl p{margin:0 0 8px;font-size:16px;line-height:1.6}
.ga-ecl-yes{border-left:4px solid #2f9e63}
.ga-ecl-no{border-left:4px solid #8a93a6}
.ga-ecl-note{font-size:12px;color:#7b8a80}

/* ---- народные названия ---- */
.ga-folk p{margin:0 0 12px;line-height:1.65}
.ga-folk-list{margin:0;display:flex;flex-direction:column;gap:12px}
.ga-folk-list dt{font-weight:700;font-size:15px;color:#14663c}
.ga-folk-list dd{margin:3px 0 0;line-height:1.65;color:#3d4a42}
.ga-folk-note{margin-top:14px;font-size:13px;color:#5f6d63}

@media (max-width:640px){
  .ga-sky-compass{flex:0 0 100%;display:flex;justify-content:center}
  .ga-span-n{flex-basis:54px;font-size:24px}
}

/* ---- из чего складывается оценка дня (4 фактора) ---- */
.ga-factors{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:6px}
.ga-factor{padding:11px 13px;border-radius:10px;background:#f6f8f7;border-left:3px solid #b9c6bd}
.ga-fx-good{border-left-color:#2f9e63;background:#f0f8f3}
.ga-fx-bad{border-left-color:#d0603f;background:#fcf1ee}
.ga-fx-neu{border-left-color:#a8b3ac;background:#f6f8f7}
.ga-fx-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ga-fx-k{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b7d72;font-weight:600}
.ga-fx-s{font-size:16px;font-weight:800;line-height:1}
.ga-fx-good .ga-fx-s{color:#2f9e63}.ga-fx-bad .ga-fx-s{color:#d0603f}.ga-fx-neu .ga-fx-s{color:#8b968f}
.ga-fx-v{font-size:15px;font-weight:700;margin:3px 0 4px}
.ga-fx-d{font-size:13px;line-height:1.5;color:#4a5a50}

/* ---- расписание восхода и захода на 2 месяца ---- */
.ga-rswrap{overflow-x:auto;padding:0}
.ga-rs{border-collapse:collapse;width:100%;font-size:14px;min-width:620px;font-variant-numeric:tabular-nums}
.ga-rs th,.ga-rs td{padding:8px 12px;text-align:left;border-bottom:1px solid #e6ebe7;white-space:nowrap}
.ga-rs th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7d72;font-weight:600;position:sticky;top:0;background:#fff}
.ga-rs tr:nth-child(even) td{background:#fafbfa}
.ga-rs .ga-cur td{background:#eef8f2;font-weight:700}
.ga-rs-wd{color:#8b968f}
.ga-rs .ga-ph{white-space:normal}
.ga-rs-note{margin:10px 12px 12px;font-size:12px;color:#7b8a80;line-height:1.55}

/* ---- навигация по странице ---- */
.ga-pagenav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.ga-pn{display:inline-block;padding:8px 14px;border-radius:999px;background:#eef3f0;border:1px solid #dbe4de;
  color:#14663c;text-decoration:none;font-size:14px;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s}
.ga-pn:hover,.ga-pn:focus-visible{background:#dff0e6;border-color:#8fc3a6}
.ga-pn:focus-visible{outline:2px solid #14663c;outline-offset:2px}

/* ---- особые полнолуния ---- */
.ga-specwrap{overflow-x:auto;padding:0}
.ga-spec{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}
.ga-spec th,.ga-spec td{padding:11px 14px;text-align:left;border-bottom:1px solid #e6ebe7;vertical-align:top}
.ga-spec th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7d72;font-weight:600}
.ga-spec-n{font-weight:700;white-space:nowrap}
.ga-spec-d{white-space:nowrap;font-variant-numeric:tabular-nums}
.ga-spec-x{display:block;font-size:12px;color:#7b8a80;font-weight:400;margin-top:2px}
.ga-spec-w{color:#4a5a50;line-height:1.55}
.ga-spec-note{margin:10px 14px 14px;font-size:12px;color:#7b8a80;line-height:1.55}

/* ---- список благоприятных дней (то, что тянется в сниппет) ---- */
.ga-favlist{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.ga-favrow{padding:8px 12px;border-radius:8px;font-size:14px;line-height:1.5}
.ga-favrow{color:#2f3a33}
.ga-fv-best{background:#dff0e6;border-left:3px solid #2e9e4f}
.ga-fv-good{background:#eaf6ee;border-left:3px solid #8ccf8c}
.ga-fv-neu{background:#f2f4f3;border-left:3px solid #c3cbd6}
.ga-fv-bad{background:#fdf3e0;border-left:3px solid #f2c94c}
.ga-fv-worst{background:#fbeceb;border-left:3px solid #e0574a}

/* ---- хронология знака зодиака ---- */
.ga-chrono{margin-top:4px;padding:10px 13px;border-radius:9px;background:#f0f4fb;font-size:14px;line-height:1.55;color:#33405a}

/* ---- «почему» в оценке дел ---- */
/* .ga-act стал <details>: контейнер должен быть блочным, иначе summary не
   растягивается на всю ширину и flex:1 у названия распределять нечего. */
.ga-act{display:block}
.ga-act summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.ga-act summary::-webkit-details-marker{display:none}
.ga-act summary::after{content:'?';margin-left:auto;font-size:11px;color:#9aa6a0;border:1px solid #cdd6d0;border-radius:50%;width:15px;height:15px;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.ga-act[open] summary::after{content:'−'}
.ga-act-why{font-size:13px;line-height:1.55;color:#4a5a50;margin-top:7px;padding-top:7px;border-top:1px dashed #dde4df}

/* ---- стихия и биодинамика в карточке дня ---- */
.ga-dc-el{font-size:12px;margin-top:2px;color:#6b7d72}
.ga-el-fire{color:#b4622c}.ga-el-earth{color:#6b7a3a}.ga-el-air{color:#4a6f9e}.ga-el-water{color:#2f7f8c}

/* ---- годовой календарь фаз ---- */
.ga-year-m{font-weight:700;white-space:nowrap}
.ga-year-note{margin:10px 14px 14px;font-size:12px;color:#7b8a80}
.ga-mini-in{display:block;font-size:11px;color:rgba(255,255,255,.72);margin-top:2px}

/* ---- страны: регионы-аккордеоны ---- */
.ga-regs{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ga-reg{border:1px solid var(--ga-line);border-radius:10px;background:#fff;overflow:hidden}
.ga-reg[open]{box-shadow:0 1px 3px rgba(20,40,30,.06)}
.ga-reg-s{display:flex;align-items:baseline;gap:10px;padding:12px 16px;cursor:pointer;list-style:none;
  transition:background .12s}
.ga-reg-s::-webkit-details-marker{display:none}
.ga-reg-s:hover{background:#f4f7f5}
.ga-reg-s::before{content:'▸';color:#8b968f;font-size:12px;flex:0 0 auto;transition:transform .15s}
.ga-reg[open] .ga-reg-s::before{transform:rotate(90deg)}
.ga-reg-s:focus-visible{outline:2px solid #14663c;outline-offset:-2px}
.ga-reg-h{margin:0;font-size:16px;font-weight:600;color:#14663c;flex:1 1 auto;line-height:1.3}
.ga-reg-n{font-size:12.5px;color:#7b8a80;white-space:nowrap}
.ga-reg .ga-grid{margin:0;padding:4px 16px 16px;border-top:1px solid var(--ga-line)}

/* ---- хаб раздела ---- */
.ga-hubnow{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:linear-gradient(160deg,#1b2340,#0d1120);
  border-radius:14px;padding:20px 24px;margin:16px 0 22px;color:#eef}
.ga-hubnow-disk{flex:0 0 auto;line-height:0}
.ga-hubnow-facts{flex:1 1 300px;min-width:0}
.ga-hubnow-facts .ga-facts th{color:#a9b6d6;font-weight:500;border-bottom-color:rgba(255,255,255,.12)}
.ga-hubnow-facts .ga-facts td{color:#fff;border-bottom-color:rgba(255,255,255,.12)}
.ga-hublinks{display:flex;flex-wrap:wrap;gap:8px}
.ga-hublinks a{display:inline-block;padding:7px 13px;border-radius:999px;background:#eef3f0;border:1px solid #dbe4de;
  color:#14663c;text-decoration:none;font-size:14px;line-height:1.2}
.ga-hublinks a:hover{background:#dff0e6;border-color:#8fc3a6}
.ga-hubnote{margin:10px 2px 0;font-size:13.5px;color:#5f6d63}
.ga-hubwhat ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;line-height:1.55}
@media (max-width:640px){ .ga-hubnow{padding:16px} .ga-hubnow-disk{margin:0 auto} }

/* ==================== Солнце: /solnce/{город}/ ==================== */

.ga-suncards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin: 18px 0 22px; }
.ga-suncard { border: 1px solid #d7e0ec; border-radius: 10px; padding: 14px 16px 12px; background: #fff; }
.ga-suncard-h { font-weight: 600; color: #33415c; margin-bottom: 10px; }
.ga-suncard-two { display: flex; gap: 10px; }
.ga-suncard-ev { flex: 1; background: #fbfcfe; border: 1px solid #e6ecf5; border-radius: 8px; padding: 8px 10px; }
.ga-suncard-ev b { display: block; font-size: 1.6rem; line-height: 1.2; color: #1f2a3d;
  font-variant-numeric: tabular-nums; }
.ga-suncard-ic { color: #e8a020; margin-right: 5px; }
.ga-suncard-lab { color: #5b6b80; font-size: .86rem; }
/* Три факта под восходом и закатом — строками «подпись слева, число справа».
   Гридом в три колонки они разъезжались: «Полдень (зенит)» переносится на две
   строки, соседи остаются в одну, и числа встают на разной высоте. */
.ga-suncard-dl { margin: 12px 0 10px; }
.ga-suncard-dl > div { display: flex; justify-content: space-between; align-items: baseline;
  gap: 12px; padding: 7px 0; border-bottom: 1px solid #eef2f8; position: relative; }
.ga-suncard-dl > div:last-child { border-bottom: 0; padding-bottom: 2px; }
.ga-suncard-dl dt { color: #5b6b80; font-size: .88rem; }
.ga-suncard-dl dd { margin: 0; font-weight: 600; color: #1f2a3d; white-space: nowrap;
  font-variant-numeric: tabular-nums; }
.ga-suncard-polar { margin: 6px 0 0; color: #5b6b80; }
/* Пометка «след. суток» у конца сумерек за полночь — тише самого времени. */
.ga-dd-sub { font-weight: 400; font-size: .78rem; color: #5b6b80; margin-left: 4px; }

/* Вопросик с пояснением. Именно <details>, а не подсказка по :hover: на
   телефоне наведения нет вовсе, а тап по summary работает везде и не требует
   ни строчки JS. Раскрытый текст лежит абсолютом, иначе он растолкал бы строку
   «подпись — число» и карточка запрыгала бы при каждом открытии. */
/* display:contents, чтобы кружок «?» остался в строке рядом со словом
   «Темнеет», а раскрытый текст лёг блоком под ней на всю ширину подписи.
   При inline-block вопросик уезжал на свою строку: раскрытое тело задавало
   ширину всему элементу. */
.ga-hint { display: contents; }
.ga-hint > summary { display: inline-block; list-style: none; cursor: pointer;
  width: 15px; height: 15px; line-height: 15px; margin-left: 5px; border-radius: 50%;
  background: #e9eef6; color: #5b6b80; font-size: 11px; font-weight: 700; text-align: center;
  vertical-align: 1px; user-select: none; }
.ga-hint > summary::-webkit-details-marker { display: none; }
/* Страховка к display:contents: в части движков он отключает нативное
   скрытие содержимого закрытого <details>, и пояснение висело бы всегда. */
.ga-hint:not([open]) > .ga-hint-b { display: none; }
.ga-hint > summary:hover, .ga-hint[open] > summary { background: #e8a020; color: #fff; }
.ga-hint > summary:focus-visible { outline: 2px solid #e8a020; outline-offset: 2px; }
/* Раскрывается в потоке, а не поповером поверх карточки: всплывающий блок
   с этим текстом накрывал полдень, надир и долготу дня целиком — карточка
   выглядела опустевшей. Пусть лучше подрастёт на высоту абзаца. */
.ga-hint-b { margin: 8px 0 2px; padding: 9px 11px; border-left: 3px solid #e8a020;
  border-radius: 0 6px 6px 0; background: #fbfcfe;
  font-size: 13px; line-height: 1.55; color: #45526b; font-weight: 400; white-space: normal; }
.ga-hint-b b { color: #1f2a3d; white-space: nowrap; }
/* Строка-итог под заголовком месячного аккордеона: не таблица, а ответ. */
.ga-monthdusk { margin: 8px 2px 10px; }
.ga-daybar { height: 6px; background: #e9eef6; border-radius: 3px; overflow: hidden; }
.ga-daybar span { display: block; height: 100%; background: linear-gradient(90deg, #f6c454, #e8a020); }

/* Пояснения второго плана. Класс проставлялся с самого начала, а правила
   под него не было — все двенадцать абзацев шли обычным текстом. */
.ga-note { margin: 8px 2px 16px; font-size: 13.5px; color: #5b6b80; line-height: 1.6; }
/* Расшифровка надира — тот же второй план, но читать её будут, поэтому крупнее. */
.ga-cardnote { margin: -12px 2px 14px; font-size: 14.5px; color: #45526b; }
.ga-tznote { margin: -6px 2px 16px; color: #5b6b80; font-size: 13.5px; }

@media (max-width: 560px) {
  .ga-suncard-dl dt { font-size: .86rem; }
}
.ga-sunmoon { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0 0 18px;
  padding: 10px 14px; border: 1px solid #e6ecf5; border-left: 3px solid #7a6ad8; border-radius: 8px; background: #fbfcfe; }
.ga-sunmoon-ic { font-size: 1.15rem; }
.ga-sunmoon a { white-space: nowrap; }

.ga-compass-wrap { text-align: center; margin: 14px 0 6px; }
.ga-compass-key { color: #5b6b80; font-size: .9rem; margin: 2px 0 0; }
.ga-k { display: inline-block; width: 11px; height: 11px; border-radius: 50%; vertical-align: -1px; }
.ga-k-rise { background: #e8a020; }
.ga-k-set { background: #7a6ad8; }

/* Обёртка широких таблиц. Тоже проставлялась в разметке без правила в CSS:
   восьмиколоночный календарь месяца распирал страницу на телефоне
   (документ 874 px при экране 375). Прокрутка живёт внутри таблицы. */
.ga-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 14px; }
.ga-arc-wrap { margin: 12px 0 6px; overflow-x: auto; }

/* Тень у края — единственный намёк, что содержимое прокручивается вбок.
   Держится на background-attachment: local — «плашки» уезжают вместе с
   содержимым, тени остаются на месте и гаснут у краёв. JS не нужен, и на
   широком экране, где прокрутки нет, теней не видно. */
.ga-scroll, .ga-arc-wrap {
  background:
    linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left center / 30px 100% no-repeat local,
    linear-gradient(to left,  #fff 30%, rgba(255,255,255,0)) right center / 30px 100% no-repeat local,
    linear-gradient(to right, rgba(31,42,61,.18), rgba(31,42,61,0)) left center / 14px 100% no-repeat scroll,
    linear-gradient(to left,  rgba(31,42,61,.18), rgba(31,42,61,0)) right center / 14px 100% no-repeat scroll;
}

/* Подпись таблицы прижата влево и не уезжает при прокрутке: по центру она
   вставала над серединой 735-пиксельной таблицы и на телефоне обрезалась. */
/* max-width в процентах отсчитывался бы от ширины таблицы (735 px) и подпись
   всё равно уезжала бы за экран — ограничиваем её шириной окна. */
.ga-scroll caption { text-align: left; position: sticky; left: 0; max-width: calc(100vw - 36px);
  color: #5b6b80; font-size: 13px; line-height: 1.45; padding: 0 0 6px; }
.ga-sun-arc, .ga-dl-chart { display: block; min-width: 520px; }

.ga-tw { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin: 12px 0 18px; }
.ga-tw table { margin: 0; }
.ga-tw caption { text-align: left; font-weight: 600; color: #33415c; padding-bottom: 6px; }

.ga-suntable td, .ga-suntable th { white-space: nowrap; }
.ga-row-today { background: #fdf6e6; }
/* Зебра .ga-month красит сами ячейки, поэтому фон на <tr> сегодняшней строки
   проигрывал бы каждой чётной строке — подсветку тоже вешаем на ячейки. */
.ga-month tr.ga-row-today td, .ga-month tr.ga-row-today th { background: #fdf6e6; }
.ga-row-today th { font-weight: 700; }
.ga-neg { color: #b3541e; }
.ga-pos { color: #1f8a52; }

.ga-months { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 16px; }
.ga-months .ga-m-now { background: #14663c; border-color: #14663c; color: #fff; }

.ga-monthbox { border: 1px solid #e6ecf5; border-radius: 8px; margin: 8px 0; padding: 0 12px; }
.ga-monthbox > summary { cursor: pointer; padding: 10px 0; font-weight: 600; color: #33415c; }
.ga-monthbox[open] > summary { border-bottom: 1px solid #eef2f8; margin-bottom: 8px; }

/* Ссылки на соседние города и список городов на хабе. Правила не было —
   ссылки шли подряд без пробелов и читались одним словом:
   «ЗамоскворечьеТаганскийКрасная Пресня». Тот же чип, что у .ga-hublinks. */
.ga-citylinks { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 18px; }
.ga-citylinks a { display: inline-block; padding: 7px 13px; border-radius: 999px; background: #eef3f0;
  border: 1px solid #dbe4de; color: #14663c; text-decoration: none; font-size: 14px; line-height: 1.2; }
.ga-citylinks a:hover { background: #dff0e6; border-color: #8fc3a6; }

/* Хаб разделов /kalendari/ */
.ga-modcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin: 18px 0 24px; }
.ga-modcard { border: 1px solid #d7e0ec; border-radius: 10px; padding: 16px 18px; background: #fff; }
.ga-modcard h2 { margin: 0 0 8px; font-size: 1.25rem; }
.ga-modcard h2 a { text-decoration: none; }
.ga-modcard p { margin: 0 0 10px; }
.ga-modcard-i { margin-right: 4px; }

.ga-cross { list-style: none; padding: 0; margin: 10px 0 0; }
.ga-cross li { margin: 6px 0; }

/* ================= модуль «точное время» (/vremya/) ================= */

/* Циферблат первого экрана. Цифры моноширинные и с tabular-nums: иначе при
   каждой смене секунды строка «дышит» и прыгает на пару пикселей. */
.gt-clock { margin: 14px 0 18px; padding: 22px 18px 16px; text-align: center;
  border: 1px solid var(--ga-line); border-radius: 14px; background: linear-gradient(180deg, #fbfcff, #f4f7fd); }
.gt-time { font-size: clamp(44px, 13vw, 92px); line-height: 1; font-weight: 700; letter-spacing: -.01em;
  color: #16203a; font-variant-numeric: tabular-nums;
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace; }
.gt-date { margin-top: 10px; font-size: 16px; color: #33415c; }
.gt-meta { margin-top: 10px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.gt-meta span { font-size: 13px; color: var(--ga-mut); background: #fff;
  border: 1px solid var(--ga-line); border-radius: 999px; padding: 3px 11px; }
.gt-drift { margin: 10px 0 0; font-size: 13px; color: var(--ga-mut); }
/* Время внутри строки лида — тем же табличным начертанием, иначе абзац
   дёргается на каждой смене минуты. */
.gt-inline { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Плашка разницы с Москвой: ответ на второй по частоте вопрос страницы
   должен читаться, не вчитываясь. */
.gt-diffbig { display: flex; align-items: center; gap: 14px; margin: 12px 0 16px;
  padding: 12px 16px; border: 1px solid #e6ecf5; border-left: 3px solid var(--ga-acc);
  border-radius: 8px; background: #fbfcfe; }
.gt-diffnum { font-size: 30px; font-weight: 700; color: var(--ga-acc); font-variant-numeric: tabular-nums; }
.gt-difflab { color: #5b6b80; font-size: 14px; }

/* Калькулятор разницы. Однорядная форма: город слева, ответ справа, на
   телефоне — друг под другом. */
.gt-calc { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0 16px;
  padding: 14px 16px; border: 1px solid var(--ga-line); border-radius: 10px; background: var(--ga-zebra); }
.gt-calclab { font-size: 14px; color: #33415c; font-weight: 600; }
.gt-select { flex: 0 1 240px; padding: 8px 10px; font-size: 15px; color: var(--ga-ink);
  background: #fff; border: 1px solid var(--ga-line); border-radius: 8px; }
.gt-select:focus { outline: 2px solid var(--ga-acc); outline-offset: 1px; }
.gt-calcout { flex: 1 1 240px; font-size: 15px; color: var(--ga-ink); font-variant-numeric: tabular-nums; }

@media (max-width: 560px) {
  .gt-diffbig { gap: 10px; }
  .gt-diffnum { font-size: 26px; }
}

/* ================= блочный скин (единый для всех модулей) =================
   Эталон — /luna/ и /namaz/: каждый смысловой раздел живёт в карточке с
   лёгкой обводкой, заголовок раздела внутри карточки. Солнце и время раньше
   шли сплошной простынёй, поэтому правила ниже приводят их к тому же виду.
   Классы .ga-sun/.ga-time стоят на .ga-wrap, поэтому лунные страницы,
   где карточка обёрнута вокруг одной таблицы, правила не задевают. */

.ga-sun .ga-card, .ga-time .ga-card { padding: 16px 18px; margin: 16px 0; }
.ga-sun .ga-card > h2, .ga-time .ga-card > h2 { font-size: 19px; line-height: 1.3; margin: 0 0 12px; }
.ga-sun .ga-card > h3:first-child, .ga-time .ga-card > h3:first-child { margin-top: 0; }
.ga-sun .ga-card > :last-child, .ga-time .ga-card > :last-child { margin-bottom: 0; }
.ga-sun .ga-card > h3, .ga-time .ga-card > h3 { font-size: 16px; margin: 18px 0 8px; color: #33415c; }

/* Вложенные блоки внутри карточки не должны рисовать вторую рамку. */
.ga-time .ga-card .gt-calc { border: 0; border-radius: 8px; margin: 0; }
.ga-sun .ga-card .ga-monthbox { border: 0; padding: 0; }

/* FAQ теперь тот же, что на луне: раскрывашка-карточка, а не голый details. */
.ga-sun .ga-faq-item, .ga-time .ga-faq-item { background: var(--ga-zebra); }
