:root {
  --header-logo-image: url('/env/images/munster_logo.png');
  --header-logo-width: 13vw;
  --base-size: 16px;
  --type-scale: 1.2;
}

[data-theme] body {
  background-image: none;
}

/* DaisyUI custom theme */
:root:has(input.theme-controller[value=munster]:checked),
[data-theme="munster"] {
  color-scheme: light;

  --color-base-100: #ffffff;
  --color-base-150: #f6f6f6;
  --color-base-200: #f1f1f1;
  --color-base-250: #ebebeb;
  --color-base-300: #e2e2e2;
  --color-base-400: #d0d0d0;
  --color-base-500: #a7a7a7;
  --color-base-600: #7f7f7f;
  --color-base-content: #111111;

  --color-primary: #ffed00;
  --color-primary-content: #111111;
  --color-secondary: #111111;
  --color-secondary-content: #ffffff;
  --color-accent: #ffed00;
  --color-accent-content: #111111;
  --color-neutral: #111111;
  --color-neutral-content: #ffffff;

  --color-info: #2563eb;
  --color-info-content: #ffffff;
  --color-success: #15803d;
  --color-success-content: #ffffff;
  --color-warning: #b45309;
  --color-warning-content: #ffffff;
  --color-error: #b91c1c;
  --color-error-content: #ffffff;

  --radius-selector: 0rem;
  --radius-field: 0rem;
  --radius-box: 0rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 0;

  --color-flux-nav-bg: var(--color-base-100);
  --color-flux-nav-content: var(--color-base-content);
  --color-flux-popover-bg: var(--color-base-100);
  --color-flux-popover-content: var(--color-base-content);
  --color-flux-login-bg: var(--color-base-100);
  --color-flux-login-content: var(--color-base-content);

  --flux-variant-primary-bg: var(--color-primary);
  --flux-variant-primary-content: var(--color-primary-content);
  --flux-variant-secondary-bg: var(--color-secondary);
  --flux-variant-secondary-content: var(--color-secondary-content);
  --flux-variant-neutral-bg: var(--color-neutral);
  --flux-variant-neutral-content: var(--color-neutral-content);
  --flux-variant-elevated-bg: var(--color-base-100);
  --flux-variant-elevated-content: var(--color-base-content);

  --default-font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

[data-theme="munster"] body {
  background-color: var(--color-base-100);
  color: var(--color-base-content);
  font-family: var(--default-font-family);
}

/* Keep logo visible and stable */
.navbar img {
  display: block;
  opacity: 1;
  height: 4rem !important;
  width: auto;
  object-fit: contain;
}

.navbar {
  min-height: 4rem !important;
  height: 4rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

[data-theme="munster"] h1,
[data-theme="munster"] h2,
[data-theme="munster"] h3,
[data-theme="munster"] h4,
[data-theme="munster"] h5,
[data-theme="munster"] h6 {
  color: var(--color-base-content);
  font-weight: 700;
}

/* Menu: white/black with yellow hover and active underline */
[data-theme="munster"] .main-nav-bar {
  background-color: var(--color-flux-nav-bg) !important;
  color: var(--color-flux-nav-content) !important;
  border-bottom: 1px solid var(--color-base-400);
  box-shadow: none !important;
}

[data-theme="munster"] .main-nav-bar .menu :where(li > a, li > button, li > span) {
  color: var(--color-base-content);
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 4px solid transparent;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

[data-theme="munster"] .main-nav-bar .menu :where(li > a:hover, li > a:focus, li > button:hover, li > button:focus, li > span:hover, li > span:focus) {
  color: var(--color-base-content);
  background-color: var(--color-primary);
}

[data-theme="munster"] .main-nav-bar .menu :where(li > a.active, li > button.active, li > span.active),
[data-theme="munster"] .main-nav-bar .menu :where(li > a[aria-current="page"], li > button[aria-current="page"]) {
  color: var(--color-base-content);
  background-color: transparent;
  border-bottom-color: var(--color-primary);
}

[data-theme="munster"] h1,
[data-theme="munster"] h2,
[data-theme="munster"] h3,
[data-theme="munster"] h4 {
  color: var(--color-base-content);
}

[data-theme="munster"] a {
  color: var(--color-base-content);
  text-decoration-color: var(--color-primary);
  text-decoration-thickness: 0.14em;
  text-underline-offset: 0.14em;
}

[data-theme="munster"] a:hover,
[data-theme="munster"] a:focus {
  background-color: var(--color-primary);
}

[data-theme="munster"] .btn {
  border-color: var(--color-base-content);
  font-weight: 600;
  padding-inline: var(--btn-p, 1rem);
  border-radius: 0 !important;
}

[data-theme="munster"] .btn-primary {
  background-color: var(--color-primary) !important;
  color: var(--color-primary-content) !important;
  border-color: var(--color-primary) !important;
}

/* Keep button borders in the same tone as the button background */
[data-theme="munster"] .btn-secondary {
  border-color: var(--color-secondary) !important;
}

[data-theme="munster"] .btn-accent {
  border-color: var(--color-accent) !important;
}

[data-theme="munster"] .btn-neutral {
  border-color: var(--color-neutral) !important;
}

[data-theme="munster"] .btn-info {
  border-color: var(--color-info) !important;
}

[data-theme="munster"] .btn-success {
  border-color: var(--color-success) !important;
}

[data-theme="munster"] .btn-warning {
  border-color: var(--color-warning) !important;
}

[data-theme="munster"] .btn-error {
  border-color: var(--color-error) !important;
}

/* Munster has square corners throughout the UI */
[data-theme="munster"] :where(.card, .input, .select, .textarea, .menu, .badge, .checkbox, .toggle) {
  border-radius: 0 !important;
}

/* Use white surfaces for product/article cards in shop */
[data-theme="munster"] #main-content :where(.bg-base-150, .card, .product-card .card, .product-card figure, .article-list__article .card, .article-carousel .card, .card-body) {
  background-color: var(--color-base-100) !important;
}

/* Product cards/images should keep a square top edge in this theme */
[data-theme="munster"] .product-card :where(.rounded-t, .rounded-t-sm, .rounded-t-md, .rounded-t-lg, .rounded-t-xl, .rounded-t-2xl) {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

[data-theme="munster"] .product-card :where(figure, img) {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/* Munster should look flat: no card/navbar drop shadows */
[data-theme="munster"] :where(.card, .main-nav-bar, .shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl, .hover\:shadow, .hover\:shadow-sm, .hover\:shadow-md, .hover\:shadow-lg, .hover\:shadow-xl) {
  box-shadow: none !important;
}

/* Product article add-to-cart button: white with black border */
[data-theme="munster"] [data-test="add-to-basket-button"] {
  background-color: var(--color-base-100) !important;
  color: var(--color-base-content) !important;
  border-color: var(--color-base-content) !important;
}

[data-theme="munster"] [data-test="add-to-basket-button"]:hover,
[data-theme="munster"] [data-test="add-to-basket-button"]:focus {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-base-content) !important;
}

/* Form action buttons: black with white text */
[data-theme="munster"] form .btn-primary,
[data-theme="munster"] .login-menu-form .btn-primary {
  background-color: var(--color-base-content) !important;
  color: var(--color-base-100) !important;
  border-color: var(--color-base-content) !important;
}

[data-theme="munster"] form .btn-primary:hover,
[data-theme="munster"] form .btn-primary:focus,
[data-theme="munster"] .login-menu-form .btn-primary:hover,
[data-theme="munster"] .login-menu-form .btn-primary:focus {
  background-color: var(--color-primary) !important;
  color: var(--color-base-content) !important;
  border-color: var(--color-primary) !important;
}
