/* Concept V2: food-first cards, honest rating sources, and reachable order actions. */
.fc-site .fc-concept-notice { padding:.7rem 1rem; background:#fff0c2; border-block:1px solid #e9cb7b; color:#604109; font:600 .78rem/1.5 "Nunito",system-ui,sans-serif; text-align:center; position:relative; z-index:3; }
.fc-site .fc-rating { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; width:fit-content; min-height:2.75rem; margin:0 0 .35rem; color:#5f6671; font:600 .9rem/1.3 "Nunito",system-ui,sans-serif; }
.fc-rating:hover { text-decoration:underline; }
.fc-rating-star { color:#fbbc04; font-size:1.3rem; }
.fc-google-source { display:inline-flex; padding:10px 10px 5px; }
.fc-site .fc-google-logo { height:18px; width:auto; max-width:none; object-fit:contain; }
.fc-google-score>span { color:#fbbc04; }
.fc-demo-tag { background:#fff0c2; border:1px solid #e7cc80; color:#674411; border-radius:.3rem; padding:.15rem .3rem; font:600 .65rem/1.2 "Nunito",system-ui,sans-serif; }
.fc-demo-price { display:block; font:500 .65rem/1.3 "Nunito",system-ui,sans-serif; color:#75531b; }
.fc-demo-detail { color:#75531b!important; font-size:.8rem!important; }
.fc-site .fc-product h3 { font-family:"Signika",system-ui,sans-serif; font-weight:600; letter-spacing:-.035em; }
.fc-site .fc-product h3 a { color:#15191b; }
.fc-product-tabs { display:flex; border-bottom:1px solid var(--fc-line); margin:1rem 0; }
.fc-product-tabs button { background:none; border:0; border-bottom:3px solid transparent; padding:.8rem 1rem; color:#5f6671; font-weight:600; min-height:2.75rem; }
.fc-product-tabs button[aria-selected=true] { color:var(--brand-red); border-bottom-color:var(--brand-red); }
.fc-site [data-product-panel][hidden] { display:none; }
.fc-site .fc-detail h1 { font-family:"Signika",system-ui,sans-serif; font-weight:700; letter-spacing:-.045em; font-size:clamp(2rem,4vw,3.2rem); }
.fc-review { padding:1rem 0; border-bottom:1px solid var(--fc-line); }
.fc-review header { display:flex; justify-content:space-between; gap:.75rem; flex-wrap:wrap; font-size:.85rem; }
.fc-review p { overflow-wrap:anywhere; white-space:pre-line; margin:.4rem 0; }
.fc-review-policy { font-size:.85rem!important; }
.fc-review-form { display:grid; gap:1rem; margin:1rem 0; }
.fc-review-form label { display:grid; gap:.4rem; }
.fc-review-form select,.fc-review-form textarea { width:100%; border:1px solid var(--fc-line); border-radius:.65rem; padding:.7rem; font-size:1rem; background:white; }
.fc-review-form .fc-review-consent { display:flex; align-items:start; gap:.6rem; font-size:.8rem; }
.fc-review-consent input { flex:none; width:1.2rem; height:1.2rem; accent-color:var(--brand-red); }
.fc-review-pagination { display:flex; align-items:center; gap:1rem; }
.fc-review-pagination button { min-height:2.75rem; padding:.5rem; }
.fc-review-empty { padding:1rem; border:1px solid #ecd897; background:#fff8e7; border-radius:.8rem; }
.fc-review-empty h2 { margin:.6rem 0; }
.fc-google-rating { display:grid; gap:.75rem; max-width:42rem; margin-block:2rem 3rem; padding:1.5rem; border:1px solid var(--fc-line); border-radius:1rem; background:#fff; }
.fc-google-rating[hidden] { display:none; }
.fc-site .fc-google-rating h2 { font-size:1.5rem; margin:.5rem 0; color:#171717; }
.fc-site .fc-google-rating p { font-size:.85rem; margin:0; }
.fc-google-source { font:400 14px/1.5 "Nunito",system-ui,sans-serif; font-style:normal; letter-spacing:normal; white-space:nowrap; color:#5e5e5e; }
.fc-site .fc-google-score { font-size:1.8rem; color:#171717; font-weight:600; }
.fc-google-score>span { color:#a96700; }
.fc-google-score small { font-size:.85rem; font-weight:500; }
.fc-google-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.fc-google-actions a { min-height:2.75rem; display:inline-flex; align-items:center; text-decoration:underline; font-size:.85rem; }
.fc-google-note a { text-decoration:underline; }
.fc-detail-dock .fc-button { gap:1rem; }
.fc-site .fc-quantity input { color:#171717; background:transparent; font-weight:700; }
.fc-cart-dock { display:none; }
@media (max-width:1023px), (max-width:1439px) and (pointer:coarse) {
  .fc-site.fc-has-detail-dock,.fc-site.fc-has-cart-dock { padding-bottom:calc(var(--fc-nav-height) + 5.5rem + env(safe-area-inset-bottom)); }
  .fc-site .fc-detail-dock { position:fixed; bottom:calc(var(--fc-nav-height) + env(safe-area-inset-bottom)); left:0; right:0; z-index:98; display:flex; flex-wrap:nowrap; gap:.6rem; padding:.7rem max(.7rem,env(safe-area-inset-right)) .7rem max(.7rem,env(safe-area-inset-left)); margin:0; background:#fff; border-top:1px solid var(--fc-line); box-shadow:0 -4px 18px #3528190c; }
  .fc-detail-dock .fc-button { flex:1; min-width:0; justify-content:space-between; padding:.8rem; font-size:.85rem; }
  .fc-detail-dock .fc-button strong { white-space:nowrap; }
  .fc-detail-dock .fc-quantity { flex:none; border-radius:2rem; background:#fff0f0; border:1px solid #efd9da; }
  .fc-detail-dock .fc-quantity button { width:2.75rem; min-width:2.75rem; }
  .fc-detail-dock .fc-quantity input { width:2rem; min-width:0; padding:0; appearance:textfield; }
  .fc-detail-dock input::-webkit-inner-spin-button { appearance:none; }
  .fc-site .fc-cart-dock:not([hidden]) { display:flex; gap:.85rem; align-items:center; position:fixed; inset:auto .6rem calc(var(--fc-nav-height) + env(safe-area-inset-bottom) + .5rem); z-index:98; padding:.7rem 1rem; min-height:3.5rem; border-radius:1rem; color:#fff; background:var(--brand-red); box-shadow:0 3px 14px #5c071729; }
  .fc-cart-dock [data-cart-dock-count] { display:grid; place-items:center; border-radius:50%; min-width:2rem; height:2rem; background:white; color:var(--brand-red); font-weight:600; }
  .fc-cart-dock strong { margin-left:auto; }
}
@media (max-width:767px) {
  .fc-site .fc-menu-section { background:var(--fc-cream); }
  .fc-site .fc-menu-section .fc-page-heading h1 { color:#171717; font-family:"Signika",system-ui,sans-serif; font-weight:700; letter-spacing:-.04em; }
  .fc-site .fc-menu-note,.fc-site .fc-result-count { color:var(--fc-muted)!important; }
  .fc-site .fc-category { color:#282f35; border-color:var(--fc-line); background:white; }
  .fc-site .fc-category[aria-pressed=true] { background:var(--brand-red); color:white; border-color:var(--brand-red); }
  .fc-site .fc-products:not(.fc-featured) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .fc-site .fc-products:not(.fc-featured) .fc-product { display:flex; flex-direction:column; padding:0; border-radius:1rem; }
  .fc-site .fc-products:not(.fc-featured) .fc-product-image { min-height:0; aspect-ratio:1.25; border-radius:0; background:#f4e9d7; }
  .fc-site .fc-products:not(.fc-featured) .fc-product-image img { width:100%; height:100%; object-fit:contain; }
  .fc-site .fc-products:not(.fc-featured) .fc-product-body { padding:.65rem; }
  .fc-site .fc-products:not(.fc-featured) h3 { font-size:clamp(.95rem,4vw,1.25rem); line-height:1.25; margin:0; }
  .fc-site .fc-product .fc-product-description { display:none; }
  .fc-site .fc-product .fc-rating { font-size:.75rem; gap:.25rem; margin:0; }
  .fc-site .fc-products:not(.fc-featured) .fc-product-bottom { flex-wrap:wrap; gap:.4rem; }
  .fc-site .fc-products:not(.fc-featured) .fc-product-price { color:#171717; font-size:1.1rem; }
  .fc-site .fc-products:not(.fc-featured) .fc-button { font-size:.75rem; min-height:2.75rem; padding:.5rem .65rem; border-radius:2rem; }
  .fc-detail-image { border-radius:1rem; }
  .fc-detail-dock .fc-button { flex-direction:column; justify-content:center; gap:.15rem; }
  .fc-detail-dock .fc-button span { font-size:.8rem; }
  .fc-site .fc-option { border-radius:.8rem; }
  .fc-site .fc-google-rating { padding:1.1rem; }
}
@media (max-width:359px) {
  .fc-site .fc-products:not(.fc-featured) { grid-template-columns:1fr; }
  .fc-site .fc-products:not(.fc-featured) .fc-product { display:grid; grid-template-columns:40% minmax(0,1fr); }
  .fc-site .fc-products:not(.fc-featured) .fc-product-image { height:100%; aspect-ratio:auto; }
}
