/*
Theme Name: Pharm Academy
Theme URI: https://pharm.academy/
Author: Pharm Academy
Description: Lightweight multilingual theme for the Pharm Academy learning platform.
Version: 0.3.2
Text Domain: pharm-academy-theme
*/

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--pa-text); background: var(--pa-white); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
a { color: var(--pa-blue); }
a:hover, a:focus { color: var(--pa-blue-dark); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { width: auto; height: auto; clip: auto; margin: 8px; padding: 10px 14px; background: #fff; z-index: 100000; }

.pa-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.pa-site-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid var(--pa-border); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.pa-header-row { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.pa-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--pa-navy); font-size: 22px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.pa-brand img { display: block; max-height: 48px; width: auto; }
.pa-primary-nav { margin-left: auto; }
.pa-primary-nav ul { margin: 0; padding: 0; list-style: none; }
.pa-primary-nav > ul { display: flex; align-items: center; gap: 6px; }
.pa-primary-nav a { display: block; padding: 9px 11px; border-radius: 7px; color: var(--pa-navy); font-weight: 650; text-decoration: none; }
.pa-primary-nav a:hover, .pa-primary-nav a:focus, .pa-primary-nav .current-menu-item > a { background: var(--pa-sky); }
.pa-primary-nav .menu-item-has-children { position: relative; }
.pa-primary-nav .sub-menu { position: absolute; top: calc(100% - 1px); left: 0; display: none; min-width: 230px; padding: 8px; border: 1px solid var(--pa-border); border-radius: 8px; background: #fff; box-shadow: var(--pa-shadow); }
.pa-primary-nav .menu-item-has-children:hover > .sub-menu, .pa-primary-nav .menu-item-has-children:focus-within > .sub-menu { display: block; }
.pa-primary-nav .sub-menu a { white-space: nowrap; }
.pa-primary-nav .sub-menu .sub-menu { top: 0; left: calc(100% - 1px); }
.pa-submenu-toggle { display: none; }
.pa-language-switcher { position: relative; margin-left: 10px; padding-left: 16px; border-left: 1px solid var(--pa-border); }
.pa-language-switcher summary { display: flex; align-items: center; gap: 8px; min-width: 126px; min-height: 40px; padding: 7px 30px 7px 10px; border: 1px solid var(--pa-border); border-radius: 7px; color: var(--pa-navy); background: #fff; font-size: 14px; font-weight: 650; cursor: pointer; list-style: none; }
.pa-language-switcher summary::-webkit-details-marker { display: none; }
.pa-language-switcher summary::after { position: absolute; right: 10px; content: "▾"; }
.pa-language-switcher[open] summary, .pa-language-switcher summary:hover, .pa-language-switcher summary:focus { border-color: var(--pa-blue); outline: 2px solid rgba(40, 103, 132, .15); outline-offset: 1px; }
.pa-language-flag { display: block; flex: 0 0 auto; width: 16px; height: 11px; object-fit: cover; }
.pa-language-options { position: absolute; top: calc(100% + 4px); right: 0; z-index: 1100; min-width: 100%; margin: 0; padding: 6px; border: 1px solid var(--pa-border); border-radius: 8px; background: #fff; box-shadow: var(--pa-shadow); list-style: none; }
.pa-language-options a { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 5px; color: var(--pa-navy); text-decoration: none; white-space: nowrap; }
.pa-language-options a:hover, .pa-language-options a:focus, .pa-language-options a.is-current { background: var(--pa-sky); }
.pa-menu-toggle { display: none; margin-left: auto; min-height: 42px; padding: 8px 12px; border: 1px solid var(--pa-border); border-radius: 7px; color: var(--pa-navy); background: #fff; font: inherit; font-weight: 700; }

.pa-main { min-height: calc(100vh - 200px); padding: 44px 0 64px; }
.pa-content { width: min(100%, 1120px); }
.pa-entry-header { margin-bottom: 28px; }
.pa-entry-title { margin: 0; color: var(--pa-navy); font-size: clamp(32px, 5vw, 52px); line-height: 1.12; letter-spacing: -.025em; }
.pa-entry-content > *:first-child { margin-top: 0; }
.pa-entry-content h2, .pa-entry-content h3 { color: var(--pa-navy); line-height: 1.25; }
:where(.pa-entry-content input:not([type="checkbox"]):not([type="radio"]), .pa-entry-content select, .pa-entry-content textarea) { max-width: 100%; border: 1px solid var(--pa-color-field-border); border-radius: var(--pa-radius-sm); background: var(--pa-color-surface-raised); }
:where(.pa-entry-content button, .pa-entry-content input[type="submit"]) { border: 0; border-radius: var(--pa-radius-sm); color: var(--pa-color-surface-raised); background: var(--pa-color-primary); font-weight: 700; }
:where(.pa-entry-content button:hover, .pa-entry-content input[type="submit"]:hover) { color: var(--pa-color-surface-raised); background: var(--pa-color-primary-hover); }

.pa-site-footer { padding: 28px 0; border-top: 1px solid var(--pa-border); color: var(--pa-muted); background: var(--pa-surface); }
.pa-footer-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pa-footer-nav ul { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; padding: 0; list-style: none; }
.pa-footer-nav a { color: var(--pa-muted); text-decoration: none; }

@media (max-width: 900px) {
  .pa-header-row { min-height: 68px; flex-wrap: wrap; padding: 10px 0; }
  .pa-menu-toggle { display: inline-flex; }
  .pa-primary-nav { display: none; order: 3; width: 100%; margin: 0; }
  .pa-primary-nav.is-open { display: block; }
  .pa-primary-nav > ul { align-items: stretch; flex-direction: column; padding: 8px 0; }
  .pa-primary-nav .menu-item-has-children { display: grid; grid-template-columns: minmax(0, 1fr) var(--pa-touch-target); }
  .pa-primary-nav .menu-item-has-children > a { grid-column: 1; }
  .pa-primary-nav .sub-menu { position: static; display: none; grid-column: 1 / -1; min-width: 0; margin-left: 18px; padding: 3px 0 3px 10px; border: 0; border-left: 2px solid var(--pa-border); border-radius: 0; box-shadow: none; }
  .pa-primary-nav .menu-item-has-children.is-submenu-open > .sub-menu { display: block; }
  .pa-submenu-toggle { display: inline-flex; grid-column: 2; grid-row: 1; width: var(--pa-touch-target); min-height: var(--pa-touch-target); align-items: center; justify-content: center; border: 0; border-radius: var(--pa-radius-sm); color: var(--pa-color-primary); background: transparent; font: inherit; font-size: 1.35rem; cursor: pointer; }
  .pa-submenu-toggle:hover, .pa-submenu-toggle:focus-visible { background: var(--pa-color-primary-soft); outline: 2px solid var(--pa-color-focus-ring); }
  .pa-language-switcher { margin-left: auto; padding-left: 10px; }
  .pa-main { padding-top: 30px; }
}

@media (max-width: 600px) {
  .pa-shell { width: min(100% - 24px, 1180px); }
  .pa-language-switcher { order: 4; width: 100%; padding: 8px 0 0; border: 0; border-top: 1px solid var(--pa-border); }
  .pa-language-switcher summary { width: 100%; }
  .pa-language-options { right: auto; left: 0; width: 100%; }
  .pa-footer-row { align-items: flex-start; flex-direction: column; }
}
