@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

body.design-theme-cursed-carnival {
  --bg: #110b12;
  --surface: #211620;
  --text: #f2e3d6;
  --primary: #d38b5d;
  --primary-hover: #efb780;
  --secondary: #a57791;
  --secondary-hover: #c99cb5;
  --accent: #f0aa72;
  --accent-hover: #f5c78d;
  --muted: #2a3536;
  --carnival-line: rgba(218, 134, 109, .46);
  --carnival-panel: rgba(28, 13, 24, .93);
  --carnival-deep: rgba(18, 8, 17, .96);
  isolation: isolate;
  min-height: 100vh;
  color: var(--text);
  font-family: 'DM Sans', sans-serif;
  background-color: #110b12;
  background-image:
    linear-gradient(180deg, rgba(16, 5, 15, .27) 0%, rgba(20, 8, 18, .62) 42%, #110b12 100%),
    url('assets/cursed-carnival-backdrop.png');
  background-position: center, center top;
  background-size: cover, cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

body.design-theme-cursed-carnival::before,
body.design-theme-cursed-carnival::after {
  content: '';
  position: fixed;
  inset: -18% -30%;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
}

body.design-theme-cursed-carnival::before {
  background:
    radial-gradient(ellipse 32% 18% at 16% 69%, rgba(174, 208, 209, .55), transparent 85%),
    radial-gradient(ellipse 40% 22% at 67% 82%, rgba(142, 193, 195, .43), transparent 87%),
    radial-gradient(ellipse 30% 15% at 96% 54%, rgba(198, 219, 216, .38), transparent 90%);
  filter: blur(17px);
  opacity: .9;
  animation: carnival-fog-drift 18s ease-in-out infinite alternate;
}

body.design-theme-cursed-carnival::after {
  background:
    radial-gradient(ellipse 38% 13% at 81% 26%, rgba(188, 218, 217, .32), transparent 88%),
    radial-gradient(ellipse 52% 18% at 22% 42%, rgba(151, 194, 197, .31), transparent 90%),
    radial-gradient(ellipse 36% 17% at 53% 93%, rgba(214, 226, 216, .34), transparent 89%);
  filter: blur(25px);
  opacity: .84;
  animation: carnival-fog-counterdrift 26s ease-in-out infinite alternate;
}

body.design-theme-cursed-carnival :is(.header-wrap, #search-container, #bundles, .owner-admin-shell, .sales-shell, .checkout-shell, .static-message, .pagination) {
  position: relative;
  z-index: 1;
}

@keyframes carnival-fog-drift {
  from { transform: translate3d(-11%, 2%, 0) scale(1); opacity: .48; }
  to { transform: translate3d(12%, -4%, 0) scale(1.12); opacity: .88; }
}

@keyframes carnival-fog-counterdrift {
  from { transform: translate3d(13%, -3%, 0) scale(1.1); opacity: .76; }
  to { transform: translate3d(-13%, 5%, 0) scale(.97); opacity: .4; }
}

body.design-theme-cursed-carnival :is(h1, h2, h3, .site-title) {
  color: #f2dfbd;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 700;
  letter-spacing: .025em;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .9), 0 0 24px rgba(214, 146, 77, .28);
}

body.design-theme-cursed-carnival .site-title {
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 1;
}

body.design-theme-cursed-carnival .banner-img {
  border: 1px solid rgba(205, 163, 107, .55);
  border-radius: 0;
  box-shadow: 0 0 0 5px rgba(6, 12, 14, .8), 0 22px 55px rgba(0, 0, 0, .75);
}

body.design-theme-cursed-carnival :is(.static-message, #search-bar-container, #dropdowns-container, .bundle, .sales-summary-card, .sales-order-card) {
  background: var(--carnival-panel);
  border: 1px solid var(--carnival-line);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(233, 217, 184, .07);
  color: var(--text);
}

body.design-theme-cursed-carnival .static-message {
  max-width: 920px;
  line-height: 1.6;
}

body.design-theme-cursed-carnival :is(.static-message .highlight, .bundle-price, .sales-summary-card strong, .sales-section-heading) {
  color: var(--accent);
}

body.design-theme-cursed-carnival :is(.static-message a, .bundle-highlighted-trait) {
  color: #b4d2d0 !important;
}

body.design-theme-cursed-carnival #bundles {
  max-width: 1584px;
  margin-inline: auto;
  padding-inline: 20px;
}

