/* Raksakoma Pages: Donate, Contact, Reports. Colours come from the theme (RKO logo). */
.rko-pages { --rko-red: var(--pifoxen-base, #e8283a); --rko-navy: var(--pifoxen-black, #37419a); --rko-text: var(--pifoxen-gray, #4a5285); margin: 10px 0 0; }
.rko-pages__lead { font-size: 18px; line-height: 1.65; color: var(--rko-text); margin: 0 0 26px; }
.rko-pages__title { font-size: 26px; color: var(--rko-navy); margin: 30px 0 16px; }
.rko-pages h3 { font-size: 19px; color: var(--rko-navy); margin: 0 0 12px; }
.rko-pages__btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 26px; border: 0; border-radius: 999px;
  background: var(--pifoxen-base, #e8283a); color: #fff !important;
  font-weight: 600; text-decoration: none !important; cursor: pointer;
}
.rko-pages__btn:hover { filter: brightness(.93); }
.rko-pages__btn--small { padding: 8px 18px; font-size: 14px; }
.rko-pages__btn--ghost { background: #fff; color: var(--rko-navy) !important; box-shadow: inset 0 0 0 2px #d9dbe8; }
.rko-pages__note { margin-top: 30px; padding: 22px 24px; border-radius: 12px; background: var(--pifoxen-extra-two, #f2f0ec); }
.rko-pages__soon { padding: 40px 24px; border-radius: 12px; background: var(--pifoxen-extra-two, #f2f0ec); text-align: center; font-size: 18px; }
.rko-pages__preview { margin: 0 0 20px; padding: 10px 14px; border-left: 4px solid #dba617; background: #fcf9e8; font-size: 14px; }
.rko-pages__notice { margin: 0 0 20px; padding: 12px 16px; border-radius: 8px; }
.rko-pages__notice--ok { background: #edfaef; color: #00641a; }
.rko-pages__notice--error { background: #fcf0f1; color: #8a1f1f; }

/* Donate */
.rko-donate__amounts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.rko-donate__amount { padding: 22px 20px; border-radius: 12px; background: #fff; box-shadow: 0 6px 22px rgba(55, 65, 154, .10); border-top: 4px solid var(--rko-red); }
.rko-donate__value { display: block; font-family: var(--pifoxen-font-two, inherit); font-size: 30px; color: var(--rko-red); margin-bottom: 6px; }
.rko-donate__what { color: var(--rko-text); line-height: 1.5; }
.rko-donate__ways { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.rko-donate__way { padding: 24px; border-radius: 12px; background: #fff; box-shadow: 0 6px 22px rgba(55, 65, 154, .10); }
.rko-donate__way--qr { text-align: center; }
.rko-donate__way--qr img { max-width: 240px; width: 100%; height: auto; margin: 0 auto 10px; display: block; }
.rko-donate__bank { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; margin: 0; }
.rko-donate__bank dt { font-weight: 600; color: var(--rko-navy); }
.rko-donate__bank dd { margin: 0; color: var(--rko-text); word-break: break-word; }

/* Contact */
.rko-contact__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 30px; }
.rko-contact__form label { display: block; font-weight: 600; color: var(--rko-navy); }
.rko-contact__form input, .rko-contact__form textarea, .rko-contact__form select { display: block; width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid #d9dbe8; border-radius: 8px; font: inherit; font-weight: 400; }
.rko-contact__form input:focus, .rko-contact__form textarea:focus, .rko-contact__form select:focus { outline: none; border-color: var(--rko-navy); box-shadow: 0 0 0 3px rgba(55, 65, 154, .15); }
.rko-contact__hp { position: absolute !important; left: -9999px !important; }
.rko-contact__info { list-style: none; margin: 0 0 20px; padding: 0; }
.rko-contact__info li { display: flex; flex-direction: column; padding: 12px 0; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.rko-contact__info strong { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--rko-red); }
.rko-contact__info a, .rko-contact__info span { color: var(--rko-text); text-decoration: none; }
.rko-contact__form select { height: 48px; background: #fff; color: var(--rko-text); }
.rko-contact__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin: 0 0 32px; }
.rko-contact__card { padding: 20px; border-radius: 12px; background: #fff; box-shadow: 0 6px 22px rgba(55, 65, 154, .10); border-top: 4px solid var(--rko-red); }
.rko-contact__card:nth-child(4n+2) { border-top-color: var(--pifoxen-primary, #f37a21); }
.rko-contact__card:nth-child(4n+3) { border-top-color: #41b14a; }
.rko-contact__card:nth-child(4n+4) { border-top-color: #13b8a9; }
.rko-contact__icon { display: inline-flex; width: 42px; height: 42px; margin-bottom: 10px; border-radius: 50%; align-items: center; justify-content: center; background: #f3f4fa; }
.rko-contact__icon svg { width: 22px; height: 22px; fill: var(--rko-navy); }
.rko-contact__card h3 { margin: 0 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--rko-red); }
.rko-contact__value { margin: 0 0 8px; font-size: 16px; line-height: 1.5; color: var(--rko-navy); word-break: break-word; }
.rko-contact__value a { color: var(--rko-navy); text-decoration: none; }
.rko-contact__action { margin: 0; font-size: 14px; }
.rko-contact__action a { color: var(--rko-red); font-weight: 600; text-decoration: none; }
.rko-contact__form-wrap .rko-pages__title { margin-top: 0; }
.rko-contact__map-title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 20px; color: var(--rko-navy); }
.rko-contact__map-title svg { width: 22px; height: 22px; fill: var(--rko-red); }
.rko-contact__map iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: 10px; margin-bottom: 10px; }
.rko-contact__map-address { margin: 0 0 12px; font-size: 15px; color: var(--rko-text); }
.rko-contact__map-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.rko-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.rko-contact__send { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.rko-contact__send button:disabled { opacity: .45; cursor: not-allowed; filter: none; }
.rko-contact__privacy { font-size: 13px; color: #7a7fa3; }
.rko-human { margin: 4px 0 18px; padding: 14px 16px; border: 1.5px dashed #c9cce0; border-radius: 10px; background: #f7f8fc; }
.rko-human.is-verified { border-style: solid; border-color: #41b14a; background: #f1faf2; }
.rko-human__title { margin: 0 0 8px; font-weight: 600; color: var(--rko-navy); }
.rko-human__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.rko-human__q { font-size: 17px; font-weight: 700; color: var(--rko-navy); }
.rko-contact__form .rko-human input[name=rko_human_answer] { display: inline-block; width: 80px; margin: 0; text-align: center; }
.rko-human__status { min-height: 1.3em; margin: 8px 0 0; font-size: 14px; }
.rko-human__status.is-ok { color: #2e7d32; font-weight: 600; }
.rko-human__status.is-error { color: #c62828; }
.rko-useful { margin-top: 40px; }
.rko-useful__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.rko-useful__item { padding: 18px 20px; border-radius: 12px; background: var(--pifoxen-extra-two, #f5f6fb); }
.rko-useful__item h3 { margin: 0 0 6px; font-size: 17px; color: var(--rko-navy); }
.rko-useful__item p { margin: 0 0 6px; font-size: 15px; line-height: 1.55; color: var(--rko-text); }
.rko-useful__item:last-child { background: #fdecee; }

/* Summary report */
.rko-summary { margin: 10px 0 40px; }
.rko-summary__draft { margin: 0 0 20px; padding: 12px 16px; border: 2px dashed #f37a21; border-radius: 10px; background: #fff8f1; color: #7a4a08; font-size: 14px; }
.rko-summary__head h2 { margin: 6px 0 8px; font-size: 32px; color: var(--rko-navy); }
.rko-summary__year { display: inline-block; padding: 3px 12px; border-radius: 20px; background: var(--rko-red); color: #fff; font-weight: 700; letter-spacing: .05em; }
.rko-summary__h { margin: 34px 0 14px; font-size: 22px; color: var(--rko-navy); }
.rko-summary__message { margin: 24px 0 0; padding: 20px 24px; border-left: 4px solid var(--pifoxen-primary, #f37a21); border-radius: 0 12px 12px 0; background: #fff8f1; font-size: 17px; font-style: italic; color: var(--rko-text); }
.rko-summary__message p, .rko-summary__story p { margin: 0 0 8px; }
.rko-summary__message cite, .rko-summary__story cite { font-style: normal; font-weight: 600; font-size: 14px; color: var(--rko-navy); }
.rko-summary__figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.rko-summary__figure { padding: 20px 16px; border-radius: 12px; background: #fff; box-shadow: 0 6px 22px rgba(55, 65, 154, .10); border-top: 4px solid var(--c); text-align: center; }
.rko-summary__figure strong { display: block; font-size: 34px; line-height: 1.1; color: var(--c); }
.rko-summary__figure span { display: block; margin-top: 6px; font-size: 14px; color: var(--rko-text); }
.rko-summary__highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.rko-summary__highlight { padding: 18px 20px; border-radius: 12px; background: var(--pifoxen-extra-two, #f5f6fb); border-left: 4px solid var(--c); }
.rko-summary__highlight h4 { margin: 0 0 6px; font-size: 17px; color: var(--rko-navy); }
.rko-summary__highlight p { margin: 0; font-size: 15px; line-height: 1.55; }
.rko-summary__money { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rko-summary__money h4 { margin: 0 0 10px; font-size: 16px; color: var(--rko-navy); }
.rko-summary__bars { list-style: none; margin: 0; padding: 0; }
.rko-summary__bars li { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 8px 0; border-bottom: 1px solid rgba(0, 0, 0, .06); font-size: 15px; }
.rko-summary__bar-value { font-weight: 700; color: var(--rko-navy); }
.rko-summary__bar { grid-column: 1 / -1; height: 8px; border-radius: 4px; background: #eceef6; overflow: hidden; }
.rko-summary__bar i { display: block; height: 100%; border-radius: 4px; }
.rko-summary__note { margin: 10px 0 0; font-size: 13px; color: #7a7fa3; }
.rko-summary__story { margin: 0 0 12px; padding: 18px 22px; border-radius: 12px; background: #f1faf2; font-size: 16px; font-style: italic; }
.rko-summary__thanks { margin-top: 34px; padding: 24px; border-radius: 12px; background: var(--rko-navy); color: #fff; text-align: center; }
.rko-summary__thanks p { margin: 0 0 12px; font-size: 17px; }
.rko-summary__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 !important; }

/* Reports */
.rko-reports__reg { font-weight: 600; color: var(--rko-navy); }
.rko-reports__list { list-style: none; margin: 0; padding: 0; }
.rko-reports__list li { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.rko-reports__year { flex: none; min-width: 58px; padding: 4px 10px; border-radius: 6px; background: var(--rko-navy); color: #fff; text-align: center; font-weight: 700; }
.rko-reports__name { flex: 1; color: var(--rko-text); }

@media (max-width: 767px) {
  .rko-contact__grid, .rko-contact__row, .rko-summary__money { grid-template-columns: 1fr; }
  .rko-reports__list li { flex-wrap: wrap; }
}

/* Contact: form and map as two matching cards of equal height */
.rko-contact .rko-contact__grid { align-items: stretch; gap: 24px; }
.rko-contact__panel { display: flex; flex-direction: column; min-width: 0; padding: 26px 28px; border-radius: 14px; background: #fff; box-shadow: 0 6px 24px rgba(55, 65, 154, .11); border-top: 4px solid var(--rko-navy); }
.rko-contact__map.rko-contact__panel { border-top-color: var(--rko-red); }
.rko-contact .rko-contact__panel-title { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-size: 22px; line-height: 1.3; color: var(--rko-navy); }
.rko-contact__panel-title svg { flex: none; width: 24px; height: 24px; fill: var(--rko-red); }
/* Same look for every field */
.rko-contact .rko-contact__form p { margin: 0 0 16px; }
.rko-contact .rko-contact__form label { font-size: 15px; line-height: 1.4; }
.rko-contact .rko-contact__form input[type=text], .rko-contact .rko-contact__form input[type=email], .rko-contact .rko-contact__form input[type=tel], .rko-contact .rko-contact__form select {
  height: 48px; margin-top: 6px; padding: 0 14px; border: 1px solid #d9dbe8; border-radius: 8px; background: #fff; font-size: 16px; line-height: 48px; box-shadow: none;
}
.rko-contact .rko-contact__form textarea { min-height: 150px; margin-top: 6px; border-radius: 8px; font-size: 16px; line-height: 1.5; }
.rko-contact .rko-human { margin: 0 0 16px; padding: 14px 16px; }
.rko-contact .rko-human__title { font-size: 15px; }
.rko-contact .rko-human__q { font-size: 16px; }
.rko-contact .rko-contact__form .rko-human input[name=rko_human_answer] { height: 40px; line-height: 40px; }
.rko-contact .rko-human__status:empty { display: none; }
.rko-contact .rko-contact__send { margin: 0; }
/* Map card: the map fills the space, address and buttons at the bottom */
.rko-contact__map iframe { flex: 1 1 auto; min-height: 280px; aspect-ratio: auto; margin: 0 0 16px; }
.rko-contact .rko-contact__map-address { margin: 0 0 16px; font-size: 15px; line-height: 1.6; }
.rko-contact .rko-contact__map-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.rko-contact__map-buttons .rko-pages__btn { justify-content: center; text-align: center; white-space: nowrap; }
@media (max-width: 767px) {
  .rko-contact__panel { padding: 20px 18px; }
  .rko-contact__map iframe { min-height: 240px; }
  .rko-contact .rko-contact__map-buttons { grid-template-columns: 1fr; }
}

/* Useful information: 3 per row on wide screens, 2 on tablets, 1 on phones */
.rko-contact .rko-useful { margin-top: 32px; }
.rko-contact .rko-useful__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.rko-contact .rko-useful__item { padding: 16px 18px; }
.rko-contact .rko-useful__item h3 { margin: 0 0 6px; font-size: 16px; line-height: 1.3; }
.rko-contact .rko-useful__item p { margin: 0 0 4px; font-size: 14px; line-height: 1.5; }
@media (max-width: 991px) { .rko-contact .rko-useful__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .rko-contact .rko-useful__grid { grid-template-columns: minmax(0, 1fr); } }

/* Contact: the map card sits under the form card, full width */
.rko-contact .rko-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.rko-contact__map iframe { flex: none; width: 100%; height: 340px; min-height: 0; margin: 0 0 18px; }
.rko-contact__map-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.rko-contact .rko-contact__map-foot .rko-contact__map-address { flex: 1 1 280px; margin: 0; }
.rko-contact .rko-contact__map-foot .rko-contact__map-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.rko-contact__map-buttons .rko-pages__btn { white-space: normal; }
@media (max-width: 600px) {
  .rko-contact__map iframe { height: 260px; }
  .rko-contact .rko-contact__map-foot .rko-contact__map-buttons { width: 100%; }
  .rko-contact__map-buttons .rko-pages__btn { flex: 1 1 100%; }
}
