/* ============================================================
   WOOCOMMERCE.CSS — WooCommerce-spesifikke stiler
   ============================================================ */

/* ---- GLOBAL WOOCOMMERCE RESET ---- */
.woocommerce-page,
.woocommerce { background: var(--bg); }

/* Forhindre horisontal overflow på alle WC-sider */
.woocommerce-page,
.woocommerce-account,
.woocommerce-cart,
.woocommerce-checkout {
  overflow-x: hidden;
}

/* Tabeller skal aldri sprenge bredden */
.woocommerce table,
.woocommerce-page table {
  max-width: 100%;
}

.woocommerce-breadcrumb { display: none; }

/* ---- BUTIKK / ARKIV ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
}

.woocommerce ul.products li.product {
  background: var(--bg-dark);
  border: 1px solid var(--border-subtle);
  padding: 24px;
  transition: border-color 0.2s;
}
.woocommerce ul.products li.product:hover { border-color: var(--border); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 400;
  color: var(--text);
}

.woocommerce ul.products li.product .price {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--gold-light);
}

/* ---- AEROS arkiv-fiks: kort-stabling, kjøpsknapp, kategori-fliser ----
   Gjelder /produkter (kategori-fliser) + /produktkategori/* (produkt-loop).
   Temaet stylet aldri loop-cards globalt → pris/knapp kolliderte + kategori-
   tellinger ble gule <mark>. Dette rydder begge, mobil + desktop. */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  text-align: left;
}
.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  border-radius: 10px;
  margin: 0 0 16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 400;
  color: var(--text);
  margin: 2px 0 6px;
  padding: 0;
}
.woocommerce ul.products li.product .price {
  display: block;
  margin: 2px 0 16px;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  position: static;
  float: none;
  display: inline-block;
  width: auto;
  align-self: flex-start;
  margin: auto 0 0;
}
/* Kategori-flis: antall-tellingen (fjern gul <mark>, gjør dempet under tittel) */
.woocommerce ul.products li.product-category mark.count,
.woocommerce ul.products li.product-category .count {
  display: block;
  background: transparent !important;
  color: rgba(255, 251, 239, 0.5);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  margin-top: 2px;
}
.woocommerce ul.products li.product-category > a { text-decoration: none; }

/* /utstyr rendres inni sideinnholdet som understreker ALLE lenker → pris + knapp + navn ble understreket
   («for villt»). Rydd til et minimum: ingen understrek på pris/knapp/bilde — kun en subtil på produktnavnet. */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  text-decoration: underline;
  text-decoration-color: rgba(255, 251, 239, 0.30);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Arkiv-side container: temaets woocommerce.php-wrapper er bar (get_header + woocommerce_content
   + get_footer) → tittel/grid lå flush mot venstre kant. Padder KUN arkiv/butikk via body-klasser,
   så enkeltprodukt (.sp-page) + kasse (.aeros-checkout) beholder egne layouter. */
.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.post-type-archive-product .site-main {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 96px var(--edge) 88px; /* 96 topp = klarer 64px fixed header + luft; --edge linjerer med header-innholdet */
}
.woocommerce-products-header { margin: 0 0 6px; }
.woocommerce-result-count { color: rgba(255, 251, 239, 0.45); font-size: 13px; margin: 4px 0 26px; }
.woocommerce-ordering { display: none; } /* unødvendig sortering for 1–2 varer; default-select var ustylet */

/* ---- ENKELT PRODUKT ---- */
.woocommerce div.product .product_title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 400;
  color: var(--text);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-serif);
  font-size: 22px;
  color: var(--gold-light);
}

.woocommerce div.product .woocommerce-product-details__short-description p {
  color: rgba(255,251,239,0.65);
  font-size: 14px;
  line-height: 1.85;
}

/* Skjul elementer vi ikke trenger nå */
.woocommerce div.product .product_meta { display: none; }
.woocommerce div.product p.stock.out-of-stock { display: none; }
.woocommerce-product-gallery__trigger { display: none; }

