:root{--cream:#f7f1e8;--ink:#1e3a2f;--forest:#2D4739;--leaf:#5a7a62;--card:#fffdf8;--line:#d9cfc0;--accent:#c45c26;--sand:#efe6d8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Outfit,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55}
img{max-width:100%;height:auto;display:block}a{color:var(--forest)}
.skip-link{position:absolute;left:-999px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(247,241,232,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1040px;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--forest)}
.brand-mark{width:48px;height:48px;border-radius:50%;object-fit:cover}
.brand-word{font-family:Great Vibes,cursive;font-size:1.6rem;font-weight:600}
.site-nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.site-nav a{text-decoration:none;font-weight:600;color:var(--forest)}
.nav-toggle{display:none}
.btn,.btn-small,.btn-block,button.btn{background:var(--forest);color:#fff!important;border:0;border-radius:999px;padding:.65rem 1.15rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.btn-small{padding:.45rem .9rem;font-size:.9rem}
.hero{padding:1.5rem 1.25rem 2rem;text-align:center}
.hero-inner{max-width:920px;margin:0 auto}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--leaf)}
.hero-logo{margin:1rem auto;max-width:min(640px,94vw);border-radius:18px;box-shadow:0 16px 40px rgba(30,58,47,.12)}
.hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(1.7rem,4vw,2.6rem);color:var(--forest);margin:.5rem 0}
.hero-lead,.section-intro{max-width:40rem;margin:.5rem auto 1.25rem;color:#3d5248}
.section{padding:2rem 1.25rem}.section-inner{max-width:1040px;margin:0 auto}
.section-head h2{font-family:Fraunces,Georgia,serif;color:var(--forest);margin:.35rem 0 .75rem}

.bread-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 20px rgba(30,58,47,.06);display:flex;flex-direction:column}
.bread-art{background:var(--sand);padding:1rem;display:grid;place-items:center}
.bread-art svg{width:80px;height:56px}
.bread-body{padding:1rem}
.bread-top{display:flex;justify-content:space-between;gap:.5rem;align-items:start}
.bread-top h3{margin:0;font-size:1.05rem}.price{font-weight:800;color:var(--accent);margin:0}
.text-add{background:none;border:0;color:var(--forest);font-weight:700;cursor:pointer;padding:0;margin-top:.5rem}
.steps{list-style:none;padding:0;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem}
.step-num{font-weight:800;color:var(--leaf)}.how-note{font-size:.88rem;color:#5a6b62}
.order-layout{display:grid;gap:1.25rem;grid-template-columns:1.4fr .8fr}
.order-form,.ticket{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.25rem}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.field{display:grid;gap:.35rem;font-weight:650;font-size:.9rem}
.field-wide{grid-column:1/-1}
input,select,textarea{font:inherit;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:500}
.qty-fieldset{border:1px dashed var(--line);border-radius:12px;padding:.75rem}
.ticket{align-self:start}.script{font-family:Great Vibes,cursive;font-size:1.6rem;color:var(--forest);margin:0}
.site-footer{border-top:1px solid var(--line);padding:2rem 1.25rem;margin-top:1rem;background:#f0e8dc}
.footer-inner{max-width:1040px;margin:0 auto;display:grid;gap:1.25rem}
.footer-brand{display:flex;gap:.85rem;align-items:center}
.footer-legal{font-size:.85rem;color:#55665d}
.success{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.25rem;margin-top:1rem}
@media(max-width:760px){.field-grid,.order-layout{grid-template-columns:1fr}.site-nav{display:none}}

/* Fix oversized badge / decorative icons */
.badge svg,
.hero .badge svg,
.meta-badges svg,
.hero-meta svg,
span.badge svg {
  width: 1rem !important;
  height: 1rem !important;
  max-width: 16px;
  max-height: 16px;
  display: inline-block;
  vertical-align: -0.15em;
  flex: 0 0 auto;
}
.badge, .hero-meta, .meta-badges {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.badge svg path { fill: currentColor; stroke: currentColor; }
.nav-toggle { display: none !important; }
.bread-art svg { width: 80px; height: 56px; max-width: 100%; }
svg[viewBox="0 0 24 24"] { width: 16px; height: 16px; }

/* Photo bread cards */
.bread-art{padding:0;background:#efe6d8;aspect-ratio:4/3;overflow:hidden}
.bread-art img{width:100%;height:100%;object-fit:cover;display:block}
.bread-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.bread-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.bread-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.footer-brand img{display:none!important}

