/* =============================================
   Archive / Category Pages — ICIW-style
   ============================================= */
.archive-hero {
  background: var(--light-bg-alt);
  padding: 80px 0 56px;
  text-align: center;
}

.archive-hero__eyebrow {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-dark-muted);
  margin-bottom: 16px;
}

.archive-hero__title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 900;
  letter-spacing: -1.5px;
  text-transform: uppercase;
  line-height: 1;
  color: var(--text-dark);
  margin: 0 0 20px;
}

.archive-hero__desc {
  font-size: 15px;
  color: var(--text-dark-muted);
  line-height: 1.7;
  max-width: 620px;
  margin: 0 auto;
  letter-spacing: 0.2px;
}

.archive-content {
  background: var(--light-bg-alt);
  padding: 56px 0 100px;
}

.archive-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0 0 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--light-border);
}

.archive-toolbar__count {
  display: flex;
  align-items: center;
}

.archive-toolbar__count,
.archive-toolbar .woocommerce-result-count {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-dark-muted);
  margin: 0;
}

.archive-toolbar__sort .woocommerce-ordering select,
.archive-toolbar select {
  background: transparent;
  border: 1px solid var(--text-dark);
  border-radius: 0;
  padding: 10px 36px 10px 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dark);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23111' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}

.archive-toolbar select:focus {
  outline: none;
  border-color: #000;
}

.archive-pagination {
  margin-top: 60px;
  text-align: center;
}

.archive-pagination .woocommerce-pagination ul,
.archive-pagination .page-numbers {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  gap: 0;
}

.archive-pagination .page-numbers li {
  display: inline-block;
}

.archive-pagination .page-numbers a,
.archive-pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--light-border);
  margin: -1px 0 0 -1px;
  color: var(--text-dark);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s;
}

.archive-pagination .page-numbers a:hover {
  background: var(--text-dark);
  color: #fff;
  border-color: var(--text-dark);
  position: relative;
  z-index: 1;
}

.archive-pagination .page-numbers .current {
  background: var(--text-dark);
  color: #fff;
  border-color: var(--text-dark);
}

.archive-empty {
  text-align: center;
  color: var(--text-dark-muted);
  padding: 100px 0;
  font-size: 14px;
  letter-spacing: 0.3px;
}

/* Search results: inline re-search input in the toolbar */
.search-rerun__input {
  background: transparent;
  border: 1px solid var(--text-dark);
  border-radius: 0;
  padding: 10px 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  letter-spacing: 0.5px;
  color: var(--text-dark);
  outline: none;
  min-width: 220px;
}

.search-rerun__input:focus {
  border-color: #000;
}

/* Empty search state */
.search-empty {
  text-align: center;
  padding: 80px 0 100px;
  max-width: 560px;
  margin: 0 auto;
}

.search-empty__title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 900;
  letter-spacing: -0.6px;
  text-transform: uppercase;
  color: var(--text-dark);
  margin-bottom: 16px;
}

.search-empty__text {
  font-size: 15px;
  color: var(--text-dark-muted);
  line-height: 1.7;
  margin-bottom: 36px;
}

.search-empty__form {
  display: flex;
  gap: 8px;
  max-width: 420px;
  margin: 0 auto 48px;
}

.search-empty__input {
  flex: 1;
  background: var(--light-bg-alt);
  border: 1px solid var(--light-border-strong);
  border-radius: 0;
  padding: 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: var(--text-dark);
  outline: none;
}

.search-empty__input:focus {
  border-color: var(--text-dark);
}

.search-empty__btn {
  padding: 16px 28px;
  background: var(--text-dark);
  color: #fff;
  border: 1px solid var(--text-dark);
  border-radius: 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}

.search-empty__btn:hover {
  background: var(--text-dark-secondary);
  border-color: var(--text-dark-secondary);
}

.search-empty__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

.search-empty__suggestions-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dark-muted);
  width: 100%;
  margin-bottom: 12px;
}

.search-empty__chip {
  display: inline-block;
  padding: 10px 18px;
  border: 1px solid var(--light-border-strong);
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: all 0.2s;
}

.search-empty__chip:hover {
  background: var(--text-dark);
  color: #fff;
  border-color: var(--text-dark);
}

@media (max-width: 640px) {
  .search-rerun__input { min-width: 0; width: 100%; }
  .search-empty__form { flex-direction: column; }
  .search-empty__btn { width: 100%; }
}

@media (max-width: 640px) {
  .archive-hero { padding: 56px 0 40px; }
  .archive-content { padding: 40px 0 60px; }
  .archive-toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
}

/* =============================================
   Text Pages — Shared styles for info pages
   ============================================= */

.page-hero {
  position: relative;
  padding: 100px 0 56px;
  text-align: center;
  background: var(--light-bg-alt);
  border-bottom: 1px solid var(--light-border);
}

.page-hero__title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 900;
  letter-spacing: -1.5px;
  text-transform: uppercase;
  line-height: 1;
  color: var(--text-dark);
}

/* ---------- Page Content ---------- */
.page-content {
  padding: 60px 0 100px;
  background: var(--dark-900);
}

.page-content__inner {
  max-width: 720px;
  margin: 0 auto;
}

.page-content h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-top: 48px;
  margin-bottom: 16px;
  letter-spacing: 0.5px;
}

.page-content h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin-top: 32px;
  margin-bottom: 12px;
}

.page-content p {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  line-height: 1.9;
  margin-bottom: 16px;
}

.page-content ul {
  list-style: none;
  padding: 0;
  margin-bottom: 16px;
}

.page-content ul li {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  line-height: 1.9;
  padding-left: 20px;
  position: relative;
}

.page-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 4px;
  height: 4px;
  background: rgba(255,255,255,0.25);
  border-radius: 50%;
}

.page-content strong {
  color: rgba(255,255,255,0.7);
  font-weight: 600;
}

.page-content a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.3s;
}

.page-content a:hover {
  opacity: 0.6;
}

.page-content__intro {
  font-size: 15px !important;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.8;
  margin-bottom: 32px;
}

/* ---------- Contact Layout ---------- */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 60px;
  align-items: start;
}

.contact-layout__form {
  max-width: 100%;
}

.contact-form {
  margin-top: 32px;
}

.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.contact-form__group {
  margin-bottom: 20px;
}

.contact-form__label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: 8px;
}

.contact-form__input,
.contact-form__textarea,
.contact-form__select {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  outline: none;
  transition: border-color 0.3s;
}

.contact-form__input:focus,
.contact-form__textarea:focus,
.contact-form__select:focus {
  border-color: rgba(255,255,255,0.4);
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: rgba(255,255,255,0.2);
}

.contact-form__select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer;
}

.contact-form__select option {
  background: #111;
  color: #fff;
}

.contact-form__textarea {
  min-height: 140px;
  resize: vertical;
}

.contact-form__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 40px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 0;
  cursor: pointer;
  transition: all 0.35s ease;
  margin-top: 8px;
}

.contact-form__btn:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
}

/* ---------- Contact Info Cards ---------- */
.contact-layout__info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 68px;
}

.contact-info-card {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  padding: 24px;
}

.contact-info-card__icon {
  color: #fff;
  margin-bottom: 14px;
}

.contact-info-card__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 6px;
}

.contact-info-card__value {
  font-size: 15px;
  color: #fff;
  font-weight: 500;
}

.contact-info-card__sub {
  font-size: 13px;
  color: rgba(255,255,255,0.35);
  margin-top: 4px;
}

/* ---------- Cookie Banner ---------- */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--dark-900);
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 24px 0;
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.cookie-banner.is-visible {
  transform: translateY(0);
}

.cookie-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cookie-banner__text {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
  flex: 1;
}

.cookie-banner__text a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-banner__actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.cookie-banner__btn {
  padding: 10px 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.3s;
  border: 1px solid rgba(255,255,255,0.2);
  background: transparent;
  color: #fff;
}

.cookie-banner__btn:hover {
  border-color: rgba(255,255,255,0.5);
}

.cookie-banner__btn--accept {
  background: #fff;
  color: #000;
  border-color: #fff;
}

.cookie-banner__btn--accept:hover {
  background: rgba(255,255,255,0.85);
}

/* ---------- FAQ ---------- */
.faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 24px 0;
}

.faq-item:first-child {
  border-top: 1px solid rgba(255,255,255,0.06);
}

.faq-question {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  padding: 0;
  transition: color 0.3s;
}

.faq-question:hover {
  color: rgba(255,255,255,0.7);
}

.faq-question__icon {
  font-size: 20px;
  color: rgba(255,255,255,0.3);
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 16px;
}