/* ---- LEGG I HANDLEKURV / KNAPPER ---- */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button[type="submit"],
.woocommerce a.button,
.woocommerce button.button {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: var(--gold-light);
  border: none;
  border-radius: 0;
  padding: 16px 40px;
  cursor: pointer;
  transition: background 0.3s;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce div.product form.cart .button:hover { background: #ffffff; color: #0a0a0a; }

/* ---- MELD INTERESSE KNAPP (på produktside) ---- */
.aeros-meld-interesse-btn {
  display: block;
  width: 100%;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: var(--gold-light);
  padding: 16px 24px;
  text-decoration: none;
  border: none;
  margin-top: 8px;
  transition: background 0.3s;
}
.aeros-meld-interesse-btn:hover { background: #ffffff; color: #0a0a0a; }

/* ---- HANDLEKURV ---- */
.woocommerce-cart table.cart { background: transparent; color: var(--text); }
.woocommerce-cart table.cart th { color: var(--text-muted); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.woocommerce-cart table.cart td { border-top: 1px solid var(--border-subtle); }
.woocommerce-cart-form .coupon input[type="text"] {
  background: rgba(255,251,239,0.06);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 10px 14px;
}
.woocommerce .cart-collaterals .cart_totals { background: var(--bg-dark); padding: 28px; border: 1px solid var(--border-subtle); }
.woocommerce .cart_totals h2 { font-family: var(--font-serif); font-size: 20px; color: var(--text); margin-bottom: 16px; }

/* ---- TOM HANDLEKURV — hindre at «Tilbake til butikken» overlapper meldingen (mobil).
   Knappen var display:inline med 16px vertikal padding → bakgrunnen lekket opp over teksten. */
.woocommerce .wc-empty-cart-message,
.woocommerce .cart-empty {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--text);
  margin: 4px 0 24px;
}
.woocommerce .return-to-shop { margin: 0 0 40px; }
.woocommerce .return-to-shop .button,
.woocommerce .return-to-shop a.button { display: inline-block; }

/* ---- KASSE ---- */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields { background: transparent; }

.woocommerce form .form-row label { font-family: var(--font-sans); font-size: 13px; color: rgba(255,251,239,0.8); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  background: rgba(255,251,239,0.06);
  border: 1px solid var(--border);
  color: var(--text);
  font-family: var(--font-sans);
  padding: 10px 14px;
  border-radius: 2px;
}
.woocommerce form .form-row input.input-text:focus { border-color: rgba(198,185,150,0.5); }

/* ---- TABS PÅ PRODUKTSIDE ---- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--border-subtle);
  background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: rgba(255,251,239,0.4); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--text); }
.woocommerce div.product .woocommerce-tabs .panel { background: transparent; border: none; }

/* ---- VIPPS ---- */
.vipps-checkout-button-wrapper { margin-top: 16px; }

/* ============================================================
   WOOCOMMERCE VARSEL — skjult på produktsiden (håndteres inline)
   ============================================================ */
.single-product .woocommerce-notices-wrapper { display: none !important; }

/* Varsel på andre WC-sider (handlekurv, kasse) */
.woocommerce-notices-wrapper {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: calc(100% - 40px);
  max-width: 480px;
  pointer-events: none;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  pointer-events: all;
  background: var(--bg-dark);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 16px 20px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: var(--text-dim);
  line-height: 1.6;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-info::before { display: none; }

.woocommerce-notices-wrapper a.button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 12px 20px !important;
  background: var(--gold) !important;
  color: #0a0a0a !important;
  border: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
}

.woocommerce-notices-wrapper a.button:hover { background: var(--gold-light) !important; }

@media (max-width: 767px) {
  .woocommerce-notices-wrapper { bottom: 16px; width: calc(100% - 32px); }
}

/* ============================================================
   INLINE HANDLEKURV-STATUS (produktside)
   ============================================================ */

/* Valideringsfeil (maks 3 enheter) */
.sp-notices { margin-bottom: 12px; }
.sp-notice-error {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,180,180,0.85);
  background: rgba(255,80,80,0.08);
  border: 1px solid rgba(255,80,80,0.2);
  border-radius: 6px;
  padding: 12px 16px;
  margin: 0;
  line-height: 1.6;
}

/* «Du har X i handlekurven» */
.sp-in-cart {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--bg-dark);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 16px 18px;
  margin-bottom: 12px;
}

.sp-in-cart-text {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: var(--text-dim);
  margin: 0;
  line-height: 1.6;
}

.sp-in-cart-btn {
  display: block;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  background: var(--gold);
  color: #0a0a0a !important;
  padding: 12px 20px;
  text-decoration: none;
  transition: background 0.3s;
  border-radius: 0;
}
.sp-in-cart-btn:hover { background: var(--gold-light); }

/* ============================================================
   ENKELT PRODUKT — CUSTOM LAYOUT (single-product.php)
   ============================================================ */
.sp-page {
  background: var(--bg);
  padding: 64px var(--edge) 96px;
}

.sp-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  max-width: var(--max-w);
  margin: 0 auto;
}

/* ---- TIDLIG TILGANG BANNER ---- */
.sp-earlyaccess {
  max-width: var(--max-w);
  margin: 0 auto 40px;
}
.sp-earlyaccess-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 24px;
  background: rgba(201, 168, 76, 0.08);
  border: 1px solid rgba(201, 168, 76, 0.35);
  border-radius: 8px;
}
.sp-earlyaccess-label {
  display: inline-block;
  padding: 6px 12px;
  background: var(--gold);
  color: #0a0a0a;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}
.sp-earlyaccess p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text);
}
.sp-earlyaccess p strong {
  color: var(--gold-light);
  font-weight: 500;
}
@media (max-width: 720px) {
  .sp-earlyaccess-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
  }
  .sp-earlyaccess p { font-size: 14px; }
}

/* ---- BILDER ---- */
.sp-media {
  position: sticky;
  top: 88px;
}

.sp-main-img-wrap {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--bg-dark);
  border-radius: 30px;
}

.sp-main-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  transition: opacity 0.2s;
}

.sp-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.sp-thumb {
  width: 68px;
  height: 68px;
  background: var(--bg-dark);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  transition: border-color 0.2s;
  flex-shrink: 0;
}

.sp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sp-thumb.active,
.sp-thumb:hover {
  border-color: var(--gold);
}

/* ---- INFO ---- */
.sp-info {
  padding-top: 8px;
}

.sp-title {
  font-size: clamp(28px, 3.5vw, 44px);
  margin-bottom: 10px;
  line-height: 1.15;
}

.sp-price-row {
  margin-bottom: 0;
}

.sp-price-row .woocommerce-Price-amount,
.sp-price-row .price {
  font-family: var(--font-serif) !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  color: var(--gold-light) !important;
  font-weight: 400 !important;
}

.sp-divider {
  width: 36px;
  height: 1px;
  background: var(--border);
  margin: 28px 0;
}

/* ---- SPESIFIKASJONER ---- */
.sp-specs {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.sp-specs li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
  gap: 16px;
  color: inherit;
  line-height: 1.5;
}

.sp-specs li span:first-child {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  flex-shrink: 0;
}

.sp-specs li span:last-child {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: var(--text-dim);
  text-align: right;
}

/* ---- KJØPEKNAPP ---- */
.sp-cart {
  margin-top: 4px;
}

/* Skjul antall-felt — selges enkeltvis */
.sp-cart .quantity,
.woocommerce div.product form.cart .quantity {
  display: none !important;
}

.sp-cart form.cart {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ---- LAGER-STATUS ---- */
.woocommerce div.product .stock {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce div.product .stock.in-stock {
  color: rgba(255, 251, 239, 0.4);
}

/* Lav lager: under 20 enheter — varm gul/beige */
.woocommerce div.product .stock.aeros-low-stock {
  color: var(--gold-light);
}


.sp-cart .single_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 18px 24px !important;
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
}

/* Vipps knapp */
.sp-cart .vipps-express-checkout-button,
.sp-cart .woo-vipps-express-checkout {
  width: 100%;
}

.sp-note {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  color: var(--text);
  margin-top: 16px;
  letter-spacing: 0.02em;
}

/* Frakt-info under "Kjøp nå"-knappen */
.sp-shipping {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 12px 14px;
  background: rgba(255,251,239,0.03);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
}

.sp-shipping-logo {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.sp-shipping-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.sp-shipping-main {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  letter-spacing: 0.01em;
}

.sp-shipping-sub {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 400;
  color: var(--text-dim);
  line-height: 1.45;
}

/* ============================================================
   ORDER CONFIRMATION / THANK YOU
   ============================================================ */
.ty-page {
  background: var(--bg);
  padding: 80px var(--edge) 100px;
  min-height: 60vh;
}

.ty-wrap {
  max-width: 660px;
  margin: 0 auto;
}

/* Header */
.ty-header {
  text-align: center;
  margin-bottom: 48px;
}

.ty-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}

.ty-title {
  font-family: var(--font-serif);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  color: var(--text);
  margin-bottom: 12px;
}

.ty-subtitle {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 300;
  color: var(--text-dim);
  line-height: 1.7;
}

/* Meta-grid */
.ty-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 24px;
}

