/* DHIRTY NewFlow — torta-rendelő stílus (minden szabály .dnf alatt, hogy a témát ne érintse) */
.dnf{--b:#3FB0E8;--bd:#1E86B8;--pk:#F45DA0;--ink:#14304a;--ink2:#5b6f82;--line:#d6e4f0;--card:#fff;--paper:#F3FAFE;--ok:#2fa85a;color:var(--ink);font:16px/1.5 Poppins,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;max-width:1040px;margin:0 auto;text-align:left}
.dnf *{box-sizing:border-box}
.dnf-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:start}
.dnf-grid[hidden],.dnf-done[hidden],.dnf-err[hidden]{display:none!important}
.dnf-viz{position:sticky;top:12px;background:radial-gradient(circle at 50% 28%,#EAF6FB,#D8ECF7);border-radius:22px;padding:22px 16px;text-align:center}
.dnf-stage{max-width:300px;margin:0 auto}
.dnf-stage svg{width:100%;height:auto;display:block;filter:drop-shadow(0 16px 20px rgba(15,30,45,.16))}
.dnf-photo{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;box-shadow:0 16px 30px rgba(15,30,45,.2)}
.dnf-cap{margin-top:10px}.dnf-cap b{display:block;font-size:1.05rem}.dnf-cap span{color:var(--bd);font-size:.95rem}
.dnf-tier{transform-origin:center bottom;animation:dnfTier .4s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes dnfTier{from{opacity:0;transform:translateY(-10px) scaleX(.8)}to{opacity:1;transform:none}}
.dnf-form{min-width:0}
.dnf-sec{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:14px}
.dnf-sec h3{margin:0 0 10px;font-size:1.02rem;color:var(--bd);letter-spacing:.01em}
.dnf-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.dnf-pill{border:1.5px solid var(--line);background:#fff;color:var(--bd);border-radius:999px;padding:8px 14px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:.18s}
.dnf-pill:hover{background:var(--paper)}.dnf-pill.on{background:var(--b);border-color:var(--b);color:#fff}
.dnf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.dnf-card{display:flex;flex-direction:column;gap:2px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:11px 13px;font:inherit;cursor:pointer;transition:.18s}
.dnf-card b{font-size:1rem}.dnf-card span{font-size:.78rem;color:var(--ink2)}
.dnf-card:hover{border-color:var(--b)}.dnf-card.on{border-color:var(--pk);box-shadow:0 0 0 3px rgba(244,93,160,.18);background:#fff7fb}
.dnf-f{display:block;font-size:.84rem;font-weight:600;color:var(--ink2);margin:0 0 12px}
.dnf-lvl{color:var(--pk);font-weight:700}
.dnf select,.dnf input[type=date],.dnf input[type=number],.dnf textarea{width:100%;margin-top:5px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-weight:400;color:var(--ink);background:#fff}
.dnf textarea{min-height:70px;resize:vertical}
.dnf select:focus,.dnf input:focus,.dnf textarea:focus{outline:0;border-color:var(--b);box-shadow:0 0 0 3px rgba(63,176,232,.18)}
.dnf-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dnf-note{font-size:.8rem;color:var(--ink2);margin:6px 0 10px}
.dnf-chk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1.5px solid var(--line);border-radius:12px;padding:9px 12px;margin:0 0 8px;font-size:.9rem;background:#fff}
.dnf-chk label,.dnf-chk>span{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}
.dnf-chk input[type=checkbox]{width:19px;height:19px;accent-color:var(--pk);flex:none}
.dnf-chk em{margin-left:auto;font-style:normal;font-weight:600;color:var(--bd);font-size:.85rem;white-space:nowrap}
.dnf-chk.must{background:var(--paper);border-color:rgba(63,176,232,.45)}.dnf-chk i{font-style:normal;font-size:.72rem;background:var(--pk);color:#fff;border-radius:99px;padding:1px 8px;margin-left:4px}
.dnf-chk .dnf-n{width:70px;margin:0}.dnf-ph{text-decoration:none}
.dnf-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;margin-bottom:8px;background:var(--paper)}
.dnf-add b{font-size:.84rem}.dnf-add select,.dnf-add input{width:auto;margin:0;padding:7px 9px;border-radius:9px}.dnf-add em{font-style:normal;color:var(--bd);font-weight:600;font-size:.82rem}
.dnf-x{margin-left:auto;border:0;background:none;color:#b3264a;font-size:1.3rem;line-height:1;cursor:pointer}
.dnf-err{background:#fdecef;color:#b3264a;border-radius:12px;padding:11px 14px;margin:0 0 12px;font-size:.9rem}
.dnf-foot{position:sticky;bottom:0;display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 16px;box-shadow:0 -8px 24px rgba(20,48,74,.08)}
.dnf-price{display:flex;flex-direction:column;line-height:1.15}.dnf-price span{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2)}.dnf-price b{font-size:1.4rem}
.dnf-btn{margin-left:auto;display:inline-block;text-decoration:none;border:0;border-radius:999px;background:var(--pk);color:#fff;font:inherit;font-weight:700;padding:12px 26px;cursor:pointer;transition:.18s}
.dnf-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.dnf-btn[disabled]{opacity:.5;pointer-events:none}.dnf-btn.ghost{background:#fff;color:var(--bd);border:1.5px solid var(--line);margin-left:0}
.dnf-done{text-align:center;padding:48px 20px}.dnf-tick{width:68px;height:68px;border-radius:50%;background:var(--ok);color:#fff;font-size:2.2rem;line-height:68px;margin:0 auto 12px}
.dnf-done h3{font-size:1.5rem;margin:6px 0}.dnf-done .dnf-pills{justify-content:center;margin-top:18px}.dnf-done .dnf-btn{margin-left:0}
@media (max-width:820px){.dnf-grid{grid-template-columns:1fr}.dnf-viz{position:static;padding:14px}.dnf-stage{max-width:190px}.dnf-2{grid-template-columns:1fr}.dnf-foot{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.dnf-tier{animation:none}.dnf-btn{transition:none}}

/* ───── POPUP (modal) mód — a SUGAR! staging „hc-modal” kinézete ───── */
html.dnf-lock,body.dnf-lock{overflow:hidden!important}
.dnf:not(.dnf-modal) .dnf-head{display:none}
.dnf-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;max-width:none;margin:0;background:none}
.dnf-modal[hidden]{display:none}
.dnf-back{position:absolute;inset:0;background:rgba(15,30,45,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:dnfFade .3s ease}
.dnf-card2{position:relative;width:min(980px,100%);max-height:92vh;background:#F7FCFF;border-radius:24px;overflow:hidden;box-shadow:0 40px 100px rgba(15,30,45,.4);animation:dnfPop .42s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.dnf-x2{position:absolute;top:14px;right:16px;z-index:5;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.6rem;line-height:1;transition:.25s}
.dnf-x2:hover{background:var(--pk);color:#fff;transform:rotate(90deg)}
.dnf-mount{display:flex;flex:1;min-height:0}
.dnf-modal .dnf-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;width:100%;min-height:0;height:100%;align-items:stretch}
.dnf-modal .dnf-viz{position:static;border-radius:0;background:radial-gradient(circle at 50% 30%,#EAF6FB,#D8ECF7);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 20px}
.dnf-modal .dnf-stage{width:100%;max-width:300px}
.dnf-modal .dnf-form{display:flex;flex-direction:column;min-height:0;max-height:92vh;min-width:0}
.dnf-head{padding:24px 64px 8px 28px}
.dnf-eyebrow{display:block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--b);font-weight:600}
.dnf-title{margin:4px 0 0;font-size:1.45rem;line-height:1.25;color:var(--ink)}.dnf-title small{font-size:.6em;color:var(--ink2);font-weight:400}
.dnf-scroll{overflow-y:auto;padding:6px 28px 14px;flex:1;min-height:0}
.dnf-modal .dnf-sec{background:none;border:0;border-radius:0;padding:0;margin:0 0 18px}
.dnf-modal .dnf-sec h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--b);margin:0 0 9px}
.dnf-modal .dnf-foot{position:static;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:14px 28px;background:#fff}
.dnf-modal .dnf-price b{font-size:1.5rem;color:var(--bd)}
.dnf-modal .dnf-btn{background:linear-gradient(135deg,#ff7fb6,#F45DA0);box-shadow:0 10px 22px rgba(244,93,160,.35);padding:13px 30px}
.dnf-modal .dnf-btn.ghost{background:#fff;box-shadow:none}
.dnf-modal .dnf-done{width:100%;padding:56px 28px}
.dnf-modal .dnf-grid[hidden],.dnf-modal .dnf-done[hidden]{display:none!important}
.dnf-inject{display:inline-block;margin:10px 0;border:0;border-radius:999px;background:linear-gradient(135deg,#ff7fb6,#F45DA0);color:#fff;font:700 1rem Poppins,system-ui,sans-serif;padding:13px 28px;cursor:pointer;box-shadow:0 10px 22px rgba(244,93,160,.35)}
@keyframes dnfFade{from{opacity:0}to{opacity:1}}
@keyframes dnfPop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@media (max-width:720px){
  .dnf-modal{padding:0;align-items:flex-end}
  .dnf-card2{max-height:96vh;border-radius:22px 22px 0 0;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .dnf-mount{display:block}
  .dnf-modal .dnf-grid{display:block;height:auto}
  .dnf-modal .dnf-viz{padding:14px 12px 8px}.dnf-modal .dnf-stage{max-width:150px}.dnf-modal .dnf-photo{max-width:150px}
  .dnf-modal .dnf-form{max-height:none}.dnf-scroll{overflow:visible;padding:4px 18px 14px}.dnf-head{padding:14px 56px 4px 18px}
  .dnf-modal .dnf-foot{position:sticky;bottom:0;padding:12px 18px}
  .dnf-modal .dnf-done{padding:40px 18px}
}
@media (prefers-reduced-motion:reduce){.dnf-card2,.dnf-back{animation:none}}

.dnf-solo form.variations_form,.dnf-solo .single_variation_wrap,.dnf-solo form.cart{display:none!important}

.dnf-hide{display:none!important}

/* naptár (zárt napok nem választhatók) */
.dnf-cal{margin-top:6px;border:1.5px solid var(--line);border-radius:14px;padding:10px;background:#fff;max-width:340px}
.dnf-calh{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dnf-calh b{font-size:.92rem}
.dnf-calh button{border:0;background:var(--paper);border-radius:50%;width:30px;height:30px;font-size:1.1rem;cursor:pointer;color:var(--bd)}.dnf-calh button:disabled{opacity:.3;cursor:default}
.dnf-calg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.dnf-calg i{font-style:normal;font-size:.7rem;color:var(--ink2);font-weight:600;padding:3px 0}
.dnf-day{border:0;background:#fff;border-radius:9px;padding:7px 0;font:inherit;font-size:.86rem;cursor:pointer;color:var(--ink)}
.dnf-day:hover:not(:disabled){background:var(--paper)}.dnf-day.on{background:var(--pk);color:#fff;font-weight:700}
.dnf-day:disabled{color:#b9c6d2;cursor:not-allowed;background:none;text-decoration:line-through}.dnf-day.closed:disabled{background:#f7eef2;color:#c58aa3}
.dnf-sel{margin-top:8px;font-size:.88rem;color:var(--bd);font-weight:600;text-transform:capitalize}

/* EN termékoldal: ugyanaz a doboz + gomb, mint a HU Breakdance-sablonban */
.dnf-trigger-wrap{margin:14px 0 0}
.dnf-trigger-wrap .dnf-inject{display:block;width:100%;height:44px;margin:0;padding:0 24px;border:1px solid transparent;border-radius:9999px;background:#E52587;color:#fff;font:400 14px/1 Poppins,system-ui,sans-serif;box-shadow:none;cursor:pointer;text-align:center}
.dnf-trigger-wrap .dnf-inject:hover{filter:brightness(1.06)}
.dnf-infobox{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 0;padding:6px 8px 6px 24px;border:1px solid #14213d;border-radius:10px;font:400 14px Poppins,system-ui,sans-serif;color:#14213d}
.dnf-infobtn{border:0;border-radius:9999px;background:#fff;color:#14213d;font:400 14px Poppins,system-ui,sans-serif;padding:11px 32px;cursor:pointer}.dnf-infobtn:hover{background:#f3fafe}
.dnf-info{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;font:15px/1.55 Poppins,system-ui,sans-serif;color:#14304a}
.dnf-info[hidden]{display:none}
.dnf-infocard{position:relative;width:min(640px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:22px;padding:30px 30px 24px;box-shadow:0 40px 100px rgba(15,30,45,.4);animation:dnfPop .4s cubic-bezier(.2,.8,.2,1)}
.dnf-infotxt p{margin:0 0 12px}.dnf-infotxt ul,.dnf-infotxt ol{margin:0 0 12px 20px;padding:0}.dnf-infotxt li{margin-bottom:5px}.dnf-infotxt a{color:#E52587}
.dnf-info .dnf-back{position:absolute;inset:0;background:rgba(15,30,45,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dnf-info .dnf-x2{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;background:#f3fafe;font-size:1.6rem;line-height:1;color:#14304a}
@keyframes dnfPop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
.dnf-infobox,.dnf-trigger-wrap{align-self:stretch;width:100%;box-sizing:border-box}
.dnf-trigger-wrap .dnf-inject{box-sizing:border-box}

/* ═════════ v3 — márka-nyelv (dhirty-ui): Outfit címek · Inter törzs/ár · gradiens gombok · 8 px ritmus ═════════ */
.dnf{--ease:cubic-bezier(.23,1,.32,1);--ink:#0f2a44;--ink2:#5d7389;--line:#d4e3ef;--pink:#ea3b94;--pink2:#cf1f7c;--blue:#2499d3;--g-pink:linear-gradient(180deg,#f67ab6 0%,#ea3b94 34%,#dc2486 54%,#cf1f7c 100%);--sh-pink:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(150,10,80,.22),0 1px 2px rgba(170,20,100,.24),0 12px 22px -8px rgba(234,59,148,.52);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.55;color:var(--ink)}
.dnf h3,.dnf .dnf-title,.dnf .dnf-price b,.dnf .dnf-pill,.dnf .dnf-card b{font-family:Outfit,Inter,system-ui,sans-serif}
.dnf-head{padding:28px 72px 8px 32px}
.dnf-eyebrow{display:inline-block;font:600 12px/1 Outfit,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--g-pink);padding:6px 12px;border-radius:999px;box-shadow:0 6px 14px -6px rgba(234,59,148,.55)}
.dnf-title{margin:12px 0 0;font:800 28px/1.15 Outfit,Inter,sans-serif;letter-spacing:-.02em;color:var(--ink)}.dnf-title small{font:500 14px Inter,sans-serif;color:var(--ink2);letter-spacing:0}
.dnf-scroll{padding:12px 32px 24px}
.dnf-modal .dnf-sec{margin:0 0 32px}
.dnf-modal .dnf-sec h3{font:700 19px/1.25 Outfit,Inter,sans-serif;text-transform:none;letter-spacing:-.01em;color:var(--ink);margin:0 0 16px}
.dnf-note{font:400 13.5px/1.55 Inter,sans-serif;color:var(--ink2);margin:8px 0 16px}
.dnf-f{font:600 13.5px/1.4 Inter,sans-serif;color:#3a566f;margin:0 0 16px}
.dnf-lvl{color:var(--pink2);font-weight:700}
.dnf select,.dnf input[type=date],.dnf input[type=number]{height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;box-shadow:inset 0 1px 2px rgba(20,60,100,.05),inset 0 0 0 1px rgba(255,255,255,.9);font:500 15px Inter,sans-serif;color:var(--ink);margin-top:8px;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}
.dnf textarea{padding:12px 14px;min-height:88px;border:1.5px solid var(--line);border-radius:14px;background:#fff;box-shadow:inset 0 1px 2px rgba(20,60,100,.05);font:400 15px/1.5 Inter,sans-serif;color:var(--ink);margin-top:8px;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}
.dnf select:focus,.dnf input:focus,.dnf textarea:focus,.dnf button:focus-visible{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,153,211,.2)}
.dnf-pills{gap:8px;margin:0 0 12px}
.dnf-pill,.dnf-card{position:relative;border:1.5px solid var(--line);background:#fff;color:#1b4a6e;box-shadow:0 1px 2px rgba(20,60,100,.04);cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease),color .18s var(--ease);-webkit-tap-highlight-color:transparent}
.dnf-pill{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:999px;font:600 15px Outfit,Inter,sans-serif}
.dnf-card{display:flex;flex-direction:column;gap:2px;min-height:68px;padding:14px 16px;border-radius:16px;text-align:left;font:inherit}
.dnf-card b{font:700 17px/1.2 Outfit,Inter,sans-serif;color:var(--ink)}.dnf-card span{font:400 13px/1.35 Inter,sans-serif;color:var(--ink2)}
@media (hover:hover) and (pointer:fine){.dnf-pill:hover:not(.on),.dnf-card:hover:not(.on){border-color:#8cc9ea;box-shadow:0 8px 18px -10px rgba(36,153,211,.45);transform:translateY(-1px)}}
.dnf-pill:active,.dnf-card:active,.dnf-btn:active,.dnf-chk:active{transform:scale(.97)}
.dnf-pill.on,.dnf-card.on{background:var(--g-pink);border-color:var(--pink2);color:#fff;box-shadow:var(--sh-pink),0 0 0 4px rgba(234,59,148,.14)}
.dnf-card.on b,.dnf-card.on span{color:#fff}.dnf-card.on span{opacity:.9}
.dnf-ck{display:none;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.28) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.2 10.4l3.2 3.2 6.4-6.8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;flex:none}
.dnf-pill.on .dnf-ck{display:inline-block}.dnf-card .dnf-ck{position:absolute;top:10px;right:10px}.dnf-card.on .dnf-ck{display:block}
.dnf-cnt{font:700 12px Inter,sans-serif;font-style:normal;background:rgba(255,255,255,.3);border-radius:99px;padding:1px 7px}
.dnf-chk{min-height:52px;padding:12px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;margin:0 0 8px;gap:12px;transition:transform .16s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease)}
.dnf-chk>label,.dnf-chk>span{gap:12px;font:500 15px/1.35 Inter,sans-serif;color:var(--ink)}
.dnf-chk input[type=checkbox]{-webkit-appearance:none;appearance:none;width:24px;height:24px;border:2px solid #c3d5e4;border-radius:8px;background:#fff;display:inline-grid;place-items:center;flex:none;margin:0;cursor:pointer;transition:background-color .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}
.dnf-chk input[type=checkbox]:checked{border-color:var(--pink2);background:var(--g-pink);box-shadow:0 0 0 4px rgba(234,59,148,.16)}
.dnf-chk input[type=checkbox]:checked::after{content:"";width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.6 10.6l3.6 3.6 7.2-7.6' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.dnf-chk input[type=checkbox]:disabled{opacity:.9}
.dnf-chk.on{border-color:var(--pink);background:linear-gradient(180deg,#fff9fc,#ffeaf4);box-shadow:0 8px 20px -12px rgba(234,59,148,.6),0 0 0 3px rgba(234,59,148,.1)}
.dnf-chk em{font:700 14px Inter,sans-serif;font-style:normal;color:var(--pink2);font-variant-numeric:tabular-nums}
.dnf-chk i{font:600 11px Inter,sans-serif;font-style:normal;background:var(--g-pink);color:#fff;border-radius:99px;padding:2px 9px}
.dnf-chk.must{background:#f3faff;border-color:#bfe0f3}
.dnf-add{border-radius:14px;padding:10px 12px;gap:8px;background:#f6fbff;border:1.5px solid #d4e8f6;margin:0 0 8px}.dnf-add b{font:700 14px Outfit,sans-serif}
.dnf-add select,.dnf-add input{height:40px;margin:0;border-radius:11px;font-size:14px}.dnf-x{width:28px;height:28px;border-radius:50%;background:rgba(207,31,124,.08);font-size:1.2rem;color:var(--pink2)}
.dnf-cal{max-width:360px;padding:14px;border:1.5px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px -18px rgba(20,60,100,.35)}
.dnf-calh b{font:700 16px Outfit,sans-serif}.dnf-calh button{width:34px;height:34px;background:#eef7fd;color:var(--blue);font-size:1.2rem}
.dnf-calg{gap:4px}.dnf-calg i{font:600 12px Inter,sans-serif;color:var(--ink2)}
.dnf-day{height:40px;padding:0;border-radius:12px;font:600 14px Inter,sans-serif;font-variant-numeric:tabular-nums;transition:background-color .15s var(--ease),transform .15s var(--ease)}
.dnf-day.on{background:var(--g-pink);color:#fff;box-shadow:var(--sh-pink)}.dnf-sel{margin-top:12px;font:600 15px Outfit,sans-serif;color:var(--pink2);text-transform:capitalize}
.dnf-sumrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 32px;background:#f6fbff;border-top:1px solid #dcebf6;font:500 13px Inter,sans-serif;color:var(--ink2)}
.dnf-sumrow[hidden]{display:none}.dnf-sumrow b{font:700 13px Outfit,sans-serif;color:var(--ink);margin-right:4px}
.dnf-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 6px;border-radius:99px;background:#fff;border:1.5px solid #f3b9d6;color:#a3175f;font:600 12.5px Inter,sans-serif;animation:dnfIn .22s var(--ease)}
.dnf-chip .dnf-ck{display:inline-block;width:16px;height:16px;background-color:var(--pink);background-size:10px}
.dnf-modal .dnf-foot{padding:16px 32px;gap:20px;background:#fff;box-shadow:0 -12px 28px -20px rgba(20,60,100,.35)}
.dnf-price span{font:600 12px Inter,sans-serif;color:var(--ink2);text-transform:none;letter-spacing:.02em}
.dnf-modal .dnf-price b{font:800 30px/1.1 Outfit,Inter,sans-serif;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.dnf-modal .dnf-btn{height:52px;padding:0 34px;border:0;border-radius:999px;background:var(--g-pink);color:#fff;font:700 16px Outfit,Poppins,sans-serif;letter-spacing:.005em;box-shadow:var(--sh-pink);transition:transform .16s var(--ease),filter .18s var(--ease),box-shadow .18s var(--ease)}
@media (hover:hover) and (pointer:fine){.dnf-modal .dnf-btn:hover{filter:brightness(1.05);box-shadow:var(--sh-pink),0 0 0 5px rgba(234,59,148,.14)}}
.dnf-modal .dnf-btn[disabled]{opacity:.45;box-shadow:none}.dnf-modal .dnf-btn.ghost{background:#fff;color:#1b4a6e;border:1.5px solid var(--line);box-shadow:none}
.dnf-err{display:flex;gap:10px;align-items:flex-start;background:#fff1f5;border:1.5px solid #f5c2d4;color:#a3123f;border-radius:14px;padding:12px 16px;font:500 14px/1.45 Inter,sans-serif;margin:8px 0 0;animation:dnfIn .22s var(--ease)}
.dnf-err[hidden]{display:none!important}
.dnf-err::before{content:"!";flex:none;width:20px;height:20px;border-radius:50%;background:#e5336f;color:#fff;font:700 13px/20px Outfit,sans-serif;text-align:center}
.dnf-x2{width:36px;height:36px;top:16px;right:18px;background:rgba(15,42,68,.07);color:#27465f;font-size:1.4rem;transition:background-color .16s var(--ease),transform .16s var(--ease)}
.dnf-x2:hover{background:rgba(15,42,68,.13);transform:none}.dnf-x2:active{transform:scale(.94)}
@keyframes dnfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dnf-modal .dnf-viz{background:radial-gradient(120% 80% at 50% 25%,#eaf7fd 0%,#d4ebf8 55%,#c4e3f5 100%)}
.dnf-fl{transition:fill .25s ease}
.dnf-pop{opacity:0;transform:translateY(8px) scale(.92);transform-box:fill-box;transform-origin:50% 100%;transition:opacity .22s var(--ease),transform .22s var(--ease)}
.dnf-pop.in{opacity:1;transform:none}
.dnf-x{opacity:0;transform:translateY(12px);transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}.dnf-x.show{opacity:1;transform:none}
.dnf-spk{transform-box:fill-box;transform-origin:center;animation:dnfSpark .8s ease-in-out infinite}.dnf-spk.d1{animation-delay:.15s}.dnf-spk.d2{animation-delay:.3s}.dnf-spk.d3{animation-delay:.45s}
@keyframes dnfSpark{0%,100%{transform:scale(.6);opacity:.35}50%{transform:scale(1.15);opacity:1}}
.dnf-cap b{font:700 18px Outfit,sans-serif}.dnf-cap span{font:500 14px Inter,sans-serif;color:var(--blue)}
@media (prefers-reduced-motion:reduce){.dnf-spk{animation:none;opacity:.9}.dnf-pop,.dnf-x,.dnf-fl,.dnf-pill,.dnf-card,.dnf-chk,.dnf-chip,.dnf-err{transition:none;animation:none}.dnf-tier{animation:none}}
@media (max-width:720px){.dnf-head{padding:18px 64px 4px 18px}.dnf-title{font-size:23px}.dnf-scroll{padding:8px 18px 20px}.dnf-sumrow{padding:10px 18px}.dnf-modal .dnf-foot{padding:12px 18px}.dnf-modal .dnf-price b{font-size:24px}.dnf-modal .dnf-btn{padding:0 24px}}

.dnf .dnf-add select,.dnf .dnf-add input,.dnf .dnf-add input[type=number]{width:auto;margin:0}.dnf .dnf-n,.dnf .dnf-chk .dnf-n,.dnf .dnf-add input.dnf-n{width:78px;height:40px}

.dnf-modal .dnf-stage{max-width:340px}@media (max-width:720px){.dnf-modal .dnf-stage{max-width:200px}}

/* ---- extrák: kapcsoló-gomb + darabszám-léptető (− n +) ---- */
.dnf-addw{display:inline-flex;align-items:center;gap:8px;max-width:100%}
.dnf-step{display:inline-flex;align-items:center;gap:2px;height:44px;padding:0 4px;border-radius:999px;background:#fff;border:1.5px solid rgba(234,59,148,.45);box-shadow:0 6px 14px -8px rgba(234,59,148,.5);animation:dnf-stepin .22s cubic-bezier(.2,.8,.2,1)}
.dnf-step-x{height:40px;margin-left:auto}
.dnf-sb{width:34px;height:34px;padding:0;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;font:700 20px/1 Outfit,Inter,sans-serif;color:#c8176f;background:#fff0f7;transition:background .14s,transform .12s,opacity .14s}
.dnf-sb:hover:not(:disabled){background:#ffe0ee}.dnf-sb:active:not(:disabled){transform:scale(.9)}.dnf-sb:disabled{opacity:.35;cursor:default}
.dnf-sb:focus-visible{outline:3px solid rgba(36,153,211,.55);outline-offset:1px}
.dnf-sn{min-width:30px;text-align:center;font:800 16px Outfit,Inter,sans-serif;color:#0f2a44;font-variant-numeric:tabular-nums}
@keyframes dnf-stepin{from{opacity:0;transform:translateX(-6px) scale(.95)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dnf-step{animation:none}.dnf-sb{transition:none}}

/* ---- gombok: a felirat mindig függőlegesen és vízszintesen középen (a „Rendelek még” / „Irány a pénztár” <a> gombok is) ---- */
.dnf .dnf-btn,.dnf a.dnf-btn,.dnf button.dnf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;text-align:center;line-height:1.15;box-sizing:border-box;text-decoration:none}
.dnf-done .dnf-pills{align-items:stretch}
.dnf-done .dnf-btn{min-height:52px;padding-top:0;padding-bottom:0}


/* [2026-11-14] mintakép-gomb + lightbox */
.dnf-chk .dnf-ph{display:inline-flex;align-items:center;gap:8px;margin:6px 0 2px 0;padding:4px 12px 4px 4px;border:1.5px solid rgba(36,153,211,.45);border-radius:999px;background:linear-gradient(180deg,#fff,#eef8fd);color:#1478b3;font:700 13.5px/1 Outfit,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 14px -8px rgba(36,153,211,.7);transition:transform .15s,box-shadow .2s}
.dnf-chk .dnf-ph img{width:34px;height:34px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(36,153,211,.35)}
.dnf-chk .dnf-ph svg{width:17px;height:17px;flex:none}
.dnf-chk .dnf-ph:hover{transform:translateY(-1px);box-shadow:0 10px 18px -8px rgba(36,153,211,.8)}
.dnf-chk .dnf-ph:focus-visible{outline:2px solid #2499d3;outline-offset:2px}
.dnf-lb{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:18px;background:rgba(10,28,45,.72);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.dnf-lb.on{opacity:1;visibility:visible;transition-delay:0s}
.dnf-lb-in{position:relative;max-width:min(94vw,820px);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:10px;transform:scale(.94);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.dnf-lb.on .dnf-lb-in{transform:none}
.dnf-lb-in img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.dnf-lb-in p{margin:0;color:#fff;font:600 15px/1.3 Outfit,system-ui,sans-serif;text-align:center}
.dnf-lb-x{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#0f2a44;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.35)}
@media (max-width:600px){.dnf-lb-x{top:-10px;right:-6px}}
@media (prefers-reduced-motion:reduce){.dnf-lb,.dnf-lb-in{transition:none}}

/* [2026-11-14] a rendelő popup a fejléc (z-index 9999+) és a sticky sáv FÖLÖTT legyen (a süti-sáv 2147483000 alatt marad) */
html body .dnf-modal{z-index:2147482900!important}


/* [2026-11-14] fix ízű torta: az íz ki van írva, nem választható */
.dnf-fixrow{display:flex;align-items:center;gap:10px;margin-top:6px;padding:12px 14px;border:1.5px dashed rgba(36,153,211,.45);border-radius:14px;background:linear-gradient(180deg,#f7fcff,#eef8fd)}
.dnf-fixname{font-weight:700;color:#0f2a44;flex:1 1 auto}
.dnf-fixprice{font-weight:700;color:#0f2a44;white-space:nowrap}
.dnf-fixtag{flex:none;padding:4px 10px;border-radius:999px;background:#e3f4fc;color:#1478b3;font:700 12px/1 Outfit,system-ui,sans-serif;letter-spacing:.2px;white-space:nowrap}
@media (max-width:480px){.dnf-fixrow{flex-wrap:wrap}.dnf-fixname{flex-basis:100%}}
