/* Agape Akatemia: sivuston ylä- ja alatunniste itsenäisille sivuille (tienestilaskuri).
   Kaikki säännöt on rajattu .aa-shell-luokan alle, jotta ne eivät sotke sivun omia tyylejä. */

@font-face { font-family: "Roboto Slab"; font-weight: 300; font-display: swap; src: url("../fonts/roboto-slab-latin-300-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto Slab"; font-weight: 400; font-display: swap; src: url("../fonts/roboto-slab-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto Slab"; font-weight: 600; font-display: swap; src: url("../fonts/roboto-slab-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 400; font-display: swap; src: url("../fonts/roboto-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 500; font-display: swap; src: url("../fonts/roboto-latin-500-normal.woff2") format("woff2"); }

.aa-shell, .aa-shell * { box-sizing: border-box; }
.aa-shell { font-family: "Roboto", system-ui, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.aa-shell a { text-decoration: none; }
.aa-wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 20px; }

.aa-topbar { background: #fff; border-bottom: 1px solid #dde3e8; font-size: 13px; color: #5f6879; }
.aa-topbar .aa-wrap { display: flex; justify-content: flex-end; gap: 22px; padding-top: 7px; padding-bottom: 7px; flex-wrap: wrap; }
.aa-topbar a { color: #00796b; }

.aa-header { background: #00796b; color: #fff; position: sticky; top: 0; z-index: 50; }
.aa-header .aa-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 68px; gap: 28px; position: relative; }
.aa-brand { display: flex; align-items: center; gap: 11px; color: #fff; font-family: "Roboto Slab", Georgia, serif; font-size: 1.35rem; font-weight: 400; white-space: nowrap; line-height: 1.25; }
.aa-brand:hover { color: #fff; }
.aa-brand img { height: 44px; width: auto; display: block; filter: drop-shadow(0 1px 2px rgba(0,0,0,.18)); }
.aa-brand small { display: block; font-family: "Roboto", sans-serif; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; opacity: .9; font-weight: 500; margin-top: 1px; }
.aa-nav { display: flex; align-items: center; gap: 4px; }
.aa-nav a { white-space: nowrap; color: #fff; font-family: "Roboto Slab", Georgia, serif; font-weight: 300; font-size: .93rem; padding: 8px 8px; border-radius: 5px; }
.aa-nav a:hover { background: rgba(255,255,255,.12); color: #fff; }
.aa-nav a[aria-current="page"] { font-weight: 600; }
.aa-nav .aa-login { border: 1px solid rgba(255,255,255,.55); margin-left: 6px; padding: 8px 12px; font-family: "Roboto", sans-serif; font-weight: 500; font-size: .85rem; }
.aa-toggle { display: none; background: none; border: 1px solid rgba(255,255,255,.5); color: #fff; border-radius: 5px; padding: 8px 12px; font: 500 .9rem "Roboto", sans-serif; cursor: pointer; min-height: 44px; }

@media (max-width: 1220px) {
  .aa-toggle { display: inline-flex; align-items: center; }
  .aa-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #00564c; flex-direction: column; align-items: stretch; padding: 8px 12px 16px; gap: 0; }
  .aa-nav.open { display: flex; }
  .aa-nav a { padding: 13px 10px; font-size: 1.05rem; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 0; }
  .aa-nav .aa-login { margin: 12px 0 0; text-align: center; border-radius: 5px; }
  .aa-topbar .aa-wrap { justify-content: center; gap: 14px; }
  .aa-topbar .aa-hours { display: none; }
}

.aa-footer { background: #003d36; color: #b9d3cf; font-size: 15px; padding: 56px 0 28px; margin-top: 40px; }
.aa-footer a { color: #fff; }
.aa-footer a:hover { text-decoration: underline; }
.aa-fgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; }
.aa-fhead { color: #fff; font-family: "Roboto Slab", Georgia, serif; font-weight: 400; font-size: 1.05rem; margin: 0 0 12px; }
.aa-footer p { margin: 0 0 1em; }
.aa-footer ul { list-style: none; padding: 0; margin: 0; }
.aa-footer li { margin-bottom: 8px; }
.aa-fbottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 40px; padding-top: 20px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; }
@media (max-width: 860px) { .aa-fgrid { grid-template-columns: 1fr; gap: 28px; } }

/* Laskurin alapuolinen tietoteksti */
.aa-info { max-width: 900px; margin: 24px auto 0; padding: 8px 16px 0; }
.aa-info h2 { margin-top: 1.4em; }
.aa-info ul { margin: .4em 0 1em; padding-left: 1.3em; }
.aa-info li { margin-bottom: .25em; }
.aa-info p, .aa-info li { color: var(--text-soft, #4e586e); font-size: 1rem; line-height: 1.65; }
.aa-info a { color: #00796b; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 380px) {
  .aa-header .aa-wrap { gap: 12px; }
  .aa-brand { font-size: 1.12rem; gap: 8px; }
  .aa-brand img { height: 38px; }
  .aa-toggle { padding: 8px 10px; }
}