.ty-meta-item {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.ty-meta-item:nth-child(odd)  { border-right: 1px solid var(--border-subtle); }
.ty-meta-item:nth-last-child(-n+2) { border-bottom: none; }

.ty-meta-label {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.ty-meta-value {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: var(--text);
}

.ty-total {
  font-family: var(--font-serif) !important;
  font-size: 17px !important;
  color: var(--gold-light) !important;
}

/* Produktliste */
.ty-items {
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 24px;
}

.ty-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-subtle);
}

.ty-item-img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--bg-dark);
  flex-shrink: 0;
}

.ty-item-info { flex: 1; }

.ty-item-name {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 300;
  color: var(--text);
  margin: 0 0 4px;
}

.ty-item-qty {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--text-muted);
  margin: 0;
}

.ty-item-price {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--gold-light);
}

/* Totaler */
.ty-totals {
  padding: 12px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(255,251,239,0.02);
}

.ty-totals-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  color: var(--text-muted);
}

.ty-totals-total {
  font-size: 14px;
  color: var(--text);
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
  margin-top: 4px;
}

/* ============================================================
   MY ACCOUNT — LOGG INN / REGISTRER
   ============================================================ */
.woocommerce-account .woocommerce {
  max-width: 960px;
  margin: 0 auto;
  padding: 72px var(--edge) 100px;
}

/* Login/register side (ikke innlogget) */
.woocommerce-account:not(.logged-in) .woocommerce {
  max-width: 880px;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { margin-bottom: 0; }

/* Sidetittel */
.woocommerce-account .entry-title,
.woocommerce-account h1.page-title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 400;
  color: var(--text);
  margin-bottom: 48px;
  text-align: center;
}

/* To-kolonne login/register layout */
.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--border-subtle);
}

.woocommerce-account:not(.logged-in) .woocommerce .col-1,
.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
  padding: 40px 48px;
}

.woocommerce-account:not(.logged-in) .woocommerce .col-1 {
  border-right: 1px solid var(--border-subtle);
}

/* Overskrifter i login/register */
.woocommerce-account h2 {
  font-family: var(--font-serif);
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 400;
  color: var(--text);
  margin-bottom: 28px;
}

/* Labels */
.woocommerce-account .woocommerce form .form-row label,
.woocommerce-account .woocommerce form label {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: block;
  margin-bottom: 8px;
}

/* Input-felter */
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form input[type="text"],
.woocommerce-account .woocommerce form input[type="email"],
.woocommerce-account .woocommerce form input[type="password"],
.woocommerce-account .woocommerce form input[type="tel"],
.woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce form textarea {
  width: 100%;
  background: rgba(255,251,239,0.04) !important;
  border: none !important;
  border-bottom: 1px solid rgba(198,185,150,0.25) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  padding: 12px 0 !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  box-shadow: none !important;
}

.woocommerce-account .woocommerce form input:focus,
.woocommerce-account .woocommerce form select:focus,
.woocommerce-account .woocommerce form textarea:focus {
  border-bottom-color: var(--gold) !important;
  box-shadow: none !important;
}

/* Husk meg / checkbox */
.woocommerce-account .woocommerce form .form-row.remember {
  display: flex;
  align-items: center;
  gap: 10px;
}

.woocommerce-account .woocommerce form .form-row.remember label {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: none;
  margin: 0;
  color: var(--text-muted);
}

/* Knapper */
.woocommerce-account .woocommerce form .button,
.woocommerce-account .woocommerce form button[type="submit"] {
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #0a0a0a !important;
  background: var(--gold-light) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
  transition: background 0.3s !important;
  margin-top: 8px !important;
}

.woocommerce-account .woocommerce form .button:hover,
.woocommerce-account .woocommerce form button[type="submit"]:hover {
  background: #ffffff !important;
}

/* Mistet passord / lenker */
.woocommerce-account .woocommerce form .lost_password,
.woocommerce-account .woocommerce form .lost_password a {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  color: var(--text-faint);
  margin-top: 16px;
}

.woocommerce-account .woocommerce form .lost_password a:hover { color: var(--gold); }

/* Required asterisk */
.woocommerce-account .required { color: var(--gold) !important; }

/* ============================================================
   MY ACCOUNT — INNLOGGET (dashboard, ordrer, etc.)
   ============================================================ */
.woocommerce-account.logged-in .woocommerce {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 0 48px;
  align-items: start;
  max-width: 1320px !important;
}

/* ---- NAVIGASJON ---- */
.woocommerce-MyAccount-navigation {
  position: sticky;
  top: 96px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--border-subtle);
}

.woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--border-subtle);
}

.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-dim);
  padding: 16px 20px;
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--text);
  background: rgba(255,251,239,0.03);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--gold);
  background: rgba(198,185,150,0.06);
}

/* ---- INNHOLD ---- */
.woocommerce-MyAccount-content {
  min-width: 0;
}

.woocommerce-MyAccount-content p {
  font-size: 14px;
  color: var(--text);
  line-height: 1.8;
  margin-bottom: 16px;
}

.woocommerce-MyAccount-content a {
  color: var(--gold);
}

.woocommerce-MyAccount-content a:hover { opacity: 0.8; }

/* Dashboard-hilsen */
.woocommerce-MyAccount-content .woocommerce-Message {
  background: rgba(198,185,150,0.06);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--gold);
  padding: 20px 24px;
  margin-bottom: 32px;
  font-size: 14px;
  color: var(--text);
  line-height: 1.7;
}

/* ---- ORDRETABELL ---- */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: 13px;
}

.woocommerce-account table.shop_table th {
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-faint);
  padding: 12px 12px;
  border-bottom: 1px solid var(--border-subtle);
  text-align: left;
  white-space: nowrap;
}

.woocommerce-account table.shop_table td {
  padding: 16px 12px;
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text);
  vertical-align: middle;
}

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

.woocommerce-account table.shop_table tbody tr:hover td {
  background: rgba(255,251,239,0.02);
}

.woocommerce-account table.shop_table .order-number a,
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-number a {
  font-family: var(--font-serif);
  font-size: 15px;
  color: var(--text);
}

.woocommerce-account table.shop_table .order-total,
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-total {
  font-family: var(--font-serif);
  color: var(--gold-light);
}

