/* WordPress integration; the original design rules remain in style.css. */
/* One content-to-content rhythm across the entire homepage. */
body.home { --furever-home-gap: 3rem; --furever-home-half-gap: calc(var(--furever-home-gap) / 2); }
@media (min-width: 768px) { body.home { --furever-home-gap: 4rem; } }
body.home section[aria-labelledby="hero-title"] > .container-page { padding-top: var(--furever-home-gap); padding-bottom: var(--furever-home-gap); }
/* The inset photo extends 24px below the hero image from the sm breakpoint. */
@media (min-width: 640px) {
    body.home section[aria-labelledby="hero-title"] > .container-page { padding-bottom: calc(var(--furever-home-gap) + 1.5rem); }
}
body.home section[aria-labelledby="process-title"] { padding-top: var(--furever-home-gap); padding-bottom: var(--furever-home-half-gap); }
/* Split the gap evenly around the contrasting proof panel's background edges. */
body.home section[aria-labelledby="proof-title"] { padding-block: var(--furever-home-half-gap); }
body.home section[aria-labelledby="pricing-title"] { padding-top: var(--furever-home-half-gap); padding-bottom: 0; }
body.home section[aria-labelledby="gallery-title"],
body.home section[aria-labelledby="occasions-title"],
body.home section[aria-labelledby="faq-title"] { padding-top: var(--furever-home-gap); padding-bottom: 0; }
body.home section[aria-labelledby="faq-title"] { padding-bottom: var(--furever-home-gap); }
body.home section[aria-labelledby="cta-band-title"] { margin-top: 0; }
/* Include the footer's 1px border when splitting the final content gap. */
body.home > footer { margin-top: calc(var(--furever-home-half-gap) - 1px); }
body.home > footer > div:first-child > ul { padding-top: var(--furever-home-half-gap); }
/* Editorial pages share a section rhythm; nested cards and form rows keep their own spacing. */
body:not(.home) { --furever-page-gap: 3rem; --furever-page-half-gap: calc(var(--furever-page-gap) / 2); }
@media (min-width: 768px) { body:not(.home) { --furever-page-gap: 4rem; } }
.furever-page-flow > section { padding-block: var(--furever-page-half-gap); }
.furever-page-flow > div.container-page { padding-block: var(--furever-page-half-gap); }
.furever-page-flow .furever-page-stack { row-gap: var(--furever-page-gap); }
.furever-page-flow > .furever-page-header { padding: 0; }
.furever-page-flow > .furever-page-header > .container-page { padding-top: var(--furever-page-gap); padding-bottom: calc(var(--furever-page-half-gap) - 1px); }
.furever-page-flow > section[aria-labelledby="customize-title"] { padding-top: 1.5rem; }
.furever-page-flow > section[aria-labelledby="not-found-title"] { padding-top: var(--furever-page-gap); }
.furever-page-flow > section[aria-labelledby="cta-band-title"] { margin-top: var(--furever-page-half-gap); padding-block: 0; }
.furever-page-flow > section:last-child { padding-bottom: 0; }
/* The final module and footer each contribute half of the visible closing gap. */
body:not(.home) > footer { margin-top: calc(var(--furever-page-half-gap) - 1px); }
body:not(.home) > footer > div:first-child > ul { padding-top: var(--furever-page-half-gap); }
/* Keep the FAQ inset independent of the existing white gap before the footer. */
.furever-page-flow > section[aria-labelledby="customize-faq-title"] { padding-bottom: 1rem; }
body:not(.home) #main-content > .furever-account,
body:not(.home) #main-content > .furever-commerce,
body:not(.home) .furever-policy-layout { padding-bottom: 0; }
.furever-document-page { padding-top: var(--furever-page-gap, 4rem); padding-bottom: 0; }
/* A terminal checkout notice needs no trailing card-to-card margin. */
body:not(.home) #main-content > .furever-commerce .furever-delivery-notices:last-child { margin-bottom: 0; }
.furever-contact-body { padding-top: 3rem; padding-bottom: 4rem; }
.furever-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.furever-contact-form { min-width: 0; }
.furever-contact-form input, .furever-contact-form textarea, .furever-contact-form select { min-width: 0; }
@media (min-width: 768px) { .furever-contact-body { padding-top: 5rem; padding-bottom: 6rem; } }
body.admin-bar #furever-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.furever-custom-logo { max-width: 220px; max-height: 48px; width: auto; height: auto; }
/* Signed-in state only; guest account controls retain their original appearance. */
.furever-account-status { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 10px; text-decoration: none; color: #3c644f; }
.furever-account-status__icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid #c6d6c9; border-radius: 50%; background: #edf3ed; color: #3c644f; transition: background-color .15s; }
.furever-account-status__icon > svg { width: 18px; height: 18px; }
.furever-account-status:hover .furever-account-status__icon { background: #dfeadf; }
.furever-account-status:focus-visible { outline: 2px solid #3c644f; outline-offset: 2px; }
.furever-account-menu-status { margin-left: auto; padding: 2px 8px; border-radius: 999px; color: #3c644f; background: #edf3ed; font-size: 12px; font-weight: 600; }
@media (max-width: 420px) {
    #furever-site-header[data-signed-in="true"] > .container-page { gap: 8px; }
    #furever-site-header[data-signed-in="true"] > .container-page > a { min-width: 0; }
    #furever-site-header[data-signed-in="true"] .furever-custom-logo { max-width: min(180px, 42vw); }
}
@media (max-width: 389px) {
    #furever-site-header[data-signed-in="true"] > .container-page > a { gap: 8px; }
    #furever-site-header[data-signed-in="true"] > .container-page > a > span:first-child { width: 28px; height: 28px; }
    #furever-site-header[data-signed-in="true"] > .container-page > a > span:last-child > span:first-child { font-size: 18px; }
    #furever-site-header[data-signed-in="true"] > .container-page > a > span:last-child > span:last-child:not(:first-child) { display: none; }
}
.furever-editor-content > * + *, .furever-case-content > * + * { margin-top: 1em; }
.furever-case-stages { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; width: 100%; max-width: 72rem; margin-inline: auto; }
.furever-case-stages > li:only-child { width: 100%; max-width: 36rem; justify-self: center; }
.furever-case-stages > li:only-child img { object-fit: contain; }
.furever-case-guide-section { padding-block: 4rem 1rem; }
.furever-case-guide { max-width: 52rem; margin-inline: auto; overflow-wrap: anywhere; }
.furever-case-guide .furever-case-content { font-size: 1rem; line-height: 1.85; }
.furever-case-guide h2 { margin-top: 2.75rem; margin-bottom: 1rem; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; font-weight: 500; color: var(--foreground); scroll-margin-top: 7rem; }
.furever-case-guide h2:first-child { margin-top: 0; }
.furever-case-guide ol { list-style: decimal; padding-left: 1.4rem; }
.furever-case-guide li + li { margin-top: 1rem; }
.furever-case-guide strong { font-weight: 600; color: var(--foreground); }
.furever-case-guide-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; border-top: 1px solid var(--border); margin-top: 2rem; padding-top: 1.5rem; font-size: .875rem; }
.furever-case-guide-links a { color: var(--primary); text-decoration: underline; text-underline-offset: .2em; }
.furever-case-guide-links a:focus-visible { outline: 2px solid var(--ring); outline-offset: 4px; }
.furever-editor-content img { max-width: 100%; height: auto; }
.furever-editor-content a { text-decoration: underline; text-underline-offset: .2em; }
.furever-footer-policies { padding: 0; }
.furever-footer-bottom { display: grid; gap: 1.25rem; padding-block: 1.25rem; }
.furever-footer-legal { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.furever-footer-legal > p { max-width: 42rem; line-height: 1.75; }
.furever-footer-meta { display: flex; flex-direction: column; align-items: center; gap: 1rem; min-width: 0; }
.furever-footer-payments { display: flex; flex-direction: column; align-items: center; gap: .65rem; }
.furever-footer-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; max-width: 100%; }
.furever-footer-badges > ul { flex: 0 0 auto; max-width: 100%; }
.furever-footer-html-check { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; width: 5rem; height: 2.5rem; padding: .25rem; border: 1px solid var(--border); border-radius: .5rem; background: #fff; color: var(--muted-foreground); transition: border-color .2s, color .2s; }
.furever-footer-html-check > img { width: 1.5rem; height: 1.75rem; object-fit: contain; }
.furever-footer-html-check > span { display: flex; flex-direction: column; gap: .1rem; font-size: .625rem; line-height: 1.1; }
.furever-footer-html-check strong { font-size: .6875rem; font-weight: 600; color: var(--foreground); }
.furever-footer-html-check:hover { border-color: var(--primary); color: var(--foreground); }
.furever-footer-html-check:focus-visible { outline: 2px solid var(--ring); outline-offset: 3px; }
.furever-footer-payment-label { display: flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 500; color: var(--foreground); }
.furever-footer-payment-label img { width: .875rem; height: .875rem; opacity: .7; }
.furever-footer-payments ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.furever-footer-payments li { display: flex; align-items: center; justify-content: center; width: 4rem; height: 2.5rem; overflow: hidden; border: 1px solid var(--border); border-radius: .5rem; background: #fff; }
.furever-footer-payments li img { display: block; width: 100%; height: 100%; object-fit: contain; }
.furever-footer-payment-note { font-size: .6875rem; line-height: 1.5; }
@media (min-width: 1024px) {
    .furever-footer-bottom { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; }
    .furever-footer-meta, .furever-footer-payments { align-items: flex-end; }
    .furever-footer-payments ul { justify-content: flex-end; }
    .furever-footer-badges { justify-content: flex-end; }
}
@media (max-width: 480px) {
    .furever-footer-badges { gap: .5rem; }
    .furever-footer-payments ul { gap: .375rem; }
    .furever-footer-payments li { width: 3.25rem; height: 2.125rem; }
    .furever-footer-html-check { width: 4.5rem; height: 2.125rem; }
}
.furever-footer-policies ul { display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; list-style: none; padding: 0; font-size: .8rem; color: var(--muted-foreground); }
.furever-footer-policies a:hover { color: var(--primary); text-decoration: underline; text-underline-offset: .2em; }
.furever-footer-policies a:focus-visible { outline: 2px solid var(--ring); outline-offset: 4px; }
.furever-footer-policies button { cursor: pointer; color: inherit; font: inherit; background: none; border: 0; padding: 0; text-decoration: underline; text-underline-offset: .2em; }
.furever-footer-policies button:hover { color: var(--primary); }
.furever-footer-policies button:focus-visible { outline: 2px solid var(--ring); outline-offset: 4px; }
.furever-cookie-banner { position: fixed; z-index: 1000; right: 1.25rem; bottom: 1.25rem; width: min(36rem, calc(100% - 2.5rem)); max-height: calc(100dvh - 2.5rem); overflow-y: auto; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface, #fffaf5); color: var(--foreground); padding: 1.25rem; box-shadow: 0 8px 32px #34231826; }
.furever-cookie-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.furever-cookie-actions > button { flex: 1 1 auto; min-height: 44px; white-space: normal; }
.furever-cookie-preferences { display: flex; flex-direction: column; gap: 1rem; padding: 1rem; margin-top: 1rem; border-radius: .75rem; background: var(--muted); font-size: .875rem; }
.furever-cookie-preferences label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; }
.furever-cookie-preferences small { display: block; color: var(--muted-foreground); margin-top: .2rem; line-height: 1.5; }
.furever-cookie-preferences input { appearance: auto; width: 1.2rem; height: 1.2rem; flex-shrink: 0; accent-color: var(--primary); }
.furever-cookie-preferences input:focus-visible { outline: 2px solid var(--ring); outline-offset: 3px; }
.furever-cookie-preferences p { color: var(--muted-foreground); font-size: .75rem; line-height: 1.5; }
@media (max-width: 480px) { .furever-cookie-banner { right: .75rem; bottom: .75rem; width: calc(100% - 1.5rem); max-height: calc(100dvh - 1.5rem); padding: 1rem; } .furever-cookie-actions > button { flex-basis: 100%; } }
