/*
 * PC-only, fully scoped styles.
 * Never modify body padding, the mobile footer, or any existing banner.
 * Inline display:none also prevents flashes when this CSS has not loaded.
 */
html body nav#okura-religion-desktop-contacts {
    display: none !important;
}

@media screen and (min-width: 769px) {
    html body nav#okura-religion-desktop-contacts {
        position: fixed;
        inset: auto var(--okrdcb-right, 18px) var(--okrdcb-bottom, 20px) auto;
        z-index: 99990;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: var(--okrdcb-gap, 9px);
        width: var(--okrdcb-size, 86px);
        height: auto;
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        box-sizing: border-box;
        line-height: 1;
        pointer-events: none;
        transform: none;
        float: none;
        writing-mode: horizontal-tb;
    }

    html body #okura-religion-desktop-contacts .okrdcb-button {
        position: relative;
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        width: var(--okrdcb-size, 86px);
        height: var(--okrdcb-size, 86px);
        min-width: var(--okrdcb-size, 86px);
        min-height: var(--okrdcb-size, 86px);
        max-width: none;
        margin: 0;
        padding: 6px 2px;
        border: 3px solid #fff;
        border-radius: 50%;
        box-sizing: border-box;
        overflow: hidden;
        color: #fff !important;
        text-align: center;
        text-decoration: none !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
        font-style: normal;
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: 0;
        box-shadow: 0 3px 10px rgb(0 0 0 / 25%), 0 0 0 1px rgb(0 0 0 / 7%);
        transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
        opacity: 1;
        cursor: pointer;
        pointer-events: auto;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    html body #okura-religion-desktop-contacts .okrdcb-button--contact { background: #5f7f2f; }
    html body #okura-religion-desktop-contacts .okrdcb-button--line { background: #087f58; }
    html body #okura-religion-desktop-contacts .okrdcb-button--phone { background: #1f5a46; }

    /* Neutralize theme-generated link decorations only inside this nav. */
    html body #okura-religion-desktop-contacts .okrdcb-button::before,
    html body #okura-religion-desktop-contacts .okrdcb-button::after {
        display: none !important;
        content: none !important;
    }

    html body #okura-religion-desktop-contacts .okrdcb-button:hover {
        color: #fff !important;
        opacity: 1;
        filter: brightness(1.045);
        transform: translateX(-2px);
        box-shadow: 0 5px 14px rgb(0 0 0 / 30%), 0 0 0 1px rgb(0 0 0 / 7%);
    }

    html body #okura-religion-desktop-contacts .okrdcb-button:focus:not(:focus-visible) { outline: none; }
    html body #okura-religion-desktop-contacts .okrdcb-button:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 2px;
        box-shadow: 0 0 0 6px #173d31;
    }

    html body #okura-religion-desktop-contacts .okrdcb-label {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1px;
        width: calc(var(--okrdcb-size, 86px) - 12px);
        margin: 0;
        padding: 0;
        color: #fff !important;
        font-size: clamp(9.5px, calc(var(--okrdcb-size, 86px) * .134), 15px);
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: -.035em;
        text-shadow: 0 1px 1px rgb(0 0 0 / 12%);
    }

    html body #okura-religion-desktop-contacts .okrdcb-label > span {
        display: block;
        max-width: 100%;
        margin: 0;
        padding: 0;
        color: inherit;
        font: inherit;
        overflow-wrap: anywhere;
    }

    html body #okura-religion-desktop-contacts .okrdcb-icon {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: clamp(19px, calc(var(--okrdcb-size, 86px) * .28), 29px);
        height: clamp(19px, calc(var(--okrdcb-size, 86px) * .28), 29px);
        margin: 0;
        padding: 0;
        color: #fff;
    }

    html body #okura-religion-desktop-contacts .okrdcb-icon svg {
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        fill: currentColor;
    }

    /* Only exceptionally short windows need an independently scrollable nav. */
    html body nav#okura-religion-desktop-contacts[data-scroll="1"] {
        max-height: max(70px, calc(100vh - var(--okrdcb-bottom, 20px) - var(--okrdcb-top-safe, 12px)));
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-width: none;
        overscroll-behavior: contain;
        pointer-events: auto;
    }
    html body nav#okura-religion-desktop-contacts[data-scroll="1"]::-webkit-scrollbar { display: none; }
}

@media print {
    html body nav#okura-religion-desktop-contacts { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    html body #okura-religion-desktop-contacts .okrdcb-button { transition: none; }
    html body #okura-religion-desktop-contacts .okrdcb-button:hover { transform: none; }
}