.faq-item.is-open .faq-question__icon {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-item.is-open .faq-answer {
  max-height: 300px;
}

.faq-answer p {
  padding-top: 16px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .contact-layout__info {
    padding-top: 0;
    flex-direction: row;
  }
  .contact-info-card { flex: 1; }
}

@media (max-width: 640px) {
  .page-hero { padding: 120px 0 48px; }
  .page-content { padding: 40px 0 60px; }
  .contact-form__row { grid-template-columns: 1fr; }
  .contact-layout__info { flex-direction: column; }
  .cookie-banner__inner { flex-direction: column; text-align: center; }
  .cookie-banner__actions { justify-content: center; }
}

/* =============================================
   Cart & Checkout Pages
   ============================================= */

/* ---------- Cart Page ---------- */
.wc-block-cart,
.wp-block-woocommerce-cart {
  padding: 0 !important;
  max-width: 100% !important;
}

.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-components-sidebar {
  color: #fff !important;
}

/* Cart table */
.wc-block-cart-items .wc-block-cart-items__row {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding: 24px 0 !important;
}

.wc-block-cart-items .wc-block-components-product-name {
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 15px !important;
}

.wc-block-cart-items .wc-block-components-product-metadata {
  display: none !important;
}

.wc-block-cart-items .wc-block-components-product-price {
  color: #fff !important;
  font-weight: 700 !important;
}

.wc-block-cart-items .wc-block-cart-item__image img {
  border-radius: 8px !important;
  background: #fff !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
}

.wc-block-components-quantity-selector input {
  color: #fff !important;
  background: transparent !important;
  font-family: 'Montserrat', sans-serif !important;
}

.wc-block-components-quantity-selector button {
  color: rgba(255,255,255,0.5) !important;
  background: transparent !important;
}

/* Remove link */
.wc-block-cart-item__remove-link {
  color: rgba(255,255,255,0.3) !important;
  font-size: 12px !important;
}

.wc-block-cart-item__remove-link:hover {
  color: #e53e3e !important;
}

/* Cart sidebar / totals */
.wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel {
  border-color: rgba(255,255,255,0.06) !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: rgba(255,255,255,0.5) !important;
  font-family: 'Montserrat', sans-serif !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #fff !important;
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Proceed to checkout button */
.wc-block-cart__submit-button .wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button a,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart .wc-block-cart__submit-button .wc-block-components-button {
  background: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.3s !important;
  display: block !important;
  width: 100% !important;
}

.wc-block-cart__submit-button .wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: rgba(255,255,255,0.85) !important;
}

/* Coupon / discount area */
.wc-block-components-panel__button {
  color: rgba(255,255,255,0.4) !important;
  font-family: 'Montserrat', sans-serif !important;
}

.wc-block-components-panel__button svg {
  fill: rgba(255,255,255,0.4) !important;
}

/* ---------- Checkout Page ---------- */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Form fields */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  padding: 16px !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox .components-combobox-control input:focus {
  border-color: rgba(255,255,255,0.3) !important;
  box-shadow: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox label {
  color: rgba(255,255,255,0.3) !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Select / dropdown */
.wc-block-components-combobox .components-combobox-control .components-input-control__backdrop,
select {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: #fff !important;
}

/* Section headings */
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading h2,
.wc-block-checkout h2 {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

/* Step separators */
.wc-block-components-checkout-step {
  border-color: rgba(255,255,255,0.06) !important;
}

/* Order summary sidebar */
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-order-summary {
  border-color: rgba(255,255,255,0.06) !important;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
  display: none !important;
}

/* Payment methods */
.wc-block-components-radio-control__option {
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin-bottom: 8px !important;
}

.wc-block-components-radio-control__label {
  color: #fff !important;
  font-weight: 600 !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button {
  background: #fff !important;
  color: #000 !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 18px !important;
  font-size: 13px !important;
  width: 100% !important;
}

/* Checkbox styling */
.wc-block-components-checkbox .wc-block-components-checkbox__input {
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgba(255,255,255,0.04) !important;
}

.wc-block-components-checkbox__label {
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
}

/* Links */
.wc-block-checkout a {
  color: rgba(255,255,255,0.5) !important;
}

.wc-block-checkout a:hover {
  color: #fff !important;
}

/* Fix all generic text */
.wc-block-checkout,
.wc-block-cart {
  color: rgba(255,255,255,0.5) !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Price amounts */
.wc-block-formatted-money-amount {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Decimals back for cart/checkout totals */
.wc-block-formatted-money-amount {
  font-family: 'Montserrat', sans-serif !important;
}

/* Empty cart */
.wc-block-cart__empty-cart__title,
.cart-empty {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Fix floating labels overlap */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input:focus-within label {
  transform: translateY(-10px) scale(0.75) !important;
  color: rgba(255,255,255,0.35) !important;
  background: var(--dark-900) !important;
  padding: 0 4px !important;
}

.wc-block-components-text-input label {
  color: rgba(255,255,255,0.3) !important;
  left: 16px !important;
  top: 16px !important;
}

/* Fix country select dropdown */
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: #fff !important;
  padding: 16px !important;
}

/* Fix email field label overlap */
.wc-block-components-text-input.is-active label {
  transform: translateY(-24px) scale(0.75) !important;
  background: var(--dark-900) !important;
  padding: 0 6px !important;
  z-index: 1 !important;
}

/* Fix country/state select - dark background */
.wc-block-components-combobox .components-combobox-control,
.wc-block-components-combobox .components-combobox-control .components-input-control__container {
  background: rgba(255,255,255,0.04) !important;
  border-radius: 10px !important;
}

.wc-block-components-combobox .components-combobox-control .components-input-control__backdrop {
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  background: transparent !important;
}

.wc-block-components-combobox .components-combobox-control input[type="text"],
.wc-block-components-combobox input {
  background: rgba(255,255,255,0.04) !important;
  color: #fff !important;
  border: none !important;
}

/* Fix the white select box */
select,
.wc-block-components-combobox select,
.components-custom-select-control__button,
.wc-block-components-combobox .components-form-token-field__input {
  background: rgba(255,255,255,0.04) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  font-family: 'Montserrat', sans-serif !important;
}

select option {
  background: #1B242E !important;
  color: #fff !important;
}

/* Remove blue focus outlines */
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
select:focus,
*:focus {
  outline: none !important;
  box-shadow: none !important;
}

.wc-block-components-text-input input:focus {
  border-color: rgba(255,255,255,0.3) !important;
}

/* Fix WP default combobox white background */
.components-input-control__backdrop {
  background: transparent !important;
  border-color: rgba(255,255,255,0.1) !important;
}

.components-combobox-control .components-input-control__container {
  background: rgba(255,255,255,0.04) !important;
  border-radius: 10px !important;
}

/* Dropdown list styling */
.components-combobox-control__suggestions-container,
.components-form-token-field__suggestions-list {
  background: #1B242E !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
}

.components-form-token-field__suggestion,
.components-combobox-control__option {
  color: rgba(255,255,255,0.6) !important;
  padding: 10px 16px !important;
}

.components-form-token-field__suggestion:hover,
.components-form-token-field__suggestion.is-selected {
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
}

/* ---------- Express Pay Buttons (Apple Pay / Google Pay) ---------- */
/* Remove bullet dots next to pay buttons */
.wc-block-components-express-payment__event-buttons li,
.wc-block-components-express-payment-continue-rule,
.wc-block-components-express-payment li {
  list-style: none !important;
}

.wc-block-components-express-payment__event-buttons {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wc-block-components-express-payment__event-buttons li::before,
.wc-block-components-express-payment__event-buttons li::marker {
  display: none !important;
  content: none !important;
}

/* Style express pay buttons */
.wc-block-components-express-payment__event-buttons .wc-block-components-express-payment--light {
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* "ELLER" / continue rule divider */
.wc-block-components-express-payment-continue-rule {
  color: rgba(255,255,255,0.3) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
  border-color: rgba(255,255,255,0.06) !important;
}

/* ---------- Payment Method Radio Buttons ---------- */
.wc-block-components-radio-control__input {
  border: 2px solid rgba(255,255,255,0.2) !important;
  background: transparent !important;
  width: 20px !important;
  height: 20px !important;
}

.wc-block-components-radio-control__input:checked {
  border-color: #fff !important;
  background: #fff !important;
}

.wc-block-components-radio-control__label {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  padding-left: 8px !important;
}

/* Fix Klarna logo clipping */
.wc-block-components-radio-control__label img,
.wc-block-components-payment-method-label img {
  max-height: 24px !important;
  width: auto !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
  object-fit: contain !important;
}

/* Fix "Kredit/betalkort" text clipping */
.wc-block-components-radio-control__option {
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option:has(:checked) {
  border-color: rgba(255,255,255,0.25) !important;
  background: rgba(255,255,255,0.03) !important;
}

.wc-block-components-payment-method-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
}

/* ---------- Checkbox Styling ---------- */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  border: 2px solid rgba(255,255,255,0.2) !important;
  background: transparent !important;
  border-radius: 4px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  position: relative !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: #fff !important;
  border-color: #fff !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked::after {
  content: '✓' !important;
  position: absolute !important;
  top: -1px !important;
  left: 2px !important;
  color: #000 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.wc-block-components-checkbox__label {
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* ---------- Cart Page - Remove bullets from pay buttons ---------- */
.wc-block-cart .wc-block-components-express-payment li,
.wc-block-cart__payment-options li {
  list-style: none !important;
}

.wc-block-cart .wc-block-components-express-payment li::before,
.wc-block-cart .wc-block-components-express-payment li::marker {
  display: none !important;
  content: none !important;
}

/* Cart totals section clean up */
.wc-block-cart .wc-block-components-totals-wrapper {
  border-color: rgba(255,255,255,0.06) !important;
}

/* "Uppskattad totalsumma" text */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 14px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 22px !important;
}

/* ---------- FORCE FIX: Payment radio & Klarna logo ---------- */
.wc-block-components-radio-control .wc-block-components-radio-control__option label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-left: 32px !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid rgba(255,255,255,0.25) !important;
  background: transparent !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: 50% !important;
  margin-right: 12px !important;
  position: relative !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"]:checked {
  border-color: #fff !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input[type="radio"]:checked::after {
  content: '' !important;
  width: 8px !important;
  height: 8px !important;
  background: #fff !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* Klarna logo fix */
.wc-block-components-payment-method-icons img,
.wc-block-components-payment-method-label img,
.payment_method_klarna img,
label[for="radio-control-wc-payment-method-options-klarna"] img {
  max-height: 22px !important;
  width: auto !important;
  object-fit: contain !important;
  border-radius: 4px !important;
}

/* Force checkbox dark theme */
input[type="checkbox"].wc-block-components-checkbox__input,
.wc-block-components-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid rgba(255,255,255,0.25) !important;
  background: transparent !important;
  border-radius: 4px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

input[type="checkbox"].wc-block-components-checkbox__input:checked,
.wc-block-components-checkbox input[type="checkbox"]:checked {
  background: #fff !important;
  border-color: #fff !important;
}

/* Place order button force */
.wc-block-components-button.wc-block-components-checkout-place-order-button,
button.wc-block-components-button.wc-block-components-checkout-place-order-button {
  background: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
}

/* =============================================
   Order Confirmation / Thank You Page
   ============================================= */

/* Main wrapper */
.woocommerce-order {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 60px 24px !important;
}

/* Thank you heading */
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.4) !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

/* Order overview list */
.woocommerce-order .woocommerce-thankyou-order-details,
.woocommerce-order ul.woocommerce-thankyou-order-details {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 40px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  padding: 32px !important;
}

.woocommerce-order .woocommerce-thankyou-order-details li {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  color: rgba(255,255,255,0.35) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.woocommerce-order .woocommerce-thankyou-order-details li strong {
  color: #fff !important;
  font-size: 15px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Order details table */
.woocommerce-order h2,
.woocommerce-order .woocommerce-order-details h2,
.woocommerce-order .woocommerce-column__title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 40px 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.woocommerce-order table.woocommerce-table--order-details,
.woocommerce-order .woocommerce-table--order-details {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
}

.woocommerce-order .woocommerce-table--order-details thead th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.3) !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
}

.woocommerce-order .woocommerce-table--order-details td {
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 14px !important;
  background: transparent !important;
}

.woocommerce-order .woocommerce-table--order-details td a {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce-order .woocommerce-table--order-details tfoot th {
  font-family: 'Montserrat', sans-serif !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 12px 0 !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
  text-align: left !important;
}

.woocommerce-order .woocommerce-table--order-details tfoot td {
  color: #fff !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* Billing address */
.woocommerce-order .woocommerce-customer-details {
  margin-top: 40px !important;
}

.woocommerce-order .woocommerce-customer-details address {
  font-style: normal !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.8 !important;
  font-size: 14px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  padding: 24px !important;
}

.woocommerce-order .woocommerce-customer-details address p {
  color: rgba(255,255,255,0.35) !important;
}

/* Klarna confirmation widget */
.woocommerce-order .klarna-order-confirmation,
.woocommerce-order #klarna-order-confirmation-container {
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 32px 0 !important;
}

/* Hide duplicate bullets */
.woocommerce-order ul li::before,
.woocommerce-order ul li::marker {
  display: none !important;
  content: none !important;
}

@media (max-width: 768px) {
  .woocommerce-order .woocommerce-thankyou-order-details {
    grid-template-columns: 1fr !important;
  }
}

/* ---------- Empty Cart Page ---------- */
/* Hide "New in store" products */
.wc-block-cart__empty-cart__title {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
}

.wc-block-cart .wc-block-grid {
  display: none !important;
}

.wc-block-cart .wc-block-grid__products {
  display: none !important;
}

/* Hide the "New in store" heading and products */
.wp-block-woocommerce-cart .is-empty .wp-block-heading,
.wc-block-cart__empty-cart .wp-block-heading,
.wc-block-cart .wp-block-heading {
  display: none !important;
}

.wc-block-cart__empty-cart .wc-block-grid,
.wc-block-cart .is-empty ~ .wp-block-woocommerce-product-new,
.wc-block-cart .is-empty ~ div {
  display: none !important;
}

/* Bullets next to empty cart content */
.wc-block-cart .wc-block-cart__empty-cart li,
.wc-block-cart li {
  list-style: none !important;
}

.wc-block-cart li::before,
.wc-block-cart li::marker {
  display: none !important;
  content: none !important;
}

/* Remove any separator line in empty cart */
.wc-block-cart__empty-cart hr,
.wc-block-cart__empty-cart .wp-block-separator,
.wp-block-woocommerce-empty-cart-block hr,
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
  display: none !important;
}

/* Remove line between header and empty cart */
.wc-block-cart,
.wp-block-woocommerce-cart,
.wc-block-cart__empty-cart,
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart > div,
.page-content,
.entry-content {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Also target the page-hero bottom border specifically for cart/checkout */
.page-hero {
  border-bottom: none !important;
}

/* Remove underline from cart button */
.wc-block-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-cart .wp-block-button__link {
  text-decoration: none !important;
}

/* =============================================
   My Account Page
   ============================================= */

/* Navigation tabs */
.woocommerce-MyAccount-navigation {
  margin-bottom: 40px !important;
}

.woocommerce-MyAccount-navigation ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding-bottom: 0 !important;
}

.woocommerce-MyAccount-navigation ul li {
  list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li::before,
.woocommerce-MyAccount-navigation ul li::marker {
  display: none !important;
  content: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 14px 24px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.3s !important;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  color: rgba(255,255,255,0.7) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
  color: #fff !important;
  border-bottom-color: #fff !important;
}

/* Highlight current page */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a {
  color: #fff !important;
  border-bottom-color: #fff !important;
}

/* Account content area */
.woocommerce-MyAccount-content {
  color: rgba(255,255,255,0.5) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.woocommerce-MyAccount-content p {
  color: rgba(255,255,255,0.4) !important;
  margin-bottom: 16px !important;
}

.woocommerce-MyAccount-content a {
  color: #fff !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255,255,255,0.3) !important;
}

.woocommerce-MyAccount-content a:hover {
  text-decoration-color: #fff !important;
}

.woocommerce-MyAccount-content strong {
  color: #fff !important;
}

/* Orders table */
.woocommerce-MyAccount-content table,
.woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.woocommerce-MyAccount-content table thead th,
.woocommerce-orders-table thead th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.3) !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
  text-align: left !important;
}

.woocommerce-MyAccount-content table td,
.woocommerce-orders-table td {
  padding: 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 14px !important;
  background: transparent !important;
}

.woocommerce-MyAccount-content table td a {
  color: #fff !important;
}

/* Buttons in account */
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"] {
  background: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  display: inline-block !important;
}

.woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover {
  background: rgba(255,255,255,0.85) !important;
}

/* Form fields in account */
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  padding: 14px 16px !important;
  width: 100% !important;
  outline: none !important;
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus {
  border-color: rgba(255,255,255,0.3) !important;
}

.woocommerce-MyAccount-content label {
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Address cards */
.woocommerce-Addresses .woocommerce-Address {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
}

.woocommerce-Addresses .woocommerce-Address-title h3 {
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.woocommerce-Addresses address {
  font-style: normal !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.8 !important;
}

/* No orders message */
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,0.5) !important;
  padding: 16px 20px !important;
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation ul {
    flex-direction: column !important;
  }
}

/* Fix: Only active tab gets underline */
.woocommerce-MyAccount-navigation ul li a {
  border-bottom-color: transparent !important;
  color: rgba(255,255,255,0.35) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  color: #fff !important;
  border-bottom-color: #fff !important;
}

/* Fix: Change password fieldset border */
.woocommerce-MyAccount-content fieldset {
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin: 24px 0 !important;
}

.woocommerce-MyAccount-content fieldset legend {
  color: rgba(255,255,255,0.4) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 0 8px !important;
}

/* Info box on orders page */
.woocommerce-MyAccount-content .woocommerce-info {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.woocommerce-MyAccount-content .woocommerce-info::before {
  display: none !important;
}

/* Help text under fields */
.woocommerce-MyAccount-content em,
.woocommerce-MyAccount-content .description {
  color: rgba(255,255,255,0.25) !important;
  font-size: 12px !important;
}

/* Nedladdningar tab - hide if not used */
.woocommerce-MyAccount-navigation-link--downloads {
  display: none !important;
}

/* ---------- CHECKOUT FIXES ---------- */

/* Fix billing address text visibility */
.wc-block-components-address-address-wrapper,
.wc-block-checkout__billing-fields address,
.wc-block-components-shipping-address,
.wc-block-checkout .wc-block-components-address-card span,
.wc-block-checkout .wc-block-components-address-card {
  color: rgba(255,255,255,0.5) !important;
}

/* Fix Stripe card input fields */
.wc-block-components-radio-control__option .wc-block-components-radio-control__description {
  color: rgba(255,255,255,0.4) !important;
}

/* Stripe iframe inputs */
.wc-block-gateway-container iframe,
.wc-block-gateway-container .StripeElement {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
  padding: 12px !important;
}

.wc-block-gateway-container label {
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
}

/* Reduce space between KASSA title and content */
.page-hero + .page-content,
.page-hero + section,
.page-hero + .woocommerce,
.page-hero + div {
  margin-top: 0 !important;
  padding-top: 40px !important;
}

/* ---------- ORDER CONFIRMATION FIXES ---------- */

/* Reduce space between KASSA header and thank you text */
.woocommerce-order .woocommerce-thankyou-order-received {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Order details table - fix alignment */
.woocommerce-order .woocommerce-table--order-details thead th:first-child,
.woocommerce-order .woocommerce-table--order-details td:first-child {
  text-align: left !important;
}

.woocommerce-order .woocommerce-table--order-details thead th:last-child,
.woocommerce-order .woocommerce-table--order-details td:last-child {
  text-align: right !important;
}

/* Fix tfoot labels alignment */
.woocommerce-order .woocommerce-table--order-details tfoot th {
  text-align: left !important;
}

.woocommerce-order .woocommerce-table--order-details tfoot td {
  text-align: right !important;
}

/* "PRODUKT" header rename via text-indent trick - handled in functions.php */


/* Reduce hero padding on cart/checkout/account pages */
.woocommerce-cart .page-hero,
.woocommerce-checkout .page-hero,
.woocommerce-account .page-hero {
  padding: 120px 0 40px !important;
}

/* Reduce content top padding */
.woocommerce-cart .page-content,
.woocommerce-checkout .page-content,
.woocommerce-account .page-content {
  padding-top: 40px !important;
}

/* ---------- PAYMENT METHODS FIX ---------- */

/* Payment methods container */
.wc-block-components-payment-method-icons,
.wc-block-checkout__payment-method,
.wc-block-components-radio-control,
.wc-block-checkout__payment-method .wc-block-components-radio-control {
  border: none !important;
  outline: none !important;
}

/* Individual payment option */
.wc-block-components-radio-control__option {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  margin-bottom: 8px !important;
}

.wc-block-components-radio-control__option:last-child {
  margin-bottom: 0 !important;
}

/* Selected/checked payment option */
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option[aria-checked="true"] {
  border-color: rgba(255,255,255,0.3) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* Remove outer container borders */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

/* Payment content area (card fields etc) */
.wc-block-components-radio-control-accordion-content {
  border: none !important;
  background: transparent !important;
  padding: 16px 0 0 !important;
}

/* Fix Stripe card input container */
.wc-block-gateway-container {
  background: transparent !important;
  border: none !important;
}

/* Klarna Kustom badge */
.wc-block-components-payment-method-label img {
  max-height: 24px !important;
  vertical-align: middle !important;
}

/* Radio button styling */
.wc-block-components-radio-control__input {
  border-color: rgba(255,255,255,0.3) !important;
  background: transparent !important;
}

.wc-block-components-radio-control__input:checked {
  border-color: #fff !important;
  background: #fff !important;
}

/* Remove any double wrapper borders */
.wc-block-components-payment-method-options,
.wc-block-checkout__payment-method fieldset {
  border: none !important;
  padding: 0 !important;
}

/* AGGRESSIVE payment method border fix */
.wc-block-checkout__payment-method *:not(.wc-block-components-radio-control__option) {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Re-apply border only on the actual options */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
  border: 1px solid rgba(255,255,255,0.1) !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option--checked {
  border-color: rgba(255,255,255,0.3) !important;
}

/* Fix payment method - target the exact label element */
label.wc-block-components-radio-control__option {
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.04) !important;
  margin-bottom: 8px !important;
  outline: none !important;
  box-shadow: none !important;
}

label.wc-block-components-radio-control__option:has(input:checked) {
  border-color: rgba(255,255,255,0.3) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* Remove ALL parent wrapper borders */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Re-set on just the label */
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option {
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.04) !important;
}

.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option:has(input:checked) {
  border-color: rgba(255,255,255,0.3) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* =============================================
   LIGHT THEME OVERRIDES (v2.1)
   Converts all subpages and WooCommerce blocks to light theme
   ============================================= */

/* ---------- Page Hero ---------- */
.page-hero {
  background: var(--dark-900) !important;
  padding: 90px 0 50px !important;
  position: relative;
}

.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 100%, rgba(0, 0, 0,0.08), transparent 70%);
  pointer-events: none;
}

.page-hero__title {
  letter-spacing: 2px !important;
  font-weight: 800 !important;
}

/* ---------- Page Content (light bg, dark text) ---------- */
.page-content {
  background: var(--light-bg-alt) !important;
  padding: 80px 0 110px !important;
}

.page-content__inner {
  background: var(--light-bg-alt);
  border: none;
  border-radius: 0;
  padding: 0;
  max-width: 760px;
  margin: 0 auto;
}

.page-content h2 {
  color: var(--text-dark) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px !important;
  text-transform: uppercase !important;
  margin-top: 56px !important;
  margin-bottom: 18px !important;
  line-height: 1.1 !important;
}

.page-content h2:first-child {
  margin-top: 0 !important;
}

.page-content h3 {
  color: var(--text-dark) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-top: 32px !important;
  margin-bottom: 14px !important;
}

.page-content p,
.page-content ul li {
  color: var(--text-dark-secondary) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  letter-spacing: 0.1px !important;
}

.page-content ul li::before {
  background: var(--text-dark) !important;
  width: 5px !important;
  height: 5px !important;
}

.page-content strong {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
}

.page-content a {
  color: var(--text-dark) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 600 !important;
}

.page-content a:hover {
  color: var(--text-dark-secondary) !important;
  opacity: 1 !important;
}

/* Product cards inside .page-content keep their own link styling
   (otherwise the rule above paints the orange "Köp nu" button label
   in --accent — invisible on the orange button). */
.page-content .product-card a,
.page-content .product-card__btn,
.page-content .product-card__btn:hover {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}

.page-content a.product-card__btn,
.page-content a.product-card__btn:hover,
.page-content .product-card__btn .product-card__btn-label {
  color: #fff !important;
  font-weight: 700 !important;
}

.page-content__intro {
  font-size: 16px !important;
  color: var(--text-dark-secondary) !important;
  line-height: 1.8 !important;
}

@media (max-width: 640px) {
  .page-content { padding: 48px 0 64px !important; }
  .page-content h2 { font-size: 20px !important; margin-top: 40px !important; }
  .page-content p, .page-content ul li { font-size: 14px !important; }
}

/* ---------- Contact Form (light) ---------- */
.contact-form__label {
  color: var(--text-dark-secondary) !important;
  font-weight: 700 !important;
}

.contact-form__input,
.contact-form__textarea,
.contact-form__select {
  background: #fff !important;
  border: 1px solid var(--light-border-strong) !important;
  border-radius: 10px !important;
  color: var(--text-dark) !important;
}

.contact-form__input:focus,
.contact-form__textarea:focus,
.contact-form__select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0,0.12) !important;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: var(--text-dark-muted) !important;
}

.contact-form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23111827' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.contact-form__select option {
  background: #fff !important;
  color: var(--text-dark) !important;
}

.contact-form__btn {
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  border-radius: 10px !important;
  letter-spacing: 1.8px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
}

.contact-form__btn:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Contact info cards (right column) */
.contact-info-card {
  background: var(--light-bg-alt) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-md);
}

.contact-info-card__icon {
  color: var(--accent) !important;
}

.contact-info-card__label {
  color: var(--text-dark-muted) !important;
}

.contact-info-card__value {
  color: var(--text-dark) !important;
  font-weight: 600 !important;
}

.contact-info-card__sub {
  color: var(--text-dark-muted) !important;
}

/* ---------- FAQ accordion ---------- */
.faq-item {
  border-bottom: 1px solid var(--light-border) !important;
  padding: 0 !important;
}

.faq-item:first-child {
  border-top: 1px solid var(--light-border) !important;
}

.faq-question {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
  padding: 28px 0 !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.faq-question:hover {
  color: var(--text-dark-secondary) !important;
}

.faq-question__icon {
  color: var(--text-dark) !important;
  font-weight: 400 !important;
}

.faq-answer p {
  color: var(--text-dark-secondary) !important;
  line-height: 1.85 !important;
}

/* ---------- Cookie Banner (light variant) ---------- */
.cookie-banner {
  background: var(--dark-900) !important;
  border-top: 2px solid var(--accent);
  color: #fff !important;
}

.cookie-banner__text {
  color: rgba(255,255,255,0.85) !important;
}

.cookie-banner__text a {
  color: var(--accent) !important;
}

.cookie-banner__btn {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
  border-radius: 8px !important;
}

.cookie-banner__btn:hover {
  background: rgba(255,255,255,0.08) !important;
}

.cookie-banner__btn--accept {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}

.cookie-banner__btn--accept:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

/* ---------- WooCommerce Cart & Checkout Blocks (light) ---------- */
.wc-block-cart,
.wp-block-woocommerce-cart,
.wc-block-checkout,
.wp-block-woocommerce-checkout {
  color: var(--text-dark) !important;
}

.wc-block-cart-items .wc-block-cart-items__row,
.wc-block-cart-items {
  border-color: var(--light-border) !important;
  color: var(--text-dark) !important;
}

.wc-block-cart-items .wc-block-components-product-name,
.wc-block-components-product-name {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
}

.wc-block-cart-items .wc-block-components-product-metadata,
.wc-block-components-product-metadata {
  color: var(--text-dark-muted) !important;
}

.wc-block-cart-items .wc-block-components-product-price,
.wc-block-components-product-price,
.wc-block-formatted-money-amount {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
}

.wc-block-cart-items .wc-block-cart-item__image img {
  background: #fff !important;
  border: 1px solid var(--light-border) !important;
  border-radius: 8px !important;
  padding: 6px;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
  background: #fff !important;
  border: 1px solid var(--light-border-strong) !important;
  border-radius: 8px !important;
}

.wc-block-components-quantity-selector input {
  color: var(--text-dark) !important;
  background: transparent !important;
}

.wc-block-components-quantity-selector button {
  color: var(--text-dark) !important;
  background: transparent !important;
}

.wc-block-cart-item__remove-link {
  color: var(--text-dark-muted) !important;
}

.wc-block-cart-item__remove-link:hover {
  color: var(--red-sale) !important;
}

/* Totals sidebar */
.wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block {
  background: var(--light-bg-alt) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--text-dark-secondary) !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
}

/* Checkout submit + place-order buttons — accent orange */
.wc-block-cart__submit-button .wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button,
.wc-block-components-button.contained {
  background: var(--accent) !important;
  color: #fff !important;
  border: 1px solid var(--accent) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0,0.3) !important;
  transition: all 0.25s ease !important;
}

.wc-block-cart__submit-button .wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover,
.wc-block-components-button.contained:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(0, 0, 0,0.45) !important;
}

/* Checkout form inputs */
.wc-block-components-text-input input,
.wc-block-components-select input,
.wc-block-components-select select,
.wc-block-checkout__form input,
.wc-block-components-text-input.has-error input {
  background: #fff !important;
  border: 1px solid var(--light-border-strong) !important;
  border-radius: 10px !important;
  color: var(--text-dark) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0,0.12) !important;
  outline: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-checkout-step__title,
.wc-block-checkout__form label {
  color: var(--text-dark-secondary) !important;
}

.wc-block-components-checkout-step {
  border-bottom: 1px solid var(--light-border) !important;
}

.wc-block-components-checkout-step__title,
.wc-block-components-title {
  color: var(--text-dark) !important;
  font-weight: 800 !important;
}

/* Payment method radio (light) */
label.wc-block-components-radio-control__option {
  border: 1px solid var(--light-border) !important;
  background: var(--light-bg-alt) !important;
  color: var(--text-dark) !important;
}

label.wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--accent) !important;
  background: var(--accent-soft) !important;
}

