/* Bakery storefront. Shared checkout and account layouts stay in app.css. */
.bakery-site {
  --ink: #29231e;
  --muted: #766a60;
  --line: #e9e2d9;
  --paper: #fffdf9;
  --sage: #48614b;
  --sage-soft: #eef2e9;
  --sand-soft: #fcf0e3;
  --clay: #b54b2a;
  --danger: #ac3225;
  --radius: 18px;
  background: var(--surface, #fffdf9);
  color: var(--brand, var(--ink));
  font: 400 16px/1.55 "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.bakery-site [hidden] { display: none !important; }
.bakery-site :focus-visible { outline: 3px solid #bd7134; outline-offset: 4px; }
.bakery-site :is(button,input,select,textarea) { font: inherit; }
.bakery-site .shell { width: min(1320px, calc(100% - 80px)); }
.bakery-site :is(section,main) { scroll-margin-top: 112px; }
.bakery-site .eyebrow { color: var(--accent, #b54b2a); font-size: .75rem; letter-spacing: .16em; font-weight: 700; }
.bakery-site .service-note { background: #29231e; color: #f7efe4; font-size: .8125rem; }
.bakery-site .service-note-inner { min-height: 34px; justify-content: space-between; }
.bakery-site .service-note a { color: #e9daca; text-decoration: none; }
.bakery-site .service-note a span { margin-left: 10px; }
.bakery-site .site-header { background: rgba(255,253,249,.94); border-color: var(--line); backdrop-filter: blur(18px); }
.bakery-site .header-inner { min-height: 96px; gap: 38px; }
.bakery-site .brand { flex: 0 0 auto; gap: 9px; letter-spacing: 0; }
.bakery-mark { position: relative; display: block; width: 72px; height: 67px; flex-shrink: 0; }
.bakery-mark img { width: 72px; height: 64px; object-fit: contain; transform: rotate(-3deg); transition: transform .4s ease; }
.brand:hover .bakery-mark img { transform: rotate(2deg) translateY(-2px); }
.brand-wordmark { display: flex; flex-direction: column; font-family: Georgia, "Times New Roman", serif; font-size: 2.25rem; font-weight: 700; letter-spacing: -.05em; line-height: 1.05; }
.brand-wordmark > span { margin-top: 7px; font: 500 .75rem/1.3 "Segoe UI", sans-serif; letter-spacing: .04em; white-space: nowrap; }
.bakery-steam { position: absolute; display: flex; gap: 5px; left: 24px; top: 1px; pointer-events: none; }
.bakery-steam i { width: 7px; height: 21px; border-left: 1.7px solid #967353; border-radius: 50%; opacity: 0; animation: bakery-steam 3.2s ease-in-out infinite; }
.bakery-steam i:nth-child(2) { animation-delay: 1s; height: 26px; }
.bakery-steam i:nth-child(3) { animation-delay: 1.9s; }
@keyframes bakery-steam { 0% { opacity: 0; transform: translateY(4px) scaleX(.8); } 28% { opacity: .6; } 100% { opacity: 0; transform: translate(4px,-22px) scaleX(1.4); } }
.bakery-site .desktop-nav { display: flex; gap: 25px; }
.bakery-site .desktop-nav a { position: relative; padding-block: 12px; color: #62564c; font-size: .9375rem; }
.bakery-site .desktop-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 5px; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.bakery-site .desktop-nav a:hover::after,.bakery-site .desktop-nav a[aria-current]::after { transform: scaleX(1); }
.bakery-site .location-chip { display: flex; gap: 9px; padding: 0; background: transparent; border: 0; }
.bakery-site .location-chip .ui-icon { color: var(--accent); }
.bakery-site .location-chip small { font-size: .75rem; color: var(--muted); }
.bakery-site .location-chip strong { font-size: .875rem; }
.bakery-site .header-actions { gap: 24px; }
.bakery-site .header-link { display: inline; font-size: .875rem; }
.bakery-site .cart-link { gap: 9px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 30px; background: #fff; font-size: .875rem; transition: border-color .2s; }
.bakery-site .cart-link:hover { border-color: var(--accent); }
.bakery-site :is(.cart-link b,.mobile-nav b) { background: var(--accent); color: #fff; border-radius: 50%; }
.ui-icon { display: block; flex-shrink: 0; }

/* Wide, independently uploaded images; no product cutouts or numbered controls. */
.bakery-site .promo-section { padding: 18px 0 0; background: transparent; }
.bakery-carousel { position: relative; overflow: hidden; background: #29231e; border-radius: 22px; isolation: isolate; }
.bakery-banner-track { display: flex; align-items: flex-start; transition: transform .8s cubic-bezier(.22,.68,.18,1); }
.bakery-banner { position: relative; display: block; flex: 0 0 100%; min-width: 0; aspect-ratio: 8/3; overflow: hidden; }
.bakery-banner picture { display: block; width: 100%; height: 100%; }
.bakery-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.uploaded-banner img { object-fit: contain; }
.bakery-editorial::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(27,21,16,.45),transparent 74%); pointer-events: none; }
.bakery-banner-copy { position: absolute; z-index: 1; left: 5%; top: 50%; transform: translateY(-50%); color: #fff8ec; }
.bakery-banner-copy .eyebrow { color: #ecc79b; margin-bottom: 17px; }
.bakery-banner-copy h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(2.3rem,4.25vw,4rem); line-height: 1.07; letter-spacing: -.045em; margin: 0; }
.bakery-banner-copy > p:not(.eyebrow) { font-size: clamp(.875rem,1.15vw,1.0625rem); line-height: 1.6; color: #ddcdbd; margin: 19px 0 22px; }
.bakery-site .bakery-cta { gap: 30px; min-height: 48px; padding-inline: 22px; background: #f8eddc; color: #35281e; border-radius: 30px; font-size: .875rem; }
.bakery-cta span { font-size: 1.25rem; transition: transform .2s; }
.bakery-cta:hover span { transform: translate(2px,-2px); }
.bakery-banner-controls { position: absolute; display: flex; gap: 7px; right: 24px; bottom: 22px; }
.bakery-banner-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff60; border-radius: 50%; color: #fff; background: #241b16ba; backdrop-filter: blur(8px); transition: background .2s; }
.bakery-banner-controls button:hover { background: var(--accent); }
.bakery-banner[aria-hidden="false"] img { animation:banner-image-in 6.5s cubic-bezier(.2,.65,.25,1) both; }
.bakery-banner[aria-hidden="false"] .bakery-banner-copy>* { animation:banner-copy-in .7s cubic-bezier(.2,.8,.2,1) both; }
.bakery-banner[aria-hidden="false"] .bakery-banner-copy>*:nth-child(2) { animation-delay:.08s; }
.bakery-banner[aria-hidden="false"] .bakery-banner-copy>*:nth-child(3) { animation-delay:.16s; }
.bakery-banner[aria-hidden="false"] .bakery-banner-copy>*:nth-child(4) { animation-delay:.24s; }
.bakery-banner-grocery::after { background:linear-gradient(90deg,rgba(255,251,245,.94) 0%,rgba(255,251,245,.78) 37%,transparent 72%); }
.bakery-banner-copy-dark,.bakery-banner-copy-dark h2,.bakery-banner-copy-dark p { color:#282019; }
.bakery-banner-copy-dark .eyebrow { color:#8b4c2f; }
.bakery-banner-copy-dark>p:not(.eyebrow) { color:#57483d; }
@keyframes banner-image-in { from { transform:scale(1.035); filter:saturate(.88); } to { transform:scale(1); filter:saturate(1); } }
@keyframes banner-copy-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }

.bakery-site .home-catalog { padding: 48px 0 70px; background: transparent; }
.bakery-site .home-catalog-heading { margin-bottom: 27px; align-items: center; }
.home-catalog-heading h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(2rem,3.4vw,3rem); line-height: 1.12; letter-spacing: -.045em; margin: 0; }
.home-catalog-heading h1 > span { color: var(--accent); }
.bakery-site .home-catalog-heading p:not(.eyebrow) { margin-top: 10px; font-size: .9375rem; }
.bakery-site .text-link { font-size: .875rem; color: var(--accent); }
.bakery-site .home-category-filter { gap: 9px; margin-bottom: 21px; padding-bottom: 5px; }
.bakery-site .home-category-filter button { min-height: 46px; padding: 0 18px; border-radius: 30px; border-color: var(--line); background: #fff; font-size: .875rem; transition: background .2s,border-color .2s,transform .2s; }
.bakery-site .home-category-filter button:hover { border-color: var(--accent); transform: translateY(-1px); }
.bakery-site .home-category-filter button.is-active { background: var(--brand); color: #fff; border-color: var(--brand); }
.bakery-site .home-category-filter button[data-category="bakery"]:not(.is-active) { background: #fcf0e3; color: #914324; border-color: #ecd5ba; }
.bakery-site .catalog-tools { border-color: var(--line); }
.bakery-site .home-catalog-tools { padding: 0; margin-bottom: 20px; background: transparent; border: 0; gap: 12px; }
.bakery-site :is(.search-field,.select-field,.check-field) { min-height: 49px; background: #fff; border-color: var(--line); border-radius: 12px; }
.bakery-site .search-field { padding-inline: 16px; gap: 10px; border: 1px solid var(--line); }
.bakery-site .search-field .ui-icon { color: var(--muted); width: 19px; }
.bakery-site .search-field input { min-width: 0; font-size: 1rem; }
.bakery-site :is(.select-field > span,.select-field select,.check-field) { font-size: .875rem; }
.bakery-site .select-field select { min-width: 0; }
.bakery-site .check-field input { accent-color: var(--accent); }
.bakery-site .results-meta { margin-bottom: 18px; color: var(--muted); font-size: .8125rem; }
.bakery-site .home-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.bakery-site .product-card { display: flex; flex-direction: column; min-width: 0; padding: 0; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: none; overflow: hidden; transition: transform .3s ease,border-color .3s,box-shadow .3s; }
.bakery-site .product-media { height: 225px; margin: 0; padding: 22px; border: 0; border-radius: 0; background: #faf8f4; box-shadow: none; }
.bakery-site .product-media img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.bakery-site .product-no-photo { text-align: center; color: var(--muted); font-size: .875rem; }
.bakery-site .product-badge { left: 12px; top: 12px; max-width: calc(100% - 65px); padding: 5px 10px; background: #fff; color: #87401f; border: 1px solid #e4d2bc; border-radius: 20px; font-size: .75rem; }
.bakery-site .wish-button { top: 10px; right: 10px; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: #ffffffdd; color: #746255; }
.bakery-site .wish-button.is-active { color: var(--accent); background: #fcebdc; border-color: #edd1b8; }
.bakery-site .product-content { display: flex; flex: 1; flex-direction: column; padding: 17px; }
.bakery-site .product-category { margin: 0 0 6px; font-size: .75rem; color: var(--muted); }
.bakery-site .product-content h3 { margin: 0 0 10px; min-height: 3em; font-size: 1rem; line-height: 1.5; font-weight: 600; letter-spacing: -.02em; }
.bakery-site .product-content h3 a:hover { text-decoration-color: var(--accent); }
.bakery-site .stock-state { margin: 0 0 18px; color: #496047; font-size: .75rem; }
.bakery-site .stock-state.low { color: #95671b; }
.bakery-site .stock-state.out { color: var(--muted); }
.bakery-site .product-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding: 0; border: 0; }
.bakery-site .price-block strong { color: var(--brand); font-size: 1.375rem; font-weight: 650; white-space: nowrap; }
.bakery-site .price-block strong small { font-size: .6875rem; font-weight: 500; }
.bakery-site .price-block del { font-size: .75rem; }
.bakery-site .purchase-control { flex: 0 0 114px; width: 114px; }
.bakery-site .add-button { width: 100%; min-height: 42px; height: auto; padding: 9px 10px; background: var(--accent); color: #fff; border-radius: 25px; font-size: .8125rem; font-weight: 600; }
.bakery-site .add-button:hover { background: #923b21; }
.bakery-site .add-button:disabled { background: #eee9e2; color: #6c635a; opacity: 1; cursor: not-allowed; }
.bakery-site .quantity-stepper { min-height: 42px; background: #fcf0e3; border: 1px solid #edd9c4; border-radius: 25px; color: #814423; }
.bakery-site .quantity-stepper button { min-width: 32px; min-height: 40px; font-size: 1.25rem; }
.bakery-site .quantity-stepper output { font-size: .875rem; }
.bakery-site .is-hidden { display: none; }
@media (hover:hover) { .bakery-site .product-card:hover { transform: translateY(-5px); border-color: #d9c5b0; box-shadow: 0 14px 32px #5235140d; } .bakery-site .product-card:hover .product-media img { transform: scale(1.055); } }

/* Carry the palette into the existing delivery, checkout and account flows. */
.bakery-site .section-heading h2,.bakery-site .page-head h1,.bakery-site .catalog-head h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.04em; }
.bakery-site .request-section { padding-block: 60px; border-top: 1px solid var(--line); background: transparent; }
.bakery-site .request-copy h2 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(2rem,3.1vw,2.8rem); letter-spacing: -.035em; line-height: 1.17; }
.bakery-site .request-form { padding: 28px; border-color: var(--line); background: #f8f4ee; border-radius: 20px; }
.bakery-site .request-points span { background: #f9ebda; color: #984b26; }
.bakery-site :is(.button.primary,.button.dark) { background: var(--accent); color: #fff; border-radius: 28px; font-size: .9375rem; }
.bakery-site :is(.request-form input,.request-form textarea,.auth-card input,.profile-card input) { border-color: #ded5ca; background: #fff; border-radius: 10px; }
.bakery-site .delivery-section { padding-block: 66px; background: #f8f4ee; border-color: var(--line); }
.bakery-site .delivery-grid article { border-color: #e5d9cb; border-radius: 18px; background: #fffdf9; }
.bakery-site .delivery-grid .featured-delivery { background: #f4e5d1; border-color: #e6cfaf; }
.bakery-site .featured-delivery .delivery-place { background: #634a35; }
.bakery-site .delivery-promise { background: #fcf0e3; border-left-color: var(--accent); }
.bakery-site .catalog-missing { background: #f5e8d8; color: #68482e; }
.bakery-site .catalog-request { background: #f5e8d8; }
.bakery-site .category-filter button { font-size: .875rem; }
.bakery-site .category-filter button.is-active { background: #f5e8d8; box-shadow: none; color: #844325; }
.bakery-site .product-hero-media { border-color: var(--line); box-shadow: none; background: #faf8f4; }
.bakery-site .product-hero-media::before { background: #f1eadd; }
.bakery-site .product-hero-copy h1 { font-family: Georgia, serif; font-weight: 400; }
.bakery-site .detail-purchase-control { flex-basis: auto; width: 190px; }
.bakery-site .related-products { background: #f8f4ee; border-color: var(--line); }
.bakery-site .order-summary { border-color: var(--line); box-shadow: 0 12px 35px #52351407; }
.bakery-site .site-footer { padding-top: 52px; background: #29231e; color: #eaded1; border: 0; }
.bakery-site .footer-brand { color: #fff6e9; }
.footer-brand .bakery-steam i { border-color: #ebd3b5; }
.bakery-site .footer-about > p { color: #c7b8a7; }
.bakery-site .footer-app { background: #352c24; border-color: #504336; }
.bakery-site .footer-app .eyebrow { color: #dbb88e; }
.bakery-site .footer-install { background: #f3dfc5; border-color: #f3dfc5; color: #35281e; border-radius: 25px; }
.bakery-site :is(.footer-bottom,.business-details) { border-color: #514438; }
.bakery-site .footer-status i { background: #e0b27f; }
.bakery-site .business-details { color: #b7a896; }
.bakery-site .footer-bottom { font-size: .8125rem; }
.cart-notice { position: fixed; z-index: 120; right: 28px; bottom: 28px; max-width: min(370px,calc(100% - 32px)); padding: 15px 22px; background: #29231e; border: 1px solid #695340; color: #fff6e9; border-radius: 14px; box-shadow: 0 12px 35px #29231e30; font-size: .9375rem; animation: notice-in .25s ease-out; }
@keyframes notice-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.reveal-ready { opacity: 0; transform: translateY(18px); transition: opacity .65s ease,transform .65s ease; }
.reveal-ready.is-visible { opacity: 1; transform: none; }
.banner-admin-preview { display: block; width: 100%; max-height: 260px; object-fit: contain; margin-bottom: 22px; background: #29231e; border-radius: 12px; }
.control-form .form-grid small { font-size: .8125rem; line-height: 1.55; color: #6d6257; }
.control-form .errorlist { margin: 6px 0; padding-left: 18px; font-size: .875rem; color: #b4232e; }

@media (max-width:1200px) {
  .bakery-site .shell { width: calc(100% - 48px); }
  .bakery-site .header-inner { gap: 25px; }
  .bakery-site .location-chip { display: none; }
  .bakery-site .desktop-nav { margin-left: auto; }
  .bakery-site .home-product-grid { gap: 16px; }
  .bakery-site .product-bottom { align-items: stretch; flex-direction: column; }
  .bakery-site .product-bottom .purchase-control { flex-basis: auto; width: 100%; }
  .bakery-site .product-media { height: 205px; }
  .bakery-banner-copy .eyebrow { margin-bottom: 10px; }
  .bakery-banner-copy > p:not(.eyebrow) { margin: 14px 0 17px; }
}
@media (max-width:1000px) {
  .bakery-site .home-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .bakery-site .header-inner { min-height: 86px; }
  .bakery-site .desktop-nav { gap: 20px; }
  .bakery-site .header-actions { gap: 18px; }
  .bakery-banner-copy h2 { font-size: 2.3rem; }
  .bakery-banner-copy > p:not(.eyebrow) { margin: 10px 0 13px; }
  .bakery-banner-copy .eyebrow { font-size: .6875rem; }
  .bakery-site .bakery-cta { min-height: 42px; }
}
@media (max-width:760px) {
  .bakery-site .promo-section { display: none !important; }
  .bakery-site .shell { width: calc(100% - 32px); }
  .bakery-site .service-note-inner { min-height: 30px; justify-content: center; }
  .bakery-site .service-note-inner > span { display: none; }
  .bakery-site .service-note a { font-size: .75rem; }
  .bakery-site .site-header { top: 0; }
  .bakery-site .header-inner { min-height: 80px; gap: 12px; justify-content: space-between; }
  .bakery-site .brand { gap: 5px; }
  .bakery-mark { width: 60px; height: 59px; }
  .bakery-mark img { width: 60px; height: 59px; }
  .bakery-steam { left: 21px; top: 4px; }
  .brand-wordmark { font-size: 1.875rem; }
  .brand-wordmark > span { margin-top: 5px; font-size: .75rem; letter-spacing: 0; }
  .bakery-site .desktop-nav,.bakery-site .header-link { display: none; }
  .bakery-site .cart-link { padding: 10px 12px; gap: 8px; }
  .bakery-site .cart-link > span { display: none; }
  .bakery-site .home-catalog { padding: 28px 0 40px; }
  .bakery-site .home-catalog-heading { margin-bottom: 22px; }
  .home-catalog-heading h1 { font-size: clamp(1.75rem,6.4vw,2.5rem); }
  .bakery-site .home-catalog-heading p:not(.eyebrow) { font-size: .875rem; max-width: 320px; }
  .bakery-site .home-catalog-heading .eyebrow { font-size: .6875rem; margin-bottom: 9px; }
  .bakery-site .home-catalog-heading > .text-link { display: none; }
  .bakery-site .home-category-filter { margin-right: -16px; padding-right: 16px; margin-bottom: 14px; gap: 7px; }
  .bakery-site .home-category-filter button { min-height: 44px; padding: 0 15px; }
  .bakery-site .catalog-tools { display: flex; flex-wrap: wrap; gap: 9px; }
  .bakery-site .catalog-tools .search-field { flex: 1 0 100%; }
  .bakery-site .select-field { flex: 1 1 170px; padding-inline: 10px; }
  .bakery-site .select-field > span { display: none; }
  .bakery-site .select-field select { width: 100%; font-size: .8125rem; }
  .bakery-site .check-field { flex: 1 1 155px; padding-inline: 10px; font-size: .8125rem; }
  .bakery-site .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .bakery-site .product-media { height: clamp(140px,32vw,225px); padding: 22px 15px 12px; }
  .bakery-site .product-content { padding: 12px; }
  .bakery-site .product-content h3 { font-size: .875rem; min-height: 3em; }
  .bakery-site .product-category { font-size: .75rem; }
  .bakery-site .product-badge { top: 9px; left: 8px; font-size: .75rem; padding: 3px 7px; }
  .bakery-site .wish-button { top: 6px; right: 6px; width: 34px; height: 34px; }
  .bakery-site .stock-state { font-size: .75rem; margin-bottom: 12px; }
  .bakery-site .price-block strong { font-size: 1.1875rem; }
  .bakery-site .add-button { min-height: 44px; font-size: .8125rem; }
  .bakery-site .quantity-stepper,.bakery-site .quantity-stepper button { min-height: 44px; }
  .bakery-site .request-section { padding-block: 38px; }
  .bakery-site .request-form { padding: 20px; }
  .bakery-site .delivery-section { padding-block: 42px; }
  .bakery-site .site-footer { padding-top: 35px; padding-bottom: 90px; }
  .bakery-site .mobile-nav { position: fixed; z-index: 100; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; min-height: 68px; padding: 9px 10px calc(9px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fffdf9f5; backdrop-filter: blur(18px); }
  .bakery-site .mobile-nav a { position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px; min-height: 47px; color: #786b5f; font-size: .75rem; }
  .bakery-site .mobile-nav a[aria-current] { color: var(--accent); }
  .bakery-site .mobile-nav b { position: absolute; top: 0; left: auto; right: calc(50% - 29px); min-width: 19px; height: 19px; font-size: .75rem; }
  .cart-notice { left: 16px; right: 16px; bottom: calc(86px + env(safe-area-inset-bottom)); max-width: none; }
  .bakery-site .catalog-layout { padding-bottom: 50px; }
  .bakery-site .catalog-missing { margin-top: 18px; }
}
@media (max-width:360px) {
  .bakery-site .shell { width: calc(100% - 24px); }
  .bakery-site .home-product-grid { gap: 9px; }
  .bakery-site .product-content { padding: 10px; }
  .bakery-site .product-content h3 { font-size: .875rem; }
  .bakery-site .product-badge { max-width: calc(100% - 47px); font-size: .75rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .bakery-site *, .bakery-site *::before, .bakery-site *::after { animation: none !important; transition: none !important; }
  .bakery-steam i { opacity: .35; transform: translateY(-7px); }
  .reveal-ready { opacity: 1; transform: none; }
}

/* Bakery first, grocery on the dedicated catalogue route. */
.bakery-site .home-catalog { padding-top: 38px; }
.bakery-assortment-empty { grid-column: 1/-1; display: flex; align-items: center; flex-direction: column; text-align: center; padding: 34px 20px 40px; border: 1px dashed #d9c8b5; border-radius: 20px; background: #faf5ed; }
.empty-bakery-mark .brand-wordmark { display: none; }
.empty-bakery-mark .bakery-mark { width: 96px; height: 80px; }
.empty-bakery-mark img { width: 96px; height: 80px; }
.empty-bakery-mark .bakery-steam { left: 36px; }
.bakery-assortment-empty h2 { margin: 14px 0 0; font: 400 clamp(1.65rem,3vw,2.2rem)/1.2 Georgia,serif; letter-spacing: -.025em; }
.bakery-assortment-empty p { color: var(--muted); max-width: 490px; }
.bakery-assortment-empty .text-link { margin-top: 18px; }
.bakery-site .auth-card { background: #fffdf9; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 20px 70px #4730190b; }
.bakery-site .auth-card > .brand { margin-bottom: 25px; }
.bakery-site .auth-card h1 { font: 400 2.25rem/1.1 Georgia,serif; letter-spacing: -.035em; }
.bakery-site .auth-card form > label { display: flex; flex-direction: column; gap: 7px; font-size: .875rem; }
.bakery-site .auth-card input:not([type=hidden]) { min-height: 48px; width: 100%; border: 1px solid #dfd4c6; border-radius: 10px; padding: 10px 12px; background: #fff; font-size: 1rem; }
.bakery-site .auth-card .oauth { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; margin: 0; min-height: 48px; border: 1px solid var(--line); background: #fff; color: var(--ink); border-radius: 12px; font-size: .9375rem; }
.bakery-site .auth-card .oauth:hover:not(:disabled) { border-color: var(--accent); background: #fff9f1; }
.bakery-site .oauth:disabled { cursor: not-allowed; color: #80766d; background: #f5f2ec; }
.social-login-options { display: grid; gap: 10px; }
.bakery-site .social-login-options form { margin: 0; }
.oauth-symbol { font: 700 1.25rem/1 Arial,sans-serif; color: #4285f4; }
.oauth-telegram svg { color: #229ed9; }
.bakery-site .auth-card .auth-service-note { font-size: .8125rem; color: var(--muted); margin-top: 13px; }
.auth-errors { padding: 12px; border-radius: 10px; background: #ffefe8; color: #963921; font-size: .875rem; }
.auth-errors .errorlist { margin: 0; padding-left: 18px; }
.bakery-site .account-connections { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px; margin-bottom: 30px; background: #f9f2e8; border: 1px solid var(--line); border-radius: 18px; }
.account-connections h2 { margin: 0; font: 400 1.6rem/1.2 Georgia,serif; }
.account-connections p:not(.eyebrow) { margin-bottom: 0; max-width: 540px; font-size: .875rem; color: var(--muted); }
.connection-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.connection-actions .button { font-size: .875rem; }
.connection-status { padding: 10px 14px; border-radius: 24px; background: #e7eedf; color: #415c39; font-size: .875rem; }
@media (max-width:1000px) { .bakery-site .header-inner { gap: 16px; } .bakery-site .desktop-nav { gap: 15px; } .bakery-site .desktop-nav a { font-size: .875rem; } }
@media (max-width:760px) { .bakery-site .home-catalog { padding-top: 26px; } .bakery-site .account-connections { align-items: stretch; flex-direction: column; padding: 20px; } .bakery-site .auth-card { padding: 26px 20px; } }

/* Panevia: detailed pastry, warm vapor on intentional interaction. */
.bakery-site .panevia-mark { width: 86px; height: 76px; overflow: visible; }
.bakery-site .panevia-mark img { width: 86px; height: 76px; transform: rotate(-5deg); filter: drop-shadow(0 5px 4px #6c371b1a); transition: transform .55s cubic-bezier(.22,.68,.18,1), filter .55s; }
.bakery-site .brand:is(:hover,:focus-visible) .panevia-mark img { transform: translateY(-2px) rotate(1deg) scale(1.055); filter: drop-shadow(0 8px 7px #6c371b2d); }
.panevia-steam { position: absolute; inset: -3px 0 auto; height: 45px; opacity: 0; pointer-events: none; transition: opacity .35s; }
.brand:is(:hover,:focus-visible) .panevia-steam { opacity: 1; }
.panevia-steam i { --drift: -6px; position: absolute; left: 23%; bottom: 0; width: 11px; height: 34px; border-radius: 55% 35% 65% 40%; background: linear-gradient(0deg,transparent,#b89b7770 35%,#d6c3a975 70%,transparent); filter: blur(2px); opacity: 0; transform: translateY(12px) scale(.5); }
.panevia-steam i:nth-child(2) { left: 35%; height: 39px; --drift: 8px; animation-delay: -.8s !important; }
.panevia-steam i:nth-child(3) { left: 48%; height: 32px; --drift: -9px; animation-delay: -1.6s !important; }
.panevia-steam i:nth-child(4) { left: 61%; height: 36px; --drift: 11px; animation-delay: -2.3s !important; }
.panevia-steam i:nth-child(5) { left: 43%; height: 43px; --drift: 3px; animation-delay: -.4s !important; }
.brand:is(:hover,:focus-visible) .panevia-steam i { animation: panevia-vapor 3.2s ease-out infinite; }
@keyframes panevia-vapor { 0% { opacity: .68; transform: translate(0,12px) scale(.55,.7) rotate(-8deg); } 28% { opacity: .96; } 65% { opacity: .78; } 100% { opacity: .64; transform: translate(var(--drift),-25px) scale(1.7,1.15) rotate(13deg); } }
.bakery-site .product-media { height: auto; aspect-ratio: 4/3; padding: 16px; background: #f5f1e9; display: flex; align-items: center; justify-content: center; }
.bakery-site .product-media::before { display: none; }
.bakery-site .product-media img { width: var(--product-image-scale,92%); height: var(--product-image-scale,92%); max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; filter: none; transition: transform .65s cubic-bezier(.22,.68,.18,1); }
.bakery-site .product-photo-photo img { mix-blend-mode: normal; border-radius: 10px; }
.bakery-site .product-card:hover .product-media img { transform: scale(1.045); }
.bakery-site .product-category { display: flex; justify-content: space-between; gap: 6px; }
.bakery-site .product-category > span { color: #8d7d6e; white-space: nowrap; }
.bakery-site .add-button { transition: transform .2s, background .2s, box-shadow .2s; }
.bakery-site .add-button:active:not(:disabled) { transform: scale(.97); }
.bakery-site .add-button:hover:not(:disabled) { box-shadow: 0 5px 15px #b54b2a25; }
.bakery-site .search-field:focus-within { border-color: #b77848; box-shadow: 0 0 0 3px #b7784814; }
.bakery-site .wish-button { background: #fffdf9e8; border: 1px solid #e4d7c6; }
.bakery-site .cart-link.is-updated b { animation: basket-bounce .45s ease; }
@keyframes basket-bounce { 40% { transform: scale(1.35); } 75% { transform: scale(.9); } }
.control-form .control-card + .control-card { margin-top: 22px; }
.control-form .control-card h2 { margin: 0 0 20px; font-size: 1.3rem; }
.control-form .form-grid small { font-size: .8rem; color: #7b6c5c; }
.control-form .form-grid .error { color: #af3f29; }
@media(max-width:760px) {
  .bakery-site .panevia-mark,.bakery-site .panevia-mark img { width: 65px; height: 62px; }
  .panevia-steam { top: -8px; }
  .bakery-site .product-media { aspect-ratio: 1/1; padding: 10px; }
  .bakery-site .product-category { flex-wrap: wrap; gap: 2px 8px; }
  .bakery-site .mobile-nav { min-height: calc(74px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { .panevia-steam { display: none; } }

/* Three clearly separated departments. */
.shop-sections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:0 0 25px; }
.shop-sections a { position:relative; display:flex; flex-direction:column; padding:15px 17px; border:1px solid #e0d4c5; border-radius:14px; background:#faf6ef; transition:background .25s,border-color .25s,transform .25s,box-shadow .25s; min-width:0; }
.shop-sections strong { font-size:1rem; line-height:1.4; overflow-wrap:anywhere; }
.shop-sections small { font-size:.8125rem; color:#85735f; margin-top:4px; }
.shop-sections a[aria-current] { background:#33291f; color:#fff9ef; border-color:#33291f; }
.shop-sections a[aria-current] :is(span,small) { color:#cbbba7; }
.shop-sections a:hover { transform:translateY(-2px); border-color:#a4794e; box-shadow:0 9px 25px #6b452512; }
.catalog-category-bar { margin-top:20px; }
.catalog-category-filter { flex-wrap:wrap; margin-bottom:0; }
.catalog-layout.catalog-layout-wide { grid-template-columns:minmax(0,1fr); padding-top:18px; }
.bakery-site .product-bottom { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:stretch; }
.bakery-site .product-content .purchase-control { width:100%; min-width:0; }
.bakery-site .product-content .add-button { width:100%; min-width:0; padding:10px 8px; line-height:1.3; white-space:normal; min-height:44px; }
.bakery-site .quantity-stepper { width:100%; min-width:0; grid-template-columns:minmax(30px,.8fr) minmax(0,1.3fr) minmax(30px,.8fr); }
.bakery-site .quantity-stepper button { display:grid; place-items:center; min-width:0; padding:0; line-height:1; }
.bakery-site .quantity-stepper output { min-width:0; padding:0 2px; font-size:.875rem; }
.bakery-site .wish-button { display:grid; place-items:center; padding:0; min-width:0; width:36px; height:36px; line-height:1; z-index:3; }
.bakery-site .wish-button svg { display:block; width:19px; height:19px; flex:none; }
.bakery-site .product-media-link { min-width:0; min-height:0; }
.bakery-site .cart-page-head { align-items:center; gap:24px; padding-top:38px; }
.bakery-site .cart-page-head .eyebrow { position:static; margin:0 0 10px; line-height:1.4; }
.bakery-site .cart-page-head h1 { margin:0; line-height:1.1; }
.bakery-site .cart-line { grid-template-columns:80px minmax(0,1fr) 126px 105px; gap:16px; }
.bakery-site .cart-line > img { width:80px; height:80px; padding:8px; background:#f5f1e9; }
.bakery-site .cart-product { min-width:0; }
.bakery-site .cart-product h2 { overflow-wrap:anywhere; }
.bakery-site .cart-control { width:126px; min-width:0; }
.bakery-site .line-total { white-space:nowrap; font-size:.9375rem; }
/* Visible vapor at rest, fuller plume on hover or keyboard focus. */
.bakery-site .panevia-mark { height:82px; }
.bakery-site .panevia-mark img { margin-top:7px; height:75px; }
.bakery-site .panevia-steam { display:block; z-index:4; inset:-5px 0 auto; height:45px; opacity:.72; }
.bakery-site .panevia-steam i { width:12px; height:37px; background:linear-gradient(0deg,transparent,#856a49b8 38%,#b29c7fad 75%,transparent); filter:blur(1.4px); animation:panevia-vapor 3.4s ease-out infinite; }
.bakery-site .brand:is(:hover,:focus-visible) .panevia-steam { opacity:1; }
.bakery-site .brand:is(:hover,:focus-visible) .panevia-steam i { animation-duration:2.3s; width:15px; filter:blur(1.1px); }
@media(max-width:1000px) { .bakery-site .cart-layout { grid-template-columns:1fr; } .bakery-site .order-summary { position:static; } }
@media(max-width:760px) {
 .shop-sections { gap:7px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:20px; }
 .shop-sections a { padding:12px 9px; border-radius:12px; justify-content:center; }
 .shop-sections a > span,.shop-sections small { display:none; }
 .shop-sections strong { font-size:.8125rem; line-height:1.35; }
 .bakery-site .cart-page-head { align-items:flex-start; gap:10px; }
 .bakery-site .cart-line { grid-template-columns:72px minmax(0,1fr); gap:12px; }
 .bakery-site .cart-line > img { width:72px; height:72px; }
 .bakery-site .cart-control { grid-column:2; width:min(150px,100%); }
 .bakery-site .line-total { grid-column:2; justify-self:start; }
 .bakery-site .panevia-mark { height:68px; }
 .bakery-site .panevia-mark img { height:62px; margin-top:6px; }
 .bakery-site .panevia-steam { inset:-11px 0 auto; transform:scale(.85); transform-origin:bottom center; }
}
@media(prefers-reduced-motion:reduce) {
 .bakery-site .panevia-steam { display:block; opacity:.5; }
 .bakery-site .panevia-steam i { animation:none!important; opacity:.45; transform:translateY(-8px) scaleX(.8); }
}

.login-setup-guide { margin-bottom:24px; }
.login-setup-guide li { margin-bottom:9px; line-height:1.6; }
.login-setup-guide code { display:block; padding:12px; border-radius:8px; background:#f3efe7; font-size:13px; overflow-wrap:anywhere; }
.login-setup-guide a { text-decoration:underline; }

/* Responsive category controls: every label stays inside the content width. */
.bakery-site .home-category-filter {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:9px;
  margin-right:0;
  padding:0;
  overflow:visible;
}
.bakery-site .home-category-filter button { width:100%; min-width:0; justify-content:center; padding:9px 12px; line-height:1.25; white-space:normal; }
.bakery-site .catalog-missing { margin-top:58px; margin-bottom:76px; }

/* Appearance and accessibility menu. */
.appearance-menu { position:relative; z-index:40; }
.appearance-menu summary { width:42px; height:42px; display:flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; border:1px solid var(--line); border-radius:50%; background:#fffdf9; list-style:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.appearance-menu summary::-webkit-details-marker { display:none; }
.appearance-menu summary:hover,.appearance-menu summary:focus-visible { transform:translateY(-1px); border-color:var(--accent); box-shadow:0 7px 22px #5e311217; }
.appearance-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.appearance-panel { position:absolute; top:calc(100% + 11px); right:0; width:225px; display:grid; gap:7px; padding:14px; border:1px solid var(--line); border-radius:15px; background:#fffdf9; box-shadow:0 18px 50px #35210f26; }
.appearance-panel strong { padding:3px 5px 7px; font-size:.8125rem; }
.appearance-panel button { min-height:42px; padding:8px 11px; border:1px solid #e3d9cc; border-radius:10px; background:#fff; text-align:left; cursor:pointer; }
.appearance-panel button:hover,.appearance-panel button[aria-pressed="true"] { border-color:var(--accent); background:#fbefe2; }
.support-phone { font-weight:700; }

/* Address selection is part of checkout instead of a kilometre calculator. */
.bakery-site .delivery-choice select { width:100%; min-height:46px; padding:0 38px 0 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.cart-address-panel { margin:12px 0 18px; border:1px solid var(--line); border-radius:12px; background:#faf6ef; }
.cart-address-panel summary { padding:13px 14px; cursor:pointer; font-size:.875rem; font-weight:750; }
.cart-address-form { padding:0 14px 15px; }
.cart-address-form .form-grid { grid-template-columns:1fr; gap:11px; }
.cart-address-form .form-grid label.wide { grid-column:auto; }
.cart-address-form .form-grid label>span { font-size:.75rem; }
.cart-address-form .form-grid input,.cart-address-form .form-grid select { width:100%; min-height:43px; padding:0 10px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.cart-address-form .form-grid input[type="checkbox"] { width:19px; min-height:19px; }
.cart-address-form .button { margin-top:12px; }
.address-radius-note { display:block; margin-top:10px; color:var(--muted); font-size:.72rem; line-height:1.5; }
.address-radius-note a { text-decoration:underline; }
[data-nearby-field][hidden] { display:none!important; }

/* Buyer information required before a real shop launch. */
.legal-hero { padding:72px 0 36px; }
.legal-hero h1 { max-width:850px; margin:8px 0 18px; font:400 clamp(2.5rem,6vw,4.7rem)/.98 Georgia,serif; letter-spacing:-.045em; }
.legal-hero>p:last-child { max-width:760px; color:var(--muted); font-size:1.05rem; line-height:1.65; }
.legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.legal-card { min-height:240px; padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.legal-card>span { color:var(--accent); font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.legal-card h2 { margin:18px 0 14px; font:400 1.8rem/1.1 Georgia,serif; }
.legal-card p { color:var(--muted); line-height:1.65; }
.legal-card-warning { background:#2f261f; color:#fff; }
.legal-card-warning p { color:#d7cabc; }
.legal-phone { color:inherit; font-size:1.35rem; font-weight:800; }
.legal-checklist { margin:18px auto 80px; padding:32px; border-radius:18px; background:#f2e6d7; }
.legal-checklist h2 { margin-top:0; }
.legal-checklist li { margin:8px 0; line-height:1.5; }
.legal-checklist p { max-width:950px; line-height:1.6; }

/* User-selected themes are stored only in this browser. */
html[data-appearance="light"] { color-scheme:light; --brand:#29231e; --accent:#b54b2a; --surface:#fff; --ink:#201b17; --muted:#6f665e; --line:#e6ddd3; }
html[data-appearance="light"] body.bakery-site { background:#fff; }
html[data-appearance="light"] .bakery-site .quantity-stepper { background:#edf7f0; border-color:#b8d8c2; color:#214d32; box-shadow:inset 0 0 0 1px #ffffff8c; }
html[data-appearance="light"] .bakery-site .quantity-stepper button { background:#dceee2; color:#24563a; }
html[data-appearance="light"] .bakery-site .quantity-stepper output { color:#214d32; }
html[data-appearance="light"] .bakery-site [data-cart-count] { background:#3f7d5a; color:#fff; }
html[data-appearance="dark"] { color-scheme:dark; --brand:#f0c594; --accent:#ee9b57; --surface:#15120f; --ink:#f8efe5; --muted:#c4b7aa; --line:#4c4036; }
html[data-appearance="dark"] body.bakery-site { background:#15120f; color:var(--ink); }
html[data-appearance="dark"] .bakery-site :is(.site-header,.home-catalog,.product-card,.product-content,.catalog-tools,.search-field,.select-field select,.check-field,.catalog-sidebar,.order-summary,.address-card,.address-form,.auth-card,.profile-card,.legal-card,.appearance-panel,.appearance-panel button,.cart-address-panel,.cart-address-form input,.cart-address-form select,.delivery-choice select) { background:#211c18; color:var(--ink); border-color:var(--line); }
html[data-appearance="dark"] .bakery-site :is(.home-category-filter button,.category-filter button,.product-media,.cart-line>img) { background:#2b241e; color:var(--ink); border-color:var(--line); }
html[data-appearance="dark"] .bakery-site :is(.home-category-filter button.is-active,.category-filter button.is-active) { background:#f0c594; color:#1f1812; }
html[data-appearance="dark"] .bakery-site :is(.shop-sections a,.legal-checklist) { background:#28211c; color:var(--ink); border-color:var(--line); }
html[data-appearance="dark"] .bakery-site .legal-card-warning { background:#090807; }
html[data-appearance="dark"] .bakery-site :is(input,textarea,select) { color-scheme:dark; }
html[data-appearance="dark"] .bakery-site .mobile-nav { background:#171411f2; border-color:var(--line); }
html[data-appearance="dark"] .bakery-site :is(.brand,.desktop-nav a,.location-chip,.section-heading h1,.section-heading h2,.catalog-head h1,.page-head h1,.shop-sections strong,.home-category-filter button,.category-filter button,.results-meta,.product-content h3,.product-content h3 a,.price-block strong,.legal-card h2,.legal-phone,.delivery-grid h3,.delivery-grid dt,.delivery-grid dd) { color:#f8efe5; }
html[data-appearance="dark"] .bakery-site :is(.section-heading p,.catalog-title-row p,.shop-sections small,.product-category,.product-category span,.stock-state,.results-meta span,.legal-card p,.legal-checklist p,.legal-checklist li,.location-chip small,.delivery-grid p,.address-radius-note) { color:#c8b9aa; }
html[data-appearance="dark"] .bakery-site :is(.eyebrow,.text-link) { color:#ee9b57; }
html[data-appearance="dark"] .bakery-site :is(input,textarea,select)::placeholder { color:#a99a8c; opacity:1; }
html[data-appearance="dark"] .bakery-site .shop-sections a[aria-current] { background:#f0c594; color:#1f1812; border-color:#f0c594; }
html[data-appearance="dark"] .bakery-site .shop-sections a[aria-current] :is(strong,span,small) { color:#1f1812; }
html[data-appearance="dark"] body.bakery-site * { color:inherit!important; }
html[data-appearance="dark"] body.bakery-site :is(.eyebrow,.text-link) { color:#ee9b57!important; }
html[data-appearance="dark"] body.bakery-site :is(.cart-link,.appearance-menu summary,.wish-button,.shop-sections a[aria-current],.shop-sections a[aria-current] *, .home-category-filter button.is-active,.category-filter button.is-active) { color:#1f1812!important; }
html[data-appearance="dark"] body.bakery-site :is(.select-field select,.delivery-choice select,.cart-address-form input,.cart-address-form select) { background:#211c18!important; color:#f8efe5!important; }
html[data-appearance="dark"] body.bakery-site :is(a,p,h1,h2,h3,small,span,strong,button,label,dt,dd,input,select,textarea,output) { color:#f8efe5!important; }
html[data-appearance="dark"] body.bakery-site :is(.eyebrow,.text-link) { color:#ee9b57!important; }
html[data-appearance="dark"] body.bakery-site :is(.cart-link,.appearance-menu summary,.wish-button,.shop-sections a[aria-current],.shop-sections a[aria-current] *, .home-category-filter button.is-active,.category-filter button.is-active) { color:#1f1812!important; }
html[data-appearance="dark"] body.bakery-site .select-field { background:#211c18!important; border-color:#4c4036!important; }
html[data-appearance="dark"] body.bakery-site .cart-link :is(span,b) { color:#1f1812!important; }
html[data-appearance="dark"] .bakery-site .quantity-stepper { background:#2d3b32!important; border-color:#66806e!important; color:#f7f2e9!important; box-shadow:inset 0 0 0 1px #ffffff0d; }
html[data-appearance="dark"] .bakery-site .quantity-stepper button { background:#3d5947!important; color:#fff8ec!important; }
html[data-appearance="dark"] .bakery-site .quantity-stepper output { color:#fff8ec!important; }
html[data-appearance="dark"] .bakery-site [data-cart-count] { background:#d8aa68!important; color:#21170f!important; }
html[data-appearance="dark"] .bakery-site .delivery-section { background:#171411!important; border-color:#4c4036!important; }
html[data-appearance="dark"] .bakery-site .delivery-grid article { background:#211c18!important; border-color:#4c4036!important; color:#f8efe5!important; }
html[data-appearance="dark"] .bakery-site .delivery-grid .featured-delivery { background:#34251b!important; border-color:#8b6544!important; }
html[data-appearance="dark"] .bakery-site .delivery-grid dl div { border-color:#514238!important; }
html[data-appearance="dark"] .bakery-site .delivery-place { background:#3b3129!important; color:#f3c696!important; }
html[data-appearance="dark"] .bakery-site .featured-delivery .delivery-place { background:#d59a61!important; color:#21170f!important; }
html[data-appearance="dark"] .bakery-site .appearance-menu summary { background:#2b241e!important; border-color:#665343!important; color:#f8efe5!important; box-shadow:0 8px 24px #0006; }
html[data-appearance="dark"] .bakery-site .appearance-menu summary:hover,
html[data-appearance="dark"] .bakery-site .appearance-menu summary:focus-visible { background:#3a2f27!important; border-color:#ee9b57!important; color:#fff!important; }
html[data-appearance="dark"] .bakery-site .appearance-panel button[aria-pressed="true"] { background:#3b2c21!important; border-color:#ee9b57!important; color:#fff!important; }
html[data-appearance="dark"] body.bakery-site .bakery-banner-copy-dark,
html[data-appearance="dark"] body.bakery-site .bakery-banner-copy-dark :is(h2,p,span) { color:#282019!important; }
html[data-appearance="dark"] body.bakery-site .bakery-banner-copy-dark .eyebrow { color:#8b4c2f!important; }

@media (prefers-reduced-motion:reduce) {
  .bakery-banner[aria-hidden="false"] img,.bakery-banner[aria-hidden="false"] .bakery-banner-copy>* { animation:none!important; }
}

/* Dark surfaces keep their own contrast instead of inheriting light-card colours. */
html[data-appearance="dark"] body.bakery-site :is(.request-form,.account-connections,.account-stats article,.empty-panel,.address-form,.order-history article) {
  background:#211c18!important; border-color:#514238!important; color:#f8efe5!important;
}
html[data-appearance="dark"] body.bakery-site :is(.request-form,.address-form) :is(input,textarea,select) {
  background:#171411!important; border-color:#625044!important; color:#fff8ef!important; color-scheme:dark;
}
html[data-appearance="dark"] body.bakery-site :is(.request-form,.address-form) :is(input,textarea,select)::placeholder { color:#aa9a8c!important; opacity:1; }
html[data-appearance="dark"] body.bakery-site :is(.request-form,.address-form) :is(label,small),
html[data-appearance="dark"] body.bakery-site .account-stats :is(small,span),
html[data-appearance="dark"] body.bakery-site .account-connections p { color:#c9baac!important; }
html[data-appearance="dark"] body.bakery-site :is(.request-points span,.address-icon) { background:#e1ad70!important; color:#24180f!important; border-color:#e1ad70!important; }
html[data-appearance="dark"] body.bakery-site .connection-actions .button.secondary { background:#302821!important; border-color:#665343!important; color:#f8efe5!important; }
html[data-appearance="dark"] body.bakery-site .connection-actions .button.secondary:disabled { background:#28231f!important; color:#aa9c90!important; opacity:1; }
html[data-appearance="dark"] body.bakery-site .oauth-symbol { color:#76a9ff!important; }
html[data-appearance="dark"] body.bakery-site .oauth-telegram svg { color:#52bcec!important; }

/* The header croissant always gives off steam on desktop; hover makes it livelier. */
@media (min-width:761px) {
  .bakery-site .site-header .panevia-steam { display:block!important; opacity:1!important; }
  .bakery-site .site-header .panevia-steam::before { content:""; position:absolute; left:25%; right:22%; bottom:3px; height:29px; background:radial-gradient(ellipse at 35% 75%,#b49a7c99 0 18%,transparent 58%),radial-gradient(ellipse at 68% 48%,#c8b59b8c 0 16%,transparent 60%); filter:blur(2px); opacity:.82; }
  .bakery-site .site-header .panevia-steam i { animation:panevia-vapor 3.4s ease-out infinite!important; will-change:transform,opacity; }
  .bakery-site .site-header .brand:is(:hover,:focus-visible) .panevia-steam { opacity:1!important; }
  .bakery-site .site-header .brand:is(:hover,:focus-visible) .panevia-steam i { animation-duration:2.25s!important; }
}

@media(max-width:820px) {
  .bakery-site .catalog-sidebar .category-filter { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; overflow:visible; padding:0; }
  .bakery-site .catalog-sidebar .category-filter button { width:100%; min-width:0; min-height:44px; justify-content:center; padding:8px; white-space:normal; }
}
@media(max-width:620px) {
  .bakery-site .home-category-filter { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .bakery-site .home-category-filter button { min-height:48px; }
  .appearance-menu summary { width:38px; height:38px; }
  .appearance-panel { position:fixed; top:76px; right:12px; width:min(280px,calc(100vw - 24px)); }
  .service-note-inner .support-phone { font-size:.72rem; }
  .legal-hero { padding:45px 0 24px; }
  .legal-grid { grid-template-columns:1fr; }
  .legal-card { min-height:0; padding:22px; }
  .legal-checklist { margin-bottom:45px; padding:22px; }
}

/* Desktop logo: three playful bites appear in sequence on hover. */
.panevia-bites { display:none; }
@media (min-width:761px) {
  .bakery-site .site-header { --logo-bite-fill:#fffdf9; }
  html[data-appearance="dark"] .bakery-site .site-header { --logo-bite-fill:#211c18; }
  .bakery-site .site-header .panevia-bites { position:absolute; display:block; z-index:5; inset:0; pointer-events:none; }
  .bakery-site .site-header .panevia-bites i { position:absolute; display:block; border-radius:50%; background:var(--logo-bite-fill); opacity:0; transform:scale(.15); }
  .bakery-site .site-header .panevia-bites i:nth-child(1) { width:18px; height:18px; right:3px; top:45px; }
  .bakery-site .site-header .panevia-bites i:nth-child(2) { width:20px; height:20px; right:8px; top:28px; }
  .bakery-site .site-header .panevia-bites i:nth-child(3) { width:17px; height:17px; right:20px; top:15px; }
  .bakery-site .site-header .brand:is(:hover,:focus-visible) .panevia-bites i { animation:panevia-bite-in .24s cubic-bezier(.2,.9,.35,1.25) forwards; }
  .bakery-site .site-header .brand:is(:hover,:focus-visible) .panevia-bites i:nth-child(2) { animation-delay:.24s; }
  .bakery-site .site-header .brand:is(:hover,:focus-visible) .panevia-bites i:nth-child(3) { animation-delay:.48s; }
  .bakery-site .site-header .panevia-bites::after { content:""; position:absolute; z-index:6; right:0; top:45px; width:4px; height:4px; border-radius:50%; background:#bb6c32; box-shadow:9px 7px 0 -1px #d69755,-3px 14px 0 -1px #8f4d29; opacity:0; }
  .bakery-site .site-header .brand:is(:hover,:focus-visible) .panevia-bites::after { animation:panevia-crumbs .8s .2s ease-out both; }
}
@keyframes panevia-bite-in { 0% { opacity:0; transform:scale(.15); } 70% { opacity:1; transform:scale(1.16); } 100% { opacity:1; transform:scale(1); } }
@keyframes panevia-crumbs { 0% { opacity:0; transform:translate(0,0) rotate(0); } 25% { opacity:1; } 100% { opacity:0; transform:translate(13px,17px) rotate(35deg); } }

/* Koptilny Dom: independent emblem and continuous chimney smoke. */
.bakery-site .smokehouse-mark { width:86px; height:86px; overflow:visible; }
.bakery-site .smokehouse-mark img { width:86px; height:86px; margin:0; transform:none; filter:drop-shadow(0 3px 4px #40221126); transition:filter .4s; }
.bakery-site .brand:is(:hover,:focus-visible) .smokehouse-mark img { transform:none; filter:drop-shadow(0 3px 7px #be733c66); }
.smokehouse-wordmark { font-size:clamp(1.35rem,2.15vw,1.9rem); letter-spacing:-.045em; white-space:nowrap; }
.smokehouse-wordmark>span { font-size:.65rem; letter-spacing:.11em; margin-top:8px; }
/* Soft steam stays visible throughout each cycle; all coordinates scale with the logo. */
.smokehouse-vapor { --vapor-rgb:156,149,139; position:absolute; z-index:2; left:56%; top:-3%; width:34%; height:29%; pointer-events:none; overflow:visible; }
.smokehouse-vapor::before { content:""; position:absolute; left:32%; bottom:-2%; width:31%; height:67%; border-radius:50%; background:radial-gradient(ellipse at 50% 75%,rgba(var(--vapor-rgb),.45),rgba(var(--vapor-rgb),.144) 46%,transparent 72%); filter:blur(1px); }
.smokehouse-vapor i { --sway:4px; position:absolute; left:26%; bottom:0; width:44%; height:72%; border-radius:45% 65% 38% 58%; background:radial-gradient(ellipse at 48% 60%,rgba(var(--vapor-rgb),.585),rgba(var(--vapor-rgb),.27) 38%,transparent 70%); filter:blur(.85px); transform-origin:50% 100%; --vapor-duration:2.47s; --vapor-delay:0s; animation:smokehouse-soft-vapor var(--vapor-duration) ease-in-out infinite alternate!important; animation-delay:var(--vapor-delay)!important; animation-play-state:running!important; }
.smokehouse-vapor i:nth-child(2) { left:33%; bottom:18%; width:52%; height:79%; --sway:-6px; --vapor-duration:3.07s; --vapor-delay:-1.4s; }
.smokehouse-vapor i:nth-child(3) { left:10%; bottom:36%; width:66%; height:83%; --sway:6px; --vapor-duration:3.4s; --vapor-delay:-2.27s; }
.smokehouse-vapor i:nth-child(4) { left:29%; bottom:52%; width:70%; height:81%; --sway:-4px; --vapor-duration:2.87s; --vapor-delay:-1.2s; }
.smokehouse-vapor i:nth-child(5) { left:5%; bottom:71%; width:83%; height:79%; --sway:6px; --vapor-duration:3.87s; --vapor-delay:-2.8s; opacity:.6; }
.smokehouse-vapor i:nth-child(6) { left:24%; bottom:84%; width:78%; height:75%; --sway:-6px; --vapor-duration:4.2s; --vapor-delay:-1.8s; opacity:.4; }
@keyframes smokehouse-soft-vapor { from { transform:translate(-2px,3px) rotate(-9deg) scale(.82,.9); } to { transform:translate(var(--sway),-5px) rotate(11deg) scale(1.18,1.14); } }
html[data-appearance="dark"] .smokehouse-vapor,.site-footer .smokehouse-vapor { --vapor-rgb:223,218,207; }
/* Confine the moving flames and embers to the existing lower firebox. */
.smokehouse-fire { position:absolute; z-index:1; left:32%; top:80%; width:38%; height:7.5%; overflow:hidden; border-radius:40% 40% 14% 14%; pointer-events:none; mix-blend-mode:screen; }
.smokehouse-fire::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 100%,#ffac35cc,#ff5a1480 43%,transparent 75%); animation:smokehouse-embers 1.73s ease-in-out infinite alternate!important; }
.smokehouse-fire::after { content:""; position:absolute; inset:auto 8% 0; height:25%; border-radius:50%; background:radial-gradient(ellipse,#ffc573a6,#ff571b55 55%,transparent 75%); filter:blur(.4px); }
.smokehouse-fire i { --lean:7deg; position:absolute; bottom:-5%; left:5%; width:20%; height:85%; transform-origin:50% 100%; border-radius:70% 18% 50% 35%; background:linear-gradient(0deg,#fff0a7 0%,#ffbc43 34%,#ff6614 74%,#ff4e0800 100%); filter:blur(.35px); opacity:.96; --fire-duration:.8s; --fire-delay:0s; animation:smokehouse-flame var(--fire-duration) ease-in-out infinite alternate!important; animation-delay:var(--fire-delay)!important; animation-play-state:running!important; }
.smokehouse-fire i::after { content:""; position:absolute; inset:35% 28% 0; border-radius:80% 15% 50% 30%; background:linear-gradient(0deg,#fffbd6c9,#ffd67580,transparent); }
.smokehouse-fire i:nth-child(2) { left:22%; height:100%; width:24%; --lean:-9deg; --fire-duration:1.03s; --fire-delay:-0.47s; }
.smokehouse-fire i:nth-child(3) { left:42%; height:83%; width:23%; --lean:11deg; --fire-duration:.7s; --fire-delay:-0.27s; }
.smokehouse-fire i:nth-child(4) { left:62%; height:97%; width:21%; --lean:-7deg; --fire-duration:1.17s; --fire-delay:-0.8s; }
.smokehouse-fire i:nth-child(5) { left:79%; height:70%; width:17%; --lean:8deg; --fire-duration:.9s; --fire-delay:-0.6s; }
@keyframes smokehouse-flame { 0% { transform:scale(.82,.58) skewX(-8deg); } 45% { transform:scale(1.06,.93) skewX(var(--lean)); } 100% { transform:scale(1.04,1.2) skewX(-5deg); } }
@keyframes smokehouse-embers { from { opacity:.5; transform:scaleX(.92); } to { opacity:.9; transform:scaleX(1.07); } }
.smokehouse-banner { background:#211c18; }
.smokehouse-banner::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#15120f88,transparent 68%); }
.smokehouse-banner .bakery-banner-copy { z-index:2; max-width:54%; }
.smokehouse-banner .bakery-banner-copy h2 { font-size:clamp(2rem,3.55vw,3.35rem); }
.smokehouse-banner .bakery-banner-copy h2 { color:#fff8ee; }
.smokehouse-banner .bakery-banner-copy .bakery-cta { color:#fff8ee; background:#904723; }
.smokehouse-site .product-price-row small { white-space:nowrap; }
@media(max-width:1120px) and (min-width:761px) { .smokehouse-site .header-inner { gap:20px; } .smokehouse-site .location-chip { display:none; } }
@media(max-width:760px) {
  .bakery-site .smokehouse-mark,.bakery-site .smokehouse-mark img { width:57px; height:62px; }
  .smokehouse-vapor { top:0; height:27%; }
  .smokehouse-fire { top:78%; height:7%; }
  .smokehouse-wordmark { font-size:clamp(.98rem,4.2vw,1.4rem); }
  .smokehouse-wordmark>span { font-size:.5rem; letter-spacing:.025em; margin-top:5px; }
  .smokehouse-site .header-actions { gap:6px; }
  .smokehouse-site .header-inner { gap:6px; }
  .smokehouse-site .site-header .cart-link { padding:9px; gap:5px; }
  .smokehouse-site .site-header .appearance-label { display:none; }
  .smokehouse-site .site-header .appearance-menu summary { width:36px; min-width:36px; padding:0; justify-content:center; }
}
/* The owner explicitly requested continuous logo motion on desktop and mobile.
   Logo animation declarations override the global reduced-motion reset only here. */

/* Vector category symbols do not depend on emoji fonts or OS support. */
.bakery-site .home-category-filter button>span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 22px; width:22px; height:22px; color:inherit; }
.bakery-site .category-icon { display:block; flex-shrink:0; width:22px; height:22px; overflow:visible; color:inherit; }