/* Ordrestatus */
.woocommerce-account .woocommerce-orders-table__cell-order-status mark,
.woocommerce-account .order-status {
  background: transparent !important;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 4px 10px;
  border: 1px solid var(--border-subtle);
}

.woocommerce-account .order-status.status-processing { color: rgba(100,180,100,0.9); border-color: rgba(100,180,100,0.3); }
.woocommerce-account .order-status.status-completed  { color: var(--gold); border-color: rgba(198,185,150,0.3); }
.woocommerce-account .order-status.status-pending    { color: var(--text-faint); }
.woocommerce-account .order-status.status-cancelled  { color: rgba(220,80,80,0.7); border-color: rgba(220,80,80,0.2); }

/* Vis-knapp i ordretabell */
.woocommerce-account table.shop_table .button {
  font-size: 11px !important;
  padding: 8px 20px !important;
  letter-spacing: 0.12em !important;
  white-space: nowrap !important;
}

/* Desktop: celler brytes ikke */
@media (min-width: 861px) {
  .woocommerce-account table.shop_table td {
    white-space: nowrap;
  }
  .woocommerce-account table.shop_table td.order-items,
  .woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-items {
    white-space: normal;
  }
}

/* Ingen ordrer / ingen nedlastinger — info-boks */
.woocommerce-account .woocommerce-Message--info,
.woocommerce-account .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-info {
  background: transparent;
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--gold);
  padding: 24px 24px 28px;
  font-size: 14px;
  font-family: var(--font-sans);
  font-weight: 300;
  color: var(--text);
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

/* Skjul WC's ikonpseudo-element */
.woocommerce-account .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-info::before { display: none !important; }

/* Knapp inne i info-boks (f.eks. «Bla gjennom produkter» under nedlastinger) */
.woocommerce-account .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-info a.button {
  float: none !important;
  display: inline-block !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #0a0a0a !important;
  background: var(--gold-light) !important;
  padding: 13px 32px !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: background 0.3s !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-info .button:hover,
.woocommerce-MyAccount-content .woocommerce-info a.button:hover {
  background: #ffffff !important;
}

/* ---- ADRESSER ---- */
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.woocommerce-account .woocommerce-Address {
  border: 1px solid var(--border-subtle);
  padding: 28px 32px;
}

.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-subtle);
}

.woocommerce-account .woocommerce-Address-title h3 {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.woocommerce-account .woocommerce-Address-title a {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-faint);
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
}

.woocommerce-account .woocommerce-Address-title a:hover { color: var(--gold); }

.woocommerce-account address {
  font-style: normal;
  font-size: 14px;
  font-weight: 300;
  color: var(--text);
  line-height: 1.9;
}

/* ---- KONTODETALJER (endre navn / passord) ---- */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--border-subtle);
  padding: 28px 32px;
  margin-top: 32px;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0 12px;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row {
  margin-bottom: 20px;
}

/* ---- MISTET PASSORD ---- */
.woocommerce-account .woocommerce-ResetPassword {
  max-width: 480px;
  margin: 0 auto;
  border: 1px solid var(--border-subtle);
  padding: 40px 48px;
}

.woocommerce-account .woocommerce-ResetPassword p {
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 24px;
  line-height: 1.8;
}

/* ---- SPORINGS-KORT PÅ DASHBOARD ---- */
.woocommerce-MyAccount-content .aeros-account-card {
  margin-top: 32px;
  padding: 26px 30px;
  background: rgba(255,251,239,0.02);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--gold);
  border-radius: 3px;
}
.woocommerce-MyAccount-content .aeros-account-card h3 {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 400;
  color: var(--text);
  margin: 0 0 10px;
}
.woocommerce-MyAccount-content .aeros-account-card p {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0 0 20px;
}

/* ---- MOBILTILPASNING — generell overflow-beskyttelse for alle my-account faner ---- */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content * {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.woocommerce-MyAccount-content {
  overflow-x: visible;
}

/* Adresser — sikre at tekst ikke presser horisontalt */
.woocommerce-account address {
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Ordre-tabell — gjøres scrollbar-innpakket på mobil i stedet for å presse hele sidebredden */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content .shop_table {
  width: 100%;
  table-layout: auto;
}

/* ============================================================
   MY ACCOUNT — RESPONSIV
   ============================================================ */

/* ---- 860px: sidebar → 2-kolonners knappeliste ---- */
@media (max-width: 860px) {
  .woocommerce-account .woocommerce,
  .woocommerce-account .woocommerce-MyAccount-content {
    max-width: 100%;
  }

  .woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }

  .woocommerce-MyAccount-navigation {
    position: static;
    margin-bottom: 32px;
  }

  /* 2-kolonners rutenett av knapper */
  .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    border: none;
  }

  .woocommerce-MyAccount-navigation ul li {
    border: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
  }

  .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: 1px solid var(--border-subtle);
  }

  .woocommerce-MyAccount-navigation ul li a {
    padding: 13px 12px;
    font-size: 11px;
    text-align: center;
  }

  .woocommerce-MyAccount-navigation ul li.is-active {
    border-color: rgba(198,185,150,0.35);
    background: rgba(198,185,150,0.04);
  }
}

