/* Rounded theme refinements. Loaded after pro.css and mk.css. */
:root {
  --mk-radius-control: 12px;
  --mk-radius-card: 20px;
  --bs-border-radius: 12px;
  --bs-border-radius-sm: 8px;
  --bs-border-radius-lg: 16px;
  --bs-border-radius-xl: 20px;
  --bs-border-radius-xxl: 24px;
}

/* Keep existing button colours, states and focus outlines. */
.mk-body .mk-btn,
.mk-body .btn {
  --mk-slant: 0deg;
  border-radius: var(--mk-radius-control);
}
.mk-body .mk-btn::before,
.mk-body .mk-sa-form :is(.buy-buttons, .col-12) > .col > .btn::before,
.mk-body .mk-sa-form .col-12 > .btn.w-100::before,
.mk-body.mk-tpl-cart .btn[type="submit"]::before {
  border-radius: var(--mk-radius-control);
}

.mk-body :is(.mk-chip, .mk-badge, .badge, .mk-pay li, .cart-addon-badge) {
  border-radius: 999px;
}
.mk-body :is(.mk-input, .mk-select, .mk-mini-select, .form-control, .form-select,
  .choices__inner, .mk-page, .mk-shot-nav, .mk-buybar-change) {
  border-radius: var(--mk-radius-control);
}
.mk-body main .pagination {
  --bs-pagination-border-radius: var(--mk-radius-control);
}
.mk-body main .pagination .page-link {
  border-radius: var(--mk-radius-control);
}

.mk-body :is(.mk-card, .card, .mk-panel-box, .mk-empty, .mk-chan,
  .modal-content, .mk-tpl-cart .cart-item-bg) {
  border-radius: var(--mk-radius-card);
}
.mk-body .mk-card-media,
.mk-body .card > .card-img-top {
  border-radius: var(--mk-radius-card) var(--mk-radius-card) 0 0;
}
.mk-body .mk-card-body {
  border-radius: 0 0 var(--mk-radius-card) var(--mk-radius-card);
}
.mk-body .mk-card::after {
  inset-inline-start: 20px;
  border-radius: 999px;
}
.mk-body :is(.mk-shot, .mk-thumb, .mk-thumb::after, .mk-panel-box,
  .accordion-item, .alert, .dropdown-menu, .choices__list--dropdown,
  .mk-sa-form .variants .variant, .mk-sa-form .addon-item) {
  border-radius: var(--mk-radius-control);
}
.mk-body .mk-shot,
.mk-body .mk-thumb {
  overflow: hidden;
}
.mk-body .mk-sa-form .variants .variant .variant-image,
.mk-body.mk-tpl-cart .cart-image-container img {
  border-radius: 8px !important;
}

/* Round quantity groups as a unit; keep their inner seams straight. */
.mk-body .mk-sa-form .input-group,
.mk-body.mk-tpl-cart .cart-quantity-controls {
  border-radius: var(--mk-radius-control);
}
.mk-body .mk-sa-form .input-group > :first-child,
.mk-body.mk-tpl-cart .cart-quantity-controls > :first-child {
  border-start-start-radius: var(--mk-radius-control);
  border-end-start-radius: var(--mk-radius-control);
}
.mk-body .mk-sa-form .input-group > :last-child,
.mk-body.mk-tpl-cart .cart-quantity-controls > :last-child {
  border-start-end-radius: var(--mk-radius-control);
  border-end-end-radius: var(--mk-radius-control);
}
.mk-body .mk-sa-form .input-group > .form-control {
  border-radius: 0;
}