body.design-theme-cursed-carnival .bundle {
  position: relative;
  border-radius: 3px;
  background: linear-gradient(155deg, rgba(19, 27, 29, .97), rgba(7, 13, 16, .96));
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.design-theme-cursed-carnival .bundle::before {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(176, 144, 99, .13);
  pointer-events: none;
}

body.design-theme-cursed-carnival .bundle:hover {
  border-color: rgba(238, 175, 109, .7);
  box-shadow: 0 24px 52px rgba(0, 0, 0, .7), 0 0 22px rgba(229, 145, 73, .13);
}

body.design-theme-cursed-carnival .bundle.gold-frame { border-color: #e3ae6b; }
body.design-theme-cursed-carnival .bundle-file-id { color: #aab6b5; }
body.design-theme-cursed-carnival .dropdown-group label { color: #c6bca8; letter-spacing: .07em; }

body.design-theme-cursed-carnival :is(#search-bar, .dropdown-group select, .owner-sort-select, .owner-settings-modal input, .owner-settings-modal textarea, .owner-settings-modal select, .owner-sib-set-edit-form input, .owner-sib-set-edit-form textarea, .sales-filter-grid input[type="date"], .sales-force-deliver-input) {
  background-color: var(--carnival-deep);
  border: 1px solid var(--carnival-line);
  border-radius: 3px;
  color: var(--text);
  font-family: 'DM Sans', sans-serif;
}

body.design-theme-cursed-carnival :is(#search-bar, .dropdown-group select, .owner-sort-select, .owner-settings-modal input, .owner-settings-modal textarea, .owner-settings-modal select):focus-visible {
  outline: 2px solid #e3ae6b;
  outline-offset: 2px;
}

body.design-theme-cursed-carnival :is(#search-button, .contact-button, .main-page .bundle-actions .contact-button, .main-page .bundle-actions .make-offer-button, .owner-admin-panel-toggle, .sales-shell .contact-button) {
  background: linear-gradient(160deg, #d6a165, #96623b);
  border: 1px solid #e8b67e;
  border-radius: 3px;
  color: #140e0b;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .45);
  font-weight: 700;
}

body.design-theme-cursed-carnival :is(#copy-link-button, .reset-button, .pedigree-button, .teleport-button, .pagination a, .pagination span, .sales-shell .reset-button, .sales-shell .pedigree-button) {
  background: linear-gradient(160deg, #24373a, #132124);
  border: 1px solid rgba(150, 181, 178, .42);
  border-radius: 3px;
  color: #e9e8df;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

body.design-theme-cursed-carnival :is(#search-button, #copy-link-button, .contact-button, .reset-button, .pedigree-button, .teleport-button, .owner-admin-panel-toggle):hover {
  filter: brightness(1.15);
  box-shadow: 0 0 20px rgba(229, 171, 106, .28);
}

body.design-theme-cursed-carnival .pagination .current-page,
body.design-theme-cursed-carnival .cart-count {
  background: #ce9559;
  border-color: #e9b979;
  color: #130d09;
}

body.design-theme-cursed-carnival :is(.cart-widget, .cart-modal, .owner-settings-modal, .owner-storage-modal, .owner-sib-set-edit-panel, .sales-filter-form) {
  background: var(--carnival-panel);
  border: 1px solid var(--carnival-line);
  border-radius: 3px;
  color: var(--text);
  box-shadow: 0 28px 65px rgba(0, 0, 0, .68), 0 0 0 1px rgba(176, 137, 88, .13);
}

body.design-theme-cursed-carnival :is(.modal-overlay, .owner-settings-overlay, .owner-storage-overlay) {
  background: rgba(2, 7, 9, .75);
  backdrop-filter: blur(7px);
}

body.design-theme-cursed-carnival .owner-top-controls {
  --control-surface: rgba(6, 13, 15, .96);
  --control-line: rgba(211, 162, 99, .52);
  border-radius: 3px;
}

body.design-theme-cursed-carnival .owner-theme-form .theme-picker {
  --picker-surface: #101c1e;
  --picker-hover: #293a3b;
  --picker-ink: #f1e8da;
  --picker-line: rgba(211, 162, 99, .52);
  --picker-accent: #dba76d;
  --picker-selected-ink: #150e0a;
}

body.design-theme-cursed-carnival .owner-theme-form .theme-picker-trigger { border-radius: 3px; }
body.design-theme-cursed-carnival .theme-picker-menu { border-radius: 3px; }
body.design-theme-cursed-carnival .owner-admin-shell:has(.theme-picker-menu:not([hidden])) {
  position: relative;
  z-index: 80;
}

.theme-picker-menu [data-theme="cursed-carnival"], .owner-theme-form [data-theme="cursed-carnival"] { --option-color: #d8a66d; }

body.design-theme-cursed-carnival .owner-maintenance-status {
  background: rgba(8, 28, 27, .9);
  border-color: rgba(119, 167, 156, .45);
  border-radius: 3px;
}

body.design-theme-cursed-carnival .owner-sib-set-edit-header,
body.design-theme-cursed-carnival :is(.owner-sib-set-edit-members > strong, .owner-sib-set-edit-additions > strong) {
  color: #e2ad71;
}

body.design-theme-cursed-carnival .sales-meta-chip {
  background: #162225;
  border-color: var(--carnival-line);
  color: var(--text);
}

body.design-theme-cursed-carnival .sales-meta-chip strong { color: #e2ad71; }

body.design-theme-cursed-carnival .sib-set-filter-toggle {
  background: rgba(6, 16, 18, .96);
  border: 1px solid var(--carnival-line);
  border-radius: 3px;
}
body.design-theme-cursed-carnival .sib-set-filter-toggle-pill { background: #3b5352; }
body.design-theme-cursed-carnival .sib-set-filter-toggle-knob { background: #e8e6db; }
body.design-theme-cursed-carnival .sib-set-filter-toggle input:checked + .sib-set-filter-toggle-pill { background: #a97747; }
body.design-theme-cursed-carnival .sib-set-filter-toggle-label { color: #e3b57a; }
body.design-theme-cursed-carnival .owner-maintenance-toggle-button.disabled .owner-maintenance-toggle-pill { background: #3b5352; }
body.design-theme-cursed-carnival .owner-maintenance-toggle-button.enabled .owner-maintenance-toggle-pill { background: #a97747; }
body.design-theme-cursed-carnival .owner-maintenance-toggle-knob { background: #e8e6db; }

body.design-theme-cursed-carnival .owner-admin-button-row :is(.owner-admin-panel-toggle, .owner-admin-danger-button, .owner-sort-select-inline) {
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  padding-block: 0;
}
body.design-theme-cursed-carnival .owner-admin-button-row .owner-admin-danger-button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
}

body.design-theme-cursed-carnival #search-bar-container {
  box-sizing: border-box;
  padding: 8px 10px;
}

body.design-theme-cursed-carnival #search-bar-container > :is(#search-button, #copy-link-button, #reset-dropdowns-button) {
  box-sizing: border-box;
  height: 38px;
  min-height: 38px;
  margin: 0;
  padding: 0 13px;
  border-radius: 3px;
  font: 700 .78rem/1 'DM Sans', sans-serif;
  white-space: nowrap;
}

@media (max-width: 700px) {
  body.design-theme-cursed-carnival {
    background-size: cover, auto 100vh;
    background-position: center, center top;
  }
  body.design-theme-cursed-carnival #bundles { padding-inline: 12px; }
  body.design-theme-cursed-carnival::before,
  body.design-theme-cursed-carnival::after { filter: blur(18px); }
}

@media (prefers-reduced-motion: reduce) {
  body.design-theme-cursed-carnival::before,
  body.design-theme-cursed-carnival::after { animation: none; }
}

body.design-theme-cursed-carnival.sib-set-add-mode #bundles {
  width: calc(100% - min(30vw, 580px) - 32px);
  max-width: none;
  margin-left: 0;
  margin-right: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 900px) {
  body.design-theme-cursed-carnival.sib-set-add-mode #bundles {
    width: 100%;
    margin-inline: auto;
  }
}

