/* ==========================================================================
   custom-pages.css — seo-kit batch5 2026-10-19
   Page-specific sections moved out of custom.css (which is bundled into every page by
   Combine/Compress/Cache). This file is linked from _partials/head.tpl on every page EXCEPT
   the catalog templates (index, category, product, manufacturer, supplier, best-sales,
   new-products, prices-drop), which never match these selectors. Content is byte-identical
   to the original custom.css lines named in each marker below; only the location changed.
   ========================================================================== */

/* ──── from custom.css lines 4140-6353: Cart, checkout (OPC), order confirmation ──── */
/* ==========================================================================
   Phase 3.6 — CART PAGE (Kurv)
   ========================================================================== */

/* Hide default layout breadcrumb on cart page */
#cart #wrapper .breadcrumb {
  display: none !important;
}
/* Custom cart breadcrumb */
.crumb {
  padding: 20px 0 12px;
  font-size: 13px;
  color: var(--muted);
  font-family: var(--sans);
}
.crumb .wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0;
}
.crumb a {
  color: var(--muted);
  text-decoration: none;
}
.crumb a:hover {
  color: var(--oak);
}
.crumb .sl {
  margin: 0 6px;
  color: var(--muted);
}
.crumb b {
  color: var(--espresso);
  font-weight: 600;
}

.cartpage .icon-sm {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.cartpage { padding: 10px 0 64px; }
.cartpage h1 { font-size: 34px; margin-bottom: 6px; }
.cartpage .sub { color: var(--muted); margin-bottom: 28px; }

/* Cart Grid Layout */
.cartpage .cart-grid {
  display: grid !important;
  grid-template-columns: 1fr 366px !important;
  gap: 30px !important;
  align-items: start !important;
  margin-bottom: 0 !important;
}

/* Cart Items Container */
.cartpage .cart-items {
  background: var(--cream) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

/* Individual Cart Item */
.cartpage .cart-item {
  display: grid !important;
  grid-template-columns: 104px 1fr auto !important;
  gap: 18px !important;
  padding: 20px !important;
  border-bottom: 1px solid var(--line) !important;
  align-items: center !important;
}
.cartpage .cart-item:last-child { border-bottom: none !important; }

.cart-item .img {
  width: 104px;
  height: 104px;
  border-radius: 11px;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--line);
}
.cart-item .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Cart Item Info */
.ci-info .brand {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--brown);
  font-weight: 700;
}
.ci-info .nm {
  font-family: var(--display);
  font-size: 17px;
  color: var(--espresso);
  margin: 4px 0 6px;
  font-weight: 600;
}
.ci-info .nm a {
  color: inherit;
  text-decoration: none;
}
.ci-info .nm a:hover {
  color: var(--oak);
}
.ci-info .at {
  font-size: 12.5px;
  color: var(--muted);
}
.ci-info .rm {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
  margin-top: 10px;
  text-decoration: none;
  transition: .18s ease;
}
.ci-info .rm:hover {
  color: var(--sale);
}

/* Cart Item Right: Quantity + Price */
.ci-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.cartpage .ci-right .qty {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: white !important;
}
.cartpage .ci-right .qty button {
  width: 34px !important;
  height: 34px !important;
  border: none !important;
  background: white !important;
  color: var(--ink) !important;
  font-size: 18px !important;
  cursor: pointer;
  transition: .18s ease;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  float: none !important;
}
.cartpage .ci-right .qty button:hover {
  background: var(--parchment) !important;
  color: var(--oak) !important;
}
.cartpage .ci-right .qty input {
  width: 50px !important;
  height: 34px !important;
  border: none !important;
  border-left: 1.5px solid var(--line) !important;
  border-right: 1.5px solid var(--line) !important;
  text-align: center !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: white !important;
  outline: none;
  -moz-appearance: textfield;
  float: none !important;
  position: static !important;
}
.cartpage .ci-right .qty input::-webkit-outer-spin-button,
.cartpage .ci-right .qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Override bootstrap-touchspin wrapper in cart */
.cartpage .ci-right .qty .bootstrap-touchspin {
  display: contents !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
}
.cartpage .ci-right .qty .input-group-addon,
.cartpage .ci-right .qty .input-group-btn-vertical,
.cartpage .ci-right .qty .bootstrap-touchspin-prefix,
.cartpage .ci-right .qty .bootstrap-touchspin-postfix {
  display: none !important;
}
.cartpage .ci-right .qty .js-cart-line-product-quantity-down {
  order: 1 !important;
}
.cartpage .ci-right .qty .js-cart-line-product-quantity {
  order: 2 !important;
  width: 50px !important;
  height: 34px !important;
  border: none !important;
  border-left: 1.5px solid var(--line) !important;
  border-right: 1.5px solid var(--line) !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: white !important;
  padding: 0 !important;
  -moz-appearance: textfield;
  float: none !important;
  display: block !important;
}
.cartpage .ci-right .qty .js-cart-line-product-quantity-up {
  order: 3 !important;
}

.ci-right .lp {
  font-size: 17px;
  font-weight: 700;
  color: var(--espresso);
  font-family: var(--display);
}

/* Cart Footer */
.cart-foot {
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--parchment);
  border: 1px solid var(--line);
  border-top: none;
  border-radius: 0 0 var(--radius) var(--radius);
}
.cart-foot a {
  font-size: 14px;
  font-weight: 600;
  color: var(--oak);
  display: inline-flex;
  gap: 7px;
  align-items: center;
  text-decoration: none;
  transition: .18s ease;
  white-space: nowrap;
}
.cart-foot a:hover {
  color: var(--oak-dark);
}

/* Order Summary Sidebar */
.cartpage .summary {
  background: var(--cream) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  padding: 24px !important;
  position: sticky;
  top: 96px;
}
.summary h3 {
  font-size: 20px;
  margin-bottom: 18px;
  font-family: var(--display);
  color: var(--espresso);
}

/* Summary Rows */
.sumrow {
  display: flex;
  justify-content: space-between;
  font-size: 14.5px;
  color: var(--ink);
  padding: 9px 0;
}
.sumrow.muted {
  color: var(--muted);
}
.sumrow.total {
  border-top: 1px solid var(--line);
  margin-top: 8px;
  padding-top: 16px;
  font-size: 16px;
}
.sumrow.total b {
  font-family: var(--display);
  font-size: 26px;
  color: var(--espresso);
}

/* Promo Code Input */
.promo-in {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}
.promo-in input {
  flex: 1;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  padding: 11px 13px;
  font-family: inherit;
  font-size: 14px;
  background: var(--parchment);
  outline: none;
  transition: .18s ease;
}
.promo-in input:focus {
  border-color: var(--oak);
  background: white;
}
.promo-in .btn {
  white-space: nowrap;
}

/* Checkout Button */
.cartpage .summary .btn-primary.btn-block.btn-lg,
.cartpage .cart-detailed-actions .btn-primary {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 16px 24px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: .18s ease;
  margin-top: 8px !important;
  height: auto !important;
  line-height: 1.4 !important;
}
.cartpage .summary .btn-primary:hover,
.cartpage .cart-detailed-actions .btn-primary:hover {
  background: var(--oak-dark, #6a3420) !important;
}
.cartpage .summary .btn-primary .icon-sm {
  width: 18px;
  height: 18px;
}

/* Trust Badges */
.sum-trust {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.sum-trust .st {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  color: var(--muted);
}
.sum-trust .st .icon-sm {
  color: var(--ok);
}

/* Hide empty columns / hooks on cart page */
#cart #left-column,
#cart #right-column {
  display: none !important;
}
#cart #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
#cart #wrapper {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#cart #wrapper .container,
#cart #wrapper .row-innerbox {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#cart section#content {
  margin-bottom: 0 !important;
}
#cart .hook_before_body_closing_tag_trustpilot {
  padding: 20px 0 !important;
}
#cart .megamenu-overlay {
  display: none !important;
}
#cart main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  min-height: auto !important;
}
body#cart {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body#cart > main ~ *:not(script):not(link):not(style) {
  display: none !important;
}
body#cart > main > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Mobile Responsive */
@media (max-width: 992px) {
  .cart-grid {
    grid-template-columns: 1fr;
  }
  .summary {
    position: static;
    margin-top: 30px;
  }
}

@media (max-width: 640px) {
  .cart-item {
    grid-template-columns: 74px 1fr;
    gap: 14px;
  }
  .cart-item .img {
    width: 74px;
    height: 74px;
  }
  .ci-right {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .cartpage h1 {
    font-size: 28px;
  }
  .cartpage .sub {
    font-size: 14px;
  }
}

/* ==========================================================================
   Phase 3.6 — CART PAGE FIXES (override PrestaShop defaults)
   ========================================================================== */

/* Force cart overview to use our custom layout */
.cart-overview.js-cart {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide PrestaShop's default product-line-grid layout */
.cart-item .product-line-grid {
  display: none !important;
}

/* Ensure our cart-item grid displays properly */
.cart-items .cart-item {
  display: grid !important;
  grid-template-columns: 104px 1fr auto !important;
  gap: 18px !important;
  padding: 20px !important;
}

/* Fix quantity input - hide default TouchSpin wrapper if present */
.cart-item .bootstrap-touchspin {
  display: none !important;
}

/* ==========================================================================
   Phase 3.7 — CHECKOUT PAGE (Kassen) — One Page Checkout PS module
   ========================================================================== */

/* ── Layout ─────────────────────────────────────────────── */
body#checkout #wrapper {
  background: var(--parchment, #faf8f6) !important;
  padding-bottom: 0 !important;
}
body#checkout #wrapper .container {
  max-width: var(--maxw, 1260px) !important;
  padding: 0 24px !important;
}
body#checkout #content-wrapper {
  padding: 0 !important;
}
body#checkout section#content {
  margin-bottom: 0 !important;
}
/* ── OPC 2-column layout: forms left, order summary right ── */
body#checkout #onepagecheckoutps_contenedor > .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  float: none !important;
  margin: 0 !important;
  align-items: flex-start !important;
}
/* All custom boxes: reset Bootstrap column widths */
body#checkout .opc_custombox_1,
body#checkout .opc_custombox_2,
body#checkout .opc_custombox_3,
body#checkout .opc_custombox_4,
body#checkout .opc_custombox_5 {
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}
/* Left column wrapper — takes remaining space */
body#checkout .opc-left-col {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
/* Right column wrapper — sticky sidebar */
body#checkout .opc-right-col {
  flex: 0 0 380px !important;
  width: 380px !important;
  position: sticky;
  top: 20px;
  align-self: flex-start;
}
/* Hide duplicate product list in order overview (raw text version) */
body#checkout #order-detail-content-custom {
  display: none !important;
}
body#checkout div#onepagecheckoutps_step_product {
  display: none !important;
}
/* Visually connect order overview + review into one card */
body#checkout .opc-right-col .opc_custombox_1 .opcBox {
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
body#checkout .opc-right-col .opc_custombox_5 {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-top: none !important;
  border-radius: 0 0 var(--radius, 14px) var(--radius, 14px) !important;
  overflow: hidden !important;
}

