.pk-party-planner {
    --party-accent: #f59f00;
    --party-accent-2: #ffb72b;
    --party-ink: #111827;
    --party-muted: #64748b;
    --party-line: #e2e8f0;
    --party-surface: #fff;
    --party-soft: #f7f8fa;
    background: radial-gradient(circle at 8% 8%, rgba(245,159,0,.11), transparent 28%), #f5f6f8;
    color: var(--party-ink);
    min-height: 70vh;
    padding: 72px 0 90px;
}
.pk-party-hero { margin: 0 auto 38px; max-width: 760px; text-align: center; }
.pk-party-hero__eyebrow { color: #a75d00; font-size: 14px; font-weight: 800; letter-spacing: .15em; }
.pk-party-hero__eyebrow span { color: var(--party-accent); font-size: 20px; margin-right: 5px; }
.pk-party-hero h1 { font-size: clamp(38px, 6vw, 68px); letter-spacing: -.045em; line-height: 1; margin: 12px 0 16px; }
.pk-party-hero p { color: var(--party-muted); font-size: 18px; line-height: 1.65; margin: 0 auto; max-width: 640px; }
.pk-party-hero__steps { align-items: center; color: var(--party-muted); display: flex; font-size: 14px; font-weight: 800; justify-content: center; margin-top: 26px; text-transform: uppercase; }
.pk-party-hero__steps i { background: var(--party-line); height: 1px; margin: 0 12px; width: 34px; }
.pk-party-grid { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); margin: auto; max-width: 1180px; }
.pk-party-form,.pk-party-result { background: var(--party-surface); border: 1px solid var(--party-line); border-radius: 20px; box-shadow: 0 18px 50px rgba(15,23,42,.08); overflow: hidden; }
.pk-party-section { border-bottom: 1px solid var(--party-line); padding: 26px 30px; }
.pk-party-section__head { align-items: flex-start; display: flex; gap: 14px; margin-bottom: 20px; }
.pk-party-section__head > b { align-items: center; background: rgba(245,159,0,.14); border-radius: 10px; color: #a75d00; display: flex; flex: 0 0 42px; height: 42px; justify-content: center; }
.pk-party-section h2 { font-size: 20px; margin: 0 0 3px; }
.pk-party-section p { color: var(--party-muted); font-size: 13px; margin: 0; }
.pk-party-range-row { align-items: center; display: grid; gap: 22px; grid-template-columns: 1fr 126px; }
.pk-party-range-row > input[type=range] { accent-color: var(--party-accent); cursor: pointer; width: 100%; }
.pk-party-range-row label { align-items: center; background: var(--party-soft); border: 1px solid var(--party-line); border-radius: 10px; display: flex; height: 48px; overflow: hidden; }
.pk-party-range-row label input { background: transparent; border: 0; color: var(--party-ink); font-size: 19px; font-weight: 800; min-width: 0; padding: 0 5px 0 14px; text-align: right; width: 70px; }
.pk-party-range-row label input:focus { outline: 0; }
.pk-party-range-row label span { color: var(--party-muted); font-size: 12px; padding-right: 10px; }
.pk-party-choices { display: grid; gap: 10px; grid-template-columns: repeat(4,1fr); }
.pk-party-choices input,.pk-party-pills input { position: absolute; opacity: 0; }
.pk-party-choices label span { align-items: center; background: var(--party-soft); border: 1px solid var(--party-line); border-radius: 12px; cursor: pointer; display: flex; flex-direction: column; font-size: 13px; font-weight: 700; gap: 7px; min-height: 82px; justify-content: center; transition: .18s ease; }
.pk-party-choices label i { font-size: 22px; font-style: normal; }
.pk-party-choices input:checked + span,.pk-party-pills input:checked + span { background: rgba(245,159,0,.12); border-color: var(--party-accent); box-shadow: 0 0 0 2px rgba(245,159,0,.1); color: #9a5700; }
.pk-party-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.pk-party-pills label span { background: var(--party-soft); border: 1px solid var(--party-line); border-radius: 999px; cursor: pointer; display: block; font-size: 13px; font-weight: 700; padding: 10px 16px; }
.pk-party-submit,.pk-party-cart { align-items: center; background: linear-gradient(135deg,var(--party-accent),var(--party-accent-2)); border: 0; color: #111827; display: flex; font-weight: 800; justify-content: center; width: 100%; }
.pk-party-submit { font-size: 16px; gap: 10px; padding: 19px 25px; }
.pk-party-submit span { font-size: 20px; }.pk-party-submit i,.pk-party-cart i { font-size: 22px; font-style: normal; margin-left: auto; }
.pk-party-submit:hover,.pk-party-cart:hover { background: #111827; color: #fff; }
.pk-party-error { color: #dc2626; font-size: 12px; margin-top: 8px; }
.pk-party-result { padding: 28px; position: sticky; top: 110px; }
.pk-party-result__preview { padding: 38px 20px; text-align: center; }
.pk-party-result__preview > span { color: var(--party-accent); font-size: 30px; }
.pk-party-plate { align-items:center; background:transparent; display:flex; height:180px; justify-content:center; margin:12px auto 22px; width:150px; }.pk-party-plate img { display:block; filter:drop-shadow(0 10px 14px rgba(0,0,0,.2)); max-height:180px; max-width:150px; object-fit:contain; }
.pk-party-result__preview h2 { font-size: 25px; margin-bottom: 8px; }.pk-party-result__preview p { color: var(--party-muted); }
.pk-party-result__preview ul { display: inline-grid; gap: 7px; list-style: none; margin: 18px 0 0; padding: 0; text-align: left; }.pk-party-result__preview li { color: var(--party-muted); font-size: 13px; }
.pk-party-result__head { align-items: center; border-bottom: 1px solid var(--party-line); display: flex; justify-content: space-between; padding-bottom: 18px; }
.pk-party-result__head small { color: #a75d00; font-size: 10px; font-weight: 800; letter-spacing: .13em; }.pk-party-result__head h2 { font-size: 24px; margin: 3px 0 0; }.pk-party-result__head > span { color: var(--party-accent); font-size: 30px; }
.pk-party-product { align-items: center; border-bottom: 1px solid var(--party-line); display: grid; gap: 12px; grid-template-columns: 62px 1fr auto; padding: 14px 0; }
.pk-party-product__image { align-items: center; background: var(--party-soft); border-radius: 11px; display: flex; height: 62px; justify-content: center; overflow: hidden; }.pk-party-product__image img { height: 100%; object-fit: contain; width: 100%; }
.pk-party-product__name { color: var(--party-ink); display: block; font-size: 14px; font-weight: 750; line-height: 1.25; }.pk-party-product__name:hover { color: #b66700; }.pk-party-product small { color: var(--party-muted); display: block; font-size: 11px; margin-top: 5px; }.pk-party-product strong { color: #b66700; font-size: 14px; white-space: nowrap; }
.pk-party-total { align-items: end; display: flex; justify-content: space-between; padding: 22px 0 18px; }.pk-party-total span { font-size: 17px; font-weight: 800; }.pk-party-total small { color: var(--party-muted); display: block; font-size: 11px; font-weight: 500; }.pk-party-total strong { color: #b66700; font-size: 29px; }
.pk-party-cart { border-radius: 11px; padding: 15px 18px; }.pk-party-cart__loading { display: none; }.pk-party-cart.is-loading .pk-party-cart__label { display: none; }.pk-party-cart.is-loading .pk-party-cart__loading { display: block; }.pk-party-cart-message { color: var(--party-muted); font-size: 12px; min-height: 18px; padding-top: 8px; text-align: center; }.pk-party-empty { color: var(--party-muted); padding: 50px 15px; text-align: center; }
.pk-party-launcher { align-items: center; background: linear-gradient(135deg,#f59f00,#ffb72b); border: 1px solid #ffc85f; border-radius: 999px; bottom: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.22); color: #111827!important; display: flex; font-size: 13px; font-weight: 800; gap: 7px; left: 24px; padding: 11px 17px; position: fixed; text-decoration: none!important; transition: .18s ease; z-index: 999; }.pk-party-launcher:hover { background: #252629; border-color: #66717f; color: #ff9c00!important; transform: translateY(-2px); }.pk-party-launcher__spark { font-size: 17px; }

html.pk-store-dark .pk-party-planner { --party-ink:#f3f4f6; --party-muted:#b7c1ce; --party-line:#4b5563; --party-surface:#252629; --party-soft:#202226; background:radial-gradient(circle at 8% 8%,rgba(245,159,0,.09),transparent 28%),#2b2e34; }
html.pk-store-dark .pk-party-form,html.pk-store-dark .pk-party-result { box-shadow:0 18px 50px rgba(0,0,0,.22); }
html.pk-store-dark .pk-party-section__head>b,html.pk-store-dark .pk-party-choices input:checked+span,html.pk-store-dark .pk-party-pills input:checked+span { color:#ffb72b; }
html.pk-store-dark .pk-party-product strong,html.pk-store-dark .pk-party-total strong,html.pk-store-dark .pk-party-result__head small { color:#ffb72b; }
html.pk-store-dark .pk-party-plate { background:transparent; }

@media(max-width:991px){.pk-party-grid{grid-template-columns:1fr}.pk-party-result{position:static}.pk-party-planner{padding-top:50px}}
@media(max-width:575px){.pk-party-planner{padding:38px 0 70px}.pk-party-hero{margin-bottom:25px}.pk-party-hero p{font-size:15px}.pk-party-hero__steps{display:none}.pk-party-section{padding:22px 18px}.pk-party-choices{grid-template-columns:repeat(2,1fr)}.pk-party-range-row{gap:12px;grid-template-columns:1fr 110px}.pk-party-result{padding:20px}.pk-party-product{grid-template-columns:52px 1fr auto}.pk-party-product__image{height:52px}.pk-party-launcher{bottom:14px;left:14px}}

/* Version 2: package tiers and structured menu results. */
.pk-party-tier-choices { display:grid; gap:10px; grid-template-columns:repeat(3,1fr); }
.pk-party-tier-choices input { opacity:0; position:absolute; }
.pk-party-tier-choices label span { background:var(--party-soft); border:1px solid var(--party-line); border-radius:13px; cursor:pointer; display:flex; flex-direction:column; min-height:128px; padding:16px; transition:.18s ease; }
.pk-party-tier-choices label b { font-size:14px; line-height:1.25; }
.pk-party-tier-choices label small { color:var(--party-muted); font-size:11px; line-height:1.4; margin:7px 0 12px; }
.pk-party-tier-choices label em { color:#a75d00; font-size:11px; font-style:normal; font-weight:800; margin-top:auto; }
.pk-party-tier-choices input:checked + span { background:rgba(245,159,0,.12); border-color:var(--party-accent); box-shadow:0 0 0 2px rgba(245,159,0,.1); }
.pk-party-result__head p { color:var(--party-muted); font-size:12px; margin:4px 0 0; }
.pk-party-warning { align-items:flex-start; background:rgba(245,159,0,.1); border:1px solid rgba(245,159,0,.35); border-radius:10px; color:#8a5100; display:flex; font-size:12px; gap:9px; line-height:1.45; margin-top:14px; padding:10px 12px; }
.pk-party-warning > span { align-items:center; background:var(--party-accent); border-radius:50%; color:#111827; display:flex; flex:0 0 20px; font-size:12px; font-weight:900; height:20px; justify-content:center; }
.pk-party-group { margin-top:18px; }
.pk-party-group h3 { align-items:center; border-bottom:1px solid var(--party-line); display:flex; justify-content:space-between; margin:0; padding:0 0 8px; }
.pk-party-group h3 span { color:var(--party-ink); font-size:13px; font-weight:800; letter-spacing:.02em; }
.pk-party-group h3 small { background:var(--party-soft); border:1px solid var(--party-line); border-radius:999px; color:var(--party-muted); font-size:10px; font-weight:700; padding:3px 8px; }
.pk-party-group .pk-party-product:last-child { border-bottom:0; }
.pk-party-total em { background:#fee2e2; border-radius:999px; color:#b91c1c; display:inline-block; font-size:9px; font-style:normal; margin-left:6px; padding:3px 7px; text-transform:uppercase; vertical-align:middle; }
.pk-party-total em.is-good { background:#dcfce7; color:#15803d; }
html.pk-store-dark .pk-party-tier-choices label em { color:#ffb72b; }
html.pk-store-dark .pk-party-warning {
    background:linear-gradient(135deg,rgba(127,29,29,.38),rgba(69,10,10,.24));
    border-color:rgba(248,113,113,.62);
    box-shadow:inset 0 0 0 1px rgba(248,113,113,.08),0 8px 22px rgba(69,10,10,.18);
    color:#fecaca;
}
html.pk-store-dark .pk-party-warning > span {
    background:#ef4444;
    box-shadow:0 0 0 3px rgba(239,68,68,.16);
    color:#fff;
}
html.pk-store-dark .pk-party-total em { background:#4a2328; color:#ff9bab; }
html.pk-store-dark .pk-party-total em.is-good { background:#173a2a; color:#7ce3ad; }

@media(max-width:767px){.pk-party-tier-choices{grid-template-columns:1fr}.pk-party-tier-choices label span{min-height:0}.pk-party-tier-choices label small{margin-bottom:8px}}

.pk-party-choices { grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); }
.pk-party-filter-title { color:var(--party-ink); font-size:13px; font-weight:800; margin:20px 0 10px; }
.pk-party-filter-grid { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pk-party-filter-grid input { opacity:0; position:absolute; }
.pk-party-filter-grid label span { background:var(--party-soft); border:1px solid var(--party-line); border-radius:12px; cursor:pointer; display:flex; flex-direction:column; height:100%; min-height:112px; padding:13px; transition:.18s ease; }
.pk-party-filter-grid label i { font-size:21px; font-style:normal; margin-bottom:7px; }
.pk-party-filter-grid label b { font-size:12px; line-height:1.3; }
.pk-party-filter-grid label small { color:var(--party-muted); font-size:10px; line-height:1.4; margin-top:6px; }
.pk-party-filter-grid input:checked + span { background:rgba(245,159,0,.12); border-color:var(--party-accent); box-shadow:0 0 0 2px rgba(245,159,0,.1); }
.pk-party-filter-note { color:var(--party-muted); font-size:11px; line-height:1.45; margin-top:10px; }
.pk-party-tier-choices label em { color:#b66700; font-size:14px; line-height:1.25; padding-top:3px; }
.pk-party-result__preview p { font-size:15px; line-height:1.55; }
.pk-party-result__preview ul { align-items:center; display:flex; flex-direction:column; gap:7px; justify-content:center; width:100%; }
.pk-party-result__preview li { background:transparent; border:0; color:var(--party-ink); font-size:14px; font-weight:650; padding:2px 0; text-align:center; }
html.pk-store-dark .pk-party-filter-grid input:checked + span { color:#ffb72b; }
@media(max-width:767px){.pk-party-filter-grid{grid-template-columns:1fr}.pk-party-filter-grid label span{min-height:0}}

.pk-party-product {
    background:transparent!important;
}
.pk-party-product__image {
    background:transparent;
    border:1px solid color-mix(in srgb, var(--party-ink) 24%, transparent);
    padding:3px;
}
.pk-party-product__content { min-width:0; }
.pk-party-product__controls { align-items:center; display:flex; flex-wrap:wrap; gap:8px; margin-top:7px; }
.pk-party-product__controls small { margin:0; }
.pk-party-quantity {
    align-items:center;
    background:transparent;
    border:1px solid var(--party-line);
    border-radius:7px;
    display:inline-flex;
    height:28px;
    overflow:hidden;
}
.pk-party-quantity button {
    align-items:center;
    background:transparent;
    border:0;
    color:var(--party-muted);
    display:flex;
    font-size:17px;
    height:100%;
    justify-content:center;
    padding:0;
    transition:.16s ease;
    width:27px;
}
.pk-party-quantity button:hover:not(:disabled) { background:rgba(245,159,0,.14); color:var(--party-accent); }
.pk-party-quantity button:disabled { cursor:not-allowed; opacity:.32; }
.pk-party-quantity span { border-left:1px solid var(--party-line); border-right:1px solid var(--party-line); color:var(--party-ink); font-size:12px; font-weight:800; line-height:26px; min-width:35px; padding:0 6px; text-align:center; }
.pk-party-product__actions { align-items:flex-end; display:flex; flex-direction:column; gap:17px; }
.pk-party-product__remove { background:transparent; border:0; color:var(--party-muted); font-size:21px; font-weight:400; height:24px; line-height:1; padding:0; transition:.16s ease; width:24px; }
.pk-party-product__remove:hover { color:#ef4444; transform:scale(1.08); }
.pk-party-product__actions strong { color:#b66700; font-size:14px; white-space:nowrap; }
html.pk-store-dark .pk-party-product__image { border-color:rgba(255,255,255,.24); }
html.pk-store-dark .pk-party-product__actions strong { color:#ffb72b; }
@media(max-width:575px){
    .pk-party-product{gap:9px;grid-template-columns:48px minmax(0,1fr) auto}
    .pk-party-product__image{height:48px}
    .pk-party-product__controls{align-items:flex-start;flex-direction:column;gap:5px}
    .pk-party-product__actions{gap:22px}
}
.pk-party-table-toggle { display:block; margin:0; position:relative; }
.pk-party-table-toggle > input { opacity:0; position:absolute; }
.pk-party-table-toggle__card { align-items:center; background:var(--party-soft); border:1px solid var(--party-line); border-radius:14px; cursor:pointer; display:grid; gap:14px; grid-template-columns:auto minmax(0,1fr) auto; min-height:86px; padding:16px; transition:.18s ease; }
.pk-party-table-toggle__switch { background:#596170; border:1px solid var(--party-line); border-radius:999px; display:block; height:28px; position:relative; transition:.18s ease; width:50px; }
.pk-party-table-toggle__switch::after { background:#fff; border-radius:50%; content:""; height:20px; left:3px; position:absolute; top:3px; transition:.18s ease; width:20px; }
.pk-party-table-toggle__card b { color:var(--party-ink); display:block; font-size:15px; line-height:1.3; }
.pk-party-table-toggle__card small { color:var(--party-muted); display:block; font-size:11px; line-height:1.5; margin-top:4px; }
.pk-party-table-toggle__card em { background:rgba(139,148,163,.13); border:1px solid var(--party-line); border-radius:999px; color:var(--party-muted); font-size:10px; font-style:normal; font-weight:800; padding:6px 9px; white-space:nowrap; }
.pk-party-table-toggle > input:checked + .pk-party-table-toggle__card { background:rgba(245,159,0,.1); border-color:var(--party-accent); box-shadow:0 0 0 2px rgba(245,159,0,.08); }
.pk-party-table-toggle > input:checked + .pk-party-table-toggle__card .pk-party-table-toggle__switch { background:var(--party-accent); border-color:var(--party-accent); }
.pk-party-table-toggle > input:checked + .pk-party-table-toggle__card .pk-party-table-toggle__switch::after { transform:translateX(22px); }
.pk-party-table-toggle > input:checked + .pk-party-table-toggle__card em { background:var(--party-accent); border-color:var(--party-accent); color:#171717; }
.pk-party-filter-grid--extras label.is-disabled { opacity:.42; pointer-events:none; }
@media(max-width:575px){.pk-party-table-toggle__card{grid-template-columns:auto minmax(0,1fr)}.pk-party-table-toggle__card em{grid-column:2;justify-self:start}.pk-party-table-toggle__switch{align-self:start}}
@media(max-width:575px){.pk-party-plate{height:155px;margin-bottom:18px}.pk-party-plate img{max-height:155px;max-width:130px}}

/* 2.5: improved readability, transparent result rows, and confirmation dialogs. */
.pk-party-section__head p { font-size:13px; line-height:1.5; }
.pk-party-choices label span { font-size:14px; }
.pk-party-filter-title { font-size:14px; }
.pk-party-filter-grid label b { font-size:14px; line-height:1.35; }
.pk-party-filter-grid label small { font-size:12px; line-height:1.5; }
.pk-party-filter-note { font-size:12px; line-height:1.55; }
.pk-party-table-toggle__card b { font-size:16px; }
.pk-party-table-toggle__card small { font-size:12px; line-height:1.5; }
.pk-party-table-toggle__card em { font-size:11px; }
.pk-party-tier-choices label b { font-size:15px; }
.pk-party-tier-choices label small { font-size:12px; line-height:1.45; }
.pk-party-result__head p { font-size:13px; }
.pk-party-warning { font-size:13px; }
.pk-party-group h3 span { font-size:14px; }
.pk-party-group h3 small { font-size:11px; }
.pk-party-product__name { font-size:15px; line-height:1.3; }
.pk-party-product small { font-size:12px; }
.pk-party-quantity span { font-size:13px; }
.pk-party-product__actions strong { font-size:15px; }
.pk-party-product,
html.pk-store-dark .pk-party-product { background-color:transparent!important; background-image:none!important; border-radius:0!important; box-shadow:none!important; }
.pk-party-product::before,.pk-party-product::after { content:none!important; display:none!important; }
.pk-party-group { background:transparent!important; }
.pk-party-cart-actions { display:grid; gap:10px; margin-top:0; }
.pk-party-clear { align-items:center; background:transparent; border:1px solid rgba(239,68,68,.6); border-radius:10px; color:#dc3545; display:flex; font-size:13px; font-weight:800; gap:7px; justify-content:center; min-height:42px; padding:10px 14px; transition:.16s ease; width:100%; }
.pk-party-clear span { font-size:19px; font-weight:400; line-height:1; }
.pk-party-clear:hover:not(:disabled) { background:rgba(239,68,68,.1); border-color:#ef4444; color:#ef4444; }
.pk-party-clear:disabled { cursor:not-allowed; opacity:.35; }
.pk-party-modal[hidden] { display:none!important; }
.pk-party-modal { align-items:center; background:rgba(5,10,18,.76); display:flex; inset:0; justify-content:center; opacity:0; padding:20px; position:fixed; transition:opacity .16s ease; z-index:10050; }
.pk-party-modal.is-open { opacity:1; }
.pk-party-modal__dialog { background:var(--party-surface); border:1px solid var(--party-line); border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.42); color:var(--party-ink); max-width:470px; padding:27px; position:relative; text-align:center; transform:translateY(10px) scale(.98); transition:transform .16s ease; width:100%; }
.pk-party-modal.is-open .pk-party-modal__dialog { transform:none; }
.pk-party-modal__close { background:transparent; border:0; color:var(--party-muted); font-size:24px; line-height:1; padding:5px; position:absolute; right:12px; top:9px; }
.pk-party-modal__icon { align-items:center; background:rgba(245,159,0,.15); border:1px solid rgba(245,159,0,.55); border-radius:50%; color:var(--party-accent); display:flex; font-size:20px; font-weight:900; height:46px; justify-content:center; margin:0 auto 14px; width:46px; }
.pk-party-modal__icon.is-danger { background:rgba(239,68,68,.13); border-color:rgba(239,68,68,.5); color:#ef4444; }
.pk-party-modal h3 { color:var(--party-ink); font-size:21px; margin:0 0 8px; }
.pk-party-modal p { color:var(--party-muted); font-size:14px; line-height:1.55; margin:0; }
.pk-party-modal p strong { color:var(--party-accent); }
.pk-party-modal__actions { display:flex; gap:10px; justify-content:center; margin-top:22px; }
.pk-party-modal__actions button { border-radius:9px; font-size:13px; font-weight:800; min-height:42px; padding:10px 16px; }
.pk-party-modal__secondary { background:transparent; border:1px solid var(--party-line); color:var(--party-ink); }
.pk-party-modal__primary { background:var(--party-accent); border:1px solid var(--party-accent); color:#111827; }
.pk-party-modal__danger { background:#dc3545; border:1px solid #dc3545; color:#fff; }
html.pk-party-modal-open { overflow:hidden; }
@media(max-width:575px){.pk-party-section__head p{font-size:12px}.pk-party-filter-grid label b{font-size:13px}.pk-party-modal__actions{flex-direction:column}.pk-party-modal__actions button{width:100%}}
.pk-party-license {
    color:var(--party-muted);
    font-size:10px;
    letter-spacing:.025em;
    margin:22px auto 0;
    max-width:1320px;
    opacity:.72;
    padding:0 18px;
    text-align:center;
}
.pk-party-license strong { color:var(--party-ink); font-weight:700; }