.wc-block-components-radio-control__option-layout,
.wc-block-components-radio-control__label {
  color: var(--text-dark) !important;
}

.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option {
  border: 1px solid var(--light-border) !important;
  background: var(--light-bg-alt) !important;
}

.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--accent) !important;
  background: var(--accent-soft) !important;
}

/* My account / login pages */
.woocommerce-account .woocommerce,
.woocommerce-MyAccount-content {
  color: var(--text-dark) !important;
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce-form {
  background: var(--light-bg-alt) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  color: var(--text-dark) !important;
}

.woocommerce form .form-row label {
  color: var(--text-dark-secondary) !important;
  font-weight: 600 !important;
}

.woocommerce form .form-row input,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: #fff !important;
  border: 1px solid var(--light-border-strong) !important;
  border-radius: 10px !important;
  color: var(--text-dark) !important;
  padding: 12px 14px !important;
}

.woocommerce form .form-row input:focus {
  border-color: var(--accent) !important;
  outline: none !important;
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0,0.25) !important;
  transition: all 0.25s ease !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
}

/* MyAccount navigation */
.woocommerce-MyAccount-navigation ul li a {
  color: var(--text-dark-secondary) !important;
  border-bottom: 1px solid var(--light-border) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--accent) !important;
}

/* Tables (orders, addresses) */
.woocommerce table.shop_table {
  background: var(--light-bg-alt) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--text-dark) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: var(--light-border) !important;
  color: var(--text-dark) !important;
}