/* ---- 640px: login/register enkeltkolonne ---- */
@media (max-width: 640px) {
  .woocommerce-account:not(.logged-in) .woocommerce .u-columns {
    grid-template-columns: 1fr;
  }
  .woocommerce-account:not(.logged-in) .woocommerce .col-1 {
    border-right: none;
    border-bottom: 1px solid var(--border-subtle);
  }
  .woocommerce-account:not(.logged-in) .woocommerce .col-1,
  .woocommerce-account:not(.logged-in) .woocommerce .col-2 {
    padding: 32px 24px;
  }
  .woocommerce-account .woocommerce { padding: 40px 20px 72px; }
  .woocommerce-account .woocommerce-ResetPassword { padding: 28px 20px; }
  .woocommerce-account .woocommerce-Address { padding: 20px; }
  .woocommerce-account .woocommerce-EditAccountForm fieldset { padding: 20px; }

  /* Adresser — tillat full bruk av mobilbredden */
  .woocommerce-account .woocommerce-Addresses { gap: 16px; }
  .woocommerce-account .woocommerce-Address-title {
    flex-wrap: wrap;
    gap: 8px;
  }
  .woocommerce-account address {
    font-size: 13px;
    line-height: 1.7;
  }

  /* Ordre-tabell på /min-konto/bestillinger/ — stables til kort på mobil */
  .woocommerce-MyAccount-content .woocommerce-orders-table,
  .woocommerce-MyAccount-content .woocommerce-orders-table thead,
  .woocommerce-MyAccount-content .woocommerce-orders-table tbody,
  .woocommerce-MyAccount-content .woocommerce-orders-table tr,
  .woocommerce-MyAccount-content .woocommerce-orders-table td {
    display: block !important;
    width: 100% !important;
  }
  .woocommerce-MyAccount-content .woocommerce-orders-table thead { display: none !important; }
  .woocommerce-MyAccount-content .woocommerce-orders-table tr {
    border: 1px solid var(--border-subtle);
    padding: 14px 16px;
    margin-bottom: 12px;
    background: rgba(255,251,239,0.02);
  }
  .woocommerce-MyAccount-content .woocommerce-orders-table td {
    display: flex !important;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0 !important;
    border: none !important;
    font-size: 13px;
  }
  .woocommerce-MyAccount-content .woocommerce-orders-table td::before {
    content: attr(data-title);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-faint);
    flex-shrink: 0;
  }

  /* Sporings-kort — reduser padding på mobil */
  .woocommerce-MyAccount-content .aeros-account-card { padding: 20px 22px; }
  .woocommerce-MyAccount-content .aeros-account-card .btn-gold { display: block; text-align: center; padding: 14px 20px; }
}

/* ---- BETALINGSMÅTER — mobil ---- */
@media (max-width: 860px) {
  /* Fjern alle scroll-kontekster fra betalingsmåter-seksjonen */
  .woocommerce-account .woocommerce-MyAccount-paymentMethods,
  .woocommerce-account .woocommerce-MyAccount-addPaymentMethod,
  .woocommerce-account .payment_methods,
  .woocommerce-account .woocommerce-MyAccount-paymentMethods * {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }

  /* Gjør tabellen til blokk-elementer slik at den ikke trenger horisontal plass */
  .woocommerce-account .woocommerce-MyAccount-paymentMethods,
  .woocommerce-account .woocommerce-MyAccount-paymentMethods tbody,
  .woocommerce-account .woocommerce-MyAccount-paymentMethods tr {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-account .woocommerce-MyAccount-paymentMethods thead { display: none !important; }

  /* Hvert kort */
  .woocommerce-account .woocommerce-MyAccount-paymentMethods tbody tr {
    border: 1px solid var(--border-subtle);
    margin-bottom: 12px;
    background: rgba(255,251,239,0.02);
  }

  /* Celler */
  .woocommerce-account .woocommerce-MyAccount-paymentMethods td {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255,251,239,0.05);
    font-size: 13px;
    color: var(--text);
    white-space: normal !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  .woocommerce-account .woocommerce-MyAccount-paymentMethods td::before {
    content: attr(data-title);
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 300;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* Handlingsknapper */
  .woocommerce-account .woocommerce-MyAccount-paymentMethods td.woocommerce-PaymentMethod-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 16px 16px;
    border-bottom: none;
  }

  .woocommerce-account .woocommerce-MyAccount-paymentMethods td.woocommerce-PaymentMethod-actions::before { display: none; }

  .woocommerce-account .woocommerce-MyAccount-paymentMethods .button {
    flex: 1;
    text-align: center !important;
    font-size: 11px !important;
    padding: 11px 12px !important;
  }

  /* «Legg til betalingsmåte»-knappen */
  .woocommerce-account .woocommerce-MyAccount-addPaymentMethod .button {
    width: 100% !important;
    text-align: center !important;
  }
}

/* ---- 560px: ordretabell → kortlayout ---- */
@media (max-width: 560px) {
  /* Skjul thead — labels hentes fra data-title */
  .woocommerce-account .woocommerce-orders-table thead,
  .woocommerce-account table.shop_table thead { display: none; }

  .woocommerce-account .woocommerce-orders-table,
  .woocommerce-account table.shop_table,
  .woocommerce-account .woocommerce-orders-table tbody,
  .woocommerce-account table.shop_table tbody,
  .woocommerce-account .woocommerce-orders-table tr,
  .woocommerce-account table.shop_table tr {
    display: block;
    width: 100%;
  }

  /* Hvert ordre → eget kort */
  .woocommerce-account .woocommerce-orders-table tr,
  .woocommerce-account table.shop_table tbody tr {
    border: 1px solid var(--border-subtle);
    margin-bottom: 12px;
    background: rgba(255,251,239,0.02);
  }
  .woocommerce-account table.shop_table tr:last-child td { border-bottom: none; }

  /* Celle: label til venstre, verdi til høyre */
  .woocommerce-account .woocommerce-orders-table td,
  .woocommerce-account table.shop_table td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(255,251,239,0.05);
    font-size: 13px;
    color: var(--text);
  }

  .woocommerce-account .woocommerce-orders-table td::before,
  .woocommerce-account table.shop_table td::before {
    content: attr(data-title);
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 300;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* Actions-celle: knapp full bredde, ingen label */
  .woocommerce-account .woocommerce-orders-table__cell-order-actions,
  .woocommerce-account table.shop_table td.order-actions {
    display: block;
    padding: 12px 16px 16px;
    border-bottom: none;
  }

  .woocommerce-account .woocommerce-orders-table__cell-order-actions::before,
  .woocommerce-account table.shop_table td.order-actions::before { display: none; }

  .woocommerce-account table.shop_table .button,
  .woocommerce-account .woocommerce-orders-table .button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 11px !important;
    padding: 13px 16px !important;
    margin: 0 !important;
  }

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

/* ============================================================
   ORDRE-DETALJER — tfoot totaler (delsum, frakt, totalt osv.)
   ============================================================ */

.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
  padding: 10px 16px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 300;
  color: var(--text);
  border-bottom: 1px solid var(--border-subtle);
  vertical-align: middle;
  white-space: nowrap;
}

.woocommerce-table--order-details tfoot th {
  color: var(--text-muted);
  font-size: 13px;
  letter-spacing: 0.06em;
}

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

/* Totalrad */
.woocommerce-table--order-details tfoot tr.order-total th,
.woocommerce-table--order-details tfoot tr.order-total td {
  font-family: var(--font-serif);
  font-size: 18px;
  color: var(--gold-light);
  border-top: 1px solid var(--border-subtle);
  border-bottom: none;
  padding-top: 16px;
}

