/* Shared site theme layer: loaded by all pages to keep visual consistency. */
:root {
  --brand-dark: #0d1321;
  --brand-mid: #1d2d44;
  --brand-accent: #3e5c76;
  --brand-accent-soft: #748cab;
  --brand-text: #f0ebd8;
  --brand-border: rgba(116, 140, 171, 0.35);
}

html,
body {
  background: linear-gradient(160deg, var(--brand-dark), var(--brand-mid));
  color: var(--brand-text);
}

a {
  color: var(--brand-text);
}

a:hover {
  color: var(--brand-accent-soft);
}

h1,
h2,
h3,
h4 {
  color: var(--brand-text);
}

.card,
.modal-content,
.container,
main {
  border-color: var(--brand-border);
}

input,
select,
textarea {
  background: rgba(13, 19, 33, 0.72);
  color: var(--brand-text);
  border: 1px solid var(--brand-border);
}

button:not(.icon-btn):not(.menu-toggle):not(.cart-icon-btn):not(.close-cart-btn),
.btn,
.btn-primary,
#checkout-btn {
  background: var(--brand-accent);
  color: var(--brand-text);
  border: 1px solid rgba(116, 140, 171, 0.55);
}

button:not(.icon-btn):not(.menu-toggle):not(.cart-icon-btn):not(.close-cart-btn):hover,
.btn:hover,
.btn-primary:hover,
#checkout-btn:hover {
  background: var(--brand-accent-soft);
}

table,
th,
td {
  border-color: rgba(116, 140, 171, 0.3);
}

th {
  background: rgba(13, 19, 33, 0.72);
}

td {
  background: rgba(13, 19, 33, 0.45);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--brand-accent-soft);
  outline-offset: 2px;
}

/* Keep cart icon/logo readable across all themed pages */
.cart-icon-btn,
.nav-icons .cart-icon-btn,
#cartIconBtn {
  color: var(--brand-text) !important;
  background: transparent !important;
  border: 1px solid rgba(116, 140, 171, 0.5) !important;
}

.cart-icon-btn:hover,
.nav-icons .cart-icon-btn:hover,
#cartIconBtn:hover {
  background: rgba(116, 140, 171, 0.2) !important;
  color: var(--brand-text) !important;
}

.cart-icon-btn i,
#cartIconBtn i {
  font-size: 1.05rem;
  line-height: 1;
  display: inline-block;
}

.cart-count {
  background: #e63946 !important;
  color: #fff !important;
}