/* Shop archive — light bg */
.page-content.woocommerce-content {
  background: var(--light-bg) !important;
}

/* Empty cart message */
.cart-empty,
.wc-block-cart__empty-cart__title {
  color: var(--text-dark) !important;
}

.return-to-shop a {
  background: var(--accent) !important;
  color: #fff !important;
}


/* =============================================
   MY ACCOUNT — REBUILD (v3.1)
   Proper sidebar layout, light theme, action cards
   ============================================= */

/* 2-column layout for the my-account container */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  align-items: start;
}

/* Sidebar nav — vertical, not horizontal tabs */
.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 0 !important;
  background: var(--light-bg) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: 14px !important;
  position: sticky;
  top: 100px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 2px !important;
  border-bottom: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 12px 16px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  color: var(--text-dark-secondary) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--light-bg-alt) !important;
  color: var(--text-dark) !important;
  border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0,0.25);
}

/* Reset the dashboard-specific override that forced white text */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a {
  color: var(--text-dark-secondary) !important;
  border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
  color: #fff !important;
}

/* Add small icon prefix using text or pseudo (a refined touch) */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
  opacity: 0.7;
  filter: invert(0%);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
  filter: brightness(0) invert(1);
  opacity: 1;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M3.75 12h16.5m-16.5 3.75h16.5M3.75 19.5h16.5M5.625 4.5h12.75a1.875 1.875 0 010 3.75H5.625a1.875 1.875 0 010-3.75z'/></svg>");
}
.woocommerce-MyAccount-navigation-link--orders a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007zM8.625 10.5a.375.375 0 11-.75 0 .375.375 0 01.75 0zm7.5 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z'/></svg>");
}
.woocommerce-MyAccount-navigation-link--downloads a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-address a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 11-6 0 3 3 0 016 0z'/><path stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z'/></svg>");
}
.woocommerce-MyAccount-navigation-link--payment-methods a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 002.25-2.25V6.75A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25v10.5A2.25 2.25 0 004.5 19.5z'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-account a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z'/></svg>");
}
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%234b5563'><path stroke-linecap='round' stroke-linejoin='round' d='M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15M12 9l-3 3m0 0l3 3m-3-3h12.75'/></svg>");
}