/* ── Checkout Steps (Accordion cards) ───────────────────── */
body#checkout section.checkout-step {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  overflow: hidden;
}

body#checkout .checkout-step .step-title {
  text-transform: none !important;
  font-family: var(--serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer;
  border-bottom: none;
}

body#checkout .checkout-step.-current .step-title {
  border-bottom: 1px solid var(--line) !important;
}

/* Step number circle */
body#checkout .checkout-step .step-number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--oak) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  flex-shrink: 0;
  padding: 0 !important;
}

/* Completed step — checkmark */
body#checkout .checkout-step.-complete .step-number {
  background: #4a7c59 !important;
}
body#checkout .checkout-step .done {
  display: none !important;
}
body#checkout .checkout-step.-complete.-reachable .done {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #4a7c59 !important;
  color: #fff !important;
  font-size: 18px !important;
  flex-shrink: 0;
}
body#checkout .checkout-step.-complete.-reachable .step-number {
  display: none !important;
}

/* Edit link */
body#checkout .step-edit {
  margin-left: auto !important;
  font-size: 13px !important;
  color: var(--oak) !important;
  font-family: var(--sans) !important;
  text-transform: none !important;
  font-weight: 600 !important;
  float: none !important;
}

/* Step content area */
body#checkout .checkout-step .content {
  padding: 24px !important;
}

/* ── Form fields ────────────────────────────────────────── */
body#checkout .form-group {
  margin-bottom: 16px !important;
}
body#checkout .form-group label,
body#checkout label.form-control-label {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 6px !important;
}
body#checkout .form-control,
body#checkout input[type="text"],
body#checkout input[type="email"],
body#checkout input[type="password"],
body#checkout input[type="tel"],
body#checkout select,
body#checkout textarea {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  background: #fff !important;
  color: var(--ink) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .18s ease;
  width: 100% !important;
  min-width: auto !important;
}
body#checkout .form-control:focus,
body#checkout input:focus,
body#checkout select:focus,
body#checkout textarea:focus {
  border-color: var(--oak) !important;
}

body#checkout select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

/* ── Buttons ────────────────────────────────────────────── */
body#checkout .btn-primary,
body#checkout .continue {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: background .18s ease;
  text-transform: none !important;
}
body#checkout .btn-primary:hover,
body#checkout .continue:hover {
  background: var(--oak-dark, #6a3420) !important;
}

/* ── Address cards ──────────────────────────────────────── */
body#checkout .address-selector {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
body#checkout .address-item {
  flex: 1 1 calc(50% - 6px) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px !important;
  background: #fff !important;
  cursor: pointer;
  transition: border-color .18s ease;
}
body#checkout .address-item.selected {
  border-color: var(--oak) !important;
  background: rgba(139,69,50,.04) !important;
}
body#checkout .address-alias {
  font-weight: 700 !important;
  font-family: var(--sans) !important;
  color: var(--espresso) !important;
}
body#checkout .address {
  font-size: 13.5px !important;
  color: var(--muted) !important;
  margin-left: 0 !important;
}

/* ── Delivery options ───────────────────────────────────── */
body#checkout .delivery-option {
  background: #fff !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px 18px !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  transition: border-color .18s ease;
  cursor: pointer;
}
body#checkout .delivery-option:hover,
body#checkout .delivery-option.selected {
  border-color: var(--oak) !important;
}
body#checkout .delivery-option label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  cursor: pointer;
}

/* Custom radio */
body#checkout .custom-radio {
  width: 20px !important;
  height: 20px !important;
  border: 2px solid var(--line) !important;
  border-radius: 50% !important;
  position: relative;
  flex-shrink: 0;
  background: #fff !important;
}
body#checkout .custom-radio input[type="radio"] {
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
body#checkout .custom-radio input[type="radio"]:checked + span {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--oak) !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ── Payment options ────────────────────────────────────── */
body#checkout .payment-options {
  margin: 0 !important;
}
body#checkout .payment-option {
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px 18px !important;
  margin-bottom: 10px !important;
  background: #fff !important;
  transition: border-color .18s ease;
}
body#checkout .payment-option label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
}

/* ── Custom checkbox ────────────────────────────────────── */
body#checkout .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
body#checkout .custom-checkbox input[type="checkbox"] + span {
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 4px !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}
body#checkout #conditions-to-approve {
  padding: 16px 0 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
body#checkout #conditions-to-approve a {
  color: var(--oak) !important;
}

/* ── Cart summary sidebar (checkout) ────────────────────── */
body#checkout #js-checkout-summary {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: sticky;
  top: 96px;
  overflow: hidden;
}
body#checkout #js-checkout-summary .card-block {
  padding: 20px 24px !important;
}
body#checkout .cart-summary-products p {
  font-family: var(--serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 12px !important;
}
body#checkout .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  padding: 6px 0 !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
}
body#checkout .cart-summary-line .label {
  color: var(--muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 0 !important;
}
body#checkout .cart-summary-line .value {
  color: var(--espresso) !important;
  font-weight: 600 !important;
  float: none !important;
}
body#checkout .cart-summary-totals {
  padding: 16px 24px !important;
  border-top: 1px solid var(--line) !important;
}
body#checkout .cart-summary-totals .cart-summary-line.-total {
  font-size: 16px !important;
}
body#checkout .cart-summary-totals .cart-summary-line.-total .value {
  font-family: var(--serif) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
}
body#checkout #js-checkout-summary .separator {
  margin: 0 !important;
  border-color: var(--line) !important;
}

/* Collapsible product list */
body#checkout .cart-summary-products a[data-toggle="collapse"] {
  color: var(--oak) !important;
  font-size: 13px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body#checkout #cart-summary-product-list {
  margin-top: 12px !important;
}
body#checkout #cart-summary-product-list .media {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--line) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body#checkout #cart-summary-product-list img {
  width: 50px !important;
  height: 50px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  border: 1px solid var(--line) !important;
}

/* ── Voucher / promo in checkout ────────────────────────── */
body#checkout .block-promo .promo-code {
  background: transparent !important;
  padding: 16px 24px !important;
}
body#checkout .block-promo .promo-input {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
}
body#checkout .block-promo .promo-code .btn {
  border-radius: 999px !important;
}

/* ── Hide megamenu overlays on checkout too ──────────────── */
body#checkout .megamenu-overlay {
  display: none !important;
}

/* ── Alerts ──────────────────────────────────────────────── */
body#checkout .alert {
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 992px) {
  body#checkout #js-checkout-summary {
    position: static;
  }
  body#checkout #main.opc_center_column {
    padding: 16px 12px !important;
  }
  body#checkout #onepagecheckoutps_contenedor > .row {
    flex-wrap: wrap !important;
  }
  body#checkout .opc-left-col,
  body#checkout .opc-right-col {
    flex: 0 0 100% !important;
    width: 100% !important;
    position: static !important;
  }
  body#checkout .opc-right-col .opc_custombox_1 .opcBox {
    border-radius: var(--radius, 14px) !important;
    margin-bottom: 20px !important;
  }
  body#checkout .opc-right-col .opc_custombox_5 .opcBox {
    border-radius: var(--radius, 14px) !important;
    border-top: 1px solid var(--line) !important;
  }
}

/* ==========================================================================
   Phase 3.7b — OPC Module specific overrides
   ========================================================================== */

/* ── OPC page wrapper ───────────────────────────────────── */
body#checkout #main.opc_center_column {
  max-width: var(--maxw, 1328px) !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
}

/* ── Page heading ───────────────────────────────────────── */
body#checkout #div_onepagecheckoutps_info h1 {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 4px !important;
}
body#checkout #div_onepagecheckoutps_info p {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--muted) !important;
}

/* ── OPC Box cards ──────────────────────────────────────── */
body#checkout .opcBox {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  margin-bottom: 20px !important;
  overflow: hidden;
}

/* ── Section titles ─────────────────────────────────────── */
body#checkout .onepagecheckoutps_title,
body#checkout .onepagecheckoutps_title.with_border,
body#checkout .opcBox .onepagecheckoutps_title {
  font-family: var(--serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  text-transform: none !important;
  padding: 18px 20px !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--line) !important;
  background: #fff !important;
}
body#checkout .onepagecheckoutps_title span {
  border-bottom: 3px solid var(--oak) !important;
  color: var(--espresso) !important;
}

/* ── OPC content areas ──────────────────────────────────── */
body#checkout .opcBox_content {
  padding: 20px !important;
}

/* ── OPC form fields ────────────────────────────────────── */
body#checkout #onepagecheckoutps .form-control,
body#checkout #onepagecheckoutps input[type="text"],
body#checkout #onepagecheckoutps input[type="email"],
body#checkout #onepagecheckoutps input[type="password"],
body#checkout #onepagecheckoutps input[type="tel"],
body#checkout #onepagecheckoutps select,
body#checkout #onepagecheckoutps textarea {
  background: var(--parchment, #f5f0eb) !important;
}
body#checkout #onepagecheckoutps .form-control:focus,
body#checkout #onepagecheckoutps input:focus,
body#checkout #onepagecheckoutps select:focus {
  background: #fff !important;
}

/* ── OPC Login button ───────────────────────────────────── */
body#checkout #opc_show_login {
  width: 100% !important;
}

