/* carried to /jp/ by bu2_jp.py from sites/hooponopono-en/static/en/assets/krsvc.css; edit it there. */
/* KR's four service pages (krsvc.py; Kohei 2026-10-10, Cid 1558415483626192898 (4)). main.krsv outranks the theme. */

/* one background, the sections apart by room */
main.krsv > section, main.krsv .service-booking { background: var(--white, #fafafa) !important; }
main.krsv .service-body { padding-top: var(--s8, 64px) !important; padding-bottom: var(--s8, 64px) !important; }
main.krsv .service-body + .service-body, main.krsv .service-body + .service-booking { position: relative; }
main.krsv :is(.service-body + .service-body, .service-body + .service-booking)::before { content: ""; position: absolute; top: 0;
    left: 50%; width: var(--s7, 48px); border-top: 1px solid var(--navy-thread, rgba(47, 93, 52, .18)); transform: translateX(-50%); }
@media (max-width: 768px) {
    main.krsv .service-body { padding-top: var(--s7, 48px) !important; padding-bottom: var(--s7, 48px) !important; }
}

/* under the photo: the fee and the way down to the booking, on one line (stacked on a phone) */
main.krsv .krsv-sum { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--s4, 16px) var(--s6, 32px);
    padding: var(--s6, 32px) var(--s4, 16px) 0 !important; }
main.krsv .krsv-sum .hpp-fee { margin: 0 !important; max-width: none; }
main.krsv .krsv-sum .hpp-fee li { padding: var(--s1, 4px) 0 !important; border: 0 !important; }
/* the fee as words, not a chip (one background): the name small, the price in full on one line */
main.krsv .krsv-sum .hpp-fee { border: 0 !important; }
main.krsv .krsv-sum .hpp-fee .fact-label { background: none !important; padding: 0 !important; min-width: 0; font-size: var(--fs-s);
    letter-spacing: .12em; }
main.krsv .krsv-sum .hpp-fee .fact-value { white-space: nowrap; flex-shrink: 0; font-size: var(--fs-h); color: var(--navy, #2f5d34); }
/* session-book.js's estimate under the fee (.hpsb-fx-fee): a line of its own below the fee and the button, not a third
   item in their row */
main.krsv .krsv-sum .hpsb-fx-fee { order: 3; flex: 0 0 100%; margin: 0 !important; text-align: center; }
@media (max-width: 768px) {
    main.krsv .krsv-sum { flex-direction: column; }
    main.krsv .krsv-sum .hpp-fee li { flex-direction: column; gap: var(--s1, 4px) !important; text-align: center; }
}
main.krsv .krsv-book { display: inline-flex; align-items: center; padding: var(--s3, 12px) var(--s6, 32px); background: var(--navy, #2f5d34);
    color: #fdfcf8 !important; font-size: var(--fs-s); letter-spacing: .16em; text-decoration: none !important; }
main.krsv .krsv-book:hover { opacity: .85; }

/* KR's message: paragraphs, a large first letter, her name as a signature */
main.krsv .krnote_wrap { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 var(--s7, 48px) !important; }
main.krsv :is(.krnote, .areapink) { background: none !important; border: 0 !important; padding: 0 !important; }
main.krsv :is(.krnote, .areapink) > p { margin: 0 0 var(--s5, 24px); }
main.krsv :is(.krnote, .areapink) > p:first-child::first-letter { float: left; font-family: var(--ff-jp);
    font-weight: 500; font-size: 3.4em; line-height: .9; margin: .06em .12em 0 0; color: var(--navy, #2f5d34); }
main.krsv .krsv-sign { text-align: right; font-family: var(--ff-jp); font-weight: 500;
    font-size: var(--fs-h); line-height: 1.3; }

/* the other boxes: no fill, the text on the page */
main.krsv .areablue { background: none !important; border: 0 !important; padding: 0 !important; }

/* Notes, Notice, Application Process: folded, a rule between (the FAQ's form) */
main.krsv .krsv-d { border-top: 1px solid var(--navy-thread, rgba(47, 93, 52, .18)); margin: 0; }
main.krsv .krsv-d:not(:has(+ .krsv-d)) { border-bottom: 1px solid var(--navy-thread, rgba(47, 93, 52, .18)); margin-bottom: var(--s6, 32px); }
main.krsv .krsv-d > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: baseline;
    gap: var(--s4, 16px); padding: var(--s4, 16px) 0; font-family: var(--ff-jp); font-weight: 500;
    font-size: var(--fs-b); line-height: 1.45; letter-spacing: .04em; color: var(--navy, #2f5d34); }
main.krsv .krsv-d > summary::-webkit-details-marker { display: none; }
main.krsv .krsv-d > summary::after { content: "+"; flex: none; opacity: .6; }
main.krsv .krsv-d[open] > summary::after { content: "\2212"; }
main.krsv .krsv-d-body { padding: 0 0 var(--s5, 24px); }
main.krsv .krsv-d-body > :last-child { margin-bottom: 0; }

/* the form: the payment sentence and the dashed rule, out of inline styles */
main.krsv .krsv-pay { border-top: 1px solid var(--navy-thread, rgba(47, 93, 52, .18)); border-bottom: 1px solid var(--navy-thread, rgba(47, 93, 52, .18));
    padding: var(--s4, 16px) 0; margin: var(--s4, 16px) 0 var(--s5, 24px); font-size: var(--fs-s); line-height: 1.85; color: var(--navy, #2f5d34); }
main.krsv hr.forminator-border { border: 0; border-top: 1px solid var(--navy-thread, rgba(47, 93, 52, .18)); }
