/* Liv a Lil' Bakery · Farmhouse Design System 1.6.0
   Visual-only polish. Loaded after existing site styles & accessible contrast rules.
   Preserves all existing ordering, review and tracking behaviors. */
:root {
  --fh-cream:#fbf8f1;
  --fh-ivory:#fffdf9;
  --fh-oat:#f4ede0;
  --fh-sage:#3e5940;
  --fh-sage-soft:#e7eddf;
  --fh-earth:#815840;
  --fh-ink:#342e28;
  --fh-text:#514941;
  --fh-border:#e4d9c9;
  --fh-radius:20px;
  --fh-shadow:0 10px 32px rgba(59,44,28,.08);
  --fh-shadow-hover:0 19px 43px rgba(59,44,28,.14);
  --fh-type-serif:Georgia,'Times New Roman',serif;
  --fh-type-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --cream:var(--fh-cream);
  --milk:var(--fh-ivory);
  --ink:var(--fh-ink);
  --sage-dark:var(--fh-sage);
  --muted:var(--fh-text);
}
html{scroll-padding-top:96px}
body{background:var(--fh-cream);color:var(--fh-ink);font-family:var(--fh-type-sans);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.footer-brand{font-family:var(--fh-type-serif)}
h1{letter-spacing:-.035em}
h2{letter-spacing:-.025em}
h3{letter-spacing:-.015em}
p{line-height:1.68}
.wrap{width:min(1240px,calc(100% - 56px))}
.section{padding-block:clamp(68px,7.5vw,106px)}
.eyebrow{font-size:.72rem;letter-spacing:.18em;color:var(--fh-sage);font-weight:800}
/* Calm, consistent masthead and navigation */
.announcement{padding:10px 16px;background:#466347;color:#fff;font-size:.68rem;line-height:1.45}
.site-header{background:rgba(255,253,249,.97);border-bottom:1px solid var(--fh-border);box-shadow:0 3px 16px #342e2809}
.header-inner{height:84px;gap:25px}
.brand{color:var(--fh-ink);letter-spacing:-.035em}
.brand small{color:var(--fh-sage);letter-spacing:.36em}
.site-header nav a{font-size:.88rem;color:var(--fh-ink);padding:9px 2px;text-underline-offset:6px}
.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--fh-sage);text-decoration:underline}
.cart-button{background:#fffefb;border:1px solid #aab8a4;color:var(--fh-sage);padding:12px 19px;transition:background .2s,border-color .2s}
.cart-button:hover{background:var(--fh-sage-soft);border-color:var(--fh-sage)}
.count{background:var(--fh-sage);color:#fff}
/* Hero */
.hero{background:radial-gradient(circle at 74% 37%,#f4e8d4 0%,transparent 42%),linear-gradient(130deg,#f9f2e7 4%,#f3eadd 100%)}
.hero-grid{min-height:610px}
.hero-copy h1{max-width:650px}
.hero-copy>p{color:#51463c;line-height:1.7}
.hero-art{box-shadow:inset 0 0 0 12px #f3e7d366,0 20px 45px #8d775322}
.hero-wave{opacity:.7}
.intro-ribbon{border-color:var(--fh-border)}
.intro-points{color:var(--fh-sage);gap:22px}
/* Shared farmhouse buttons */
.button,.filter,.cart-button,.track-float{font-family:var(--fh-type-sans)}
.button{min-height:46px;gap:12px;box-shadow:none}
.button.primary{background:var(--fh-sage);color:white}
.button.primary:hover:not(:disabled){background:#2f4733}
.button.cream{background:#fffdf8;color:var(--fh-sage);border-color:#c4cdbd}
.button.cream:hover:not(:disabled){background:#eef2e8}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8a6339!important;outline-offset:3px!important}
/* Shop heading, filters, card grid */
.shop-section{background:var(--fh-cream)}
.section-heading{gap:26px;margin-bottom:33px}
.section-heading h2{max-width:760px}
.section-heading p{max-width:580px;color:var(--fh-text)}
.shop-status{background:#f0f4ec;border-color:#c6d1c0;color:#314d35;white-space:normal;text-align:center;font-weight:700;max-width:300px;line-height:1.4}
.filter-row{gap:10px;align-items:center;margin-bottom:26px}
.filter{min-height:43px;padding:10px 20px;border-color:#b8c2b0;background:#fffefa;color:#344f36;font-size:.84rem;transition:background .2s,border-color .2s,color .2s}
.filter:hover:not(.active){background:var(--fh-sage-soft);border-color:var(--fh-sage)}
.filter.active{background:var(--fh-sage);border-color:var(--fh-sage);color:#fff;box-shadow:0 5px 13px #3e594023}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.product-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--fh-ivory);border:1px solid var(--fh-border);border-radius:var(--fh-radius);box-shadow:var(--fh-shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--fh-shadow-hover);border-color:#cbbca8}
.product-photo{height:auto;aspect-ratio:1.18/1;flex:none;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(150deg,#e8dfcc,#dbc4a7)}
.product-card:nth-child(2n) .product-photo{background:linear-gradient(155deg,#e2e5d6,#d6c0a4)}
.product-card:nth-child(3n) .product-photo{background:linear-gradient(155deg,#f0ddd3,#dfc2ad)}
.product-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;color:transparent}
.product-photo:has(.loaf-icon),.product-photo.photo-placeholder{background:radial-gradient(ellipse at 50% 42%,#f6eddf 2%,#e4d6c1 73%,#e0cbb0 100%)}
.product-card:nth-child(2n) .product-photo:has(.loaf-icon),.product-card:nth-child(2n) .product-photo.photo-placeholder{background:radial-gradient(ellipse at 50% 42%,#f1efe6,#d9dfd0 75%,#c8cebb)}
.product-card:nth-child(3n) .product-photo:has(.loaf-icon),.product-card:nth-child(3n) .product-photo.photo-placeholder{background:radial-gradient(ellipse at 50% 42%,#faf1e9,#efdccc 72%,#e4cabb)}
.product-photo:has(.loaf-icon)::before,.product-photo.photo-placeholder::before{content:"";position:absolute;inset:15px;border:1px solid #8d785b48;border-radius:115px 115px 12px 12px;pointer-events:none;z-index:2}
.product-photo .loaf-icon,.product-photo img.product-image-placeholder{width:79%;height:79%;max-height:85%;object-fit:contain;filter:drop-shadow(0 14px 9px #7359412d)}
.product-photo.photo-placeholder::after,.product-photo:has(.loaf-icon)::after{content:"LIV • LOVE • LOAF";position:absolute;bottom:13px;left:0;right:0;z-index:3;text-align:center;color:#5f5849;font-size:.6rem;font-weight:800;letter-spacing:.18em;pointer-events:none}
.product-details{padding:23px 22px 21px;min-height:270px;display:flex;flex:1;flex-direction:column;gap:0}
.product-category{font-size:.63rem;letter-spacing:.17em;line-height:1.4;margin:0 0 10px;color:var(--fh-sage);font-weight:800}
.product-details h3{font-size:clamp(1.35rem,1.9vw,1.72rem);line-height:1.17;margin:0 0 12px;min-height:1.3em;color:var(--fh-ink);overflow-wrap:anywhere}
.product-details>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;flex:0 0 auto;min-height:3.15em;max-height:3.15em;margin:0;color:var(--fh-text);font-size:.87rem;line-height:1.55}
.product-details>.product-options,.product-details>.mini-shop-options{width:100%;margin:17px 0 0;margin-top:auto;flex:0 0 auto}
.product-options select,.mini-shop-trigger{height:45px!important;min-height:45px!important;width:100%;border-radius:11px!important;border:1px solid #c8c7bb!important;background:#fffefa!important;color:var(--fh-ink)!important;font-size:.89rem!important;box-shadow:inset 0 1px 2px #30292209}
.product-options select{padding:0 15px;appearance:auto}
.mini-shop-trigger:hover,.product-options select:hover{border-color:#647f63!important;background:#fff!important}
.product-details>.product-foot{flex:0 0 auto;margin-top:15px;padding-top:12px;border-top:1px solid #eae1d5;min-height:58px;display:flex;align-items:center;justify-content:space-between}
.product-details:not(:has(.product-options,.mini-shop-options))>.product-foot{margin-top:auto}
.product-foot strong{font-family:var(--fh-type-serif);font-size:1.49rem;font-weight:700;color:var(--fh-ink);white-space:nowrap}
.add-button{width:44px;height:44px;flex:none;border:1px solid #36583b;border-radius:50%;background:var(--fh-sage);color:#fff;transition:transform .2s,background .2s,box-shadow .2s}
.add-button:hover:not(:disabled){transform:scale(1.075);background:#2d4531;box-shadow:0 5px 12px #2d453132}
.shop-help{margin-top:28px;color:#5d5a51;font-size:.84rem}
/* Mini flight popover must remain above neighboring cards, without affecting layout */
.product-card:has(.mini-shop-options.open){z-index:99;transform:none;overflow:visible}
.mini-shop-options.open{z-index:100}
.mini-shop-panel{box-shadow:0 20px 46px #2e2c2540;border-color:#c5bcad;background:#fffefa}
.mini-shop-done{background:var(--fh-sage)!important}
/* Story, three steps, review rail, FAQ, footer */
.story-section{background:#e9eee4}
.story-pattern{background:radial-gradient(circle at 44% 45%,#ede0c5,#c5cfba 80%)}
.story-tag{background:#fff7e7;color:#76583f;box-shadow:0 10px 25px #37302214}
.steps-section{background:var(--fh-cream)}
.step-icon{border:1px solid #d8dbc8;box-shadow:0 6px 19px #42372e0e}
.steps article h3{color:var(--fh-ink)}
.pickup-banner{background:#ebf0e5;border:1px solid #c3ceb9;border-radius:16px;color:#354f37}
.reviews-section{background:#fffaf1}
.reviews-section h2{margin-bottom:16px}
.review-rail .review-carousel-head{color:var(--fh-sage)}
.review-rail .review-card.review-rail-card{background:#fffefb;border:1px solid #e4d6c4;border-radius:20px;box-shadow:0 10px 32px #5a47351a}
.review-rail .review-carousel-controls button{background:#fffcf6;border-color:#9ba88f;color:#344f36;min-height:44px}
.review-rail .review-carousel-controls button:hover{background:#e9eee4}
.review-archive-grid .review-archive-card,.review-filter-panel{background:#fffefa;border-color:var(--fh-border);box-shadow:var(--fh-shadow)}
.review-filter-grid input,.review-filter-grid select{background:#fffefa}
.faq-list details{padding:21px 0;border-color:#dcd9ca}
.faq-list summary{line-height:1.5;font-size:.97rem}
.faq-list details[open] summary{color:var(--fh-sage)}
.last-cta{background:#4a664b}
.footer{background:#38473a}
.footer-inner{gap:30px 34px}
.footer-inner a:hover{text-decoration:underline;text-underline-offset:4px}
/* Basket / checkout / tracking use the same UI system */
.cart-drawer,.modal{background:#fffdf8;color:var(--fh-ink)}
.drawer-head,.modal-head{border-color:var(--fh-border)}
.drawer-foot{background:#f8f3e9}
.cart-row{border-color:var(--fh-border)}
.cart-actions button{min-height:38px;min-width:38px;border-color:#c6caba}
.icon-close{min-height:42px;min-width:42px;background:#f1ecdf}
.modal{border:1px solid #e3d9cb;border-radius:22px}
.modal input:not([type=checkbox]),.modal textarea{min-height:44px;border-color:#b4b8aa;background:#fffefa;color:var(--fh-ink)}
.modal input:focus-visible,.modal textarea:focus-visible{border-color:#3e5940}
.error-message{border-radius:12px}
.privacy-note{background:#edf2e9;border-radius:12px}
.track-float{border:1px solid #aab8a4;box-shadow:0 8px 20px #2929231b}
/* Consistent secondary pages */
.all-reviews-page,.review-archive,.legal-page,main.legal-main{background:var(--fh-cream)}
.review-archive h1,.legal-page h1{color:var(--fh-ink)}
.review-filter-panel{border-radius:var(--fh-radius)}
.review-filter-grid input,.review-filter-grid select{border-radius:11px}
/* Responsive hierarchy: never squeeze product controls into narrow columns */
@media(max-width:1120px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-details{min-height:265px}.product-details h3{font-size:1.55rem}}
@media(max-width:860px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-details{min-height:268px}.product-details h3{min-height:1.4em}.story-grid{gap:6%}.section-heading{align-items:start}}
@media(max-width:740px){.wrap{width:calc(100% - 36px)}.header-inner{height:74px}.site-header nav{top:74px}.section{padding-block:70px}.hero-grid{min-height:0}.shop-status{max-width:100%;margin-top:18px}.product-photo{aspect-ratio:1.26/1}.product-details{padding:22px 20px;min-height:260px}.product-foot strong{font-size:1.4rem}.footer-inner{gap:22px}.review-rail .review-card.review-rail-card{box-shadow:0 6px 18px #5a473514}}
@media(max-width:540px){.wrap{width:calc(100% - 32px)}.section{padding-block:60px}.filter-row{gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.filter{padding:10px 15px;white-space:nowrap}.product-grid{grid-template-columns:1fr;gap:18px}.product-card{max-width:500px;width:100%;margin-inline:auto}.product-photo{aspect-ratio:1.6/1}.product-details{min-height:0;padding:22px 21px 20px}.product-details h3{min-height:0;font-size:1.65rem}.product-details>p{min-height:0;max-height:3.2em}.product-details>.product-options,.product-details>.mini-shop-options{margin-top:18px}.product-details>.product-foot{margin-top:17px}.header-inner{gap:9px}.cart-button{padding:9px 11px}.announcement{font-size:.61rem;letter-spacing:.11em}.mini-shop-panel{width:min(330px,calc(100vw - 38px));max-width:min(330px,calc(100vw - 38px))}.faq-list summary{line-height:1.45}.footer-inner{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.product-card,.add-button,.filter,.button,.cart-button{transition:none!important;transform:none!important}}