/* ── Place order button ─────────────────────────────────── */
body#checkout #btn_place_order {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px 40px !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: background .18s ease;
  text-transform: none !important;
}
body#checkout #btn_place_order:hover {
  background: var(--oak-dark, #6a3420) !important;
}

/* ── OPC Address card ───────────────────────────────────── */
body#checkout .card-custom {
  border: none !important;
  background: transparent !important;
}
body#checkout #panel_addresses_customer {
  border: none !important;
}

/* ── OPC Payment options ────────────────────────────────── */
body#checkout #payment_method_container {
  padding: 0 20px !important;
}
body#checkout #payment_method_container .module_payment_container {
  margin-bottom: 12px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body#checkout #payment_method_container .payment-option {
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 16px 18px !important;
  background: #fff !important;
  transition: border-color .18s ease;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 14px !important;
  cursor: pointer;
}
body#checkout #payment_method_container .payment-option:hover {
  border-color: var(--oak) !important;
}
body#checkout #payment_method_container .payment-option.active,
body#checkout #payment_method_container .payment-option.selected,
body#checkout #payment_method_container .module_payment_container.active .payment-option,
body#checkout #payment_method_container .module_payment_container .payment-option {
  background: #fff !important;
}
body#checkout .additional-information,
body#checkout .js-additional-information,
body#checkout .definition-list {
  background: transparent !important;
}
/* Radio column */
body#checkout #payment_method_container .payment_input {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 3px 0 0 !important;
}
/* Content column */
body#checkout #payment_method_container .payment_content {
  flex: 1 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  font-family: var(--sans) !important;
}
body#checkout #payment_method_container .payment_content .payment_img {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
}
body#checkout #payment_method_container .payment_content .payment_img img {
  height: 24px !important;
  width: auto !important;
  object-fit: contain !important;
}
body#checkout #payment_method_container .payment_content > span {
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}
body#checkout #payment_method_container .payment_content > p {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}
/* Hide duplicate payment forms */
body#checkout .js-payment-option-form {
  display: none !important;
}

/* ── Custom radio buttons (OPC) ─────────────────────────── */
body#checkout input[type="radio"].payment_radio,
body#checkout input[type="radio"].not_uniform {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid var(--line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
}
body#checkout input[type="radio"].payment_radio:checked,
body#checkout input[type="radio"].not_uniform:checked {
  border-color: var(--oak) !important;
}
body#checkout input[type="radio"].payment_radio:checked::after,
body#checkout input[type="radio"].not_uniform:checked::after {
  content: "" !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--oak) !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ── Custom checkboxes (OPC) ────────────────────────────── */
body#checkout input[type="checkbox"].not_uniform {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
}
body#checkout input[type="checkbox"].not_uniform:checked {
  background: var(--oak) !important;
  border-color: var(--oak) !important;
}
body#checkout input[type="checkbox"].not_uniform:checked::after {
  content: "✓" !important;
  display: block !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ── Order review / right sidebar content ────────────────── */
body#checkout #order-detail-content {
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 0 !important;
}
/* Force top-level Bootstrap columns inside review to stack vertically */
body#checkout .opc-right-col #order-detail-content > .row {
  display: block !important;
  margin: 0 !important;
}
body#checkout .opc-right-col #order-detail-content > .row > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
}

/* ── Product row in review ─────────────────────────────── */
body#checkout .opc-right-col .custom_review_product_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  align-items: flex-start !important;
  border-bottom: 1px solid var(--line) !important;
  overflow: hidden !important;
  visibility: visible !important;
}
/* Reset Bootstrap negative margins on box5 row */
body#checkout .opc-right-col .opc_custombox_5 > .row {
  margin: 0 !important;
}
body#checkout .opc-right-col .opc_custombox_5 > .row > [class*="col-"] {
  padding: 0 !important;
}
body#checkout .opc-right-col .custom_review_product_row [class*="col-"] {
  display: block !important;
}
body#checkout .opc-right-col .custom_review_product_row .image_product {
  flex: 0 0 48px !important;
  width: 48px !important;
  max-width: 48px !important;
  padding: 0 !important;
}
body#checkout .opc-right-col .custom_review_product_row .image_product img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  border: 1px solid var(--line) !important;
}
body#checkout .opc-right-col .custom_review_product_row .cart_description {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
body#checkout .opc-right-col .custom_review_product_row .s_title_block {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
body#checkout .opc-right-col .custom_review_product_row .product_reference {
  font-size: 11px !important;
  color: var(--muted) !important;
  margin-top: 2px !important;
}
/* Hide unit price, qty, old price — show only total */
body#checkout .opc-right-col .custom_review_product_row .opc_design_price:not(.opc_design_price_total) {
  display: none !important;
}
body#checkout .opc-right-col .custom_review_product_row .opc_design_price_total {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: right !important;
}
body#checkout .opc-right-col .custom_review_product_row .opc_design_price_total .product-price {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  white-space: nowrap !important;
}
body#checkout .opc-right-col .custom_review_product_row .hidden-sm-up,
body#checkout .opc-right-col .custom_review_product_row .unit-price-cart {
  display: none !important;
}

/* ── Order message textarea ────────────────────────────── */
body#checkout .opc-right-col #div_leave_message {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--line) !important;
}
body#checkout #div_leave_message textarea {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-family: var(--sans) !important;
  resize: vertical;
  min-height: 60px !important;
  background: var(--parchment, #f5f0eb) !important;
}
body#checkout #div_leave_message p {
  font-size: 11px !important;
  color: var(--muted) !important;
  margin: 6px 0 0 !important;
}

/* Hide the "Bemærk!" paragraph — redundant with the checkbox text */
body#checkout .opc-right-col #conditions-to-approve > div:first-child {
  display: none !important;
}

/* ── Totals rows ───────────────────────────────────────── */
body#checkout .opc-right-col .order_total_items {
  padding: 16px 20px 12px !important;
  border-top: 1px solid var(--line) !important;
}
body#checkout .opc-right-col .order_total_items .item_total.row {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  border-bottom: 1px solid var(--line) !important;
}
body#checkout .opc-right-col .order_total_items .item_total.row:first-child {
  padding-top: 0 !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-7 {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: left !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-5 {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: right !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-7 span {
  color: var(--muted) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}
body#checkout .opc-right-col .order_total_items .item_total .col-xs-5 .price {
  color: var(--espresso) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
/* Grand total row */
body#checkout .opc-right-col .order_total_items .total_price:not(.hidden) {
  border-top: none !important;
  border-bottom: none !important;
  margin-top: 4px !important;
  padding-top: 14px !important;
  padding-bottom: 4px !important;
}
body#checkout .opc-right-col .order_total_items .total_price .col-xs-7 span {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
body#checkout .opc-right-col .order_total_items .total_price .col-xs-5 .price {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: var(--espresso) !important;
}

/* ── Conditions / terms — moved above button ─────────── */
body#checkout .opc-right-col #conditions-to-approve {
  padding: 0 20px 14px !important;
  font-size: 12px !important;
  color: var(--muted) !important;
  font-family: var(--sans) !important;
  line-height: 1.5 !important;
}
body#checkout .opc-right-col #conditions-to-approve ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body#checkout .opc-right-col #conditions-to-approve li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
body#checkout .opc-right-col #conditions-to-approve a {
  color: var(--oak) !important;
}

/* ── Place order button ─────────────────────────────────── */
body#checkout #container_float_review {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 20px 20px !important;
  margin: 0 !important;
}

/* ── Datepicker styling ─────────────────────────────────── */
body#checkout .ui-datepicker {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  overflow: hidden !important;
  font-family: var(--sans) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  width: auto !important;
  min-width: 280px !important;
  padding: 0.5em 0.5em !important;
}
body#checkout .ui-datepicker-header {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 14px) var(--radius, 14px) 0 0 !important;
  padding: 12px 14px !important;
}
body#checkout .ui-datepicker-title {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
body#checkout .ui-datepicker-prev,
body#checkout .ui-datepicker-next {
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
}
body#checkout .ui-datepicker-prev span,
body#checkout .ui-datepicker-next span {
  filter: brightness(10) !important;
}
body#checkout .ui-datepicker table {
  margin: 0 !important;
}
body#checkout .ui-datepicker th {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  padding: 8px 4px !important;
}
body#checkout .ui-datepicker td {
  padding: 2px !important;
}
body#checkout .ui-datepicker td a,
body#checkout .ui-datepicker td span {
  border-radius: 8px !important;
  text-align: center !important;
  padding: 6px 8px !important;
  display: block !important;
}
body#checkout .ui-datepicker td span.ui-state-default {
  color: #777 !important;
  background: transparent !important;
  border-color: transparent !important;
}
body#checkout .ui-datepicker td a:hover,
body#checkout .ui-datepicker td a.ui-state-active {
  background: var(--oak) !important;
  color: #fff !important;
}

/* ── OPC loading overlay ────────────────────────────────── */
body#checkout .loading_big {
  border-radius: var(--radius, 14px) !important;
}

/* ── OPC conditions/terms ───────────────────────────────── */
body#checkout .conditions-to-approve {
  font-size: 13px !important;
  color: var(--muted) !important;
  font-family: var(--sans) !important;
}
body#checkout .conditions-to-approve a {
  color: var(--oak) !important;
}

/* ── Hide megamenu overlays (OPC) ───────────────────────── */
body#checkout .megamenu-overlay {
  display: none !important;
}

/* Ensure our quantity controls are visible */
.ci-right .qty {
  display: flex !important;
  visibility: visible !important;
}

/* Hide old PrestaShop quantity controls (cart page only, not product page) */
.product-line-grid-right,
.product-line-actions,
.cartpage .input-group.bootstrap-touchspin,
body#checkout .input-group.bootstrap-touchspin {
  display: none !important;
}

/* Fix summary card styling */
.cart-summary.card {
  border: none !important;
  padding: 0 !important;
}

/* Override any card-block padding in summary */
.cart-summary .card-block {
  padding: 0 !important;
}

/* Ensure checkout button is full width */
.cart-detailed-actions {
  padding: 0 !important;
}

/* Fix icon sizing in trust badges */
.sum-trust .st svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