/* Content area */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--light-bg-alt);
  border: 1px solid var(--light-border);
  border-radius: var(--radius-lg);
  padding: 36px 40px;
  color: var(--text-dark) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: var(--text-dark-secondary) !important;
  margin-bottom: 14px !important;
  font-size: 15px !important;
}

.woocommerce-account .woocommerce-MyAccount-content p:first-child {
  font-size: 18px !important;
  color: var(--text-dark) !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--accent) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  border-bottom: 1px solid rgba(0, 0, 0,0.3) !important;
  transition: all 0.2s !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
  color: var(--accent-hover) !important;
  border-bottom-color: var(--accent) !important;
}

.woocommerce-account .woocommerce-MyAccount-content strong {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
}

/* Tables in account (orders, downloads) */
.woocommerce-account .woocommerce-MyAccount-content table,
.woocommerce-account .woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
  border: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content table thead th,
.woocommerce-account .woocommerce-orders-table thead th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--text-dark-muted) !important;
  padding: 14px 14px !important;
  border-bottom: 1px solid var(--light-border) !important;
  background: transparent !important;
  text-align: left !important;
}

.woocommerce-account .woocommerce-MyAccount-content table td,
.woocommerce-account .woocommerce-orders-table td {
  padding: 16px 14px !important;
  border-bottom: 1px solid var(--light-border) !important;
  color: var(--text-dark) !important;
  font-size: 14px !important;
  background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-content table td a,
.woocommerce-account .woocommerce-orders-table td a {
  color: var(--accent) !important;
  border-bottom: none !important;
}

/* Order status pill */
.woocommerce-account .woocommerce-orders-table__cell-order-status {
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  font-size: 11px !important;
}

/* Buttons in account — orange CTA style */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 22px !important;
  cursor: pointer !important;
  transition: all 0.25s !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0,0.25) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0,0.35) !important;
}

/* "View" button in orders table — secondary look */
.woocommerce-account .woocommerce-orders-table .woocommerce-button.view {
  background: var(--light-bg) !important;
  color: var(--text-dark) !important;
  border: 1px solid var(--light-border-strong) !important;
  box-shadow: none !important;
  padding: 8px 16px !important;
  font-size: 11px !important;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-button.view:hover {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

/* "Inga beställningar"-message */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
  background: var(--accent-soft) !important;
  border: 1px solid rgba(0, 0, 0,0.25) !important;
  border-left: 4px solid var(--accent) !important;
  color: var(--text-dark) !important;
  border-radius: 10px !important;
  padding: 18px 22px !important;
  font-size: 14px !important;
}

/* My account form fields (login, register, edit account) */
.woocommerce-account form .form-row label,
.woocommerce form .form-row label {
  color: var(--text-dark-secondary) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Mobile: stack the layout */
@media (max-width: 900px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
    padding: 10px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row !important;
    overflow-x: auto;
    flex-wrap: nowrap !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex-shrink: 0;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    white-space: nowrap;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px 22px;
  }
}

/* Login/Register page (when not logged in) — center the form */
.woocommerce-account:not(.logged-in) .woocommerce {
  grid-template-columns: 1fr;
  max-width: 480px;
  margin: 0 auto;
}

.woocommerce-account:not(.logged-in) .woocommerce-MyAccount-navigation {
  display: none;
}


/* =============================================
   Login Form — SCANDRIVE custom (v3.2)
   ============================================= */

.scandrive-login {
  display: flex;
  justify-content: center;
  padding: 20px 0 60px;
}

.scandrive-login__card {
  width: 100%;
  max-width: 460px;
  background: var(--light-bg-alt);
  border: 1px solid var(--light-border);
  border-radius: 18px;
  padding: 48px 44px 36px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 12px 32px rgba(15,23,42,0.06);
}

.scandrive-login__header {
  text-align: center;
  margin-bottom: 32px;
}

.scandrive-login__icon-wrap {
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  background: var(--accent-soft);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scandrive-login__icon-wrap svg {
  width: 32px;
  height: 32px;
  color: var(--accent);
}

.scandrive-login__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 26px;
  font-weight: 800;
  color: var(--text-dark) !important;
  margin: 0 0 8px;
  letter-spacing: -0.5px;
}

.scandrive-login__subtitle {
  font-size: 14px;
  color: var(--text-dark-secondary) !important;
  line-height: 1.55;
  margin: 0;
}

.scandrive-login__form {
  display: flex !important;
  flex-direction: column;
  gap: 18px;
}

.scandrive-login__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.scandrive-login__label {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-dark-secondary);
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.scandrive-login__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.scandrive-login__field-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--text-dark-muted);
  pointer-events: none;
  transition: color 0.2s;
}

.scandrive-login__input {
  width: 100%;
  padding: 14px 16px 14px 44px !important;
  background: var(--light-bg) !important;
  border: 1.5px solid var(--light-border) !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  color: var(--text-dark) !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box;
}

.scandrive-login__input::placeholder {
  color: var(--text-dark-muted) !important;
  font-weight: 400;
}

.scandrive-login__input:focus {
  background: #fff !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 4px rgba(0, 0, 0,0.12) !important;
}

.scandrive-login__input:focus + .scandrive-login__field-icon,
.scandrive-login__input-wrap:focus-within .scandrive-login__field-icon {
  color: var(--accent);
}

/* Password show/hide */
.scandrive-login__toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: transparent;
  border: none;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-dark-muted);
  transition: all 0.2s;
  padding: 0;
}

.scandrive-login__toggle:hover {
  background: var(--light-bg);
  color: var(--text-dark);
}

.scandrive-login__toggle svg {
  width: 18px;
  height: 18px;
}

.scandrive-login__eye-hide { display: none; }
.scandrive-login__toggle.is-visible .scandrive-login__eye-show { display: none; }
.scandrive-login__toggle.is-visible .scandrive-login__eye-hide { display: block; }

/* Row with remember + forgot */
.scandrive-login__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: -4px;
}

.scandrive-login__remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-dark-secondary) !important;
  cursor: pointer;
  user-select: none;
}

.scandrive-login__remember input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--light-border-strong);
  border-radius: 5px;
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
  background: #fff;
}

.scandrive-login__remember input[type="checkbox"]:checked {
  background: var(--accent);
  border-color: var(--accent);
}

.scandrive-login__remember input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.scandrive-login__forgot {
  font-size: 13px;
  color: var(--accent) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.2s;
}

.scandrive-login__forgot:hover {
  color: var(--accent-hover) !important;
}

/* Submit button — full width, prominent */
.scandrive-login__submit {
  width: 100% !important;
  padding: 16px 24px !important;
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0,0.3) !important;
  margin-top: 8px !important;
}

.scandrive-login__submit:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(0, 0, 0,0.45) !important;
}

/* Trust indicator */
.scandrive-login__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--light-border);
  font-size: 12px;
  color: var(--text-dark-muted) !important;
  font-weight: 500;
  letter-spacing: 0.3px;
}

.scandrive-login__trust svg {
  width: 16px;
  height: 16px;
  color: var(--green-stock);
  flex-shrink: 0;
}

/* Guest checkout hint */
.scandrive-login__guest {
  text-align: center;
  margin-top: 16px;
}

.scandrive-login__guest p {
  font-size: 13px !important;
  color: var(--text-dark-muted) !important;
  margin: 0 !important;
}

.scandrive-login__guest a {
  color: var(--accent) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0, 0, 0,0.3) !important;
}

.scandrive-login__guest a:hover {
  color: var(--accent-hover) !important;
  border-bottom-color: var(--accent) !important;
}

/* Mobile */
@media (max-width: 640px) {
  .scandrive-login__card { padding: 36px 24px 28px; border-radius: 14px; }
  .scandrive-login__title { font-size: 22px; }
  .scandrive-login__icon-wrap { width: 56px; height: 56px; }
  .scandrive-login__icon-wrap svg { width: 28px; height: 28px; }
}

/* Remove outer wrapper card on login page (when not logged in)
   so the new scandrive-login__card is the only visible card */
body:not(.logged-in).woocommerce-account .page-content__inner {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  max-width: none !important;
}

body:not(.logged-in).woocommerce-account .page-content {
  padding: 40px 0 80px !important;
}

/* Hide dark "MITT KONTO" hero on the login page (when not logged in)
   so the new login card is the only focal point */
body:not(.logged-in).woocommerce-account .page-hero {
  display: none;
}

body:not(.logged-in).woocommerce-account .page-content {
  padding: 80px 0 80px !important;
}

/* Hide dark hero on entire my-account section (logged in OR out) */
.woocommerce-account .page-hero {
  display: none !important;
}

.woocommerce-account .page-content {
  padding: 60px 0 80px !important;
}