/* Customer perks and moving reviews, using the existing MK colour tokens. */
.mk-body .mk-card-media { transition: box-shadow .25s ease; }
.mk-body .mk-card:hover .mk-card-media { box-shadow: 0 12px 36px color-mix(in srgb, var(--mk-red) 16%, transparent); }
.mk-body .mk-chip { transition: background .2s, border-color .2s, color .2s, box-shadow .2s; }
.mk-body .mk-chip:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-red) 12%, transparent); }
.mk-marquee-controls { display:flex; justify-content:flex-end; }
.mk-body .mk-reviews-row.mk-marquee { display:flex; gap:0; overflow:hidden; padding:8px 0 20px; }
.mk-marquee-group { display:flex; flex:0 0 auto; gap:20px; padding-right:20px; }
.mk-body .mk-marquee .mk-review { flex:0 0 auto; width:360px; max-width:82vw; margin:0; padding:28px; border:1px solid var(--mk-line); border-radius:20px; background:var(--mk-bg-1); color:var(--mk-ink); }
.mk-body .mk-marquee .mk-review::before { display:none; }
.mk-body .mk-marquee .mk-review blockquote { font-size:17px; line-height:1.65; }
.mk-body .mk-marquee .mk-review figcaption { color:var(--mk-ink-2); }
.mk-body .mk-marquee.is-static { overflow-x:auto; }
.mk-body .mk-reward-launch { position:fixed; bottom:24px; right:20px; z-index:1030; box-shadow:0 8px 28px #0003; }
.mk-body.mk-tpl-product .mk-reward-launch { bottom:100px; }
.mk-reward-dialog { box-sizing:border-box; width:min(520px,calc(100% - 32px)); max-height:85dvh; overflow:auto; padding:40px; border:1px solid var(--mk-line-strong); border-radius:24px; background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--mk-red) 15%,transparent),transparent 70%),var(--mk-bg-1); color:var(--mk-ink); box-shadow:0 30px 100px #0007; }
.mk-reward-dialog::backdrop { background:#0009; backdrop-filter:blur(7px); }
.mk-reward-dialog h2 { font-family:var(--mk-font-display); font-size:clamp(28px,5vw,40px); line-height:1.1; margin:16px 0; }
.mk-reward-dialog p { color:var(--mk-ink-2); line-height:1.6; }
.mk-reward-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border:1px solid var(--mk-line); border-radius:50%; background:var(--mk-bg-1); color:var(--mk-ink); font-size:26px; cursor:pointer; }
.mk-coupon-box { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; border:1px dashed var(--mk-line-strong); padding:16px; border-radius:14px; margin:20px 0; }
.mk-coupon-box code { font-size:22px; color:var(--mk-red-ink); overflow-wrap:anywhere; }
.mk-reward-note { font-size:12px; }
.mk-wheel-wrap { position:relative; width:220px; margin:24px auto; }
.mk-wheel-pointer { position:absolute; top:-12px; left:calc(50% - 10px); z-index:1; color:var(--mk-ink); font-size:24px; }
.mk-reward-wheel { width:220px; height:220px; border:8px solid var(--mk-line-strong); border-radius:50%; background:repeating-conic-gradient(var(--mk-red) 0deg 45deg,var(--mk-bg-2) 45deg 90deg); display:grid; place-items:center; }
.mk-reward-wheel span { display:grid; place-items:center; width:100px; height:100px; border-radius:50%; background:var(--mk-bg-1); color:var(--mk-ink); text-align:center; font:700 14px/1.2 var(--mk-font-text); }
.mk-reward-dialog [hidden] { display:none !important; }
@media(max-width:560px) { .mk-reward-dialog {padding:32px 20px 24px;} .mk-body .mk-reward-launch {bottom:16px;right:10px;} }