/* Ensure summary rows are visible */
.cart-detailed-totals .sumrow {
  display: flex !important;
}

/* Additional quantity control fixes */
.ci-right .qty button,
.ci-right .qty input {
  display: inline-flex !important;
  float: none !important;
  margin: 0 !important;
}

/* Ensure buttons stay inside qty wrapper */
.ci-right .qty .js-cart-line-product-quantity-down,
.ci-right .qty .js-cart-line-product-quantity-up {
  position: relative !important;
  order: initial !important;
}

/* Fix any PrestaShop positioning on quantity controls */
.cart-item .product-line-actions,
.cart-item .product-line-grid-right {
  position: absolute !important;
  left: -9999px !important;
  visibility: hidden !important;
}

/* Ensure remove button is visible */
.ci-info .rm {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force our cart item structure */
.cart-items > .cart-item {
  display: grid !important;
  grid-template-columns: 104px 1fr auto !important;
}

/* ═══════════════════════════════════════════════════════
   Phase 3.7b — Order Confirmation Page
   ═══════════════════════════════════════════════════════ */

/* Page wrapper */
.page-order-confirmation,
#content-hook_order_confirmation,
#content-hook_payment_return,
#registration-form {
  font-family: var(--sans) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--radius, 14px) !important;
  background: #fff !important;
  margin-bottom: 24px !important;
}

/* ── Confirmation header card ─────────────────────────── */
#content-hook_order_confirmation {
  border: 1px solid var(--line) !important;
  padding: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
#content-hook_order_confirmation .card-block {
  padding: 32px 36px !important;
}
#content-hook_order_confirmation .card-title {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}
#content-hook_order_confirmation .card-title .material-icons.done {
  background: #4caf50 !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  font-size: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 0 !important;
}
#content-hook_order_confirmation p {
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
/* OBS notice at top */
#content-hook_order_confirmation .orderConf-top-box {
  width: 100% !important;
  margin-bottom: 16px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  padding-left: 15px !important;
}
#content-hook_order_confirmation .orderConf-top-box > div {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
#content-hook_order_confirmation .orderConf-top-box .alert {
  background: #fef9ec !important;
  border: 1px solid #f0dca4 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  font-size: 13.5px !important;
  color: var(--espresso) !important;
  font-family: var(--sans) !important;
}

/* ── Order items card ─────────────────────────────────── */
.page-order-confirmation {
  border: 1px solid var(--line) !important;
  padding: 0 !important;
}
.page-order-confirmation .card-block {
  padding: 0 !important;
}
.page-order-confirmation .card-block > .row {
  margin: 0 !important;
}
.page-order-confirmation #order-items {
  padding: 0 !important;
}
.page-order-confirmation #order-items .card-title {
  font-family: var(--serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  padding: 24px 28px 16px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}

/* Product rows */
.page-order-confirmation .order-line {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px 28px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
.page-order-confirmation .order-line > [class*="col-"] {
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  flex: none !important;
}
.page-order-confirmation .order-line > .col-sm-2 {
  flex: 0 0 80px !important;
}
.page-order-confirmation .order-line > .col-sm-4 {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
.page-order-confirmation .order-line > .col-sm-6 {
  flex: 0 0 auto !important;
  text-align: right !important;
}
.page-order-confirmation .order-line .image img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
}
.page-order-confirmation .order-line .details span {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--espresso) !important;
  line-height: 1.4 !important;
}
.page-order-confirmation .order-line .qty .row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
.page-order-confirmation .order-line .qty .row > [class*="col-"] {
  width: auto !important;
  flex: none !important;
  padding: 0 !important;
  float: none !important;
  font-size: 13.5px !important;
  color: var(--muted) !important;
}
.page-order-confirmation .order-line .qty .row > .bold,
.page-order-confirmation .order-line .qty .row > .col-xs-5:last-child {
  font-weight: 600 !important;
  color: var(--espresso) !important;
  font-size: 14px !important;
}

/* Totals table */
.page-order-confirmation .order-confirmation-table > hr {
  border: none !important;
  border-top: 1px solid var(--line) !important;
  margin: 0 !important;
}
.page-order-confirmation .order-confirmation-table > table {
  width: 100% !important;
  border-collapse: collapse !important;
  padding: 0 !important;
}
.page-order-confirmation .order-confirmation-table > table tr {
  border: none !important;
}
.page-order-confirmation .order-confirmation-table > table td {
  padding: 10px 28px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--muted) !important;
  border: none !important;
}
.page-order-confirmation .order-confirmation-table > table td:last-child {
  text-align: right !important;
  color: var(--espresso) !important;
  font-weight: 600 !important;
}
.page-order-confirmation .order-confirmation-table > table tr.font-weight-bold {
  background: transparent !important;
}
.page-order-confirmation .order-confirmation-table > table tr.font-weight-bold td {
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
.page-order-confirmation .order-confirmation-table > table tr.font-weight-bold td:last-child {
  font-family: var(--serif) !important;
  font-size: 20px !important;
  font-style: italic !important;
}

/* Order details section */
.page-order-confirmation #order-details {
  padding: 20px 28px 24px !important;
  border-top: 1px solid var(--line) !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}
.page-order-confirmation #order-details .card-title {
  font-family: var(--serif) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  border: none !important;
}
.page-order-confirmation #order-details ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page-order-confirmation #order-details li {
  font-size: 13.5px !important;
  color: var(--muted) !important;
  padding: 3px 0 !important;
  line-height: 1.5 !important;
}
.page-order-confirmation #order-details em {
  color: var(--oak) !important;
  font-style: italic !important;
}

/* ── Payment return / hook cards ──────────────────────── */
#content-hook_payment_return {
  border: 1px solid var(--line) !important;
}
#content-hook_payment_return .card-block {
  padding: 24px 28px !important;
}
#content-hook_payment_return p {
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.6 !important;
}

/* ── Guest registration form ──────────────────────────── */
#registration-form {
  border: 1px solid var(--line) !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
#registration-form .card-block {
  padding: 28px 36px !important;
}
#registration-form h4 {
  font-family: var(--serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 20px !important;
}
#registration-form label {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
}
#registration-form input.form-control {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
  transition: border-color .2s !important;
}
#registration-form input.form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(163,94,59,.1) !important;
  outline: none !important;
}
#registration-form .input-group {
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  transition: border-color .2s !important;
}
#registration-form .input-group:focus-within {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(163,94,59,.1) !important;
}
#registration-form .input-group input.form-control {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#registration-form .input-group .input-group-btn {
  border: none !important;
}
#registration-form .input-group .input-group-btn button {
  background: var(--parchment, #faf8f6) !important;
  border: none !important;
  border-left: 1px solid var(--line) !important;
  border-radius: 0 !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  font-family: var(--sans) !important;
  padding: 10px 14px !important;
  cursor: pointer !important;
  height: 100% !important;
}
#registration-form .input-group .input-group-btn button:hover {
  background: var(--line) !important;
}
#registration-form button[type="submit"],
#registration-form .btn-primary {
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 12px 32px !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#registration-form button[type="submit"]:hover,
#registration-form .btn-primary:hover {
  background: var(--espresso) !important;
}

/* ── Breadcrumb on confirmation page ──────────────────── */
.page-order-confirmation ~ .breadcrumb,
body#order-confirmation .breadcrumb {
  display: none !important;
}

/* ── Page wrapper for order confirmation ──────────────── */
body#order-confirmation #wrapper {
  background: var(--parchment, #faf8f6) !important;
  padding-top: 0 !important;
  padding-bottom: 60px !important;
  overflow: visible !important;
}
body#order-confirmation #wrapper .container {
  max-width: 1240px !important;
  padding: 0 24px !important;
}
body#order-confirmation #content-wrapper {
  padding-top: 32px !important;
  overflow: visible !important;
}
body#order-confirmation #left-column,
body#order-confirmation #right-column {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════
   CMS pages — breadcrumb + base styling
   ═══════════════════════════════════════════════════════ */
body.page-cms #wrapper .breadcrumb {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block !important;
  overflow: visible !important;
  min-height: 0 !important;
  line-height: 1.6 !important;
  max-width: var(--maxw);
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 24px !important;
}
body.page-cms #wrapper .breadcrumb ol {
  font-size: 13.5px;
  font-family: var(--sans);
  color: var(--muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-cms #wrapper .breadcrumb li {
  display: inline-flex !important;
  align-items: center;
  font-size: 13.5px;
  color: var(--muted);
}
body.page-cms #wrapper .breadcrumb a {
  color: var(--muted) !important;
  font-size: 13.5px;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: static !important;
}
body.page-cms #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
body.page-cms #wrapper .breadcrumb a:after {
  content: "/" !important;
  border: none !important;
  border-right: none !important;
  border-top: none !important;
  margin: 0 10px !important;
  color: var(--line) !important;
  transform: none !important;
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  text-indent: 0 !important;
  font-weight: 400;
}
body.page-cms #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
body.page-cms #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}

/* ── CMS page layout & content styling ────────────────── */
body.page-cms #wrapper {
  background: var(--parchment, #faf8f6) !important;
  margin-top: unset;
}
body.page-cms #wrapper > .container,
body.page-cms #wrapper .row-innerbox {
  max-width: var(--maxw, 1260px) !important;
  padding: 0 24px !important;
  margin: 0 auto !important;
}
body.page-cms #content-wrapper {
  padding: 0 !important;
}
body.page-cms #left-column {
  display: none !important;
}
body.page-cms #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Page title */
body.page-cms .page-header h1,
body.page-cms h1.page-heading {
  font-family: var(--serif) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

/* Content card */
body.page-cms .page-content {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius, 14px) !important;
  box-shadow: none !important;
  padding: 40px 48px !important;
  margin-bottom: 40px !important;
}

/* CMS content base font */
body.page-cms .page-content,
body.page-cms .page-content .info-page-body-outer-s {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
}