/* Make the my-account container full width — outer card off, let the layout breathe */
.logged-in.woocommerce-account .page-content__inner {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  max-width: none !important;
}

/* =============================================
   My Account Dashboard — quick action cards
   ============================================= */

.sd-dashboard__header {
  margin-bottom: 32px;
}

.sd-dashboard__title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(22px, 2.6vw, 30px) !important;
  font-weight: 800 !important;
  color: var(--text-dark) !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.5px;
}

.sd-dashboard__subtitle {
  font-size: 15px !important;
  color: var(--text-dark-secondary) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.sd-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}

.sd-dashboard__card {
  display: block;
  background: var(--light-bg) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: 14px !important;
  padding: 24px 22px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  position: relative;
  color: var(--text-dark) !important;
  border-bottom: 1px solid var(--light-border) !important;
}

.sd-dashboard__card:hover {
  border-color: var(--accent) !important;
  background: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(15,23,42,0.08);
}

.sd-dashboard__card-icon {
  width: 44px;
  height: 44px;
  background: var(--accent-soft);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: background 0.25s;
}

.sd-dashboard__card:hover .sd-dashboard__card-icon {
  background: var(--accent);
}

.sd-dashboard__card-icon svg {
  width: 22px;
  height: 22px;
  color: var(--accent);
  transition: color 0.25s;
}

.sd-dashboard__card:hover .sd-dashboard__card-icon svg {
  color: #fff;
}

.sd-dashboard__card h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.2px;
}

.sd-dashboard__card p {
  font-size: 13px !important;
  color: var(--text-dark-muted) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.sd-dashboard__card-meta {
  display: block;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--light-border);
  font-size: 12px;
  color: var(--text-dark-muted);
  font-weight: 600;
  letter-spacing: 0.2px;
}

/* Help banner */
.sd-dashboard__help {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: var(--accent-soft);
  border: 1px solid rgba(0, 0, 0,0.18);
  border-radius: 12px;
  margin-bottom: 18px;
}

.sd-dashboard__help-icon {
  width: 44px;
  height: 44px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sd-dashboard__help-icon svg {
  width: 22px;
  height: 22px;
  color: var(--accent);
}

.sd-dashboard__help-content h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  margin: 0 0 2px !important;
}

.sd-dashboard__help-content p {
  font-size: 13px !important;
  color: var(--text-dark-secondary) !important;
  margin: 0 !important;
}

.sd-dashboard__help-content a {
  color: var(--accent) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0, 0, 0,0.3) !important;
}

.sd-dashboard__help-content a:hover {
  border-bottom-color: var(--accent) !important;
}

/* "Inte du? Logga ut" — small subtle text */
.sd-dashboard__not-you {
  font-size: 13px !important;
  color: var(--text-dark-muted) !important;
  text-align: center !important;
  margin: 12px 0 0 !important;
}

.sd-dashboard__not-you a {
  color: var(--text-dark-secondary) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  border: none !important;
}

.sd-dashboard__not-you a:hover {
  color: var(--accent) !important;
}

/* Responsive */
@media (max-width: 640px) {
  .sd-dashboard__grid { grid-template-columns: 1fr; }
  .sd-dashboard__card { padding: 20px; }
  .sd-dashboard__help { flex-direction: column; text-align: center; padding: 22px; }
}

/* =============================================
   My Account — Addresses, Payment Methods, Forms (v3.5)
   ============================================= */

/* ---------- Addresses ---------- */
.sd-addresses__header {
  margin-bottom: 28px;
}

.sd-addresses__title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(22px, 2.4vw, 28px) !important;
  font-weight: 800 !important;
  color: var(--text-dark) !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.4px;
}

.sd-addresses__subtitle {
  font-size: 15px !important;
  color: var(--text-dark-secondary) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.sd-addresses__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.sd-address-card {
  background: var(--light-bg-alt);
  border: 1px solid var(--light-border);
  border-radius: 14px;
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.25s, box-shadow 0.25s;
}

.sd-address-card:hover {
  border-color: var(--light-border-strong);
  box-shadow: 0 4px 16px rgba(15,23,42,0.05);
}

.sd-address-card.is-empty {
  background: var(--light-bg);
  border-style: dashed;
}

.sd-address-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.sd-address-card__icon {
  width: 40px;
  height: 40px;
  background: var(--accent-soft);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sd-address-card__icon svg {
  width: 20px;
  height: 20px;
  color: var(--accent);
}

.sd-address-card__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  margin: 0 !important;
  letter-spacing: -0.2px;
}

.sd-address-card__body {
  flex: 1;
  margin-bottom: 18px;
}

.sd-address-card__body address {
  font-style: normal;
  font-size: 14px;
  color: var(--text-dark-secondary);
  line-height: 1.7;
}

.sd-address-card__empty {
  font-size: 13px !important;
  color: var(--text-dark-muted) !important;
  font-style: italic;
  margin: 0 !important;
}

.sd-address-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 18px;
  background: var(--accent) !important;
  color: #fff !important;
  border: 1px solid var(--accent) !important;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
  align-self: flex-start;
  box-shadow: 0 4px 12px rgba(0, 0, 0,0.2);
}

.sd-address-card__btn:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0,0.32) !important;
  border-bottom: 1px solid var(--accent-hover) !important;
}

.sd-address-card__btn svg {
  width: 14px;
  height: 14px;
}

.sd-address-card.is-empty .sd-address-card__btn {
  background: var(--light-bg-alt) !important;
  color: var(--text-dark) !important;
  border-color: var(--light-border-strong) !important;
  box-shadow: none;
}

.sd-address-card.is-empty .sd-address-card__btn:hover {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

@media (max-width: 768px) {
  .sd-addresses__grid { grid-template-columns: 1fr; }
}

/* ---------- Payment Methods page — fix radio + form layout ---------- */
.woocommerce-account .add-payment-method,
.woocommerce-account form#add_payment_method {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Hide Stripe's tiny credit card icon at top (it shows as an out-of-place SVG) */
.woocommerce-account form#add_payment_method > .payment_methods > li > input[type=radio] + label > img,
.woocommerce-account .payment_methods > li:not(.payment_box) {
  /* leave images visible but tighten layout */
}

/* Payment methods list */
.woocommerce-account ul.payment_methods,
.woocommerce-account ul.wc_payment_methods {
  list-style: none !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.woocommerce-account ul.payment_methods li,
.woocommerce-account ul.wc_payment_methods li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--light-bg-alt) !important;
  border: 1.5px solid var(--light-border) !important;
  border-radius: 12px !important;
  overflow: hidden;
  transition: all 0.2s;
}

.woocommerce-account ul.payment_methods li:has(input[type=radio]:checked),
.woocommerce-account ul.wc_payment_methods li:has(input[type=radio]:checked) {
  border-color: var(--accent) !important;
  background: var(--accent-soft) !important;
}

/* (Old payment-method radio rules removed in v3.7 — now handled by global custom radio block) */
.woocommerce-account ul.payment_methods li > input[type=radio],
.woocommerce-account ul.wc_payment_methods li > input[type=radio] {
  margin: 18px 8px 18px 18px !important;
}

.woocommerce-account ul.payment_methods li > label,
.woocommerce-account ul.wc_payment_methods li > label {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 18px 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text-dark) !important;
  cursor: pointer;
  flex: 1;
  vertical-align: middle;
}

.woocommerce-account ul.payment_methods li > label img,
.woocommerce-account ul.wc_payment_methods li > label img {
  max-height: 24px !important;
  width: auto !important;
}

/* Card form box (Stripe iframe etc) inside the chosen method */
.woocommerce-account ul.payment_methods li .payment_box,
.woocommerce-account ul.wc_payment_methods li .payment_box,
.woocommerce-account ul.payment_methods li > .wc-payment-form,
.woocommerce-account ul.wc_payment_methods li > .wc-payment-form {
  background: #fff !important;
  border-top: 1px solid var(--light-border) !important;
  padding: 20px !important;
  margin: 0 !important;
}

/* Hide pseudo-arrow that some payment plugins inject */
.woocommerce-account ul.payment_methods li .payment_box::before,
.woocommerce-account ul.wc_payment_methods li .payment_box::before {
  display: none !important;
}

/* Stripe field labels */
.woocommerce-account .form-row {
  margin-bottom: 14px !important;
}

/* "Lägg till betalningsmetod" submit button is already styled by .button rule */

/* ---------- Account form — checkbox spacing fix ---------- */
.woocommerce-account form.edit-account fieldset,
.woocommerce-account form.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--light-border) !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  margin: 24px 0 !important;
  background: var(--light-bg);
}

.woocommerce-account form.edit-account legend,
.woocommerce-account form.woocommerce-EditAccountForm legend {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  padding: 0 8px !important;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

/* Newsletter checkbox rows in edit account */
.woocommerce-account .form-row label.checkbox,
.woocommerce-account label.woocommerce-form__label-for-checkbox,
.woocommerce-account .form-row-wide label:has(input[type="checkbox"]),
.woocommerce-account form .form-row label.checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: var(--text-dark-secondary) !important;
  font-weight: 500 !important;
  cursor: pointer;
  margin: 8px 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* (Old conflicting input rules removed in v3.6 — see custom checkbox/radio block below) */

/* =============================================
   My Account fixes (v3.6) — button text + checkboxes + payment icons
   ============================================= */

/* Override the generic .woocommerce-MyAccount-content a rule
   so the address card button text/icon stay visible on orange */
.woocommerce-account .sd-address-card__btn,
.woocommerce-account .woocommerce-MyAccount-content .sd-address-card__btn {
  color: #fff !important;
  border: 1px solid var(--accent) !important;
  border-bottom: 1px solid var(--accent) !important;
  text-decoration: none !important;
}

.woocommerce-account .sd-address-card__btn:hover,
.woocommerce-account .woocommerce-MyAccount-content .sd-address-card__btn:hover {
  color: #fff !important;
  border-color: var(--accent-hover) !important;
  border-bottom-color: var(--accent-hover) !important;
}

.woocommerce-account .sd-address-card.is-empty .sd-address-card__btn,
.woocommerce-account .woocommerce-MyAccount-content .sd-address-card.is-empty .sd-address-card__btn {
  color: var(--text-dark) !important;
  border-color: var(--light-border-strong) !important;
  border-bottom-color: var(--light-border-strong) !important;
}

.woocommerce-account .sd-address-card.is-empty .sd-address-card__btn:hover,
.woocommerce-account .woocommerce-MyAccount-content .sd-address-card.is-empty .sd-address-card__btn:hover {
  color: #fff !important;
  border-color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
}

/* ---------- Custom checkbox + radio (replaces weird native styling) ---------- */
.woocommerce-account form input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 1.5px solid var(--light-border-strong) !important;
  border-radius: 5px !important;
  background: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 10px 0 0 !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  transition: all 0.15s ease !important;
}