/* Landscape hero cards: every category retains its own 16:9 frame. */
.mk-hero-landscape { padding:24px var(--mk-gutter); max-width:var(--mk-wrap); margin-inline:auto; }
.mk-hero-landscape .mk-hero { height:auto; min-height:0; overflow:visible; background:transparent; }
.mk-hero-landscape .mk-hero::after { display:none; }
.mk-hero-landscape .mk-hero-track { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; background:transparent; }
.mk-hero-landscape .mk-hero-panel:nth-child(n) { aspect-ratio:16/9; min-width:0; margin:0; clip-path:none; border-radius:20px; border:1px solid var(--mk-line-strong); transition:border-color .25s,box-shadow .25s,transform .25s; }
.mk-hero-landscape .mk-hero-panel:hover,
.mk-hero-landscape .mk-hero-panel:focus-visible { box-shadow:0 0 0 1px var(--mk-red),0 8px 30px color-mix(in srgb,var(--mk-red) 22%,transparent); border-color:var(--mk-red); }
.mk-hero-landscape .mk-hero-inner { max-width:90%; gap:10px; }
.mk-hero-landscape .mk-hero-title { font-size:clamp(24px,3cqw,52px); }
.mk-hero-landscape .mk-hero-eyebrow { font-size:10px; letter-spacing:.08em; white-space:normal; }
.mk-hero-landscape .mk-hero-index { font-size:10px; }
.mk-hero-landscape .mk-hero-ghost { font-size:clamp(70px,10cqw,170px); }
.mk-hero-landscape .mk-hero-reveal { display:none; }
.mk-hero-landscape .mk-hero-meta { position:relative; inset:auto; margin-top:18px; padding:0; color:var(--mk-ink-2); }
.mk-body .mk-nav-discord { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px; height:40px; border:1px solid #ffffff20; border-radius:11px; background:#5865f2; color:#fff; box-shadow:0 0 16px #5865f233; transition:background .2s,box-shadow .2s; }
.mk-nav-discord svg { width:21px; height:21px; }
.mk-body .mk-nav-discord:hover { background:#4752c4; color:#fff; box-shadow:0 0 24px #5865f266; }
.mk-body .mk-nav-link[aria-current="page"] { text-shadow:0 0 14px color-mix(in srgb,var(--mk-red) 40%,transparent); }
.mk-body .mk-btn-go::before { box-shadow:0 4px 20px color-mix(in srgb,var(--mk-red) 22%,transparent); }
.mk-body .mk-btn-go:hover::before { box-shadow:0 6px 28px color-mix(in srgb,var(--mk-red) 35%,transparent); }
@container (max-width:900px) {
  .mk-hero-landscape .mk-hero-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mk-hero-landscape .mk-hero-title { font-size:clamp(28px,4.5cqw,44px); }
}
@container (max-width:560px) {
  .mk-hero-landscape .mk-hero-track { grid-template-columns:minmax(0,1fr); gap:16px; }
  .mk-hero-landscape .mk-hero-title { font-size:clamp(30px,8cqw,48px); }
  .mk-hero-landscape .mk-hero-inner { gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .mk-hero-landscape .mk-hero-panel:nth-child(n) { animation:none; transition:none; }
  .mk-hero-landscape .mk-hero-inner { animation:none; }
}

/* Review refresh: one continuous belt with compact, readable customer cards. */
.mk-body .mk-stack { min-width:0; }
.mk-body [data-mk-marquee].mk-marquee { display:block; width:100%; max-width:100%; min-width:0; overflow:hidden; padding:12px 0 24px; }
.mk-marquee-track { display:flex; width:max-content; gap:0; direction:ltr; will-change:transform; }
.mk-marquee-group { display:flex; align-items:stretch; gap:20px; padding-right:20px; flex:0 0 auto; }
.mk-body .mk-review { position:relative; display:flex; flex-direction:column; gap:18px; box-sizing:border-box; padding:26px; margin:0; border:1px solid var(--mk-line-strong); border-radius:18px; background:linear-gradient(145deg,color-mix(in srgb,var(--mk-ink) 3%,transparent),transparent 65%),var(--mk-bg-1); color:var(--mk-ink); transition:border-color .2s,box-shadow .2s; }
.mk-body .mk-marquee .mk-review { width:360px; max-width:82vw; flex:0 0 auto; padding:26px; border-radius:18px; }
.mk-body .mk-review::before { display:none; }
.mk-body .mk-review:hover,.mk-body .mk-review:focus-within { border-color:var(--mk-red); box-shadow:0 8px 28px color-mix(in srgb,var(--mk-red) 12%,transparent); }
.mk-review-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.mk-review-quote { color:var(--mk-red-ink); font:64px/.65 Georgia,serif; height:32px; }
.mk-review-content { flex:1; min-width:0; overflow-wrap:anywhere; }
.mk-body .mk-review blockquote,.mk-review-preview { margin:0; font:400 15px/1.7 var(--mk-font-text); color:var(--mk-ink-2); }
.mk-body .mk-review .mk-stars { color:#e9b44c; }
.mk-body .mk-review figcaption { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; padding-top:16px; border-top:1px solid var(--mk-line); color:var(--mk-ink-2); font-size:12px; }
.mk-review-person { display:flex; flex-direction:column; gap:5px; min-width:0; }
.mk-review-product { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:200px; font-size:11px; }
.mk-review-date { flex-shrink:0; font-size:11px; color:var(--mk-ink-3); }
.mk-body .mk-review-reply { margin:16px 0 0; padding:14px; border:1px solid var(--mk-line); border-inline-start:2px solid var(--mk-red); border-radius:10px; background:color-mix(in srgb,var(--mk-red) 5%,transparent); }
.mk-review-reply p { margin:6px 0 0; font-size:13px; line-height:1.6; }
.mk-review-expand summary { cursor:pointer; list-style:none; }
.mk-review-expand summary::-webkit-details-marker { display:none; }
.mk-review-expand-label { display:block; width:fit-content; margin-top:12px; border-bottom:1px solid var(--mk-red); color:var(--mk-red-ink); font-size:12px; }
.mk-review-expand[open] .mk-review-preview { display:none; }
.mk-review-expand[open] summary { margin-bottom:12px; }
.mk-body [data-mk-marquee].is-static { overflow-x:auto; }
@media(prefers-reduced-motion:reduce) { .mk-body .mk-review { transition:none; } }

/* Compact cards and navigation polish. */
.mk-body .mk-marquee .mk-review { width:292px; max-width:82vw; padding:20px; border-radius:14px; gap:14px; }
.mk-body .mk-review blockquote,.mk-body .mk-review-preview { font-size:14px; line-height:1.65; }
.mk-body .mk-marquee-group { gap:14px; padding-right:14px; }
.mk-body .mk-review-top { gap:12px; }
.mk-body .mk-review-quote { font-size:48px; height:26px; }
.mk-body .mk-review figcaption { flex-wrap:wrap; gap:8px; padding-top:12px; }
.mk-body .mk-review-product { max-width:180px; }
.mk-body .mk-review-img { max-height:140px; width:100%; object-fit:contain; border-radius:8px; }
.mk-body .mk-sa-form .variants .variant { min-height:50px; padding:9px 13px; border-radius:11px; gap:12px; font-size:14px; line-height:19px; }
.mk-body .mk-sa-form .variants .variant .stock { font-size:12px; line-height:17px; }
.mk-body .mk-sa-form .variants .variant .price { font-size:14px; }
.mk-body .mk-sa-form .variants .variant.active { box-shadow:inset 0 0 0 1px var(--mk-ink),0 0 18px color-mix(in srgb,var(--mk-red) 10%,transparent); }
.mk-legal-menu { position:relative; }
.mk-legal-menu > summary { list-style:none; gap:7px; }
.mk-legal-menu > summary::-webkit-details-marker { display:none; }
.mk-legal-menu[open] > summary { color:var(--mk-ink); }
.mk-legal-menu[open] > summary::after { transform:scaleX(1); }
.mk-legal-menu[open] > summary > svg { transform:rotate(180deg); }
.mk-legal-dropdown { position:absolute; top:calc(100% + 4px); left:0; z-index:1050; width:220px; padding:7px; border:1px solid var(--mk-line-strong); border-radius:12px; background:var(--mk-bg-1); box-shadow:0 12px 35px #0004; }
.mk-legal-dropdown a { display:flex; align-items:center; gap:10px; padding:12px 10px; color:var(--mk-ink-2); font-size:13px; font-weight:500; text-decoration:none; border-radius:7px; }
.mk-legal-dropdown a:hover,.mk-legal-dropdown a:focus-visible { color:var(--mk-ink); background:var(--mk-bg-2); }
.mk-legal-dropdown a svg { width:17px; height:17px; flex:none; }
.mk-body .mk-sa-form .mk-stripe-checkout { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; background:#15151a; color:#fff; border:1px solid #d9b44a; }
.mk-body .mk-sa-form .mk-stripe-checkout:hover:not(:disabled) { background:#242126; box-shadow:0 0 18px #edc45420; }
.mk-stripe-wordmark { color:#f5cd62; font-size:38px; line-height:1; }
.mk-payment-note { text-align:center; font-size:11px; line-height:1.5; color:var(--mk-ink-3); margin:8px 0 0; }
@media(max-width:900px) {
  .mk-menu .mk-legal-menu { padding:4px 0; }
  .mk-menu .mk-legal-menu > summary { min-height:48px; font-size:17px; }
  .mk-menu .mk-legal-dropdown { position:static; width:100%; margin-top:4px; box-shadow:none; }
}
@media(max-width:380px) { .mk-body .mk-nav-discord {width:36px;height:36px;flex-basis:36px;} .mk-body .mk-wordmark {font-size:14px;} }

.mk-body .mk-sa-form .col-12 > .btn.mk-stripe-checkout { background:#15151a; color:#fff; border:1px solid #d9b44a; }
.mk-body .mk-sa-form .col-12 > .btn.mk-stripe-checkout::before { display:none; }
.mk-body .mk-sa-form .col-12 > .btn.mk-stripe-checkout:hover:not(:disabled) { background:#242126; }
/* Larger product gallery on desktop, with the full image visible. */
@media (min-width: 961px) {
  .mk-pd {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 32px;
  }
}

.mk-shot img {
  object-fit: contain;
}

/* Match the landscape product artwork without letterboxing. */
.mk-shot {
  aspect-ratio: 16 / 9;
}