/* Balian's shared 300ms grid accordion motion, adapted to Bloom's design tokens. */
:root { --bdf-accordion-duration: 300ms; --bdf-accordion-ease: ease; }
.bdf-accordion__panel, .bdf-submenu-motion { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--bdf-accordion-duration) var(--bdf-accordion-ease); }
.bdf-accordion.is-open > .bdf-accordion__panel, .is-submenu-open > .bdf-submenu-motion { grid-template-rows:1fr; }
.bdf-accordion__inner { min-height:0; overflow:hidden; }
.bdf-accordion__trigger { display:flex; align-items:center; justify-content:space-between; width:100%; gap:20px; padding:0; border:0; background:none; color:inherit; font:inherit; font-weight:500; line-height:1.5; text-align:left; cursor:pointer; }
.bdf-accordion__trigger:focus-visible { outline:2px solid var(--bdf-gold); outline-offset:5px; }
.bdf-accordion__trigger .bdf-home-delivery__chevron { transition:transform 150ms ease; }
.bdf-accordion.is-open > .bdf-accordion__trigger .bdf-home-delivery__chevron { transform:rotate(180deg); }
.bdf-home-delivery__answers .bdf-accordion { padding:24px 0; border-bottom:1px solid var(--bdf-line); }
.bdf-home-delivery__answers .bdf-accordion:first-child { padding-top:32px; }
.bdf-home-delivery__answers .bdf-accordion:last-of-type { padding-bottom:32px; }
.bdf-home-delivery__answers .bdf-accordion__body > p { margin:16px 0 0; }
.bdf-accordion__body > :last-child { margin-bottom:0; }
.bdf-drawer .bdf-submenu-motion > .sub-menu { max-height:none; min-height:0; overflow:hidden; opacity:1; transition:none; }
.bdf-drawer .bdf-menu-chevron { transition:transform 150ms ease; }
.bdf-delivery-guide { margin-top:40px; }
.bdf-delivery-guide > h2 { font-size:var(--bdf-type-xl); margin:0 0 16px; }
.bdf-delivery-guide > p { max-width:72ch; line-height:1.75; }
.bdf-flower-selection .bdf-delivery-guide { grid-area:guide; }
.bdf-flower-selection > .bdf-container { grid-template-areas:"title delivery" "intro delivery" "nav nav" "products products" "more more" "guide guide"; }
.bdf-delivery-rates { list-style:none!important; margin:20px 0 0!important; padding:0!important; max-width:34rem; }
.bdf-delivery-rates li { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid var(--bdf-line); }
.bdf-delivery-guide > .bdf-delivery-guide__contact { margin-top:32px; }
.bdf-local-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
/* Opaque button surfaces keep contrast independent of the photograph. */
body.home .bdf-intro .bdf-local-links .bdf-btn { background:#756342; border-color:#756342; color:#fff; }
body.home .bdf-intro .bdf-local-links .bdf-btn:hover { background:#604f34; border-color:#604f34; color:#fff; }
body.home .bdf-intro .bdf-local-links .bdf-hero-delivery { background:#fff; border-color:#fff; color:#302d28; }
body.home .bdf-intro .bdf-local-links .bdf-hero-delivery:hover { background:#f2eee7; border-color:#f2eee7; color:#302d28; }
body.home .bdf-intro .bdf-local-links .bdf-btn:focus-visible { outline:2px solid #302d28; outline-offset:2px; box-shadow:0 0 0 4px #fff; }
html body .bdf-site.bdf-site .bdf-footer .bdf-footer__hours { display:inline-flex; align-items:center; gap:8px; max-width:100%; margin-top:16px; font-size:var(--bdf-type-s)!important; line-height:1.5; }
.bdf-footer__hours > span { min-width:0; }
.bdf-footer__hours > svg { width:1em; height:1em; flex:0 0 1em; transform:rotate(-45deg); }
.bdf-footer__grid--delivery { grid-template-columns:minmax(180px,.75fr) repeat(3,minmax(0,1fr)); }
.bdf-footer__grid--delivery > .bdf-footer__col { min-width:0; }
.bdf-footer__delivery a[aria-current=page] { text-decoration:underline; text-underline-offset:4px; }
@media(min-width:768px) and (max-width:1099px) { .bdf-footer__grid--delivery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.bdf-archive-delivery { margin:32px 0; line-height:1.6; }
/* Location pages reuse the flower collection, with useful delivery details below. */
.bdf-location-delivery .bdf-selection-intro .bdf-location-delivery__summary { margin:0 0 20px; font-size:var(--bdf-type-s); line-height:1.6; }
.bdf-location-delivery__summary a { display:inline-flex; align-items:center; gap:6px; max-width:100%; color:var(--bdf-heading,#302d28); text-decoration:underline; text-underline-offset:4px; }
.bdf-location-delivery__summary .woocommerce-Price-amount { white-space:nowrap; }
.bdf-location-delivery svg { width:1em; height:1em; flex-shrink:0; vertical-align:middle; }
.bdf-location-delivery .bdf-selection-delivery { border:0; padding-left:0; }
.bdf-location-delivery :is(.bdf-selection-links,.bdf-selection-more) .bdf-btn { background:#756342; border-color:#756342; color:#fff; }
.bdf-location-delivery :is(.bdf-selection-links,.bdf-selection-more) .bdf-btn:hover { background:#604f34; border-color:#604f34; color:#fff; }
.bdf-flower-selection .bdf-selection-more { margin:48px 0; }
.bdf-flower-selection .bdf-selection-description { margin:0 0 24px; }
.bdf-flower-selection .bdf-delivery-guide { margin-top:0; }
.bdf-location-guide { scroll-margin-top:140px; }
.bdf-location-guide > p { max-width:76ch; }
.bdf-location-guide > h2:not(:first-child) { margin-top:32px; }
.bdf-location-guide .bdf-delivery-guide__contact a { color:var(--bdf-heading,#302d28); text-decoration:underline; text-underline-offset:4px; }
.bdf-location-guide a > svg { display:inline-block; }
.bdf-delivery-areas { margin-top:40px; }
.bdf-delivery-areas h2 { margin:0 0 20px; font-size:var(--bdf-type-xl); }
.bdf-delivery-areas ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; padding:0!important; margin:0!important; list-style:none!important; }
.bdf-delivery-areas li { min-width:0; margin:0; }
.bdf-delivery-areas a { display:flex; justify-content:space-between; align-items:center; gap:16px; height:100%; padding:18px 0; border-bottom:1px solid var(--bdf-line); color:var(--bdf-heading,#302d28); font-size:var(--bdf-type-m); }
.bdf-delivery-areas a:hover > span:first-child, .bdf-delivery-areas a[aria-current=page] > span:first-child { text-decoration:underline; text-underline-offset:4px; }
.bdf-delivery-areas__fee { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; }
.bdf-delivery-areas__fee svg { width:1em; height:1em; }
.bdf-delivery-areas a:focus-visible { outline:2px solid var(--bdf-heading,#302d28); outline-offset:4px; }
@media(min-width:768px) and (max-width:1023px) { .bdf-delivery-areas ul { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .bdf-footer__grid--delivery { grid-template-columns:minmax(0,1fr); }
 .bdf-intro .bdf-local-links { width:100%; gap:12px; }
 .bdf-intro .bdf-local-links .bdf-btn { max-width:100%; white-space:normal; text-align:center; justify-content:center; }
 .bdf-flower-selection > .bdf-container { grid-template-areas:"title" "nav" "products" "more" "intro" "delivery" "guide"; }
 .bdf-delivery-guide { margin-top:32px; }
 .bdf-location-delivery .bdf-selection-intro .bdf-location-delivery__summary { margin-bottom:16px; }
 .bdf-flower-selection .bdf-selection-more { margin:40px 0; }
 .bdf-flower-selection .bdf-delivery-guide { margin-top:40px; }
 .bdf-delivery-areas ul { grid-template-columns:minmax(0,1fr); }
 .bdf-delivery-areas { margin-top:32px; }
}
@media(prefers-reduced-motion:reduce) {
 .bdf-accordion__panel, .bdf-submenu-motion, .bdf-accordion__trigger .bdf-home-delivery__chevron, .bdf-drawer .bdf-menu-chevron { transition:none!important; }
}
