/* Family Food V29 – responsive business modules */
.ff29-custom-toggle{padding:14px;border:1px solid #eed7bf;background:#fff6e9;border-radius:18px}.ff29-custom-toggle label{display:flex;align-items:center;gap:12px;font-weight:800}.ff29-custom-toggle input{width:20px;height:20px;accent-color:#f47726}.ff29-custom-toggle small{color:#87654b}
.ff29-rewards-panel{margin-top:20px}.ff29-reward-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ff29-tier,.ff29-card-level{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:9px 14px;border:1px solid #efc992;background:linear-gradient(135deg,#fff9ee,#f5d39b);font-weight:900;color:#9f520e}.ff29-progress{height:12px;border-radius:999px;background:#f4e2d1;overflow:hidden;margin:16px 0 8px}.ff29-progress>div{width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#f3a249,#e56822);transition:width .35s}.ff29-referral-grid{margin-top:15px;align-items:start}.ff29-ref-code{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ff29-ref-code code{border:1px dashed #eabb87;border-radius:12px;padding:12px;background:#fffaef;font-weight:900}.ff29-ref-form{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.ff29-ref-form input{flex:1 1 160px;min-width:0;max-width:100%;border:1px solid #ead2b9;border-radius:12px;padding:12px}.ff29-challenge{display:grid;gap:4px;padding:12px;border:1px solid #f0ddcb;border-radius:16px;background:#fffbf6;margin-bottom:8px}.ff29-challenge span{color:#d76223;font-weight:800}.ff29-challenge small{color:#816450}.ff29-manage-grid>*,.ff29-rewards-panel>*{min-width:0}.ff29-manage-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px;border-bottom:1px solid #f1e0d2;flex-wrap:wrap}.ff29-manage-row>span{flex:1;min-width:0;display:grid;gap:4px}.ff29-manage-row small{overflow-wrap:anywhere;color:#82654e}.ff29-management-links{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ff29-proof-card{margin-bottom:14px;display:grid;gap:10px}.ff29-proof-code{font-size:clamp(1.2rem,5vw,2.3rem);font-weight:900;letter-spacing:.18em;color:#b85d1a}.ff29-proof-qr{display:grid;place-items:center;background:#fff;padding:12px;border:1px solid #ecdac8;border-radius:16px;width:max-content;max-width:100%;min-height:0}.ff29-proof-qr svg{display:block;max-width:100%;height:auto}.ff29-verify-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:12px}.ff29-verify-row input{padding:12px;border:1px solid #f0dbc5;border-radius:14px;min-width:0;flex:1 1 190px}.ff29-driver-qr{max-width:100%;overflow:hidden;border-radius:20px}.ff29-driver-qr:empty{display:none}
.ff29-wall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ff29-review-card{background:linear-gradient(160deg,#fffefb,#fff0de);border:1px solid #eed3b3;border-radius:26px;padding:22px;display:grid;gap:12px;min-width:0;box-shadow:0 12px 34px rgba(173,99,24,.09)}.ff29-review-stars{color:#ea8021;letter-spacing:3px;font-size:1.5rem}.ff29-review-card blockquote{font-size:1.09rem;margin:0;line-height:1.55;overflow-wrap:anywhere}.ff29-review-card>span{font-size:.85rem;color:#816552}.ff29-tv-review-art{display:grid;place-items:center;gap:20px}.ff29-tv-review-art img{width:min(70%,300px);object-fit:contain;background:#fff;border-radius:28px;padding:26px}.ff29-tv-review-art span{font-size:1.5rem;font-weight:900;color:#fff}
.ff29-print-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px auto;max-width:950px}.ff29-print-sheet{max-width:950px;margin:0 auto;min-height:350px;display:grid;place-items:center;padding:20px;border:1px solid #f1dcc5;border-radius:24px;background:#fffbf7}.ff29-print-card{position:relative;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 27mm;gap:2mm;width:85.6mm;height:54mm;padding:3mm;background:linear-gradient(135deg,#fffdf8,#ffdfb5);border:1px solid #dcb98d;border-radius:4mm;color:#583018;overflow:hidden;font-family:Arial,Helvetica,sans-serif}.ff29-print-info{display:grid;align-content:start;gap:1.1mm;min-width:0}.ff29-print-info img{height:10mm;max-width:25mm;object-fit:contain;object-position:left}.ff29-print-info>strong{font-size:8pt;letter-spacing:.05em}.ff29-print-tier{font-size:7pt;font-weight:bold;color:#bc6a20}.ff29-print-name{font-weight:900;font-size:10pt;line-height:1.02;overflow-wrap:anywhere}.ff29-print-number{font-size:8pt;font-weight:bold;letter-spacing:.04em}.ff29-print-info p{margin:0;font-size:5.8pt;line-height:1.25}.ff29-print-info>small{font-size:6pt;font-weight:800;color:#944719}.ff29-print-qr{display:grid;align-content:center;justify-items:center;gap:1mm;min-width:0}.ff29-print-qr>div{background:#fff;border-radius:2mm;padding:1.2mm;display:grid;place-items:center;width:25mm;height:25mm;box-sizing:border-box}.ff29-print-qr svg{max-width:100%;max-height:100%;width:100%!important;height:100%!important;object-fit:contain}.ff29-print-qr span{font-size:6pt;font-weight:700}
@media(max-width:900px){.ff29-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ff29-referral-grid,.ff29-wall-grid,.ff29-manage-grid{grid-template-columns:minmax(0,1fr)!important}.ff29-print-sheet{padding:6px;overflow-x:auto;justify-items:start}.ff29-print-card{flex-shrink:0}.ff29-proof-card{min-width:0}.ff29-ref-form{display:grid;grid-template-columns:minmax(0,1fr)!important}.ff29-manage-row .btn{min-height:42px}}
@media print{
 @page{size:A4 portrait;margin:12mm}
 body:has(.ff29-print-card) *{visibility:hidden!important}
 body:has(.ff29-print-card) .ff29-print-card,body:has(.ff29-print-card) .ff29-print-card *{visibility:visible!important}
 body:has(.ff29-print-card) .ff29-print-card{position:fixed!important;top:0!important;left:0!important;width:85.6mm!important;height:54mm!important;max-width:none!important;border-radius:3mm!important;box-shadow:none!important;break-inside:avoid!important;overflow:hidden!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 body:has(.ff29-print-card) .ff29-print-sheet{border:0!important;padding:0!important;box-shadow:none!important;background:none!important}
 body:has(.ff29-print-card) .topbar,body:has(.ff29-print-card) .mobile-bottom-nav,body:has(.ff29-print-card) footer,body:has(.ff29-print-card) .ff29-print-controls{display:none!important}
 .ff29-print-qr svg{width:100%!important;height:100%!important;display:block!important}
}
.ff29-studio-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:end;margin-bottom:20px;padding:14px;border-radius:20px;background:#fff6eb;border:1px solid #efdbc5}.ff29-studio-controls label{display:grid;gap:6px;min-width:0;flex:1 1 200px;font-weight:800}.ff29-studio-controls select{padding:13px;border:1px solid #ead6c1;border-radius:12px;background:#fff;max-width:100%}.product-poster[hidden]{display:none!important}.ff29-poster-studio[data-format="square"] .product-poster{aspect-ratio:1;min-height:0}.ff29-poster-studio[data-format="story"] .product-poster{aspect-ratio:9/16;min-height:720px;grid-template-rows:auto 1fr auto}.ff29-poster-studio[data-format="banner"] .product-poster{aspect-ratio:16/9;min-height:380px}.ff29-poster-studio[data-format="banner"] .product-poster-body{grid-template-columns:.7fr 1.3fr}.ff29-poster-studio[data-format="square"] .product-poster-photo{height:190px}.ff29-poster-studio[data-format="story"] .product-poster-body{grid-template-columns:1fr!important;gap:12px}.ff29-poster-studio[data-format="story"] .product-poster-photo{height:320px}.ff29-poster-studio[data-format="story"] .product-poster-copy h2{font-size:2.3rem}.ff29-poster-studio .poster-wall{align-items:start}@media(max-width:800px){.ff29-poster-studio[data-format] .poster-wall{grid-template-columns:minmax(0,1fr)!important}.ff29-studio-controls{display:grid;grid-template-columns:minmax(0,1fr)}}
@media print{
 body:has(.ff29-poster-studio) .topbar,body:has(.ff29-poster-studio) .mobile-bottom-nav,body:has(.ff29-poster-studio) footer,body:has(.ff29-poster-studio) .page-head,body:has(.ff29-poster-studio) .poster-toolbar,body:has(.ff29-poster-studio) .ff29-studio-controls{display:none!important}
 body:has(.ff29-poster-studio) .app-main{padding:0!important;margin:0!important;max-width:none!important}
 body:has(.ff29-poster-studio) .ff29-poster-studio{padding:0!important;border:0!important;box-shadow:none!important}
 body:has(.ff29-poster-studio) .poster-wall{display:block!important}
 body:has(.ff29-poster-studio) .product-poster:not([hidden]){break-inside:avoid!important;break-after:page!important;page-break-after:always!important;box-shadow:none!important;max-width:180mm!important;margin:0 auto!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 body:has(.ff29-poster-studio) .product-poster[hidden]{display:none!important}
}
@media print{
 body:has(.ff29-print-card){margin:0!important;padding:0!important;min-height:0!important;background:#fff!important}
 body:has(.ff29-print-card) .app-main{position:fixed!important;inset:0!important;margin:0!important;padding:0!important;min-height:0!important;max-width:none!important}
 body:has(.ff29-print-card) .ff29-print-sheet{position:fixed!important;left:0!important;top:0!important;min-height:0!important;width:85.6mm!important;height:54mm!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}
}