.woocommerce-account form input[type="checkbox"]:hover {
  border-color: var(--accent) !important;
}

.woocommerce-account form input[type="checkbox"]:checked {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
}

.woocommerce-account form input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 6px !important;
  top: 2px !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

.woocommerce-account form input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 1.5px solid var(--light-border-strong) !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  margin: 0 10px 0 0 !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  transition: all 0.15s ease !important;
}

.woocommerce-account form input[type="radio"]:hover {
  border-color: var(--accent) !important;
}

.woocommerce-account form input[type="radio"]:checked {
  border-color: var(--accent) !important;
}

.woocommerce-account form input[type="radio"]:checked::after {
  content: '' !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--accent) !important;
  border-radius: 50% !important;
}

/* Newsletter rows specifically */
.woocommerce-account form .form-row.form-row-wide:has(input[type="checkbox"]),
.woocommerce-account form .form-row.form-row-wide:has(input[type="radio"]) {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-bottom: 10px !important;
  font-size: 14px !important;
  color: var(--text-dark) !important;
  cursor: pointer;
}

/* If the label wraps the input (common pattern) */
.woocommerce-account form .form-row label.checkbox,
.woocommerce-account form label.woocommerce-form__label-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  cursor: pointer !important;
  font-size: 14px !important;
  color: var(--text-dark) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* ---------- Payment Methods — hide orphan card icon ---------- */
/* Stripe and other gateways sometimes inject a brand icon between
   label and form box. Hide it so layout looks clean. */
.woocommerce-account ul.payment_methods > li > svg,
.woocommerce-account ul.wc_payment_methods > li > svg,
.woocommerce-account ul.payment_methods > li > img,
.woocommerce-account ul.wc_payment_methods > li > img,
.woocommerce-account ul.payment_methods > li > .wc-stripe-payment-method-icon,
.woocommerce-account ul.payment_methods > li > .payment_method_icon,
.woocommerce-account form#add_payment_method ul > li > svg:first-of-type,
.woocommerce-account form#add_payment_method ul > li > img:first-of-type {
  display: none !important;
}

/* The payment method label and its inline icons should still render */
.woocommerce-account ul.payment_methods li > label img,
.woocommerce-account ul.wc_payment_methods li > label img,
.woocommerce-account ul.payment_methods li > label svg,
.woocommerce-account ul.wc_payment_methods li > label svg {
  display: inline-block !important;
  max-height: 22px !important;
}

/* =============================================
   v3.7 — Final clean checkbox/radio + payment box spacing
   Maximum specificity to override all WC defaults
   ============================================= */

/* Aggressive reset for ALL checkboxes/radios in account context */
body.woocommerce-account form input[type="checkbox"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="checkbox"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  accent-color: initial !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  margin: 0 10px 0 0 !important;
  padding: 0 !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 5px !important;
  background: #fff !important;
  background-image: none !important;
  background-color: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  display: inline-block !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.15s ease !important;
}

body.woocommerce-account form input[type="checkbox"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content input[type="checkbox"]:hover {
  border-color: var(--accent) !important;
}

body.woocommerce-account form input[type="checkbox"]:checked,
body.woocommerce-account .woocommerce-MyAccount-content input[type="checkbox"]:checked {
  background: var(--accent) !important;
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
}

body.woocommerce-account form input[type="checkbox"]:checked::after,
body.woocommerce-account .woocommerce-MyAccount-content input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 6px !important;
  top: 2px !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
  background: transparent !important;
}

body.woocommerce-account form input[type="radio"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="radio"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  accent-color: initial !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  margin: 0 10px 0 0 !important;
  padding: 0 !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 50% !important;
  background: #fff !important;
  background-image: none !important;
  background-color: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  display: inline-block !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.15s ease !important;
}

body.woocommerce-account form input[type="radio"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content input[type="radio"]:hover {
  border-color: var(--accent) !important;
}

body.woocommerce-account form input[type="radio"]:checked,
body.woocommerce-account .woocommerce-MyAccount-content input[type="radio"]:checked {
  border-color: var(--accent) !important;
  border-width: 1.5px !important;
  background: #fff !important;
}

body.woocommerce-account form input[type="radio"]:checked::after,
body.woocommerce-account .woocommerce-MyAccount-content input[type="radio"]:checked::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 10px !important;
  height: 10px !important;
  background: var(--accent) !important;
  background-color: var(--accent) !important;
  border-radius: 50% !important;
  border: none !important;
}

/* Reduce vertical empty space inside payment_box on add-payment-method page */
body.woocommerce-account ul.payment_methods li .payment_box {
  padding: 16px 20px !important;
  background: #fff !important;
}

/* If Stripe injects an empty wrapper above the form, hide it */
body.woocommerce-account ul.payment_methods li .payment_box > p:empty,
body.woocommerce-account ul.payment_methods li .payment_box > div:empty {
  display: none !important;
}

/* Trim margin between method header and payment_box */
body.woocommerce-account ul.payment_methods li > label {
  padding: 14px 0 !important;
}

body.woocommerce-account ul.payment_methods li .payment_box {
  margin-top: 0 !important;
}

/* =============================================
   v3.8 — Kill the orphan list-bullet on payment_methods li
   ============================================= */

body.woocommerce-account ul.payment_methods,
body.woocommerce-account ul.wc_payment_methods,
body.woocommerce-account form#add_payment_method ul {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
  padding-left: 0 !important;
}

body.woocommerce-account ul.payment_methods > li,
body.woocommerce-account ul.wc_payment_methods > li,
body.woocommerce-account form#add_payment_method ul > li {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
}

/* Kill ::marker (the actual culprit — list-bullet pseudo-element) */
body.woocommerce-account ul.payment_methods > li::marker,
body.woocommerce-account ul.wc_payment_methods > li::marker,
body.woocommerce-account form#add_payment_method ul > li::marker {
  content: '' !important;
  display: none !important;
  color: transparent !important;
  font-size: 0 !important;
}

/* Kill any orphan ::before pseudo on the li that could draw a dot */
body.woocommerce-account ul.payment_methods > li::before,
body.woocommerce-account ul.wc_payment_methods > li::before,
body.woocommerce-account form#add_payment_method ul > li::before {
  display: none !important;
  content: none !important;
}

/* =============================================
   Cart Page — Light theme (page-varukorg.php)
   Overrides the dark cart styles further up the file
   for the standalone /varukorg/ page only.
   ============================================= */
.cart-page {
  background: var(--light-bg);
  padding: 40px 0 100px;
  min-height: calc(100vh - 72px);
}

.cart-page__inner {
  max-width: 1180px;
  margin: 0 auto;
}

/* Hide any leftover page title/heading WC or the editor injects */
.cart-page h1.page-hero__title,
.cart-page .wc-block-cart > h1,
.cart-page .wp-block-woocommerce-cart > h1,
.cart-page .woocommerce > h1 {
  display: none !important;
}

