/* Bento Concierge · shared styles for the theme's inner pages, navbar and footer.
   The home page keeps its own inline copy of the core rules plus its home-only parts. */

html, body { overflow-x: clip !important; }
body { background-image: radial-gradient(60rem 40rem at 90% -10%, rgba(212,236,162,.45), transparent 60%), radial-gradient(50rem 30rem at -10% 40%, rgba(184,207,136,.18), transparent 60%); background-attachment: fixed; }
.theme-bento .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.theme-bento .label-tiny { font-weight: 800; letter-spacing: .18em; }
.b-glass { background: rgba(255,255,255,.62); backdrop-filter: blur(22px) saturate(1.3); -webkit-backdrop-filter: blur(22px) saturate(1.3); border: 1px solid rgba(255,255,255,.75); box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 24px 48px -32px rgba(31,46,0,.35); }
.tile { border-radius: 30px; position: relative; overflow: hidden; }
.m-nav.is-solid { box-shadow: none; }
.m-nav.is-solid > div:first-child { box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 18px 40px -20px rgba(31,46,0,.35); }
.serif-i { font-family: 'Noto Serif', serif; font-style: italic; font-weight: 400; letter-spacing: -.02em; }

.lift { transition: transform .55s var(--spring), box-shadow .55s; }
.lift:hover { transform: translateY(-6px); box-shadow: 0 36px 60px -36px rgba(31,46,0,.45); }

/* page hero tiles assemble in; hidden only while the motion layer is armed */
.motion .b-hero .tile { opacity: 0; }

@keyframes b-kb { 0% { transform: scale(1.02) translate(0,0); } 100% { transform: scale(1.14) translate(-2%, -2%); } }
.b-kb { animation: b-kb 20s ease-in-out infinite alternate; transform-origin: 60% 40%; }

/* fields: white pills inside glass tiles */
.b-field { background: #fff; border: 1px solid transparent; border-radius: 16px; padding: .75rem 1rem; font-size: .875rem; font-weight: 600; width: 100%; color: inherit; }
.b-field:focus { outline: none; border-color: #33450d; box-shadow: 0 0 0 3px rgba(212,236,162,.7); }
.b-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1rem; border-radius: 999px; font-size: .8125rem; font-weight: 700; background: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.9); color: #4a4c40; white-space: nowrap; transition: background-color .3s, color .3s, transform .45s var(--spring); }
.b-chip:hover { transform: translateY(-2px); background: #fff; }
.b-chip.is-on, .peer:checked + .b-chip { background: #1f2e00; color: #fff; border-color: #1f2e00; }
.peer:focus-visible + .b-chip { outline: 2px solid #33450d; outline-offset: 2px; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* enquiry form include sits inside a glass tile */
.b-form form input, .b-form form textarea, .b-form form select { background: #fff; border-color: transparent; border-radius: 16px; }

/* FAQ: native <details>, the icon turns and the answer slides */
.b-faq summary { list-style: none; cursor: pointer; }
.b-faq summary::-webkit-details-marker { display: none; }
.b-faq .b-faq-ic { transition: transform .5s var(--spring), background-color .3s, color .3s; }
.b-faq[open] .b-faq-ic { transform: rotate(45deg); background: #1f2e00; color: #d4eca2; }
.b-faq[open] { background: #fff; }
.b-faq .b-faq-a { animation: b-drop .45s var(--expo, cubic-bezier(.16,1,.3,1)); }
@keyframes b-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

/* legal + rich text (admin-entered HTML) */
.b-prose { color: #4a4c40; line-height: 1.75; }
.b-prose p + p { margin-top: 1rem; }
.b-prose ul { list-style: none; padding: 0; display: grid; gap: .5rem; margin-top: .75rem; }
.b-prose ul li { position: relative; padding: .75rem 1rem .75rem 2.5rem; background: rgba(255,255,255,.8); border-radius: 16px; }
.b-prose ul li::before { content: ""; position: absolute; left: 1rem; top: 1.2rem; width: .55rem; height: .55rem; border-radius: 99px; background: #33450d; }
.b-prose strong { color: #1f2e00; }
.b-prose a { color: #33450d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* gallery thumbs */
.b-thumb { transition: transform .45s var(--spring), opacity .3s; }
.b-thumb[aria-current="true"] { outline: 3px solid #1f2e00; outline-offset: 2px; }
.b-thumb:not([aria-current="true"]) { opacity: .7; }
.b-thumb:hover { opacity: 1; transform: translateY(-2px); }

/* toc pill in legal pages */
.b-toc a.is-on { background: #1f2e00; color: #fff; }

@media (prefers-reduced-motion: reduce) {
    .b-kb { animation: none; }
    .lift:hover, .b-chip:hover, .b-thumb:hover { transform: none; }
    .b-faq .b-faq-a { animation: none; }
}