/* Betalingsmåte */
.woocommerce-table--order-details tfoot tr.payment-method th,
.woocommerce-table--order-details tfoot tr.payment-method td {
  font-size: 13px;
  color: var(--text-muted);
}

/* Tabellheading */
.woocommerce-order-details__title {
  font-family: var(--font-serif) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin: 32px 0 20px !important;
}

/* Produkt-thead */
.woocommerce-table--order-details thead th {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-faint);
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-subtle);
  white-space: nowrap;
}

/* Mobil: tfoot-rader forblir ALLTID side ved side — aldri block-layout */
@media (max-width: 560px) {
  .woocommerce-table--order-details tfoot { display: table-footer-group !important; }
  .woocommerce-table--order-details tfoot tr { display: table-row !important; }
  .woocommerce-table--order-details tfoot th,
  .woocommerce-table--order-details tfoot td { display: table-cell !important; font-size: 14px; padding: 9px 12px; }
  .woocommerce-table--order-details tfoot tr.order-total th,
  .woocommerce-table--order-details tfoot tr.order-total td { font-size: 16px; }
  /* Produktlinje i tbody: kortlayout */
  .woocommerce-table--order-details tbody tr { display: block !important; border: 1px solid var(--border-subtle); margin-bottom: 8px; }
  .woocommerce-table--order-details tbody td { display: flex !important; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid rgba(255,251,239,0.05); font-size: 13px; }
  .woocommerce-table--order-details tbody td::before { content: attr(data-title); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); flex-shrink: 0; white-space: nowrap; }
}

/* ---- 480px: knapper full bredde, stram padding ---- */
@media (max-width: 480px) {
  .woocommerce-account .woocommerce form .button,
  .woocommerce-account .woocommerce form button[type="submit"] {
    width: 100% !important;
    text-align: center !important;
    padding: 16px 20px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-account .woocommerce {
    padding: 32px 16px 64px !important;
  }

  .woocommerce-account:not(.logged-in) .woocommerce .col-1,
  .woocommerce-account:not(.logged-in) .woocommerce .col-2 {
    padding: 24px 16px;
  }

  .woocommerce-account .woocommerce-ResetPassword { padding: 24px 16px; margin: 0; }
  .woocommerce-account .woocommerce-Address { padding: 16px; }
  .woocommerce-account .woocommerce-EditAccountForm fieldset { padding: 16px; }

  /* Info-boks knapp full bredde */
  .woocommerce-account .woocommerce-info .button,
  .woocommerce-MyAccount-content .woocommerce-info a.button {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

/* Adresser */
.ty-addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 32px;
}

.ty-address {
  background: var(--bg-dark);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 20px;
}

.ty-address-label {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.ty-address address {
  font-style: normal;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 300;
  color: var(--text-dim);
  line-height: 1.9;
}

/* Forhåndsinfo */
.ty-note {
  text-align: center;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  color: var(--text-faint);
  letter-spacing: 0.04em;
  margin-bottom: 40px;
  line-height: 1.8;
}
.ty-orgnr {
  display: inline-block;
  margin-top: 4px;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

/* CTA */
.ty-cta { text-align: center; }

.ty-btn {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim);
  border: 1px solid var(--border);
  padding: 14px 36px;
  text-decoration: none;
  transition: all 0.3s;
}
.ty-btn:hover {
  color: var(--text);
  border-color: var(--border);
  background: rgba(255,251,239,0.04);
}

@media (max-width: 600px) {
  .ty-page { padding: 48px 20px 72px; }
  .ty-meta { grid-template-columns: 1fr; }
  .ty-meta-item:nth-child(odd) { border-right: none; }
  .ty-meta-item:nth-last-child(-n+2) { border-bottom: 1px solid var(--border-subtle); }
  .ty-meta-item:last-child { border-bottom: none; }
  .ty-addresses { grid-template-columns: 1fr; }
}

/* ---- RESPONSIVT ---- */
@media (max-width: 860px) {
  .sp-wrap {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .sp-media { position: static; }
  .sp-main-img-wrap { aspect-ratio: 3 / 4; max-width: 420px; margin: 0 auto; }
  .sp-thumbs { justify-content: center; }
}

@media (max-width: 767px) {
  .sp-page { padding: 32px 20px 72px; }
  .sp-title { font-size: clamp(26px, 8vw, 36px); }
  .sp-main-img-wrap { max-width: 100%; }
  .sp-thumb { width: 56px; height: 56px; }
}

/* ============================================================
   I ESKEN — produktside-seksjon (under sp-wrap)
   ============================================================ */
.sp-box {
  margin-top: 80px;
  padding-top: 60px;
  border-top: 1px solid var(--border-subtle);
}

.sp-box-inner {
  display: grid;
  grid-template-columns: minmax(0, 380px) 1fr;
  gap: 56px;
  align-items: center;
}

.sp-box-image {
  background: var(--bg-dark);
  border-radius: 14px;
  overflow: hidden;
  width: 100%;
  max-width: 380px;
}
.sp-box-image img {
  width: 100%;
  height: auto;
  display: block;
}

.sp-box-text .eyebrow { margin-bottom: 16px; }

.sp-box-title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(26px, 3vw, 36px);
  letter-spacing: -0.01em;
  line-height: 1.18;
  color: var(--text);
  margin: 0 0 14px;
}

.sp-box-sub {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-dim);
  margin: 0 0 28px;
  max-width: 42ch;
}

.sp-box-list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sp-box-list li {
  position: relative;
  padding-left: 22px;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--text);
}
.sp-box-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-light);
  opacity: 0.85;
}

.sp-box-note {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-muted);
  margin: 0;
  padding: 14px 16px;
  background: rgba(255,251,239,0.03);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
}

@media (max-width: 860px) {
  .sp-box { margin-top: 56px; padding-top: 44px; }
  .sp-box-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sp-box-image { max-width: 360px; margin: 0 auto; }
}

@media (max-width: 480px) {
  .sp-box { margin-top: 40px; padding-top: 32px; }
  .sp-box-title { font-size: clamp(22px, 7vw, 28px); }
  .sp-box-sub { font-size: 15px; }
  .sp-box-list li { font-size: 14.5px; }
}

/* ============================================================
   PRODUKTBILDE — object-fit: contain med mørk bakgrunn
   Gjelder alle steder WC viser produktthumbnail på nett:
   handlevogn, kasse, ordrebekreftelse, min konto, produktsider.
   ============================================================ */