/* Block container — clean, no padding overrides */
.cart-page .wp-block-woocommerce-cart,
.cart-page .wc-block-cart {
  background: transparent !important;
  color: var(--text-dark) !important;
  font-family: var(--font) !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* Two-column layout: items on left, summary card on right */
.cart-page .wc-block-cart .wc-block-cart__main {
  background: #fff !important;
  color: var(--text-dark) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px 28px !important;
  box-shadow: var(--shadow-card);
}

.cart-page .wc-block-cart .wc-block-components-sidebar {
  background: #fff !important;
  color: var(--text-dark) !important;
  border: 1px solid var(--light-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px 28px !important;
  box-shadow: var(--shadow-card);
  align-self: start;
  position: sticky;
  top: 96px;
}

/* Cart line items */
.cart-page .wc-block-cart-items {
  background: transparent !important;
}

.cart-page .wc-block-cart-items thead,
.cart-page .wc-block-cart-items .wc-block-cart-items__header {
  border-bottom: 1px solid var(--light-border) !important;
  color: var(--text-dark-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

.cart-page .wc-block-cart-items .wc-block-cart-items__header th,
.cart-page .wc-block-cart-items .wc-block-cart-items__header-product-name,
.cart-page .wc-block-cart-items .wc-block-cart-items__header-total {
  color: var(--text-dark-muted) !important;
}

.cart-page .wc-block-cart-items .wc-block-cart-items__row {
  border-bottom: 1px solid var(--light-border) !important;
  padding: 22px 0 !important;
}

.cart-page .wc-block-cart-items .wc-block-cart-items__row:last-child {
  border-bottom: none !important;
}

.cart-page .wc-block-cart-items .wc-block-components-product-name {
  color: var(--text-dark) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
}

.cart-page .wc-block-cart-items .wc-block-components-product-name:hover {
  color: var(--accent) !important;
}

.cart-page .wc-block-cart-items .wc-block-components-product-price,
.cart-page .wc-block-cart-items .wc-block-components-product-price__value {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

.cart-page .wc-block-cart-items .wc-block-cart-item__image img {
  border-radius: var(--radius-md) !important;
  background: var(--light-bg) !important;
  border: 1px solid var(--light-border) !important;
  max-width: 80px !important;
  height: auto !important;
}

/* Quantity selector — light variant */
.cart-page .wc-block-components-quantity-selector {
  background: #fff !important;
  border: 1px solid var(--light-border-strong) !important;
  border-radius: var(--radius-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  width: auto !important;
  min-width: 110px !important;
}

.cart-page .wc-block-components-quantity-selector input {
  color: var(--text-dark) !important;
  background: transparent !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  border: none !important;
}

.cart-page .wc-block-components-quantity-selector button {
  color: var(--text-dark-secondary) !important;
  background: transparent !important;
  font-size: 16px !important;
  width: 36px !important;
  transition: color var(--transition);
}

.cart-page .wc-block-components-quantity-selector button:hover {
  color: var(--accent) !important;
}

/* Remove link */
.cart-page .wc-block-cart-item__remove-link {
  color: var(--text-dark-muted) !important;
  font-size: 12px !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.cart-page .wc-block-cart-item__remove-link:hover {
  color: var(--red-sale) !important;
}

/* Sidebar / totals */
.cart-page .wc-block-components-totals-wrapper,
.cart-page .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel {
  border-color: var(--light-border) !important;
  color: var(--text-dark) !important;
}

.cart-page .wc-block-components-totals-item {
  padding: 10px 0 !important;
}

.cart-page .wc-block-components-totals-item__label {
  color: var(--text-dark-secondary) !important;
  font-family: var(--font) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}

.cart-page .wc-block-components-totals-item__value {
  color: var(--text-dark) !important;
  font-weight: 700 !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
}

.cart-page .wc-block-components-totals-footer-item {
  border-top: 1px solid var(--light-border) !important;
  padding-top: 16px !important;
  margin-top: 8px !important;
}

.cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--text-dark) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
}

.cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--text-dark) !important;
  font-weight: 800 !important;
  font-size: 24px !important;
}

/* Money amounts */
.cart-page .wc-block-formatted-money-amount {
  color: inherit !important;
  font-family: var(--font) !important;
}

/* Proceed-to-checkout button — orange CTA */
.cart-page .wc-block-cart__submit-button .wc-block-components-button,
.cart-page .wc-block-cart__submit-button a,
.cart-page .wp-block-woocommerce-proceed-to-checkout-block a,
.cart-page .wc-block-cart .wc-block-cart__submit-button .wc-block-components-button {
  background: var(--accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: var(--shadow-cta);
  transition: all var(--transition) !important;
}

.cart-page .wc-block-cart__submit-button .wc-block-components-button:hover,
.cart-page .wc-block-cart__submit-button a:hover,
.cart-page .wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
}

/* Coupon / discount panel */
.cart-page .wc-block-components-panel__button {
  color: var(--text-dark-secondary) !important;
  font-family: var(--font) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

.cart-page .wc-block-components-panel__button svg {
  fill: var(--text-dark-secondary) !important;
}

.cart-page .wc-block-components-totals-coupon input,
.cart-page .wc-block-components-text-input input {
  background: #fff !important;
  border: 1px solid var(--light-border-strong) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-dark) !important;
  font-family: var(--font) !important;
  padding: 12px 14px !important;
}

.cart-page .wc-block-components-totals-coupon input:focus,
.cart-page .wc-block-components-text-input input:focus {
  border-color: var(--accent) !important;
  outline: none !important;
  box-shadow: none !important;
}

.cart-page .wc-block-components-text-input label,
.cart-page .wc-block-components-combobox label {
  color: var(--text-dark-muted) !important;
}

.cart-page .wc-block-components-text-input.is-active label,
.cart-page .wc-block-components-text-input:focus-within label {
  background: #fff !important;
  color: var(--text-dark-muted) !important;
}

/* Express pay buttons strip — kill list bullets */
.cart-page .wc-block-components-express-payment ul,
.cart-page .wc-block-components-express-payment li {
  list-style: none !important;
  padding-left: 0 !important;
}

.cart-page .wc-block-components-express-payment li::before,
.cart-page .wc-block-components-express-payment li::marker {
  display: none !important;
  content: none !important;
}

.cart-page .wc-block-components-express-payment-continue-rule {
  color: var(--text-dark-muted) !important;
}

.cart-page .wc-block-components-express-payment-continue-rule::before,
.cart-page .wc-block-components-express-payment-continue-rule::after {
  border-color: var(--light-border) !important;
}

/* Empty cart state */
.cart-page .wc-block-cart__empty-cart__title,
.cart-page .cart-empty {
  color: var(--text-dark) !important;
  font-family: var(--font) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

.cart-page .wc-block-cart .wp-block-woocommerce-empty-cart-block,
.cart-page .wc-block-cart-empty-block,
.cart-page .cart-empty + .return-to-shop {
  text-align: center;
}

.cart-page .return-to-shop .button,
.cart-page .wp-block-woocommerce-empty-cart-block a.wp-block-button__link {
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: all var(--transition);
}

.cart-page .return-to-shop .button:hover,
.cart-page .wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover {
  background: var(--accent-hover) !important;
}

/* ----- Shortcode-based cart fallback ([woocommerce_cart]) ----- */
.cart-page .woocommerce {
  color: var(--text-dark);
}

.cart-page .woocommerce-cart-form {
  background: #fff;
  border: 1px solid var(--light-border);
  border-radius: var(--radius-lg);
  padding: 8px 24px;
  box-shadow: var(--shadow-card);
}

.cart-page .woocommerce table.shop_table {
  background: transparent;
  border: none;
  border-radius: 0;
  border-collapse: collapse;
  width: 100%;
}

.cart-page .woocommerce table.shop_table th {
  color: var(--text-dark-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--light-border);
  padding: 16px 8px;
  text-align: left;
}

.cart-page .woocommerce table.shop_table td {
  color: var(--text-dark);
  border-bottom: 1px solid var(--light-border);
  padding: 20px 8px;
  vertical-align: middle;
}

.cart-page .woocommerce table.shop_table tr:last-child td {
  border-bottom: none;
}

.cart-page .woocommerce table.shop_table .product-thumbnail img {
  max-width: 80px;
  border-radius: var(--radius-md);
  border: 1px solid var(--light-border);
  background: var(--light-bg);
}

.cart-page .woocommerce table.shop_table .product-name a {
  color: var(--text-dark);
  font-weight: 600;
  text-decoration: none;
}

.cart-page .woocommerce table.shop_table .product-name a:hover {
  color: var(--accent);
}

.cart-page .woocommerce table.shop_table .product-price,
.cart-page .woocommerce table.shop_table .product-subtotal {
  color: var(--text-dark);
  font-weight: 700;
}

.cart-page .woocommerce a.remove {
  color: var(--text-dark-muted) !important;
  font-size: 18px;
  width: 24px;
  height: 24px;
  line-height: 22px;
  text-align: center;
  border-radius: 50%;
  transition: all var(--transition);
}

.cart-page .woocommerce a.remove:hover {
  background: var(--red-sale) !important;
  color: #fff !important;
}

.cart-page .woocommerce .quantity input.qty {
  background: #fff;
  border: 1px solid var(--light-border-strong);
  border-radius: var(--radius-sm);
  color: var(--text-dark);
  padding: 10px 8px;
  width: 70px;
  text-align: center;
  font-family: var(--font);
  font-weight: 600;
}

.cart-page .woocommerce .quantity input.qty:focus {
  border-color: var(--accent);
  outline: none;
}

.cart-page .woocommerce .actions .coupon {
  display: flex;
  gap: 10px;
  align-items: center;
}

.cart-page .woocommerce .actions .coupon input[type="text"] {
  background: #fff;
  border: 1px solid var(--light-border-strong);
  border-radius: var(--radius-sm);
  color: var(--text-dark);
  padding: 12px 14px;
  font-family: var(--font);
  flex: 1;
  min-width: 200px;
}

.cart-page .woocommerce .actions button,
.cart-page .woocommerce .button {
  background: var(--text-dark);
  color: #fff;
  border: none;
  border-radius: var(--radius-md);
  padding: 12px 22px;
  font-family: var(--font);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--transition);
}

.cart-page .woocommerce .actions button:hover,
.cart-page .woocommerce .button:hover {
  background: var(--text-dark-secondary);
}

.cart-page .cart-collaterals {
  margin-top: 32px;
}

.cart-page .cart-collaterals .cart_totals {
  background: #fff;
  border: 1px solid var(--light-border);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  box-shadow: var(--shadow-card);
  max-width: 420px;
  margin-left: auto;
}

.cart-page .cart-collaterals .cart_totals h2 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dark);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--light-border);
}

.cart-page .cart-collaterals .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.cart-page .cart-collaterals .cart_totals table th {
  color: var(--text-dark-secondary);
  font-weight: 500;
  text-align: left;
  padding: 10px 0;
  font-size: 14px;
}

.cart-page .cart-collaterals .cart_totals table td {
  color: var(--text-dark);
  font-weight: 700;
  text-align: right;
  padding: 10px 0;
}

.cart-page .cart-collaterals .cart_totals .order-total td,
.cart-page .cart-collaterals .cart_totals .order-total th {
  font-size: 18px;
  border-top: 1px solid var(--light-border);
  padding-top: 16px;
}

.cart-page .wc-proceed-to-checkout {
  margin-top: 20px;
}

.cart-page .wc-proceed-to-checkout a.checkout-button {
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: var(--radius-md) !important;
  padding: 18px 32px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: var(--shadow-cta);
  transition: all var(--transition) !important;
}

.cart-page .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
}

/* WooCommerce notices on cart page */
.cart-page .woocommerce-message,
.cart-page .woocommerce-info,
.cart-page .woocommerce-error {
  background: #fff;
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-sm);
  color: var(--text-dark);
  padding: 14px 18px;
  margin-bottom: 20px;
  box-shadow: var(--shadow-card);
  font-size: 14px;
}

.cart-page .woocommerce-message {
  border-left-color: var(--green-stock);
}

.cart-page .woocommerce-error {
  border-left-color: var(--red-sale);
}

/* Mobile */
@media (max-width: 768px) {
  .cart-page {
    padding: 24px 0 60px;
  }
  .cart-page .wc-block-cart .wc-block-cart__main,
  .cart-page .wc-block-cart .wc-block-components-sidebar,
  .cart-page .woocommerce-cart-form,
  .cart-page .cart-collaterals .cart_totals {
    padding: 18px 16px !important;
    border-radius: var(--radius-md) !important;
  }
  .cart-page .wc-block-cart .wc-block-components-sidebar {
    position: static;
  }
  .cart-page .woocommerce table.shop_table thead {
    display: none;
  }
  .cart-page .woocommerce table.shop_table,
  .cart-page .woocommerce table.shop_table tbody,
  .cart-page .woocommerce table.shop_table tr,
  .cart-page .woocommerce table.shop_table td {
    display: block;
    width: 100%;
  }
  .cart-page .woocommerce table.shop_table tr {
    border-bottom: 1px solid var(--light-border);
    padding: 16px 0;
  }
  .cart-page .woocommerce table.shop_table td {
    border: none;
    padding: 6px 0;
    text-align: left;
  }
  .cart-page .woocommerce .actions .coupon {
    flex-direction: column;
    align-items: stretch;
  }
  .cart-page .cart-collaterals .cart_totals {
    max-width: 100%;
    margin-left: 0;
  }
}
