/*
Theme Name: Cycle Bloom Pal
Description: Lightweight, accessible PCOS app theme with articles, tutorials, and editable download settings.
Version: 1.5.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: cycle-bloom-pal
License: GPL-2.0-or-later
*/

:root { --font-display: Georgia, serif; --font-body: system-ui, -apple-system, "Segoe UI", sans-serif; }
.reveal { opacity: 1; transform: none; }
.skip-link { position: absolute; left: 1rem; top: -10rem; z-index: 99999; background: white; padding: 1rem; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.content-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.content-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.content-card__body { padding: 1.5rem; }
.content-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.content-card h4 { font-size: 1.4rem; margin: .5rem 0; }
.content-card p { margin: .75rem 0; }
.content-meta { font-size: .9rem; color: var(--muted-foreground); }
.section-link { display: inline-block; margin-top: 1.5rem; font-weight: 700; }
.entry-content { overflow-wrap: anywhere; }
.container.prose { padding-inline: clamp(1rem, 3vw, 2rem); overflow-wrap: anywhere; }
.entry-content > * + * { margin-top: 1.25rem; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content ul, .entry-content ol { padding-left: 1.5rem; }
.entry-content h2, .entry-content h3 { margin-top: 2rem; }
.entry-content a, .content-card a, .breadcrumb a { text-decoration: underline; text-underline-offset: .2em; }
.entry-content iframe { max-width: 100%; }
.entry-content table { display: block; overflow-x: auto; }
.breadcrumb { margin-bottom: 1.5rem; font-size: .9rem; }
.pagination { margin: 2rem 0; }
.pagination .page-numbers { display: inline-block; padding: .5rem .8rem; }
.author-box { margin-top: 2rem; padding: 1.5rem; background: var(--muted); border-radius: 1rem; }
.site-header .nav__links { flex-wrap: wrap; }
.nav-mobile ul { list-style: none; }
.nav__links .sub-menu { position: absolute; background: white; list-style: none; padding: .5rem; border-radius: 1rem; display: none; }
.nav__links li:hover > .sub-menu, .nav__links li:focus-within > .sub-menu { display: block; }
.nav-mobile .sub-menu { margin-left: 1rem; }
.site-footer .footer-col__label { font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1.5; color: #fff; margin: 0 0 1rem; }
.language-switcher { position: relative; flex-shrink: 0; font-size: .9rem; }
.language-switcher summary { cursor: pointer; padding: .6rem; border-radius: 1rem; background: var(--muted); list-style: none; }
.language-switcher nav { position: absolute; inset-inline-end: 0; top: 100%; background: var(--card); padding: .75rem; border: 1px solid var(--border); border-radius: 1rem; min-width: 12rem; box-shadow: var(--shadow-soft); z-index: 100; }
.language-switcher ul { list-style: none; }
.language-switcher a, .language-switcher button { display: block; padding: .5rem; width: 100%; text-align: start; }
.language-switcher a[aria-current] { font-weight: 800; background: var(--muted); border-radius: .5rem; }
.language-switcher button { font: inherit; border: 0; background: transparent; cursor: pointer; color: var(--primary); }
[dir="rtl"] { --font-body: Tahoma, "Segoe UI", sans-serif; --font-display: Tahoma, "Segoe UI", sans-serif; }
[dir="rtl"] .split__list { padding-inline-start: 0; }
[dir="rtl"] .prose ul, [dir="rtl"] .prose ol { padding-left: 0; padding-inline-start: 1.5rem; }
[dir="rtl"] .prose th, [dir="rtl"] .prose td { text-align: start; }
[dir="rtl"] .section-link { unicode-bidi: plaintext; }
.translation-notice { max-width: 48rem; margin-inline: auto; }
@media(min-width: 900px) and (max-width: 1150px) { .site-header .nav__links a { padding-inline: .5rem; } .nav__cta { display: none; } }
@media(max-width: 600px) { .nav__name { font-size: .9rem; } .language-switcher { font-size: .8rem; } .nav { gap: .3rem; } .nav__brand { min-width: 0; } }
.wp-block-image figcaption { font-size: .9rem; }
.footer-social { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 1rem; font-size: 1rem; }
.footer-social a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.cbp-icon { display: inline-block; flex-shrink: 0; vertical-align: middle; }
.language-switcher summary { display: flex; align-items: center; gap: .45rem; min-height: 44px; }
.language-switcher summary::-webkit-details-marker { display: none; }
[dir="rtl"] .footer-social { justify-content: flex-end; }
.analytics-choice { position: fixed; inset-inline: 1rem; bottom: 1rem; margin-inline: auto; max-width: 46rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--card); box-shadow: var(--shadow-float); z-index: 10000; }
.analytics-choice[hidden] { display: none; }
.analytics-choice h2 { font-size: 1.2rem; margin-bottom: .4rem; }
.analytics-choice p { font-size: .95rem; }
.analytics-choice__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.analytics-choice button { flex: 1; min-width: 9rem; padding: .65rem 1rem; border: 1px solid var(--primary); border-radius: .6rem; background: var(--card); color: var(--foreground); font: inherit; cursor: pointer; }
.analytics-settings { margin-top: .75rem; padding: .25rem 0; border: 0; background: transparent; text-decoration: underline; color: inherit; font: inherit; cursor: pointer; }
body.admin-bar .site-header { top: 32px; }
@media(max-width: 900px) { .content-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .content-grid { grid-template-columns: 1fr; } body.admin-bar .site-header { top: 46px; } }
@media(prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