/* Handlevogn + kasse: produktkolonne */
.woocommerce-cart-form .product-thumbnail img,
.woocommerce-checkout-review-order-table .product-thumbnail img,
#order_review .product-thumbnail img {
  object-fit: contain !important;
  background: var(--bg-black);
}

/* Ordrebekreftelse (takk-side) og ordredetaljer i Min konto */
.woocommerce-order-item__image img,
.wc-item-product-image img,
.woocommerce-table--order-details .product-thumbnail img,
.woocommerce-table--order-details td img {
  object-fit: contain !important;
  background: var(--bg-black);
}

/* WooCommerce produktgalleri (enkelt produkt) */
.woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery img {
  object-fit: contain !important;
  background: var(--bg-black);
}

/* Loop / arkiv */
.woocommerce ul.products li.product img {
  object-fit: contain !important;
  background: var(--bg-black);
}

/* ============================================================
   AEROS KASSEFLYT v2 — ordre → betaling → opplysninger → submit
   Mobile-first. 680px max bredde på desktop.
   ============================================================ */

.aeros-checkout {
  max-width: 680px;
  margin: 0 auto;
  padding: 24px 16px 64px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.aeros-co-section {
  background: var(--bg-dark);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  padding: 22px 20px;
}

.aeros-co-heading {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.005em;
  margin: 0 0 14px;
  color: var(--text);
}

/* ---- Konvertering: trygghetsbånd, sosialt bevis, betalings-note, mikro-trygghet ---- */
.aeros-co-trust {
  list-style: none;
  margin: 0;
  padding: 15px 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  background: var(--bg-dark);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.aeros-co-trust li {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.3;
  color: var(--text);
}
.aeros-co-trust svg { width: 22px; height: 22px; color: var(--gold-light); }
@media (max-width: 499px) {
  .aeros-co-trust { grid-template-columns: repeat(2, 1fr); gap: 16px 10px; }
}

.aeros-co-social {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--text);
}
.aeros-co-social svg { width: 17px; height: 17px; color: var(--gold); flex-shrink: 0; }

.aeros-co-paynote {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 14px;
  padding: 13px 15px;
  background: rgba(255,241,203,0.04);
  border: 1px solid var(--border-subtle);
  border-left: 2px solid var(--gold);
  border-radius: 0 10px 10px 0;
}
.aeros-co-paynote svg { width: 18px; height: 18px; color: var(--gold); flex-shrink: 0; margin-top: 1px; }
.aeros-co-paynote p {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--text);
}
.aeros-co-paynote strong { color: var(--gold-light); font-weight: 500; }
.aeros-co-paynote em { font-style: normal; color: var(--gold-light); }
.aeros-co-paynote a {
  color: var(--gold-light);
  border-bottom: 1px solid rgba(255,241,203,0.3);
  white-space: nowrap;
}

.aeros-co-microtrust {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 7px;
  margin: 0;
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-faint);
  text-align: center;
}
/* Hold hengelåsen på første tekstlinje (optisk sentrert) — ellers
   sentreres den mot hele den to-linjers teksten og havner nede til venstre. */
.aeros-co-microtrust svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 1.5px; }

/* ---- Minimal footer i kassen — ro, kun merke + filosofi ---- */
.footer-checkout {
  text-align: center;
  padding: 40px var(--edge) 36px;
  border-top: 1px solid var(--border-subtle);
}
.footer-checkout .footer-logo {
  display: inline-block;
  font-family: var(--font-logo);
  font-size: 22px;
  letter-spacing: 0.08em;
  color: var(--text);
}
.footer-checkout .footer-tagline {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 14px;
  color: var(--gold);
  margin: 8px 0 0;
}
.footer-checkout .footer-checkout-meta {
  font-family: var(--font-sans);
  font-size: 11.5px;
  letter-spacing: 0.03em;
  color: var(--text-faint);
  margin: 14px 0 0;
}

/* ---- Seksjon 1: Ordre-sammendrag ---- */
.aeros-co-review #order_review {
  padding: 0;
  background: transparent;
}

.aeros-co-review .shop_table {
  width: 100%;
  border: none;
  background: transparent;
  margin: 0;
}

.aeros-co-review .shop_table thead { display: none; }

.aeros-co-review .shop_table tbody td,
.aeros-co-review .shop_table tfoot th,
.aeros-co-review .shop_table tfoot td {
  padding: 12px 0;
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--text);
  background: transparent;
  vertical-align: top;
}

/* Disable WC responsive "data-title: value" pseudo — stacking ser rotete ut */
.aeros-co-review .shop_table td::before,
.aeros-co-review .shop_table th::before { display: none !important; content: none !important; }

/* Konsekvent label-venstre / verdi-høyre-justering */
.aeros-co-review .shop_table tfoot th {
  text-align: left;
  font-weight: 400;
  color: var(--text);
  width: 50%;
}
.aeros-co-review .shop_table tfoot td {
  text-align: right;
  color: var(--text);
}

.aeros-co-review .shop_table tbody tr:first-child td { border-top: none; }

/* Produktrad: navn til venstre, pris til høyre */
.aeros-co-review .shop_table tbody td.product-name {
  color: var(--text);
  line-height: 1.4;
  text-align: left;
  font-size: 15px;
  padding-right: 16px;
}
.aeros-co-review .shop_table tbody td.product-total {
  text-align: right;
  color: var(--text);
  font-size: 15px;
  white-space: nowrap;
}

/* Produktnavn som lenke til /juno/ — subtil underline, gull på hover */
.aeros-co-review .aeros-co-product-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255,251,239,0.22);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s, text-decoration-color 0.2s;
}
.aeros-co-review .aeros-co-product-link:hover {
  color: var(--gold-light);
  text-decoration-color: var(--gold-light);
}

/* "Antall: 1 stk" — egen linje under produktnavn, dempet */
.aeros-co-review .aeros-co-qty {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--text);
  letter-spacing: 0.01em;
}
.aeros-co-review .aeros-co-qty-label {
  color: var(--text);
}
.aeros-co-review .aeros-co-qty-val {
  color: var(--text);
}

/* Fallback (hvis filter skulle feile) */
.aeros-co-review .product-quantity {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 400;
  color: var(--text);
}

/* Frakt-rad: rydd bort list-styling og radio når kun én metode */
.aeros-co-review .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
}
.aeros-co-review .woocommerce-shipping-methods li {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
.aeros-co-review .woocommerce-shipping-methods li label {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--text);
  margin: 0;
  display: inline;
  cursor: default;
}
.aeros-co-review .woocommerce-shipping-methods input[type="radio"] {
  display: none;
}
.aeros-co-review .woocommerce-shipping-totals.shipping td {
  line-height: 1.5;
}

