:root{
  --ff26-hero-shadow:0 28px 70px rgba(85,45,12,.18);
  --ff26-card-shadow:0 18px 44px rgba(168,98,27,.10);
  --ff26-ink:#301c12;
  --ff26-cream:#fff8f0;
  --ff26-peach:#ffe5c2;
  --ff26-accent:#f26c22;
}
html[data-reduce-motion="true"] .ff-reveal,[data-reduce-motion="true"] .ff-float{opacity:1!important;transform:none!important;animation:none!important}
.ff-splash{position:fixed;inset:0;z-index:7000;display:grid;place-items:center;background:radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 18%),linear-gradient(135deg,#3b1f0f,#7c3a13 55%,#f26c22 100%);color:#fff;transition:opacity .45s ease,visibility .45s ease;visibility:visible}
.ff-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.ff-splash-card{width:min(90vw,420px);padding:30px 28px;border-radius:30px;background:rgba(255,255,255,.08);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 70px rgba(0,0,0,.22);text-align:center}
.ff-splash-logo{width:96px;height:96px;border-radius:26px;display:grid;place-items:center;background:#fff;padding:16px;margin:0 auto 16px;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.ff-splash-logo img{width:100%;height:100%;object-fit:contain}
.ff-splash-card h1{margin:0;font-size:2rem;letter-spacing:-.04em}
.ff-splash-card p{margin:8px 0 18px;color:#ffead9}
.ff-splash-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}
.ff-splash-bar span{display:block;height:100%;width:45%;border-radius:inherit;background:linear-gradient(90deg,#fff,#ffd09b);animation:ff26-loading 1.15s ease-in-out infinite}
@keyframes ff26-loading{0%{transform:translateX(-120%)}100%{transform:translateX(280%)}}
@keyframes ff26-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.ff-float{animation:ff26-float 4.2s ease-in-out infinite}
.ff-reveal{opacity:0;transform:translateY(28px);transition:opacity .55s ease, transform .55s ease}
.ff-reveal.is-visible{opacity:1;transform:none}

/* V26 home */
.ff26-home{display:grid;gap:24px}
.ff26-showcase{position:relative;overflow:hidden;padding:22px;border-radius:32px;background:linear-gradient(135deg,rgba(64,31,10,.96),rgba(124,58,19,.9)),var(--ff-home-hero) center/cover no-repeat;box-shadow:var(--ff26-hero-shadow);border:1px solid rgba(255,255,255,.08)}
.ff26-showcase-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:18px;align-items:stretch;min-height:560px}
.ff26-copy{display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:relative;z-index:1}
.ff26-copy-top{max-width:500px}
.ff26-copy .tag{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.ff26-copy h1{color:#fff;font-size:clamp(2.7rem,5vw,5rem);line-height:.92;margin:12px 0 0;letter-spacing:-.05em}
.ff26-copy .actions{display:flex;gap:12px;flex-wrap:wrap}
.ff26-copy .btn-outline{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important}
.ff26-copy .btn-soft{background:#fff7ec!important}
.ff26-copy-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ff26-mini-stat{padding:16px;border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);color:#fff}
.ff26-mini-stat span{display:block;color:#ffd9bf;font-size:.77rem;text-transform:uppercase;letter-spacing:.1em}
.ff26-mini-stat strong{display:block;font-size:1.16rem;margin-top:8px}
.ff26-mosaic{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:14px;min-height:100%}
.ff26-tile{position:relative;overflow:hidden;border-radius:28px;min-height:180px;padding:18px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(20,10,5,.02),rgba(20,10,5,.46));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.18)}
.ff26-tile:before{content:'';position:absolute;inset:0;background:var(--tile-image) center/cover no-repeat;z-index:-2;transform:scale(1.03)}
.ff26-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,10,4,.08),rgba(18,10,4,.68));z-index:-1}
.ff26-tile.big{grid-row:1/span 2}
.ff26-tile-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.9);color:#6e3414;font-weight:900}
.ff26-tile h3{margin:10px 0 0;color:#fff;font-size:1.4rem}
.ff26-home-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ff26-quick-link{display:grid;gap:8px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fffefc,#fff7ee);border:1px solid #f1dfce;box-shadow:var(--ff26-card-shadow);text-decoration:none;color:var(--ff26-ink)}
.ff26-quick-link i{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#fff1df;color:var(--ff26-accent);font-size:1.1rem}
.ff26-quick-link strong{font-size:1.02rem}
.ff26-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.ff26-section-head h2{margin:0;font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.04em}
.ff26-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.ff26-featured{padding:18px;border-radius:28px;background:linear-gradient(180deg,#fffdf9,#fff7ee);border:1px solid #f1dfcf;box-shadow:var(--ff26-card-shadow)}
.ff26-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ff26-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ff26-product-card{position:relative;overflow:hidden;padding:16px;border-radius:26px;background:linear-gradient(180deg,#fff,#fff8f0);border:1px solid #f2decc;box-shadow:var(--ff26-card-shadow);display:grid;gap:12px;text-decoration:none;color:var(--ff26-ink)}
.ff26-product-card:hover{transform:translateY(-4px);transition:transform .2s ease, box-shadow .2s ease;box-shadow:0 24px 56px rgba(153,87,26,.14)}
.ff26-product-thumb{position:relative;overflow:hidden;height:220px;border-radius:22px;background:linear-gradient(180deg,#fff5ea,#ffe3c0)}
.ff26-product-thumb img{width:100%;height:100%;object-fit:cover}
.ff26-product-meta{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.ff26-product-meta h3{margin:0;font-size:1.08rem;line-height:1.08}
.ff26-product-meta strong{color:var(--ff26-accent);font-size:1.12rem}
.ff26-product-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#fff1de;color:#d6611f;border:1px solid #f0d0ad;font-size:.76rem;font-weight:900}
.ff26-photo-wall{padding:18px;border-radius:28px;background:linear-gradient(180deg,#fffefb,#fff9f2);border:1px solid #f1dfcf;box-shadow:var(--ff26-card-shadow)}
.ff26-photo-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ff26-photo-stack .ff26-stack-card{border-radius:22px;overflow:hidden;min-height:180px;position:relative;background:var(--stack-image) center/cover no-repeat;box-shadow:0 18px 40px rgba(145,88,31,.14)}
.ff26-photo-stack .ff26-stack-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,10,4,.06),rgba(18,10,4,.55))}
.ff26-photo-stack .ff26-stack-card span{position:absolute;left:14px;bottom:14px;z-index:1;color:#fff;font-weight:900}
.ff26-category-row{display:flex;gap:10px;overflow:auto;padding:4px 2px 10px;scrollbar-width:none}
.ff26-category-row::-webkit-scrollbar{display:none}
.ff26-category-row button{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid #efd8c1;background:#fff;font-weight:900;white-space:nowrap;box-shadow:0 10px 24px rgba(154,92,31,.06)}
.ff26-category-row button.active{background:#fff0e0;color:#db621d;border-color:#efcaa5}
.ff26-home-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid #f0dccb;border-radius:24px;background:#fff;box-shadow:0 14px 30px rgba(163,96,30,.08)}
.ff26-home-search label{display:flex;align-items:center;gap:10px;padding:0 12px}.ff26-home-search input{width:100%;border:0;background:transparent;min-height:44px;outline:0}

/* V26 POS */
.sale-workspace.sale-workspace-v26{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:20px}
.sale-head-v26{padding:10px 0 2px}.sale-head-v26 h1{font-size:clamp(2rem,3vw,3.2rem);letter-spacing:-.04em}.sale-head-v26 .muted{max-width:620px}
.sale-hero-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 18px}.sale-strip-card{padding:15px 16px;border-radius:22px;background:linear-gradient(180deg,#fff,#fff8ef);border:1px solid #f1dfcf;box-shadow:var(--ff26-card-shadow)}
.sale-strip-card i{width:42px;height:42px;display:grid;place-items:center;background:#fff1df;border-radius:14px;color:#e3651f;margin-bottom:10px}.sale-strip-card strong{display:block}
.sale-panel-v26{background:linear-gradient(180deg,#fffefc,#fff8f1)!important;border-radius:28px!important}
.sale-panel-v26 h2{margin:0}
.sale-slim-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:20px;border:1px solid #efdecf;background:#fff}
.sale-slim-search label{display:flex;align-items:center;gap:10px;padding:0 8px}.sale-slim-search input{border:0;outline:0;background:transparent;min-height:42px;width:100%}
.sale-qr-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#fff5e8,#ffe4c0);border:1px solid #f0d2af}
.sale-qr-banner strong{display:block}
.sale-loyalty-card{padding:16px 16px 14px;border-radius:22px;background:linear-gradient(135deg,#fff7ef,#fff1e0);border:1px solid #efd7c0;display:grid;gap:12px}
.sale-loyalty-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sale-loyalty-head i{width:44px;height:44px;display:grid;place-items:center;background:#fff;border-radius:14px;color:#de641f}
.sale-loyalty-card .actions{display:flex;gap:10px;flex-wrap:wrap}
.sale-loyalty-result{display:none;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid #efdcca}.sale-loyalty-result.is-visible{display:grid;gap:4px}
.sale-loyalty-result strong{font-size:1rem}
.sale-summary-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.sale-summary-top .sale-grand{font-size:2rem}
.sale-lines-v26 .sale-line{padding:14px 14px;border:1px solid #efdece;border-radius:18px;background:#fff;margin-bottom:10px}.sale-checkout-block{display:grid;gap:12px}.sale-checkout-row{display:grid;grid-template-columns:1fr auto;gap:10px}.sale-checkout-row select{min-height:52px;border-radius:18px;border:1px solid #efdbc7;background:#fff;padding:0 14px}
.sale-cart-actions{display:grid;grid-template-columns:1fr auto;gap:10px}
.sale-poster-preview{margin-top:12px;padding:18px;border-radius:24px;background:linear-gradient(135deg,#fff8f0,#ffe6c5);border:1px solid #efd4b4;display:grid;gap:8px}
.sale-poster-preview h3{margin:0;font-size:1.12rem}.sale-poster-preview p{margin:0;color:#725848}
.quick-product-grid .ff-pos-product{border-radius:24px!important;padding:10px!important;align-items:stretch!important}.quick-product-grid .ff-pos-product img{height:128px!important;border-radius:18px!important}.quick-product-grid .ff-pos-product .quick-product-name{font-size:.94rem!important}

/* Loyalty scan dialog */
.ff26-mini-scanner dialog,.ff26-mini-scanner{border:0}
#ff26-loyalty-dialog{width:min(96vw,980px);border:0;padding:0;border-radius:28px;box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:hidden;background:#fffaf4}
.ff26-loyalty-wrap{display:grid;grid-template-columns:1.15fr .85fr;min-height:560px}
.ff26-loyalty-stage{padding:18px;background:linear-gradient(135deg,#3f220f,#7f3e18);color:#fff;display:grid;grid-template-rows:auto 1fr auto;gap:14px}
.ff26-loyalty-stage h3{margin:0}.ff26-loyalty-stage small{color:#ffe2ca}
.ff26-loyalty-reader{position:relative;overflow:hidden;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);min-height:340px;display:grid;place-items:center}
.ff26-loyalty-reader #ff26-loyalty-reader{width:100%}
.ff26-loyalty-overlay{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}.ff26-loyalty-overlay:before{content:'';width:min(74%,280px);aspect-ratio:1;border:3px solid rgba(255,255,255,.9);border-radius:26px;box-shadow:0 0 0 200vmax rgba(0,0,0,.1) inset}
.ff26-loyalty-aside{padding:20px;display:grid;gap:14px;align-content:start}
.ff26-loyalty-manual{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.ff26-loyalty-cardview{padding:16px;border-radius:22px;background:linear-gradient(135deg,#fffdfb,#fff2e2);border:1px solid #f0dcc9;display:none;gap:8px}.ff26-loyalty-cardview.is-visible{display:grid}
.ff26-loyalty-actions{display:flex;gap:10px;flex-wrap:wrap}
.ff26-loyalty-status{padding:12px 14px;border-radius:16px;background:#fff5e8;border:1px solid #eed4b9;color:#7c4d26}

/* Marketing posters */
.poster-toolbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:end}
.poster-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
.product-poster{position:relative;overflow:hidden;min-height:540px;border-radius:30px;background:linear-gradient(135deg,#fffaf4 0%,#ffe6c2 52%,#ffbf73 100%);border:1px solid #efd2b0;box-shadow:0 22px 54px rgba(155,90,26,.16);padding:22px;display:grid;grid-template-rows:auto 1fr auto}
.product-poster:before{content:'';position:absolute;inset:-20% auto auto -20%;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.46)}
.product-poster-head,.product-poster-foot,.product-poster-body{position:relative;z-index:1}
.product-poster-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.product-poster-head img{width:110px;object-fit:contain}
.product-poster-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.75);font-weight:900;color:#d75f1d}
.product-poster-body{display:grid;grid-template-columns:1fr .96fr;gap:14px;align-items:center}
.product-poster-photo{height:310px;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 14px 32px rgba(123,72,21,.12)}.product-poster-photo img{width:100%;height:100%;object-fit:cover}
.product-poster-copy h2{font-size:clamp(2rem,3vw,3rem);line-height:.92;margin:0 0 10px;color:#4a2812}
.product-poster-copy p{color:#6f4c34;margin:0 0 14px}
.product-poster-price{display:flex;align-items:end;gap:8px}.product-poster-price strong{font-size:2rem;color:#de631d}.product-poster-price del{color:#9a7c67}
.product-poster-points{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #efd4b9;color:#d8631d;font-weight:900}
.product-poster-foot{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.poster-address{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.62);color:#69472f;border:1px solid rgba(255,255,255,.78)}.poster-qr{width:132px;height:132px;padding:8px;border-radius:18px;background:#fff;display:grid;place-items:center}

/* TV mode */
.ff-tv-page{min-height:calc(100vh - 120px);display:grid;gap:18px}
.ff-tv-stage{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,#2f180b,#6e3415 55%,#f06b21);color:#fff;min-height:72vh;box-shadow:0 34px 90px rgba(0,0,0,.24)}
.ff-tv-slide{position:absolute;inset:0;padding:26px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px;opacity:0;transform:scale(1.02);transition:opacity .55s ease, transform .7s ease}
.ff-tv-slide.is-active{opacity:1;transform:none}
.ff-tv-copy h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.9;margin:8px 0 12px;letter-spacing:-.05em}.ff-tv-copy .tag{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.ff-tv-copy .price{display:block;color:#ffd38f!important;font-size:2.2rem;margin:18px 0 8px}
.ff-tv-copy p{max-width:560px;color:#ffe7d0}
.ff-tv-photo{height:100%;min-height:420px;border-radius:30px;background:#fff;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.22)}.ff-tv-photo img{width:100%;height:100%;object-fit:cover}
.ff-tv-footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.ff-tv-dots{display:flex;gap:8px}.ff-tv-dots button{width:12px;height:12px;border-radius:50%;border:0;background:rgba(255,255,255,.28)}.ff-tv-dots button.active{background:#fff}
.ff-tv-marquee{padding:12px 18px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);overflow:hidden;white-space:nowrap;font-weight:900}.ff-tv-marquee span{display:inline-block;padding-left:100%;animation:ff26-marquee 16s linear infinite}
@keyframes ff26-marquee{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

@media(max-width:1180px){
  .ff26-showcase-grid,.ff26-grid,.sale-workspace.sale-workspace-v26,.ff26-loyalty-wrap,.ff-tv-slide,.product-poster-body,.product-poster-foot{grid-template-columns:1fr!important}
  .ff26-home-actions,.sale-hero-strip,.poster-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .ff26-showcase{padding:16px}.ff26-copy-bottom,.ff26-home-actions,.ff26-featured-grid,.ff26-product-grid,.sale-hero-strip,.poster-wall{grid-template-columns:1fr!important}
  .ff26-mosaic{grid-template-columns:1fr;grid-template-rows:auto}
  .ff26-tile.big{grid-row:auto}
  .ff26-home-search,.sale-checkout-row,.sale-cart-actions,.ff26-loyalty-manual{grid-template-columns:1fr!important}
  .ff-tv-stage{min-height:auto}.ff-tv-slide{padding:18px}
}