/* Typography inside CMS content */
body.page-cms .page-content h1 {
  font-family: var(--serif) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 24px !important;
  line-height: 1.3 !important;
}
body.page-cms .page-content b,
body.page-cms .page-content strong {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
}
body.page-cms .page-content h2 {
  font-family: var(--serif) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 32px 0 12px !important;
  line-height: 1.3 !important;
}
body.page-cms .page-content h3 {
  font-family: var(--serif) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin: 28px 0 10px !important;
  line-height: 1.3 !important;
}
body.page-cms .page-content h4,
body.page-cms .page-content h5 {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 24px 0 8px !important;
}
body.page-cms .page-content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
  margin: 0 0 16px !important;
}
body.page-cms .page-content ul,
body.page-cms .page-content ol {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
  padding-left: 24px !important;
  margin: 0 0 16px !important;
}
body.page-cms .page-content li {
  margin-bottom: 6px !important;
}
body.page-cms .page-content a {
  color: var(--oak) !important;
  text-decoration: underline !important;
}
body.page-cms .page-content a:hover {
  color: var(--espresso) !important;
}
body.page-cms .page-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  margin: 16px 0 !important;
}
body.page-cms .page-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
}
body.page-cms .page-content table th,
body.page-cms .page-content table td {
  padding: 10px 14px !important;
  border: 1px solid var(--line) !important;
  text-align: left !important;
}
body.page-cms .page-content table th {
  background: var(--parchment, #faf8f6) !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
body.page-cms .page-content hr {
  border: none !important;
  border-top: 1px solid var(--line) !important;
  margin: 24px 0 !important;
}
body.page-cms .page-content blockquote {
  border-left: 3px solid var(--oak) !important;
  padding: 12px 20px !important;
  margin: 16px 0 !important;
  background: var(--parchment, #faf8f6) !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
  color: var(--muted) !important;
}


/* ──── from custom.css lines 6639-6801: Portfolio / gallery (gallerique module) ──── */
/* ---- Portfolio / Gallery page (gallerique module) ----------------------- */
#module-gallerique-gallerylist #wrapper,
#module-gallerique-gallery #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#module-gallerique-gallerylist .page-content,
#module-gallerique-gallery .page-content {
  font-family: var(--sans);
  color: var(--espresso);
}
/* Top description area */
.gallery_list_des_top {
  margin-bottom: 32px;
}
.gallery_list_des_top .ApImage img {
  border-radius: var(--radius-lg, 12px);
  margin-bottom: 24px;
}
.gallery_list_des_top .block_content {
  font-family: var(--sans) !important;
  color: var(--espresso) !important;
}
.gallery_list_des_top .block_content h1,
.gallery_list_des_top .block_content h2,
.gallery_list_des_top .block_content h3 {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
  font-weight: 600 !important;
  margin-top: 24px !important;
}
.gallery_list_des_top .block_content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #4a5558 !important;
}
#module-gallerique-gallerylist .block_content ol,
#module-gallerique-gallerylist .block_content ul,
#module-gallerique-gallerylist .block_content li,
#module-gallerique-gallerylist .block_content p {
  font-family: var(--sans) !important;
  color: var(--ink) !important;
  line-height: 1.65 !important;
}
/* Gallery heading */
.page-heading-gallery {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin-bottom: 24px;
}
/* Gallery grid cards */
.gallery-row-grid {
  gap: 24px 0;
}
.gallery-row-grid .gallery-cover {
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  transition: box-shadow .25s, transform .25s;
}
.gallery-row-grid .gallery-cover:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.14);
  transform: translateY(-2px);
}
.gallery-row-grid .gallery-cover img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.gallery-row-grid .gallery-cover .gallery-name {
  background: linear-gradient(transparent 30%, rgba(0,0,0,.55)) !important;
  transition: background .3s;
}
.gallery-row-grid .gallery-cover:hover .gallery-name {
  background: linear-gradient(transparent 30%, rgba(0,0,0,.25)) !important;
}
.gallery-row-grid .gallery-cover .gallery-name > span {
  font-family: var(--sans) !important;
  font-size: 15px;
  font-weight: 600;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.gallery-row-grid h2,
.gallery-row-grid .gallery-name h2 {
  font-family: var(--sans) !important;
  color: #fff !important;
}
/* Breadcrumb — match category/CMS style */
#module-gallerique-gallerylist #wrapper .breadcrumb,
#module-gallerique-gallery #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#module-gallerique-gallerylist #wrapper .breadcrumb ol,
#module-gallerique-gallery #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
#module-gallerique-gallerylist #wrapper .breadcrumb li,
#module-gallerique-gallery #wrapper .breadcrumb li {
  color: #999;
  font-size: 13px;
}
#module-gallerique-gallerylist #wrapper .breadcrumb a,
#module-gallerique-gallery #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#module-gallerique-gallerylist #wrapper .breadcrumb a:hover,
#module-gallerique-gallery #wrapper .breadcrumb a:hover {
  color: var(--oak) !important;
}
#module-gallerique-gallerylist #wrapper .breadcrumb a:after,
#module-gallerique-gallery #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#module-gallerique-gallerylist #wrapper .breadcrumb li:last-child,
#module-gallerique-gallery #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
#module-gallerique-gallerylist #wrapper .breadcrumb li:last-child span,
#module-gallerique-gallery #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}
/* Hide the row-innerbox border/box on this page */
#module-gallerique-gallerylist .row-innerbox,
#module-gallerique-gallery .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}


/* ──── from custom.css lines 6898-9269: Referencer, login/password, my-account, identity, addresses, order history, credit slips, discount, contact, sitemap, search breadcrumb, CMS content & showroom CMS pages ──── */
/* ---- Referencer page (referencerinfo module) ---------------------------- */
#module-referencerinfo-referencer #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#module-referencerinfo-referencer .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb — same pattern as other pages */
#module-referencerinfo-referencer #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#module-referencerinfo-referencer #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
#module-referencerinfo-referencer #wrapper .breadcrumb li {
  color: #999;
  font-size: 13px;
}
#module-referencerinfo-referencer #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#module-referencerinfo-referencer #wrapper .breadcrumb a:hover {
  color: var(--oak) !important;
}
#module-referencerinfo-referencer #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#module-referencerinfo-referencer #wrapper .breadcrumb li:last-child {
  font-weight: 700;
  color: var(--espresso);
}
#module-referencerinfo-referencer #wrapper .breadcrumb li:last-child span {
  color: var(--espresso);
  font-weight: 700;
}
/* Page heading */
#module-referencerinfo-referencer .flexTitle {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 32px;
  color: var(--espresso);
  margin-top: 24px;
  margin-bottom: 28px;
}
/* Reference cards grid */
#module-referencerinfo-referencer .row {
  gap: 24px 0;
}
.referencerinfoblock {
  margin-bottom: 8px !important;
}
.referencerinfoblock .referencer_image {
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  transition: box-shadow .25s, transform .25s;
  padding-top: 0 !important;
  position: relative;
}
.referencerinfoblock:hover .referencer_image {
  transform: translateY(-2px);
}
.referencerinfoblock .referencer_image img {
  width: 100% !important;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block !important;
  position: static !important;
}
.referencerinfoblock .referencer_center {
  padding: 12px 4px 0;
}
.referencerinfoblock .referencer_title {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  color: var(--espresso);
  margin-bottom: 4px;
  padding-top: 0 !important;
  padding-bottom: 10px;
}
.referencerinfoblock .referencer_text {
  font-family: var(--sans);
  font-size: 14px;
  color: #6b7275;
  line-height: 1.5;
}
.referencerinfoblock .referencer_text p {
  margin: 0;
}

/* ---- Login / Authentication page ---------------------------------------- */
#authentication #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#authentication .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#authentication #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#authentication #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#authentication #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#authentication #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#authentication #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#authentication #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#authentication #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#authentication #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#authentication .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Login / register card */
#authentication #content.card {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 600px;
  margin: 24px auto 40px;
}
/* Form labels */
#authentication .form-control-label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  text-align: left !important;
}
/* Form layout — stack labels above inputs */
#authentication .login-form .form-group.row,
#authentication section .form-group.row {
  display: block !important;
  margin-bottom: 20px !important;
}
#authentication .login-form .form-group .col-md-3,
#authentication .login-form .form-group .col-md-6,
#authentication section .form-group .col-md-3,
#authentication section .form-group .col-md-6 {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}
#authentication .form-group .col-md-3.form-control-comment {
  display: none !important;
}
#authentication .form-control-label {
  display: block !important;
  margin-bottom: 6px !important;
}
/* Register form — also stack fields */
#authentication .register-form .form-group.row,
#authentication #customer-form .form-group.row {
  display: block !important;
  margin: 0 0 20px !important;
}
#authentication .register-form .form-group .col-md-3,
#authentication .register-form .form-group .col-md-6,
#authentication #customer-form .form-group .col-md-3,
#authentication #customer-form .form-group .col-md-6 {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}
#authentication .register-form .form-group .col-md-3.form-control-comment,
#authentication #customer-form .form-group .col-md-3.form-control-comment {
  display: none !important;
}
/* "Already have an account" link */
#authentication .register-form > p {
  text-align: center;
  font-family: var(--sans);
  font-size: 14px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e8e2da;
  padding-bottom: 20px;
}
#authentication .register-form > p a {
  color: var(--oak) !important;
  font-weight: 600;
  text-decoration: none;
}
#authentication .register-form > p a:hover {
  text-decoration: underline;
}
/* Inputs */
#authentication .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
#authentication .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Password show/hide button */
#authentication .input-group-btn .btn {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 1px solid #d5cfc7 !important;
  border-left: none !important;
  border-radius: 0 var(--radius, 8px) var(--radius, 8px) 0 !important;
  background: #f5f0eb !important;
  color: var(--espresso) !important;
  padding: 11.25px 14px !important;
}
#authentication .input-group .form-control {
  border-radius: var(--radius, 8px) 0 0 var(--radius, 8px) !important;
}
/* Forgot password link */
#authentication .forgot-password {
  text-align: center;
  margin: 16px 0 8px;
}
#authentication .forgot-password a {
  font-family: var(--sans);
  font-size: 14px;
  color: var(--oak) !important;
  text-decoration: none;
}
#authentication .forgot-password a:hover {
  text-decoration: underline;
}
/* Login button */
#authentication #submit-login,
#authentication .form-footer .btn-primary {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  width: 100% !important;
  display: block !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#authentication #submit-login:hover,