/* Totalt-rad — fremhevet */
.aeros-co-review .shop_table tfoot .order-total th,
.aeros-co-review .shop_table tfoot .order-total td {
  font-family: var(--font-serif);
  font-size: 18px;
  color: var(--text);
  padding-top: 16px;
  padding-bottom: 4px;
  border-top: 1px solid var(--border);
}
.aeros-co-review .shop_table tfoot .order-total th { font-weight: 400; }
.aeros-co-review .shop_table tfoot .order-total .amount { color: var(--gold-light); }

/* "(inkl. X kr MVA)" småtekst under totalen */
.aeros-co-review .shop_table tfoot .order-total small.includes_tax {
  display: block;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--text);
  font-weight: 400;
  margin-top: 4px;
}

/* ---- Seksjon 2: Betaling ---- */
.aeros-co-express-wrap {
  margin-bottom: 16px;
}
.aeros-co-express-wrap:empty { display: none; }

/* WooPayments express-knapper — kompakt container */
.aeros-co-express-wrap .wcpay-payment-request-wrapper,
.aeros-co-express-wrap #wcpay-express-checkout-element {
  margin: 0 0 12px;
}

.aeros-co-payment-methods #payment {
  background: transparent;
  padding: 0;
}

.aeros-co-payment-methods .wc_payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aeros-co-payment-methods .wc_payment_method {
  background: var(--bg);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.2s, background 0.2s;
}

.aeros-co-payment-methods .wc_payment_method:has(input:checked) {
  border-color: var(--gold-light);
  background: rgba(255,241,203,0.04);
}

.aeros-co-payment-methods .wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--text);
  cursor: pointer;
  margin: 0;
}

.aeros-co-payment-methods .wc_payment_method input[type="radio"] {
  margin: 0;
  accent-color: var(--gold-light);
}

.aeros-co-payment-methods .wc_payment_method .payment_box {
  margin-top: 10px;
  padding: 12px 0 2px;
  background: transparent;
  color: var(--text);
  font-size: 13px;
  line-height: 1.6;
  border-top: 1px solid var(--border-subtle);
}

.aeros-co-payment-methods .wc_payment_method .payment_box::before { display: none; }

/* ---- Seksjon 3: Dine opplysninger ---- */
.aeros-co-details #customer_details { margin: 0; }

.aeros-co-details .woocommerce-billing-fields > h3,
.aeros-co-details .woocommerce-shipping-fields > h3,
.aeros-co-details .woocommerce-additional-fields > h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 16px;
  color: var(--text);
  margin: 0 0 12px;
  letter-spacing: -0.005em;
}

.aeros-co-details .woocommerce-billing-fields > h3:first-child { margin-top: 0; }

.aeros-co-details .form-row { margin-bottom: 12px; padding: 0; }
.aeros-co-details .form-row label {
  display: block;
  font-size: 12px;
  color: var(--text);
  margin-bottom: 4px;
  letter-spacing: 0.02em;
}

.aeros-co-details .form-row input.input-text,
.aeros-co-details .form-row select,
.aeros-co-details .form-row textarea,
.aeros-co-details .select2-container .select2-selection {
  width: 100% !important;
  box-sizing: border-box;
  padding: 12px 14px;
  font-size: 15px;
  font-family: var(--font-sans);
  background: rgba(255,251,239,0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  color: var(--text);
  min-height: 46px;
}

.aeros-co-details .select2-container .select2-selection__rendered { padding: 0; line-height: 22px; }
.aeros-co-details .select2-container .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 10px; }

.aeros-co-details .form-row input:focus,
.aeros-co-details .form-row select:focus,
.aeros-co-details .form-row textarea:focus {
  outline: none;
  border-color: var(--gold-light);
  background: rgba(255,241,203,0.05);
}

.aeros-co-details .form-row-first,
.aeros-co-details .form-row-last { width: 100%; float: none; }

@media (min-width: 500px) {
  .aeros-co-details .form-row-first,
  .aeros-co-details .form-row-last { width: calc(50% - 6px); float: left; }
  .aeros-co-details .form-row-first { margin-right: 12px; }
  .aeros-co-details .form-row.notes { clear: both; padding-top: 4px; }
}

/* ---- Seksjon 4: Submit ---- */
.aeros-co-submit {
  padding: 10px 4px 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.aeros-co-submit .woocommerce-terms-and-conditions-wrapper {
  padding: 0;
}

.aeros-co-submit .woocommerce-form__label-for-checkbox {
  font-size: 13px;
  color: var(--text);
  line-height: 1.55;
}

.aeros-co-submit .woocommerce-form__label-for-checkbox a {
  color: var(--gold-light);
  border-bottom: 1px solid rgba(255,241,203,0.3);
  text-decoration: none;
}

/* Salgsbetingelsestekst — tynn outline + luft når brukeren åpner den */
.aeros-checkout .woocommerce-terms-and-conditions {
  margin-top: 10px;
  padding: 14px 16px;
  background: rgba(255,251,239,0.03);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--text);
  max-height: 260px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.aeros-checkout .woocommerce-terms-and-conditions p:first-child { margin-top: 0; }
.aeros-checkout .woocommerce-terms-and-conditions p:last-child  { margin-bottom: 0; }
.aeros-checkout .woocommerce-terms-and-conditions a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 2px;
}

button.aeros-co-place-order,
.aeros-checkout button#place_order {
  width: 100%;
  padding: 18px 20px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: var(--gold-light);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.25s, transform 0.1s;
}

button.aeros-co-place-order:hover,
.aeros-checkout button#place_order:hover { background: #ffffff; }
button.aeros-co-place-order:active,
.aeros-checkout button#place_order:active { transform: translateY(1px); }

/* ---- Mobile-spesifikt (< 500px) ---- */
@media (max-width: 499px) {
  .aeros-checkout { padding: 16px 12px 48px; gap: 12px; }
  .aeros-co-section { padding: 18px 16px; border-radius: 12px; }
  .aeros-co-heading { font-size: 18px; margin-bottom: 12px; }
  .aeros-co-review .shop_table tbody td,
  .aeros-co-review .shop_table tfoot th,
  .aeros-co-review .shop_table tfoot td { font-size: 13.5px; padding: 8px 0; }
  button.aeros-co-place-order,
  .aeros-checkout button#place_order { padding: 16px; font-size: 12px; }
}
