/* Dedicated QSR document layout, scoped to the QSR solution page. */
.qsr-solutions-page { color:#20352a; background:#fffdf9; }
.qsr-solutions-page .container { width:min(1440px,calc(100% - 96px)); }
.qsr-solutions-page .section { padding-block:72px; }
.qsr-solutions-page .qsr-scene-hero { width:100%; max-width:none; padding:28px 48px 64px; background:radial-gradient(ellipse at 90% 35%,#e2eee4,transparent 60%),#fffdf9; }
.qsr-solutions-page .qsr-scene-hero > * { max-width:1440px; margin-inline:auto; }
.qsr-solutions-page .qsr-scene-grid { gap:40px; }
.qsr-solutions-page .qsr-scene-grid h1 { font-size:clamp(38px,3.8vw,62px) !important; }
.qsr-solutions-page p { font-size:17px; line-height:1.7; color:#34443b; }
.qsr-solutions-page h2 { font-size:clamp(28px,2.8vw,42px); line-height:1.22; letter-spacing:-.025em; }
.qsr-solutions-page h3 { font-size:22px; line-height:1.3; color:#20352a; }
.qsr-solutions-page h4 { font-size:18px; line-height:1.45; margin-block:22px 12px; }
.qsr-solutions-page .section-heading { max-width:1000px; margin-bottom:32px; }
.qsr-tinted { background:#eef4eb; }
.qsr-status-journey,.qsr-setup { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; padding:0; margin:32px 0; list-style:none; }
.qsr-status-journey li { position:relative; border:1px solid #dce5db; border-radius:16px; padding:22px; background:#fff; }
.qsr-status-journey li:nth-child(1) { background:#f7eee1; }
.qsr-status-journey li:nth-child(2) { background:#e9f0fc; }
.qsr-status-journey li:nth-child(3) { background:#fff4d7; }
.qsr-status-journey li:nth-child(4) { background:#ddf2e4; }
.qsr-status-journey li:nth-child(5) { background:#e8ece9; }
.qsr-status-journey li:not(:last-child)::after { content:'→'; position:absolute; right:-14px; top:40%; z-index:1; color:#245c45; }
.qsr-status-journey span,.qsr-setup > li > span { display:block; font-size:14px; color:#245c45; margin-bottom:12px; }
.qsr-status-journey strong { font-size:19px; }
.qsr-challenges,.qsr-audiences { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.qsr-challenges article,.qsr-audiences article { min-width:0; border:1px solid #dce5db; border-radius:20px; background:white; overflow:hidden; }
.qsr-challenges article { padding:24px; }
.qsr-challenges article:nth-child(odd) { background:#eef5ee; }
/* ZIP-supplied before/after visuals: scoped to the five QSR challenge cards. */
.qsr-challenges .qsr-transform { position:relative; margin-bottom:20px; border-radius:14px; overflow:hidden; border:1px solid #d3dfd7; background:#edf2ee; }
.qsr-transform-scenes { position:relative; aspect-ratio:806 / 900; overflow:hidden; }
.qsr-transform-scenes img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.qsr-transform-after { clip-path:inset(0); }
.qsr-transform-wipe { position:absolute; inset-block:0; left:0; width:3px; background:#d2eee0; box-shadow:0 0 12px #245c4570; opacity:0; pointer-events:none; }
.qsr-transform.is-animated .qsr-transform-after { animation:qsr-transform-reveal 7s cubic-bezier(.45,0,.2,1) infinite; }
.qsr-transform.is-animated .qsr-transform-wipe { animation:qsr-transform-wipe 7s cubic-bezier(.45,0,.2,1) infinite; }
@keyframes qsr-transform-reveal { 0%,21% { clip-path:inset(0 100% 0 0); } 51%,82% { clip-path:inset(0); } 100% { clip-path:inset(0 100% 0 0); } }
@keyframes qsr-transform-wipe { 0%,21% { left:0; opacity:0; } 23% { opacity:1; } 51% { left:100%; opacity:1; } 53%,82% { left:100%; opacity:0; } 84% { opacity:1; } 100% { left:0; opacity:0; } }
@media(prefers-reduced-motion:reduce) { .qsr-transform.is-animated .qsr-transform-after { animation:none; clip-path:inset(0); } .qsr-transform.is-animated .qsr-transform-wipe { animation:none; display:none; } }
.qsr-challenges h3,.qsr-audiences h3 { font-size:20px; }
.qsr-challenges p,.qsr-audiences p { font-size:15px; }
.qsr-feature-layout,.qsr-demo-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.qsr-feature-layout > *, .qsr-demo-grid > * { min-width:0; }
.qsr-feature-layout .check-list { font-size:16px; }
.qsr-interface { border:1px solid #cbded0; border-radius:24px; background:#fff; overflow:hidden; box-shadow:0 20px 50px #173e2e10; }
.qsr-interface header { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:24px; border-bottom:1px solid #dce5db; }
.qsr-interface header strong { font-size:24px; }
.qsr-interface header span { font-size:12px; color:#52665b; }
.qsr-interface-body { padding:26px; background:#f6faf6; }
.qsr-sample-order,.qsr-ticket,.qsr-pickup-note { background:#fff; border:1px solid #dce5db; border-radius:14px; padding:20px; margin-top:16px; }
.qsr-sample-order > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.qsr-status { border-radius:30px; padding:5px 12px; font-size:12px; font-weight:700; }
.qsr-status.preparing { background:#fff1ce; color:#775300; }
.qsr-status.ready { background:#ddf3e3; color:#1c603b; }
.qsr-ticket { background:#fffcf4; border-style:dashed; }
.qsr-ticket strong { display:block; margin-top:10px; }
.qsr-interface small { color:#52665b; }
.qsr-outlet-visual { min-height:160px; background:#e6efe5; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:16px; padding:20px; color:#245c45; }
.qsr-outlet-visual svg { width:70px; height:70px; }
.qsr-outlet-visual span { font-size:12px; text-align:center; }
.qsr-audiences .qsr-outlet-photo { padding:0; background:#f5f7f2; }
.qsr-audiences .qsr-outlet-photo img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:contain; }
.qsr-audiences .qsr-outlet-photo > span { display:block; padding:10px 12px; color:#245c45; font-size:12px; line-height:1.5; text-align:center; }
.qsr-audiences article:nth-child(2) .qsr-outlet-visual { background:#f9eddc; color:#94603a; }
.qsr-audiences article:nth-child(3) .qsr-outlet-visual { background:#e8eff8; color:#375c7a; }
.qsr-audiences article:nth-child(4) .qsr-outlet-visual { background:#f3eaf4; color:#75467c; }
.qsr-audiences article { display:flex; flex-direction:column; }
.qsr-audiences article > div:last-child { display:flex; flex:1; flex-direction:column; padding:22px; }
.qsr-audiences .text-link { margin-top:auto; width:100%; font-size:14px; }
.qsr-price-note { padding:28px; border-radius:20px; border:1px solid #cbded0; background:#fff; margin-block:28px; }
.qsr-price-note strong { display:block; font-size:44px; color:#075b49; margin-top:12px; }
.qsr-price-note strong small { font-size:16px; font-weight:400; }
.qsr-price-note p { font-size:14px; margin-bottom:0; }
.qsr-form-card { background:#fff; border:1px solid #dce5db; border-radius:24px; padding:32px; }
.qsr-demo-form { padding:0; border:0; box-shadow:none; }
.qsr-demo-form .consent { align-items:flex-start; }
.qsr-demo-form select { max-width:100%; }
.qsr-setup { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.qsr-setup li { border-top:3px solid #c9ddce; padding-top:24px; min-width:0; }
.qsr-setup > li > span { font-size:28px; font-weight:700; }
.qsr-setup p { font-size:16px; }
@media(max-width:1200px) { .qsr-challenges,.qsr-audiences { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:980px) { .qsr-solutions-page .container { width:calc(100% - 48px); } .qsr-solutions-page .qsr-scene-hero { width:100%; padding-inline:24px; } .qsr-feature-layout,.qsr-demo-grid { grid-template-columns:1fr; gap:32px; } .qsr-setup { grid-template-columns:repeat(2,minmax(0,1fr)); } .qsr-status-journey li { padding:16px 10px; } .qsr-status-journey strong { font-size:16px; } }
@media(max-width:600px) { .qsr-solutions-page .container { width:calc(100% - 32px); } .qsr-solutions-page .qsr-scene-hero { width:100%; padding:22px 16px 40px; } .qsr-solutions-page .section { padding-block:48px; } .qsr-solutions-page p { font-size:16px; } .qsr-challenges,.qsr-audiences,.qsr-setup,.qsr-status-journey { grid-template-columns:1fr; } .qsr-status-journey li { display:flex; gap:18px; padding:18px; align-items:center; } .qsr-status-journey span { margin:0; } .qsr-status-journey li:not(:last-child)::after { content:'↓'; top:auto; bottom:-21px; right:50%; } .qsr-form-card,.qsr-interface-body { padding:20px; } .qsr-interface header { padding:20px; flex-wrap:wrap; } .qsr-form-card .form-grid { grid-template-columns:1fr; } .qsr-outlet-visual { min-height:140px; } }