#authentication .form-footer .btn-primary:hover {
  background: var(--oak-dark) !important;
  color: #fff !important;
}
#authentication .form-footer {
  border: none !important;
  border-top: none !important;
  margin-top: 8px;
}
/* Footer section — "no account" link */
#authentication #content > hr {
  display: none !important;
}
#authentication .no-account,
#authentication .login-form .no-account {
  text-align: center;
  margin-top: 20px;
  font-family: var(--sans);
  font-size: 14px;
  border-top: 1px solid #e8e2da;
  padding-top: 20px;
}
#authentication .no-account a {
  color: var(--oak) !important;
  font-weight: 600;
  text-decoration: none;
}
#authentication .no-account a:hover {
  text-decoration: underline;
}

/* ---- Password recovery page --------------------------------------------- */
#password #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#password .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#password #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#password #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#password #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#password #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#password #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#password #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#password #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#password #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#password .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card */
#password #content.card {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 600px;
  margin: 24px auto 40px;
}
/* Description text */
#password .send-renew-password-link {
  font-family: var(--sans);
  font-size: 15px;
  color: #5c696f;
  line-height: 1.6;
  margin-bottom: 24px;
  text-align: center;
}
/* Stack label above input */
#password .form-group.center-email-fields {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
#password .form-group .col-md-3,
#password .form-group .col-md-5,
#password .form-group .email {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}
#password .form-control-label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  text-align: left !important;
  display: block !important;
  margin-bottom: 6px !important;
}
#password .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
}
#password .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Submit button */
#password .btn-primary {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  width: 100% !important;
  display: block !important;
  margin-top: 16px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#password .btn-primary:hover {
  background: var(--oak-dark) !important;
  color: #fff !important;
}
#password .btn-primary.hidden-sm-up {
  display: none !important;
}

/* ---- My Account page ---------------------------------------------------- */
#my-account #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#my-account .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#my-account #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#my-account #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#my-account #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#my-account #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#my-account #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#my-account #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#my-account #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#my-account #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#my-account .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 16px;
}
/* Account link cards grid */
#my-account .page-content > .row {
  margin: 0 !important;
  padding: 0 !important;
}
#my-account .links {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 0 !important;
  margin: 0 0 32px !important;
}
#my-account .links a {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  display: block !important;
}
#my-account .links a .link-item {
  height: 100%;
  box-sizing: border-box;
}
#my-account .links .link-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #e8e2da;
  border-radius: var(--radius-lg, 12px);
  padding: 28px 20px;
  text-align: center;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--espresso);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transition: border-color .2s, box-shadow .2s;
  min-height: 140px;
}
#my-account .links .link-item:hover {
  border-color: var(--oak);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
#my-account .links .link-item i.material-icons {
  font-size: 36px;
  color: var(--espresso);
  padding-top: 1rem !important;
  padding-bottom: 3.4rem !important;
}
/* Sign out link */
#my-account .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#my-account .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  transition: color .2s;
}
#my-account .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}
/* Mobile: 2 columns */
@media (max-width: 767px) {
  #my-account .links {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  #my-account .links .link-item {
    padding: 24px 16px;
    min-height: 120px;
  }
  #my-account .links .link-item i.material-icons {
    font-size: 30px;
  }
}

/* ---- E-mail notifikationer page ----------------------------------------- */
#module-ps_emailalerts-account #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#module-ps_emailalerts-account .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#module-ps_emailalerts-account #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#module-ps_emailalerts-account #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#module-ps_emailalerts-account #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#module-ps_emailalerts-account #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#module-ps_emailalerts-account #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#module-ps_emailalerts-account #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#module-ps_emailalerts-account #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#module-ps_emailalerts-account #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#module-ps_emailalerts-account .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card container */
#module-ps_emailalerts-account #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
#module-ps_emailalerts-account #content h2 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 22px;
  color: var(--espresso);
  margin: 0 0 16px;
}
#module-ps_emailalerts-account #content p.warning {
  font-family: var(--sans);
  font-size: 15px;
  color: #5c696f;
  margin: 0;
}
/* Footer links back to account */
#module-ps_emailalerts-account .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#module-ps_emailalerts-account .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
}
#module-ps_emailalerts-account .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Identity / mine-oplysninger page ----------------------------------- */
#identity #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#identity .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#identity #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#identity #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#identity #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#identity #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#identity #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#identity #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#identity #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#identity #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Hide onepagecheckout boxes that aren't the personal info form */
#identity .opc_custombox_1,
#identity .opc_custombox_5 {
  display: none !important;
}
#identity .opc_custombox_4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#identity .opc_custombox_4 .opcBox {
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 20px 0 0 !important;
}
/* Make form box full width, centered */
#identity #onepagecheckoutps {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
#identity #onepagecheckoutps_contenedor {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}
#identity #onepagecheckoutps_contenedor > .row {
  display: block !important;
  margin: 0 !important;
}
#identity .opc_custombox_2,
#identity .opc_custombox_3 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* OPC box styling */
#identity .opcBox {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  margin: 0 0 20px !important;
}
#identity .onepagecheckoutps_title {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  color: var(--espresso) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
}
#identity .onepagecheckoutps_title span {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
/* Hide loading spinner */
#identity .loading_big { display: none !important; }
/* Form inputs */
#identity .opcBox_content label {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  display: block !important;
  margin-bottom: 6px !important;
}
#identity .opcBox_content input[type="text"],
#identity .opcBox_content input[type="email"],
#identity .opcBox_content input[type="password"],
#identity .opcBox_content input[type="tel"],
#identity .opcBox_content select,
#identity .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#identity .opcBox_content input:focus,
#identity .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Submit button */
#identity .opcBox_content input[type="submit"],
#identity .opcBox_content button[type="submit"],
#identity .form-control-submit,
#identity .btn-primary {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  width: 100% !important;
  display: block !important;
  margin-top: 12px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#identity .opcBox_content input[type="submit"]:hover,
#identity .opcBox_content button[type="submit"]:hover,
#identity .form-control-submit:hover,
#identity .btn-primary:hover {
  background: var(--oak-dark) !important;
}
/* Footer links */
#identity .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
#identity .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
}
#identity .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Addresses page ----------------------------------------------------- */
#addresses #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#addresses .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#addresses #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#addresses #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#addresses #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#addresses #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#addresses #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#addresses #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#addresses #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#addresses #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Hide irrelevant OPC boxes */
#addresses .opc_custombox_1,
#addresses .opc_custombox_3,
#addresses .opc_custombox_5 {
  display: none !important;
}
/* Center layout */
#addresses #onepagecheckoutps {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
#addresses #onepagecheckoutps_contenedor {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
}
#addresses #onepagecheckoutps_contenedor > .row {
  display: block !important;
  margin: 0 !important;
}
#addresses .opc_custombox_2 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#addresses .opc_custombox_4 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#addresses .opc_custombox_4 .opcBox {
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 20px 0 0 !important;
}
/* Address card */
#addresses .opcBox {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  margin: 0 0 20px !important;
}
#addresses .onepagecheckoutps_title {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  color: var(--espresso) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  text-transform: none !important;
}
#addresses .onepagecheckoutps_title span {
  font-family: var(--serif) !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
#addresses .loading_big { display: none !important; }
/* Address section headings */
#addresses .opcBox_content h4,
#addresses .opcBox_content .h4 {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
}
/* Add address links */
#addresses .opcBox_content a {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--oak) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
#addresses .opcBox_content a:hover {
  text-decoration: underline !important;
}
/* Inputs */
#addresses .opcBox_content input[type="text"],
#addresses .opcBox_content input[type="email"],
#addresses .opcBox_content input[type="tel"],
#addresses .opcBox_content select,
#addresses .form-control {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#addresses .opcBox_content input:focus,
#addresses .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Buttons */
#addresses .btn-primary,
#addresses .opcBox_content input[type="submit"],
#addresses .opcBox_content button[type="submit"] {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 40px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#addresses .btn-primary:hover,
#addresses .opcBox_content input[type="submit"]:hover,
#addresses .opcBox_content button[type="submit"]:hover {
  background: var(--oak-dark) !important;
}
/* Alert banners on account pages */
#addresses .alert-warning,
#identity .alert-warning,
#my-account .alert-warning {
  max-width: var(--maxw) !important;
  margin: 16px auto !important;
  padding: 14px 20px !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  color: var(--espresso) !important;
}
#addresses .alert-warning ul,
#identity .alert-warning ul,
#my-account .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#addresses .alert-warning a,
#identity .alert-warning a,
#my-account .alert-warning a {
  color: var(--oak) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}
/* Address section title - hide "dine oplysninger" heading on this page */
#addresses .opc_custombox_2 > .row > .col-xs-12 > .opcBox > .onepagecheckoutps_title {
  display: none !important;
}
/* Card group */
#addresses .card-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
/* Address card sections */
#addresses .card-custom {
  border: none !important;
  margin-bottom: 20px !important;
}
#addresses .card-header {
  background: transparent !important;
  border: none !important;
  padding: 0 0 8px !important;
}
#addresses .card-header .card-title {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
#addresses .card-header .card-title a {
  color: var(--espresso) !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #f9f6f2 !important;
  padding: 12px 16px !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
#addresses .card-header .card-title a:hover {
  background: #f0ebe4 !important;
}
#addresses .card-header .more-less {
  color: var(--espresso) !important;
  font-size: 14px !important;
}
/* Card body */
#addresses .card-body {
  padding: 12px 0 0 !important;
  border: none !important;
}
/* Add address link */
#addresses .card-custom > a,
#addresses #panel_addresses_customer > a,
#addresses .opcBox_content > .card-group ~ a,
#addresses a[href*="address"] {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--oak) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  display: inline-block !important;
  margin-top: 4px !important;
}
#addresses a[href*="address"]:hover {
  text-decoration: underline !important;
}
/* Form fields inside address form */
#addresses .fields_container label {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--espresso) !important;
  margin-bottom: 4px !important;
}
#addresses .fields_container .form-control {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 10px 14px !important;
  background: #fff !important;
}
#addresses .fields_container .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
/* Footer links */
#addresses .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#addresses .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
}
#addresses .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Order history page ------------------------------------------------- */
#history #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#history .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#history #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#history #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#history #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#history #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#history #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#history #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#history #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#history #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#history .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card */
#history #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
/* Alert inside card */
#history .alert-warning {
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--espresso) !important;
  padding: 14px 20px !important;
  margin-bottom: 16px !important;
}
#history .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Description text */
#history #content p,
#history #content .page-content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: #5c696f !important;
  line-height: 1.6 !important;
}
/* Order table (when orders exist) */
#history .table {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  width: 100% !important;
  border-collapse: collapse !important;
}
#history .table th {
  font-weight: 600 !important;
  color: var(--espresso) !important;
  border-bottom: 2px solid #e8e2da !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
#history .table td {
  padding: 12px !important;
  border-bottom: 1px solid #f0ebe4 !important;
  color: var(--espresso) !important;
}
#history .table tr:hover td {
  background: #faf7f4 !important;
}
#history .table a {
  color: var(--oak) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#history .table a:hover {
  text-decoration: underline !important;
}
/* Footer links */
#history .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#history .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#history .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Credit slips / kreditnota page ------------------------------------- */
#order-slip #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#order-slip .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#order-slip #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#order-slip #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#order-slip #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#order-slip #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#order-slip #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#order-slip #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#order-slip #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#order-slip #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#order-slip .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
/* Card */
#order-slip #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
#order-slip .alert-warning {
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--espresso) !important;
  padding: 14px 20px !important;
  margin-bottom: 16px !important;
}
#order-slip .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#order-slip #content p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: #5c696f !important;
  line-height: 1.6 !important;
}
/* Footer links */
#order-slip .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#order-slip .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#order-slip .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Discount / rabat page ---------------------------------------------- */
#discount #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#discount .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#discount #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#discount #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#discount #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#discount #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#discount #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#discount #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#discount #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#discount #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
#discount .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 8px;
}
#discount #content {
  background: #fff !important;
  border: 1px solid #e8e2da !important;
  border-radius: var(--radius-lg, 12px) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 36px 40px !important;
  max-width: 700px;
  margin: 24px auto 40px;
}
#discount .alert-warning {
  background: #fef8f0 !important;
  border: 1px solid #e8d9c5 !important;
  border-radius: var(--radius, 8px) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: var(--espresso) !important;
  padding: 14px 20px !important;
  margin-bottom: 16px !important;
}
#discount .alert-warning ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#discount .page-footer {
  text-align: center;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#discount .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#discount .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Contact page ------------------------------------------------------- */
#contact #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#contact .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
}
/* Breadcrumb */
#contact #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#contact #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#contact #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#contact #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#contact #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#contact #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#contact #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#contact #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Hero image */
#contact .cms_img_top {
  border-radius: var(--radius-lg, 12px) !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  margin-top: 40px !important;
}
#contact #content.contact-card-block {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Remove duplicate */
/* Contact card block */
#contact .contact-card-block {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: 100% !important;
}
#contact #content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
}
/* Two-column layout: form + info */
#contact .info-page-body-outer {
  display: grid !important;
  grid-template-columns: 2fr 2fr;
  gap: 48px;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 32px 22px 40px;
  width: 100% !important;
}
@media (max-width: 991px) {
  #contact .info-page-body-outer {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}
/* Form section */
#contact .contact-form {
  margin: 0;
}
#contact .contact-form h3 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 24px;
  color: var(--espresso);
  margin: 0 0 20px;
  text-transform: uppercase;
}
/* Stack fields full width */
#contact .form-group.row {
  margin: 0 0 16px !important;
}
#contact .form-group .col-md-9,
#contact .form-group .col-md-3,
#contact .form-group .col-md-offset-3 {
  max-width: 100% !important;
  width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
}
/* Inputs */
#contact .form-control,
#contact select.form-control-select,
#contact .form-control-select {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  border: 1px solid #d5cfc7 !important;
  border-radius: var(--radius, 8px) !important;
  padding: 12px 14px !important;
  background: #fff !important;
  color: var(--espresso) !important;
  width: 100% !important;
  opacity: 1 !important;
  -webkit-appearance: none !important;
  height: auto !important;
  line-height: 1.4 !important;
  overflow: visible !important;
}
#contact select.form-control-select {
  height: auto !important;
  min-height: 46px !important;
}
#contact select.form-control-select option {
  color: var(--espresso) !important;
}
#contact .form-control:focus {
  border-color: var(--oak) !important;
  box-shadow: 0 0 0 3px rgba(156,106,56,.12) !important;
  outline: none !important;
}
#contact textarea.form-control {
  min-height: 140px !important;
  resize: vertical !important;
}
/* Submit button */
#contact .form-footer {
  margin-top: 8px !important;
}
#contact .form-footer .btn-primary,
#contact input[type="submit"],
#contact button[type="submit"] {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius, 8px) !important;
  padding: 14px 48px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
#contact .form-footer .btn-primary:hover,
#contact input[type="submit"]:hover,
#contact button[type="submit"]:hover {
  background: var(--oak-dark) !important;
}
/* CMS info column */
#contact .cms-7-cus {
  padding-top: 0;
}
#contact .cms-7-cus .col-xs-12 {
  padding: 0 !important;
}
#contact .cms-7-cus h3 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 22px;
  color: var(--espresso);
  margin: 0 0 16px;
}
#contact .cms-7-cus p {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: #5c696f !important;
  line-height: 1.7 !important;
  margin-bottom: 12px !important;
}
#contact .cms-7-cus a {
  color: var(--oak) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#contact .cms-7-cus a:hover {
  text-decoration: underline !important;
}
.contact_page_left_ {
  padding: 1rem;
}

/* ---- Sitemap / oversigt page -------------------------------------------- */
#sitemap #wrapper {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 22px;
}
#sitemap .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Breadcrumb */
#sitemap #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#sitemap #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#sitemap #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#sitemap #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#sitemap #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#sitemap #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#sitemap #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#sitemap #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
/* Page heading */
#sitemap .page-header h1 {
  font-family: var(--serif) !important;
  font-weight: 600;
  font-size: 28px;
  color: var(--espresso);
  margin: 24px 0 24px;
}
/* Sitemap columns grid */
#sitemap #content {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 0 0 48px;
}
@media (max-width: 991px) {
  #sitemap #content {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (max-width: 575px) {
  #sitemap #content {
    grid-template-columns: 1fr;
  }
}
/* Section titles */
#sitemap .sitemap-title {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  border-bottom: 2px solid var(--oak) !important;
}
/* Links */
#sitemap #content ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#sitemap #content li {
  margin-bottom: 8px !important;
}
#sitemap #content a {
  font-family: var(--sans) !important;
  font-size: 14px !important;
  color: #5c696f !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
#sitemap #content a:hover {
  color: var(--oak) !important;
}
/* Nested subcategory indentation */
#sitemap #content ul ul {
  padding-left: 16px !important;
  margin-top: 8px !important;
}
/* Footer */
#sitemap .page-footer {
  text-align: center;
  margin-bottom: 40px;
}
#sitemap .page-footer a {
  font-family: var(--sans);
  font-size: 14px;
  color: #999;
  text-decoration: none;
  margin: 0 12px;
}
#sitemap .page-footer a:hover {
  color: var(--oak);
  text-decoration: underline;
}

/* ---- Search page breadcrumb --------------------------------------------- */
#search #wrapper .breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--sans);
  font-size: 13px;
  padding: 18px 0 8px !important;
  margin: 0 !important;
}
#search #wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
#search #wrapper .breadcrumb li { color: #999; font-size: 13px; }
#search #wrapper .breadcrumb a {
  color: #999 !important;
  text-decoration: none !important;
  font-weight: 400;
  padding: 0 !important;
}
#search #wrapper .breadcrumb a:hover { color: var(--oak) !important; }
#search #wrapper .breadcrumb a:after {
  content: "/" !important;
  margin: 0 10px;
  color: #ccc;
  border: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  transform: none !important;
  text-indent: 0 !important;
  z-index: auto !important;
  display: inline !important;
  font-size: 13px;
}
#search #wrapper .breadcrumb li:last-child { font-weight: 700; color: var(--espresso); }
#search #wrapper .breadcrumb li:last-child span { color: var(--espresso); font-weight: 700; }
#search .row-innerbox {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#search .cat-filters { display: none !important; }
#search .cat-layout { grid-template-columns: 1fr !important; }

/* ---- CMS page content: lists & font ------------------------------------- */
#cms .info-page-body ul,
#cms .info-page-body ol {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: var(--espresso) !important;
  line-height: 1.7 !important;
  padding-left: 24px !important;
  margin-bottom: 16px !important;
}
#cms .info-page-body ul {
  list-style: disc !important;
}
#cms .info-page-body ol {
  list-style: decimal !important;
}
#cms .info-page-body li {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: var(--espresso) !important;
  margin-bottom: 8px !important;
}
#cms .info-page-body p,
#cms .info-page-body div,
#cms .info-page-body span,
#cms .info-page-body li span,
#cms .info-page-body p span {
  font-family: var(--sans) !important;
  font-size: 15px !important;
}
#cms .info-page-body h2,
#cms .info-page-body h3,
#cms .info-page-body h4 {
  font-family: var(--serif) !important;
  color: var(--espresso) !important;
}

/* ==========================================================================
   Showroom CMS pages (12 listing, 27 Aulum, 28 Rungsted)
   Fix appagebuilder rows inside the CMS card wrapper
   ========================================================================== */

/* Remove tight card padding — let ApRows handle their own spacing */
body.page-cms .page-content.page-cms-12,
body.page-cms .page-content.page-cms-27,
body.page-cms .page-content.page-cms-28 {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.page-cms .page-content.page-cms-12 .info-page-body-outer-s,
body.page-cms .page-content.page-cms-27 .info-page-body-outer-s,
body.page-cms .page-content.page-cms-28 .info-page-body-outer-s {
  padding: 0 !important;
}
/* Override generic CMS img margin/radius for showroom pages */
body.page-cms .page-content.page-cms-12 img,
body.page-cms .page-content.page-cms-27 img,
body.page-cms .page-content.page-cms-28 img {
  margin: 0 !important;
}

/* Each ApRow section = white card */
.page-cms-12 #bokse.ApRow,
.page-cms-27 #bokse.ApRow,
.page-cms-28 #bokse.ApRow,
.page-cms-12 #boksen.ApRow,
.page-cms-12 #boks2.ApRow,
.page-cms-27 #boksen.ApRow,
.page-cms-28 #boksen.ApRow {
  background: #fff !important;
  border: 1px solid var(--line, #e8e2da) !important;
  border-radius: var(--radius, 14px) !important;
  padding: 32px !important;
  margin-bottom: 28px !important;
  overflow: hidden;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

/* Columns inside rows — proper flex */
.page-cms-12 #bokse .ApColumn,
.page-cms-12 #boks2 .ApColumn,
.page-cms-27 #bokse .ApColumn,
.page-cms-28 #bokse .ApColumn,
.page-cms-12 #boksen .ApColumn,
.page-cms-27 #boksen .ApColumn,
.page-cms-28 #boksen .ApColumn {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
/* Restore Bootstrap xl column widths in flex context */
@media (min-width: 992px) {
  .page-cms-12 .ApRow .col-xl-3,
  .page-cms-27 .ApRow .col-xl-3,
  .page-cms-28 .ApRow .col-xl-3 { flex: 0 0 25% !important; max-width: 25% !important; }
  .page-cms-12 .ApRow .col-xl-4,
  .page-cms-27 .ApRow .col-xl-4,
  .page-cms-28 .ApRow .col-xl-4 { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  .page-cms-12 .ApRow .col-xl-6,
  .page-cms-27 .ApRow .col-xl-6,
  .page-cms-28 .ApRow .col-xl-6 { flex: 0 0 50% !important; max-width: 50% !important; }
  .page-cms-12 .ApRow .col-xl-8,
  .page-cms-27 .ApRow .col-xl-8,
  .page-cms-28 .ApRow .col-xl-8 { flex: 0 0 66.667% !important; max-width: 66.667% !important; }
  .page-cms-12 .ApRow .col-xl-12,
  .page-cms-27 .ApRow .col-xl-12,
  .page-cms-28 .ApRow .col-xl-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* Text column — nice spacing */
.page-cms-12 #bokse .ApColumn .ApHtml,
.page-cms-12 #boks2 .ApColumn .ApHtml,
.page-cms-27 #bokse .ApColumn .ApHtml,
.page-cms-28 #bokse .ApColumn .ApHtml,
.page-cms-27 #boksen .ApColumn .ApHtml,
.page-cms-28 #boksen .ApColumn .ApHtml {
  padding: 0 !important;
}
.page-cms-12 #bokse .ApColumn .ApHtml .block_content,
.page-cms-12 #boks2 .ApColumn .ApHtml .block_content,
.page-cms-27 #bokse .ApColumn .ApHtml .block_content,
.page-cms-28 #bokse .ApColumn .ApHtml .block_content,
.page-cms-27 #boksen .ApColumn .ApHtml .block_content,
.page-cms-28 #boksen .ApColumn .ApHtml .block_content {
  padding: 0 !important;
}

/* Hero / showroom images — flush inside their column */
.page-cms-12 .ApImage img,
.page-cms-27 .ApImage img,
.page-cms-28 .ApImage img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--radius, 12px) !important;
  margin: 0 !important;
  object-fit: cover !important;
}

/* Carousel / slider images */
.page-cms-12 .ApFullSlider,
.page-cms-27 .ApFullSlider,
.page-cms-28 .ApFullSlider {
  border-radius: var(--radius, 12px) !important;
  overflow: hidden !important;
}
.page-cms-12 .ApFullSlider img,
.page-cms-27 .ApFullSlider img,
.page-cms-28 .ApFullSlider img {
  border-radius: 0 !important;
  margin: 0 !important;
}

/* H1 inside showroom content */
.page-cms-12 .ApHtml h1,
.page-cms-27 .ApHtml h1,
.page-cms-28 .ApHtml h1 {
  font-family: var(--serif) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 16px !important;
  line-height: 1.25 !important;
}

/* H2 inside showroom content */
.page-cms-12 .ApHtml h2,
.page-cms-27 .ApHtml h2,
.page-cms-28 .ApHtml h2 {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  margin: 0 0 12px !important;
}

/* Paragraph / body text */
.page-cms-12 .ApHtml p,
.page-cms-27 .ApHtml p,
.page-cms-28 .ApHtml p {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ink, #3a3a3a) !important;
}

/* Links (phone, email) */
.page-cms-12 .ApHtml a,
.page-cms-27 .ApHtml a,
.page-cms-28 .ApHtml a {
  color: var(--oak) !important;
  text-decoration: none !important;
  font-family: var(--sans) !important;
}
.page-cms-12 .ApHtml a:hover,
.page-cms-27 .ApHtml a:hover,
.page-cms-28 .ApHtml a:hover {
  text-decoration: underline !important;
}

/* "Find vej" and other ApButton buttons */
.page-cms-12 .ApButton .btn,
.page-cms-27 .ApButton .btn,
.page-cms-28 .ApButton .btn,
.page-cms-12 a > .btn.ApButton,
.page-cms-27 a > .btn.ApButton,
.page-cms-28 a > .btn.ApButton,
.page-cms-12 .ApButton.btn,
.page-cms-27 .ApButton.btn,
.page-cms-28 .ApButton.btn {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--oak) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 12px 32px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .2s !important;
}
.page-cms-12 .ApButton .btn:hover,
.page-cms-27 .ApButton .btn:hover,
.page-cms-28 .ApButton .btn:hover,
.page-cms-12 .ApButton.btn:hover,
.page-cms-27 .ApButton.btn:hover,
.page-cms-28 .ApButton.btn:hover {
  background: var(--oak-dark) !important;
}

/* "Besøg også vores andet showroom" heading row — centered divider */
.page-cms-27 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml,
.page-cms-28 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml {
  text-align: center !important;
  padding: 24px 0 !important;
}
.page-cms-27 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml p,
.page-cms-28 .ApRow:not(#bokse):not(#boksen) > .ApColumn > .ApHtml p {
  font-family: var(--serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
}

/* Brand table inside showroom */
.page-cms-12 .ApHtml table,
.page-cms-27 .ApHtml table,
.page-cms-28 .ApHtml table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 12px 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
}
.page-cms-12 .ApHtml table td,
.page-cms-27 .ApHtml table td,
.page-cms-28 .ApHtml table td {
  padding: 8px 12px !important;
  border: 1px solid var(--line, #e8e2da) !important;
  color: var(--ink) !important;
}

/* Google Maps iframe */
.page-cms-12 .ApRawHtml iframe,
.page-cms-27 .ApRawHtml iframe,
.page-cms-28 .ApRawHtml iframe {
  width: 100% !important;
  border-radius: var(--radius, 12px) !important;
  border: none !important;
  min-height: 400px;
}

/* Override the inline <style> that the page injects via ApRawHtml */
body.page-cms.cms-id-12 #wrapper,
body.page-cms.cms-id-27 #wrapper,
body.page-cms.cms-id-28 #wrapper,
.page-cms-12 + style,
.page-cms-27 + style,
.page-cms-28 + style {
  background: var(--parchment, #faf8f6) !important;
  margin-top: unset !important;
}
/* Hide the empty ApRawHtml row that only contains inline <style> */
.page-cms-12 .ApRow:has(> .ApColumn > .ApRawHtml style):not(#boksen),
.page-cms-27 .ApRow:has(> .ApColumn > .ApRawHtml style):not(#boksen),
.page-cms-28 .ApRow:has(> .ApColumn > .ApRawHtml style):not(#boksen) {
  display: none !important;
}

/* Cross-link showroom card — image + text side by side */
.page-cms-27 #billede-1 .ApImage a,
.page-cms-28 #billede-1 .ApImage a {
  text-decoration: none !important;
  display: block !important;
}
/* Hide duplicate text block inside image column (Aulum page has ApHtml inside #billede-1) */
.page-cms-27 #billede-1 > .ApHtml,
.page-cms-28 #billede-1 > .ApHtml {
  display: none !important;
}
.page-cms-27 #billede-2 .ApHtml,
.page-cms-28 #billede-2 .ApHtml {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
}

/* ---- Responsive: showroom pages ---- */
@media (max-width: 991px) {
  .page-cms-12 #bokse.ApRow,
  .page-cms-12 #boks2.ApRow,
  .page-cms-27 #bokse.ApRow,
  .page-cms-28 #bokse.ApRow,
  .page-cms-12 #boksen.ApRow,
  .page-cms-27 #boksen.ApRow,
  .page-cms-28 #boksen.ApRow {
    padding: 24px !important;
  }
  .page-cms-12 #bokse .ApColumn,
  .page-cms-12 #boks2 .ApColumn,
  .page-cms-27 #bokse .ApColumn,
  .page-cms-28 #bokse .ApColumn,
  .page-cms-12 #boksen .ApColumn,
  .page-cms-27 #boksen .ApColumn,
  .page-cms-28 #boksen .ApColumn {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* On mobile, put image above text */
  .page-cms-12 #bokse .ApColumn#billeder,
  .page-cms-27 #bokse .ApColumn#billeder,
  .page-cms-28 #bokse .ApColumn#billeder {
    order: -1 !important;
    margin-bottom: 20px !important;
  }
  .page-cms-12 .ApRawHtml iframe,
  .page-cms-27 .ApRawHtml iframe,
  .page-cms-28 .ApRawHtml iframe {
    min-height: 300px;
  }
}
@media (max-width: 640px) {
  .page-cms-12 #bokse.ApRow,
  .page-cms-12 #boks2.ApRow,
  .page-cms-27 #bokse.ApRow,
  .page-cms-28 #bokse.ApRow,
  .page-cms-12 #boksen.ApRow,
  .page-cms-27 #boksen.ApRow,
  .page-cms-28 #boksen.ApRow {
    padding: 16px !important;
  }
  .page-cms-12 .ApHtml h1,
  .page-cms-27 .ApHtml h1,
  .page-cms-28 .ApHtml h1 {
    font-size: 24px !important;
  }
}

