/* =========================================================
   Woo cart + checkout + my-account styling pass.
   Holder Woo sin standard markup (blokker eller shortcodes)
   men setter typografi, spacing og knapper i tråd med Easycorp-
   designet. Full template-override gjøres senere.
   ========================================================= */

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
	max-width: var(--container);
	margin: 0 auto;
	padding: 32px var(--s-6) 64px;
}

.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: clamp(24px, 3vw, 36px);
	letter-spacing: -0.01em;
	color: var(--ec-ink);
	margin: 0 0 24px;
}

/* ----- Tables (cart, order summary) ----- */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	overflow: hidden;
	background: #FFFFFF;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--shop-line-2);
	font-size: 14px;
	color: var(--ec-ink-3);
	text-align: left;
	vertical-align: middle;
}
.woocommerce table.shop_table th {
	font-weight: 600;
	font-family: var(--font-ui);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ec-mute);
	background: var(--shop-surface);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce a.remove {
	color: var(--ec-mute);
	text-decoration: none;
	font-size: 18px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.woocommerce a.remove:hover { background: var(--ec-red-soft); color: var(--ec-red); }

/* ----- Buttons ----- */
.woocommerce .button,
.woocommerce-page .button,
.wc-block-components-button {
	font-family: var(--font-ui);
	font-weight: 500;
	font-size: 14px;
	background: var(--shop-navy);
	color: #FFFFFF;
	border: 1px solid transparent;
	padding: 11px 20px;
	border-radius: var(--r-md);
	cursor: pointer;
	transition: background .18s, transform .18s, box-shadow .18s;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.woocommerce .button:hover,
.wc-block-components-button:hover {
	background: var(--shop-navy-2);
	transform: translateY(-1px);
	box-shadow: var(--shadow-md);
	color: #FFFFFF;
}
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt { background: var(--shop-navy); color: #FFFFFF; }
.woocommerce .button.outlined,
.woocommerce a.button:not(.alt):not(.checkout-button):not(.submit) {
	background: transparent;
	color: var(--ec-ink);
	border: 1px solid var(--shop-line);
}
.woocommerce a.button:hover:not(.alt) {
	border-color: var(--ec-ink);
	background: transparent;
	color: var(--ec-ink);
}
.woocommerce #place_order,
.wc-block-checkout__actions_row .wc-block-components-button {
	width: 100%;
	padding: 14px 22px;
	font-size: 15px;
	font-weight: 600;
}

/* ----- Cart totals ----- */
.cart_totals,
.wc-block-cart__totals,
.wc-block-components-totals-wrapper {
	background: var(--shop-surface);
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
}
.cart_totals h2 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 18px;
	margin: 0 0 16px;
	color: var(--ec-ink);
}

/* ----- Form fields ----- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-textarea {
	font-family: var(--font-ui);
	font-size: 14px;
	padding: 11px 14px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	background: #FFFFFF;
	color: var(--ec-ink);
	width: 100%;
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce form .form-row input:focus,
.wc-block-components-text-input input:focus {
	border-color: var(--shop-navy);
	box-shadow: 0 0 0 3px var(--shop-navy-soft);
}
.woocommerce form .form-row label,
.wc-block-components-form .wc-block-components-text-input label {
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 500;
	color: var(--ec-mute);
	margin-bottom: 6px;
}

/* ----- Notices ----- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	position: relative;
	border-radius: var(--r-md);
	border: 1px solid var(--shop-line);
	background: #FFFFFF;
	padding: 14px 18px 14px 48px;
	font-size: 13.5px;
	margin-bottom: 16px;
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	left: 18px !important;
	top: 50% !important;
	transform: translateY(-50%);
	margin: 0 !important;
	line-height: 1 !important;
}
.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce-message { border-left: 4px solid var(--shop-success); }
.woocommerce-info    { border-left: 4px solid var(--shop-navy); }
.woocommerce-error   { border-left: 4px solid var(--ec-red); }

/* ----- My account navigation ----- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--shop-surface);
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	padding: 16px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--shop-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 4px;
	color: var(--ec-ink-3);
	text-decoration: none;
	font-size: 14px;
	transition: color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: var(--shop-navy); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--ec-ink); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content { padding-left: 0; }

@media (min-width: 800px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 240px; }
	.woocommerce-account .woocommerce-MyAccount-content { margin-left: 280px; }
}

/* ====================================================================
   CART v3 — Flex-basert robust layout (2026-05-20)
   IMPORTANT: Bridge plugin sin storefront.css tvinger
   .woocommerce-cart-form til width:var(--easycorp-shell). Vi
   overstyrer med !important for å beholde grid-layout.
   ==================================================================== */

/* Hide parent-theme (Hello Elementor) sin duplikate page-header på
   WC system-sider — vår template har egen header inne. */
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header,
.woocommerce-account .page-header {
	display: none !important;
}

/* Hide Bridge plugin sin duplikate dashboard (vi har vår egen
   ec-shop-account-dashboard som er bedre tilpasset shop-design) */
.woocommerce-account .easycorp-account-dashboard,
.woocommerce-account .easycorp-account-dashboard__hero,
.woocommerce-account .easycorp-account-dashboard__grid {
	display: none !important;
}

/* ====================================================================
   CART EMPTY STATE — definitive layout fix (2026-05-20)
   STOP trying to layer fixes. Override ALL parent theme and plugin
   layout rules.

   SCOPING: brukes KUN på empty-state (har .ec-shop-cat-hero som er
   spesifikt for cart-empty.php). Cart MED varer (.ec-cart-page) er
   IKKE påvirket — den beholder sin 2-kolonne grid-layout.
   ==================================================================== */

/* 1. TAKE FULL CONTROL of page-wrapper width (gjelder begge states) */
.woocommerce-cart .site-main,
.woocommerce-cart .ec-shop-main,
.woocommerce-cart .page-content,
.woocommerce-cart > article.ec-singular,
.woocommerce-cart main,
.woocommerce-cart .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	display: block !important;
}

/* 2. EMPTY STATE — sentrert smal layout (kun når .ec-shop-cat-hero finnes) */
.woocommerce-cart .ec-shop-cat-hero ~ .ec-shell,
.woocommerce-cart .ec-shop-cat-hero + .ec-shell {
	max-width: 700px;
	margin: 0 auto;
	padding: 0 20px 60px;
	text-align: center;
}

/* 3. Hero — sentrert tittel for empty-state */
.woocommerce-cart .ec-shop-cat-hero {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 60px 20px 20px !important;
	background: transparent !important;
	border: 0 !important;
}
.woocommerce-cart .ec-shop-cat-hero .ec-shell {
	padding: 0 !important;
	max-width: 700px !important;
	margin: 0 auto !important;
	text-align: center;
}
.woocommerce-cart .ec-shop-cat-hero .ec-shop-cat-title {
	font-size: 32px !important;
	margin: 0 0 10px !important;
	text-align: center !important;
}
.woocommerce-cart .ec-shop-cat-hero .ec-shop-cat-desc {
	font-size: 16px !important;
	color: #666 !important;
	margin: 0 auto !important;
	text-align: center !important;
	max-width: 540px;
}
.woocommerce-cart .ec-shop-cat-hero .ec-shop-breadcrumbs {
	text-align: center !important;
	margin: 0 auto 14px !important;
	justify-content: center;
}

/* 4. CARD: empty-state kort sentrert */
.woocommerce-cart .ec-shop-catalog-empty {
	max-width: 500px !important;
	margin: 0 auto !important;
	padding: 40px 24px !important;
	border-radius: 12px !important;
	background: #FFFFFF !important;
	box-shadow: 0 2px 10px rgba(15,23,42,0.06);
	text-align: center;
}
.woocommerce-cart .ec-shop-catalog-empty h2 {
	font-size: 20px;
	margin: 0 0 10px;
}
.woocommerce-cart .ec-shop-catalog-empty p {
	color: #666;
	margin: 0 0 18px;
}

/* 5. Knapper: konsistent bredde */
.woocommerce-cart .ec-shop-catalog-empty .ec-btn {
	min-width: 160px;
}
/* Full bredde for vår template — overstyr parent-theme constraints */
.woocommerce-cart .site-main,
.woocommerce-cart .ec-shop-main,
.woocommerce-cart .ec-singular,
.woocommerce-cart .page-content,
.woocommerce-checkout .site-main,
.woocommerce-checkout .ec-shop-main,
.woocommerce-checkout .ec-singular,
.woocommerce-checkout .page-content,
.woocommerce-account .site-main,
.woocommerce-account .ec-shop-main,
.woocommerce-account .ec-singular,
.woocommerce-account .page-content {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-cart article.site-main,
.woocommerce-checkout article.site-main,
.woocommerce-account article.site-main {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* System-side shell reset for custom Woo templates.
   Older table-based cart rules below still target .woocommerce directly; the
   template-level layouts (.ec-cart-page / .ec-shop-checkout-shell) own their
   internal columns. */
.woocommerce-cart .page-content > .woocommerce,
.woocommerce-checkout .page-content > .woocommerce {
	display: block !important;
	grid-template-columns: none !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.woocommerce-cart .page-content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-checkout .page-content > .woocommerce > .woocommerce-notices-wrapper {
	max-width: 1240px !important;
	width: calc(100% - 48px) !important;
	margin: 0 auto !important;
}

.ec-cart-page {
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 30%);
	min-height: 60vh;
	padding: 0 0 60px;
}
/* OVERRIDE Bridge plugin sin .woocommerce-cart-form-width */
.ec-cart-page .woocommerce-cart-form,
.ec-cart-layout .woocommerce-cart-form,
.ec-cart-main {
	max-width: none !important;
	width: auto !important;
	margin: 0 !important;
}
/* Override Bridge sin cart-collaterals styling */
.ec-cart-page .cart-collaterals,
.ec-cart-layout .cart-collaterals {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.ec-cart-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}
.ec-cart-head { padding: 28px 0 24px; }
.ec-cart-crumbs {
	font-size: 12px;
	color: #94A3B8;
	margin-bottom: 10px;
}
.ec-cart-crumbs a {
	color: #94A3B8;
	text-decoration: none;
}
.ec-cart-crumbs a:hover { color: var(--shop-navy, #1E3A5F); }
.ec-cart-crumbs > span:first-of-type { margin: 0 6px; }
.ec-cart-h1 {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: clamp(26px, 3vw, 36px);
	letter-spacing: -0.02em;
	color: #0F172A;
	margin: 0 0 6px;
	line-height: 1.1;
}
.ec-cart-sub {
	font-size: 14px;
	color: #64748B;
	margin: 0;
}

/* 2-kolonne layout */
.ec-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
}
.ec-cart-main { min-width: 0; }

/* Cart items wrapper */
.ec-cart-items {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(15,23,42,0.04);
	margin-bottom: 16px;
}

/* Individual cart item — FLEX layout (3 hovedseksjoner) */
.ec-cart-item {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 20px;
	border-bottom: 1px solid #F1F5F9;
	transition: background .12s;
}
.ec-cart-item:last-child { border-bottom: none; }
.ec-cart-item:hover { background: #FAFBFC; }

/* 1. Bilde — fixed */
.ec-cart-item-img {
	flex: 0 0 80px;
	width: 80px;
	height: 80px;
	background: #F8FAFC;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ec-cart-item-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

/* 2. Body — flex-1, mest plass */
.ec-cart-item-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: space-between;
	min-height: 80px;
}
.ec-cart-item-info { min-width: 0; }
.ec-cart-item-brand {
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #94A3B8;
	font-weight: 700;
	margin-bottom: 2px;
	line-height: 1.2;
}
.ec-cart-item-name {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 15px;
	color: #0F172A;
	line-height: 1.3;
	margin-bottom: 6px;
	word-break: break-word;
}
.ec-cart-item-name a {
	color: inherit;
	text-decoration: none;
}
.ec-cart-item-name a:hover { color: var(--shop-navy, #1E3A5F); }
.ec-cart-item-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	font-size: 11.5px;
	color: #64748B;
}
.ec-cart-item-sku {
	font-family: var(--font-mono, monospace);
}
.ec-cart-item-stock {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.ec-cart-item-stock.is-instock { background: #DCFCE7; color: #166534; }
.ec-cart-item-stock.is-backorder { background: #FEF3C7; color: #92400E; }

/* Controls (qty + remove) */
.ec-cart-item-controls {
	display: flex;
	gap: 8px;
	align-items: center;
}
.ec-cart-item-controls .quantity {
	display: inline-flex;
	border: 1.5px solid #E2E8F0;
	border-radius: 8px;
	background: #FFFFFF;
	overflow: hidden;
}
.ec-cart-item-controls .quantity input.qty {
	width: 50px !important;
	border: none !important;
	background: transparent !important;
	font-family: var(--font-mono);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	padding: 8px 0 !important;
	color: #0F172A;
	box-shadow: none !important;
}
.ec-cart-item-controls .quantity input.qty:focus { outline: none; }
.ec-cart-item-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	background: #F1F5F9;
	color: #64748B !important;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	text-decoration: none !important;
	transition: background .12s, color .12s;
	flex-shrink: 0;
}
.ec-cart-item-remove:hover {
	background: #FEE2E2;
	color: #DC2626 !important;
}

/* 3. Pris-stack — høyre-justert */
.ec-cart-item-price {
	flex: 0 0 130px;
	text-align: right;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 4px;
}
.ec-cart-item-subtotal {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 17px;
	color: var(--shop-navy, #1E3A5F);
	white-space: nowrap;
}
.ec-cart-item-subtotal .woocommerce-Price-amount { font-size: inherit; }
.ec-cart-item-unit {
	font-size: 11px;
	color: #94A3B8;
}

/* Action-row */
.ec-cart-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 12px 14px;
}
.ec-cart-continue {
	color: #0F172A;
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 600;
	padding: 8px 12px;
	border-radius: 6px;
	transition: background .12s;
}
.ec-cart-continue:hover { background: #F1F5F9; color: var(--shop-navy, #1E3A5F); }
.ec-cart-action-group {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.ec-cart-coupon-panel {
	position: relative;
}
.ec-cart-coupon-panel summary {
	list-style: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 37px;
	padding: 8px 13px;
	border: 1.5px solid #E2E8F0;
	border-radius: 8px;
	background: #FFFFFF;
	color: #334155;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color .12s, color .12s, background .12s;
}
.ec-cart-coupon-panel summary::-webkit-details-marker { display: none; }
.ec-cart-coupon-panel summary:hover,
.ec-cart-coupon-panel[open] summary {
	border-color: var(--shop-navy, #1E3A5F);
	color: var(--shop-navy, #1E3A5F);
	background: #F8FAFC;
}
.ec-cart-coupon {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}
.ec-cart-coupon-panel:not([open]) .ec-cart-coupon {
	display: none;
}
.ec-cart-coupon-panel[open] .ec-cart-coupon {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 5;
	padding: 10px;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	background: #FFFFFF;
	box-shadow: 0 16px 32px rgba(15,23,42,0.12);
}
.ec-cart-coupon input {
	width: 156px;
	padding: 8px 12px;
	border: 1.5px solid #E2E8F0;
	border-radius: 8px;
	font-size: 13px;
}
.ec-cart-coupon input:focus {
	outline: 0;
	border-color: var(--shop-navy, #1E3A5F);
	box-shadow: 0 0 0 3px rgba(30,58,95,0.12);
}
.ec-cart-btn-ghost {
	background: #FFFFFF;
	color: var(--shop-navy, #1E3A5F);
	border: 1.5px solid var(--shop-navy, #1E3A5F);
	padding: 8px 16px;
	border-radius: 8px;
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	transition: all .12s;
}
.ec-cart-update-btn {
	background: #F8FAFC;
	color: #334155;
	border-color: #E2E8F0;
}
.ec-cart-btn-ghost:hover {
	background: var(--shop-navy, #1E3A5F);
	color: #FFFFFF;
}

/* Sidebar */
.ec-cart-sidebar { position: sticky; top: 90px; }
.ec-cart-summary {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	padding: 22px;
	box-shadow: 0 2px 8px rgba(15,23,42,0.04);
}
.ec-cart-summary-h2 {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 18px;
	margin: 0 0 16px;
	color: #0F172A;
}

/* Override WC default cart-totals styling INSIDE summary */
.ec-cart-summary .cart_totals {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}
.ec-cart-summary .cart_totals h2 { display: none !important; }
.ec-cart-summary .cart-collaterals,
.ec-cart-summary .cart_totals {
	width: 100% !important;
}
.ec-cart-summary table.shop_table {
	width: 100% !important;
	background: transparent !important;
	border: 0 !important;
	margin: 0;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}
.ec-cart-summary table.shop_table tbody,
.ec-cart-summary table.shop_table tr {
	display: block;
	width: 100%;
}
.ec-cart-summary table.shop_table tr {
	padding: 0;
	border-bottom: 1px solid #F1F5F9;
}
.ec-cart-summary table.shop_table th,
.ec-cart-summary table.shop_table td {
	display: block;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 13.5px !important;
	background: transparent !important;
}
.ec-cart-summary table.shop_table th {
	padding-top: 12px !important;
	font-weight: 500 !important;
	color: #64748B !important;
	text-align: left;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.ec-cart-summary table.shop_table td {
	padding: 4px 0 12px !important;
	text-align: right;
	font-weight: 700;
	color: #0F172A !important;
}
.ec-cart-summary .cart-subtotal,
.ec-cart-summary .woocommerce-shipping-totals,
.ec-cart-summary .order-total {
	display: grid !important;
	grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1.3fr);
	align-items: start;
	column-gap: 16px;
}
.ec-cart-summary .cart-subtotal th,
.ec-cart-summary .woocommerce-shipping-totals th,
.ec-cart-summary .order-total th,
.ec-cart-summary .cart-subtotal td,
.ec-cart-summary .woocommerce-shipping-totals td,
.ec-cart-summary .order-total td {
	width: auto !important;
}
.ec-cart-summary .order-total th,
.ec-cart-summary .order-total td {
	padding-top: 14px !important;
	border-top: 2px solid var(--shop-navy, #1E3A5F) !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	color: #0F172A !important;
}
.ec-cart-summary .woocommerce-shipping-totals td {
	font-size: 13px !important;
	line-height: 1.45;
}
.ec-cart-summary .shipping-calculator-button {
	display: inline-flex;
	margin-top: 8px;
	color: var(--shop-navy, #1E3A5F) !important;
	font-weight: 700;
	text-decoration: none !important;
}
.ec-cart-summary .shipping-calculator-button:hover {
	text-decoration: underline !important;
}
.ec-cart-summary .order-total .amount {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--shop-navy, #1E3A5F) !important;
}

/* Checkout-knapp */
.ec-cart-summary .wc-proceed-to-checkout {
	padding: 16px 0 0 !important;
	margin: 0 !important;
}
.ec-cart-summary .checkout-button,
.ec-cart-summary .wc-proceed-to-checkout .button {
	display: block !important;
	width: 100% !important;
	padding: 16px 22px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	text-align: center !important;
	background: linear-gradient(180deg, var(--shop-navy, #1E3A5F) 0%, #14253D 100%) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 10px !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(30,58,95,0.25);
	transition: transform .12s, box-shadow .15s;
	margin: 0 !important;
	letter-spacing: 0.01em;
}
.ec-cart-summary .checkout-button:hover,
.ec-cart-summary .wc-proceed-to-checkout .button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(30,58,95,0.35);
}

/* Trust-badges */
.ec-cart-trust {
	margin-top: 18px;
	padding: 18px;
	background: #FFFFFF;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 12.5px;
	color: #475569;
	border: 1px solid #E2E8F0;
}
.ec-cart-trust div { line-height: 1.4; }

/* Responsiv: sidebar under på smale skjermer */
@media (max-width: 980px) {
	.ec-cart-layout {
		grid-template-columns: 1fr !important;
	}
	.ec-cart-sidebar {
		position: static;
		max-width: 480px;
		margin: 0 auto;
		width: 100%;
	}
}

/* Mobil: cart-item kolonner stacker */
@media (max-width: 600px) {
	.ec-cart-shell { padding: 0 14px; }
	.ec-cart-item {
		flex-wrap: wrap;
		gap: 12px;
		padding: 14px;
	}
	.ec-cart-item-img {
		flex: 0 0 60px;
		width: 60px; height: 60px;
	}
	.ec-cart-item-body {
		flex: 1 1 calc(100% - 80px);
		min-height: 0;
	}
	.ec-cart-item-price {
		flex: 0 0 100%;
		text-align: left;
		padding-left: 72px;
		display: flex;
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
	}
	.ec-cart-item-unit { font-size: 11px; }
	.ec-cart-actions { flex-direction: column; align-items: stretch; }
	.ec-cart-action-group { flex-direction: column; align-items: stretch; }
	.ec-cart-coupon { display: flex; }
	.ec-cart-coupon input { flex: 1; width: auto; }
	.ec-cart-btn-ghost { width: 100%; }
}

/* ====================================================================
   LEGACY old grid-classes (BEVART for kompatibilitet)
   ==================================================================== */

.ec-shop-cart-hero {
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
	border-bottom: 1px solid var(--shop-line, #E2E8F0);
	padding: 28px 0 24px;
}
.ec-shop-cart-hero .ec-shop-breadcrumbs {
	font-size: 12px;
	color: var(--ec-mute, #94A3B8);
	margin-bottom: 12px;
}
.ec-shop-cart-hero .ec-shop-breadcrumbs a {
	color: var(--ec-mute, #94A3B8);
	text-decoration: none;
}
.ec-shop-cart-title {
	font-family: var(--font-ui, -apple-system, BlinkMacSystemFont);
	font-weight: 800;
	font-size: clamp(28px, 3.4vw, 38px);
	letter-spacing: -0.02em;
	color: var(--ec-ink, #0F172A);
	margin: 0 0 8px;
}
.ec-shop-cart-sub {
	color: var(--ec-mute-2, #64748B);
	font-size: 14px;
	margin: 0;
}

/* Cart-rows (grid istedenfor table) */
.ec-shop-cart-list {
	background: #FFFFFF;
	border: 1px solid var(--shop-line, #E2E8F0);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(15,23,42,0.04);
	margin-bottom: 16px;
}
.ec-shop-cart-row {
	display: grid;
	grid-template-columns: 80px minmax(0,1fr) 110px 90px 90px 36px;
	gap: 12px;
	align-items: center;
	padding: 16px 18px;
	border-bottom: 1px solid #F1F5F9;
	transition: background .12s;
}
.ec-shop-cart-row:last-child { border-bottom: 0; }
.ec-shop-cart-row:hover { background: #FAFBFC; }

/* Product image */
.ec-cart-img {
	aspect-ratio: 1/1;
	width: 80px;
	background: #F8FAFC;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ec-cart-img img {
	max-width: 100%; max-height: 100%; object-fit: contain;
	mix-blend-mode: multiply;
}

/* Product info */
.ec-cart-prod { min-width: 0; }
.ec-cart-prod-brand {
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ec-mute, #94A3B8);
	font-weight: 700;
	margin-bottom: 4px;
}
.ec-cart-prod-name {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 15px;
	color: var(--ec-ink, #0F172A);
	margin-bottom: 6px;
	line-height: 1.35;
}
.ec-cart-prod-name a {
	color: inherit;
	text-decoration: none;
}
.ec-cart-prod-name a:hover { color: var(--shop-navy, #1E3A5F); }
.ec-cart-prod-meta {
	font-family: var(--font-mono, monospace);
	font-size: 11.5px;
	color: var(--ec-mute, #94A3B8);
	margin-bottom: 4px;
}
.ec-cart-prod-stock {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	font-size: 11.5px;
	font-weight: 700;
}
.ec-cart-prod-stock.is-instock { color: #16A34A; }
.ec-cart-prod-stock.is-backorder { color: #92400E; background: #FEF3C7; padding: 3px 9px; border-radius: 999px; }

/* Quantity input — round pill med +/− */
.ec-cart-qty .quantity {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--shop-line, #E2E8F0);
	border-radius: 10px;
	background: #FFFFFF;
	overflow: hidden;
}
.ec-cart-qty .quantity input.qty {
	border: 0 !important;
	width: 48px !important;
	text-align: center;
	font-family: var(--font-mono);
	font-size: 14px;
	font-weight: 700;
	padding: 9px 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ec-ink, #0F172A);
}
.ec-cart-qty .quantity input.qty:focus { outline: none; }

/* Pris-celler */
.ec-cart-price {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 16px;
	text-align: right;
	color: var(--ec-ink, #0F172A);
}
.ec-cart-price small {
	display: block;
	font-size: 11px;
	font-weight: 400;
	color: var(--ec-mute, #94A3B8);
	margin-top: 2px;
}
.ec-cart-subtotal {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 17px;
	text-align: right;
	color: var(--shop-navy, #1E3A5F);
}

/* Remove-knapp */
.ec-cart-remove { text-align: center; }
.ec-cart-remove-btn {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 32px; height: 32px;
	background: #F1F5F9;
	color: var(--ec-mute-2, #64748B) !important;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	text-decoration: none !important;
	transition: background .12s, color .12s;
}
.ec-cart-remove-btn:hover {
	background: #FEE2E2;
	color: #DC2626 !important;
}

/* Action-row under listen: continue shopping + update/coupon */
.ec-shop-cart-actions-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	background: #FFFFFF;
	border: 1px solid var(--shop-line, #E2E8F0);
	border-radius: 12px;
	padding: 16px 20px;
	margin-bottom: 16px;
}
.ec-shop-cart-continue {
	color: var(--ec-ink, #0F172A);
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 8px;
	transition: background .12s;
}
.ec-shop-cart-continue:hover { background: #F1F5F9; }
.ec-shop-cart-action-buttons {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.ec-shop-cart-coupon {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}
.ec-shop-cart-coupon input {
	width: 160px;
	padding: 9px 12px;
	border: 1.5px solid var(--shop-line, #E2E8F0);
	border-radius: 8px;
	font-size: 13px;
}
.ec-shop-cart-coupon input:focus {
	outline: 0;
	border-color: var(--shop-navy, #1E3A5F);
	box-shadow: 0 0 0 3px rgba(30,58,95,0.12);
}
.ec-shop-btn-outline {
	background: #FFFFFF;
	color: var(--shop-navy, #1E3A5F);
	border: 1.5px solid var(--shop-navy, #1E3A5F);
	padding: 9px 16px;
	border-radius: 8px;
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	transition: background .12s, color .12s, transform .12s, box-shadow .15s;
	text-decoration: none;
}
.ec-shop-btn-outline:hover {
	background: var(--shop-navy, #1E3A5F);
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(30,58,95,0.2);
}

/* Summary aside */
.ec-shop-cart-summary {
	background: #FFFFFF;
	border: 1px solid var(--shop-line, #E2E8F0);
	border-radius: 14px;
	padding: 24px;
	position: sticky;
	top: 90px;
	box-shadow: 0 2px 8px rgba(15,23,42,0.04);
}
.ec-shop-cart-summary h2 {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 18px;
	margin: 0 0 18px;
	color: var(--ec-ink, #0F172A);
}
.ec-shop-cart-summary .cart_totals {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
.ec-shop-cart-summary .cart_totals h2 { display: none; }
.ec-shop-cart-summary table.shop_table {
	width: 100% !important;
	border: 0 !important;
	background: transparent !important;
	margin: 0;
}
.ec-shop-cart-summary table.shop_table th,
.ec-shop-cart-summary table.shop_table td {
	padding: 9px 0 !important;
	border-bottom: 1px solid #F1F5F9 !important;
	font-size: 13.5px !important;
	color: var(--ec-ink-3, #475569) !important;
	background: transparent !important;
}
.ec-shop-cart-summary table.shop_table th { font-weight: 500 !important; text-align: left; }
.ec-shop-cart-summary table.shop_table td { text-align: right; font-weight: 600; font-family: var(--font-ui); }
.ec-shop-cart-summary .order-total th,
.ec-shop-cart-summary .order-total td {
	padding-top: 14px !important;
	border-top: 2px solid var(--shop-navy, #1E3A5F) !important;
	border-bottom: none !important;
	font-weight: 800 !important;
	font-size: 16px !important;
}
.ec-shop-cart-summary .order-total .amount {
	font-size: 24px;
	font-weight: 800;
	color: var(--shop-navy, #1E3A5F);
}

/* Trust-badges nederst i summary */
.ec-shop-cart-trust {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #F1F5F9;
	display: flex; flex-direction: column; gap: 8px;
	font-size: 12px;
	color: var(--ec-mute-2, #64748B);
}
.ec-shop-cart-trust div { display: flex; gap: 6px; align-items: center; line-height: 1.4; }

/* Tablet / smaller laptops — stack summary under */
@media (max-width: 1100px) {
	.ec-shop-cart-wrap {
		grid-template-columns: 1fr !important;
	}
	.ec-shop-cart-summary {
		position: static;
		max-width: 480px;
		margin: 0 auto;
		width: 100%;
	}
}

/* Mobil — cart-row blir kompakt med grid-areas */
@media (max-width: 760px) {
	.ec-shop-cart-row {
		grid-template-columns: 64px 1fr 32px !important;
		grid-template-areas:
			"img prod remove"
			"qty price sub";
		gap: 10px;
		padding: 14px;
	}
	.ec-cart-img { width: 64px; grid-area: img; }
	.ec-cart-prod { grid-area: prod; min-width: 0; }
	.ec-cart-prod-name { font-size: 13.5px; }
	.ec-cart-remove { grid-area: remove; }
	.ec-cart-qty { grid-area: qty; }
	.ec-cart-price { grid-area: price; text-align: center; font-size: 13px; }
	.ec-cart-price small { display: none; }
	.ec-cart-subtotal { grid-area: sub; text-align: right; font-size: 15px; }
	.ec-shop-cart-actions-row {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.ec-shop-cart-action-buttons { width: 100%; flex-direction: column; }
	.ec-shop-cart-action-buttons > * { width: 100%; }
	.ec-shop-cart-coupon { display: flex !important; width: 100%; }
	.ec-shop-cart-coupon input { flex: 1; }
}

/* Legacy/old class compatibility for any code paths still using .ec-shop-cart-table */
/* ----- Cart shell ----- */
.ec-shop-cart-wrap {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 28px;
	align-items: start;
	padding: 32px 0 64px;
}
.ec-shop-cart-form { min-width: 0; }
.ec-shop-cart-table {
	background: #FFFFFF;
	border: 1px solid var(--shop-line) !important;
	border-radius: var(--r-lg);
	overflow: hidden;
}
.ec-shop-cart-table thead th {
	background: var(--shop-surface);
	font-weight: 600;
	font-size: 11px;
	color: var(--ec-mute);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	padding: 14px 16px;
}
.ec-shop-cart-table tbody td {
	padding: 16px;
	border-top: 1px solid var(--shop-line-2);
	vertical-align: middle;
	font-size: 14px;
	color: var(--ec-ink-3);
}
.ec-shop-cart-table .product-thumbnail img {
	width: 64px; height: 64px;
	object-fit: contain;
	background: var(--shop-surface);
	border-radius: var(--r-sm);
}
.ec-shop-cart-table .product-name a {
	color: var(--ec-ink); font-weight: 600; text-decoration: none;
}
.ec-shop-cart-table .product-name a:hover { color: var(--shop-navy); }
.ec-shop-cart-sku {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--ec-mute);
	margin-top: 4px;
}
.ec-shop-cart-table .quantity input.qty {
	width: 64px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	padding: 8px;
	text-align: center;
	font-family: var(--font-mono);
}
.ec-shop-cart-table td.actions {
	background: #F8FAFC;
	padding: 18px 16px !important;
}
/* Wrap actions-td content via :is for layout — td kan ikke være flex-container */
.ec-shop-cart-table td.actions > * {
	vertical-align: middle;
}
.ec-shop-cart-table .coupon {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-right: 12px;
	margin-bottom: 8px;
}
.ec-shop-cart-table .coupon input {
	width: 200px !important;
	padding: 10px 12px !important;
	border: 1.5px solid #CBD5E1 !important;
	border-radius: 8px !important;
	font-size: 14px !important;
}
/* Synlige, klikkbare knapper — ikke transparent! */
.ec-shop-cart-table .actions .button,
.ec-shop-cart-table .actions button[type="submit"],
.ec-shop-cart-table .coupon .button,
.ec-shop-cart-table .actions .ec-btn-outline {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	background: #FFFFFF !important;
	color: var(--shop-navy, #1E3A5F) !important;
	border: 1.5px solid var(--shop-navy, #1E3A5F) !important;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	font-family: var(--font-ui);
	font-weight: 700 !important;
	font-size: 14px !important;
	cursor: pointer;
	transition: background .15s, color .15s, transform .12s, box-shadow .15s;
	text-decoration: none;
	margin-right: 8px;
	margin-bottom: 8px;
}
.ec-shop-cart-table .actions .button:hover,
.ec-shop-cart-table .actions button[type="submit"]:hover,
.ec-shop-cart-table .coupon .button:hover {
	background: var(--shop-navy, #1E3A5F) !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(30,58,95,0.2);
}
.ec-shop-cart-table .actions [name="apply_coupon"] { /* "Bruk kode" — sekundær */ }
.ec-shop-cart-table .actions [name="update_cart"] {
	/* "Oppdater kurv" — sekundær */
}

.ec-shop-cart-collaterals {
	position: sticky; top: 80px;
}
.ec-shop-cart-collaterals .cart_totals {
	background: #FFFFFF;
	border: 1px solid var(--shop-line, #E2E8F0);
	border-radius: var(--r-lg, 12px);
	padding: 24px;
	box-shadow: 0 2px 8px rgba(15,23,42,0.04);
}
.ec-shop-cart-collaterals h2 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 18px;
	margin: 0 0 16px;
	color: var(--ec-ink);
}
.ec-shop-cart-collaterals table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
	border: none;
}
.ec-shop-cart-collaterals table.shop_table th,
.ec-shop-cart-collaterals table.shop_table td {
	padding: 10px 0;
	border-bottom: 1px solid #F1F5F9;
	font-size: 13.5px;
	color: var(--ec-ink, #0F172A);
}
.ec-shop-cart-collaterals .order-total th,
.ec-shop-cart-collaterals .order-total td {
	padding-top: 14px;
	border-top: 2px solid var(--shop-navy, #1E3A5F);
	border-bottom: none;
	font-weight: 700;
	font-size: 16px;
}
.ec-shop-cart-collaterals .order-total .amount {
	font-size: 24px;
	font-weight: 800;
	color: var(--shop-navy, #1E3A5F);
}
/* "Gå til kassen"-knapp — STOR og synlig */
.ec-shop-cart-collaterals .checkout-button,
.ec-shop-cart-collaterals .wc-proceed-to-checkout .button {
	display: block !important;
	width: 100% !important;
	padding: 16px 22px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	margin-top: 18px !important;
	background: linear-gradient(180deg, var(--shop-navy, #1E3A5F) 0%, #14253D 100%) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 10px !important;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	letter-spacing: 0.01em;
	box-shadow: 0 4px 14px rgba(30,58,95,0.25);
	transition: transform .12s, box-shadow .15s;
}
.ec-shop-cart-collaterals .checkout-button:hover,
.ec-shop-cart-collaterals .wc-proceed-to-checkout .button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(30,58,95,0.35);
}
.ec-shop-cart-collaterals .checkout-button::after,
.ec-shop-cart-collaterals .wc-proceed-to-checkout .button::after {
	content: ' →';
	font-weight: 800;
	margin-left: 4px;
}

/* Cart-item: kvantitet-input + remove-knapp tydeligere */
.ec-shop-cart-table .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: #F1F5F9;
	color: #64748B !important;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	text-decoration: none !important;
	transition: background .15s, color .15s;
}
.ec-shop-cart-table .product-remove .remove:hover {
	background: #FEE2E2;
	color: #DC2626 !important;
}
.ec-shop-cart-table .quantity input.qty {
	width: 70px;
	border: 1.5px solid var(--shop-line, #CBD5E1);
	border-radius: 8px;
	padding: 8px 10px;
	text-align: center;
	font-family: var(--font-mono);
	font-size: 14px;
	font-weight: 600;
}
.ec-shop-cart-table .quantity input.qty:focus {
	outline: 0;
	border-color: var(--shop-navy, #1E3A5F);
	box-shadow: 0 0 0 3px rgba(30,58,95,0.12);
}

/* Backorder-melding på cart-item */
.ec-shop-cart-table .backorder_notification {
	color: #92400E;
	background: #FEF3C7;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 11.5px;
	font-weight: 600;
	display: inline-block;
	margin-top: 6px;
}

/* Tom-kurv state */
.cart-empty {
	text-align: center;
	padding: 40px 20px;
	color: var(--ec-mute-2, #64748B);
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	margin: 20px 0;
}
.return-to-shop {
	margin-top: 20px;
	text-align: center;
}
.return-to-shop .button {
	display: inline-block;
	padding: 12px 24px;
	background: var(--shop-navy, #1E3A5F);
	color: #FFFFFF !important;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
}

/* Mobil */
@media (max-width: 768px) {
	.ec-shop-cart-wrap {
		grid-template-columns: 1fr;
	}
	.ec-shop-cart-collaterals {
		position: static;
	}
	.ec-shop-cart-table .coupon input { width: 100% !important; }
	.ec-shop-cart-table .coupon { display: block; }
	.ec-shop-cart-table td.actions .button { margin-right: 4px; }
}

/* ----- My account dashboard tiles ----- */
.ec-shop-account-dashboard { display: flex; flex-direction: column; gap: 28px; }
.ec-shop-account-greeting { padding-bottom: 16px; border-bottom: 1px solid var(--shop-line); }
.ec-shop-account-greeting h2 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 28px;
	margin: 4px 0 6px;
	color: var(--ec-ink);
}
.ec-shop-account-greeting-sub {
	color: var(--ec-mute);
	font-size: 14px;
	margin: 0;
}
.ec-shop-account-greeting-sub a { color: var(--shop-navy); text-decoration: none; }
.ec-shop-account-greeting-sub a:hover { text-decoration: underline; }
.ec-shop-account-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}
.ec-shop-account-tile {
	display: flex;
	gap: 14px;
	padding: 18px;
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	text-decoration: none;
	color: var(--ec-ink);
	transition: border-color .15s, transform .15s, box-shadow .15s;
}
.ec-shop-account-tile:hover {
	border-color: var(--ec-ink);
	transform: translateY(-1px);
	box-shadow: var(--shadow-sm);
}
.ec-shop-account-tile-ico { font-size: 24px; line-height: 1; flex-shrink: 0; }
.ec-shop-account-tile h3 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 14px;
	margin: 0 0 4px;
	color: var(--ec-ink);
}
.ec-shop-account-tile p {
	font-size: 12.5px;
	color: var(--ec-mute);
	margin: 0;
	line-height: 1.45;
}
.ec-shop-account-tile--logout { border-style: dashed; }
.ec-shop-account-tile--logout:hover { border-color: var(--ec-red); }

.ec-shop-account-nav ul { list-style: none; padding: 0; margin: 0; }

/* ----- Cart 2-column layout (legacy support if old structure still in use) ----- */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 28px;
	align-items: start;
}
.woocommerce-cart .woocommerce-cart-form { min-width: 0; }
.woocommerce-cart .cart-collaterals {
	width: 100%;
	margin: 0;
}
.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	float: none;
	margin: 0;
}
.woocommerce-cart .woocommerce-cart-form .actions {
	padding: 14px 16px;
	border-top: 1px solid var(--shop-line);
	background: var(--shop-surface);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.woocommerce-cart .woocommerce-cart-form .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
}
.woocommerce-cart .woocommerce-cart-form .coupon input { width: auto; min-width: 180px; }
.woocommerce-cart .product-thumbnail img {
	max-width: 64px;
	height: auto;
	border-radius: var(--r-sm);
	background: var(--shop-surface);
}
.woocommerce-cart .product-name a { color: var(--ec-ink); font-weight: 600; text-decoration: none; }
.woocommerce-cart .product-name a:hover { color: var(--shop-navy); }
.woocommerce-cart .quantity input.qty {
	width: 64px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	padding: 8px;
	text-align: center;
	font-family: var(--font-mono);
}

/* ----- My account: dashboard cards ----- */
.woocommerce-account .woocommerce-MyAccount-content {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 28px 32px;
}
.woocommerce-MyAccount-content > p:first-of-type {
	font-size: 16px;
	color: var(--ec-ink);
	border-bottom: 1px solid var(--shop-line);
	padding-bottom: 16px;
	margin-bottom: 20px;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th,
.woocommerce-MyAccount-content table thead th {
	background: var(--shop-surface);
	font-weight: 600;
	font-size: 11px;
	color: var(--ec-mute);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}
.woocommerce-MyAccount-content .button {
	font-size: 13px;
}

/* ====================================================================
   My Account polish 2026-05-20 — premium B2B-feel
   ==================================================================== */

.woocommerce-account .woocommerce {
	max-width: var(--container, 1240px);
	margin: 32px auto;
	padding: 0 var(--s-6, 20px);
}

/* Navigation: mer profesjonell med ikoner via emoji */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #FFFFFF !important;
	border-radius: 12px !important;
	box-shadow: 0 2px 8px rgba(15,23,42,0.05);
	padding: 8px 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid #F1F5F9 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	padding: 14px 20px !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	display: flex !important;
	align-items: center;
	gap: 10px;
	color: var(--ec-ink, #0F172A) !important;
	border-left: 3px solid transparent;
	transition: background .12s, border-color .12s, color .12s;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: #F8FAFC;
	color: var(--shop-navy, #1E3A5F) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: linear-gradient(90deg, #DBEAFE 0%, #FFFFFF 100%);
	color: var(--shop-navy, #1E3A5F) !important;
	font-weight: 700 !important;
	border-left-color: var(--shop-navy, #1E3A5F);
}

/* Innhold-card */
.woocommerce-account .woocommerce-MyAccount-content {
	background: #FFFFFF;
	border-radius: 12px;
	padding: 28px !important;
	box-shadow: 0 2px 8px rgba(15,23,42,0.05);
	min-height: 400px;
}

/* Ordre-tabell — premium look */
.woocommerce-MyAccount-content .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #E2E8F0;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th {
	background: #F8FAFC !important;
	padding: 12px 14px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	color: #64748B !important;
	text-align: left;
	border-bottom: 1px solid #E2E8F0;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody td {
	padding: 14px !important;
	font-size: 13.5px !important;
	color: var(--ec-ink, #0F172A) !important;
	border-bottom: 1px solid #F1F5F9 !important;
	vertical-align: middle !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:hover {
	background: #F8FAFC;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child td {
	border-bottom: none !important;
}

/* Order-status-pill */
.woocommerce-orders-table__cell-order-status .order-status,
.woocommerce-MyAccount-content .order-status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.order-status.status-completed { background: #DCFCE7; color: #166534; }
.order-status.status-processing { background: #DBEAFE; color: #1E40AF; }
.order-status.status-on-hold { background: #FEF3C7; color: #92400E; }
.order-status.status-cancelled, .order-status.status-failed { background: #FEE2E2; color: #991B1B; }
.order-status.status-pending { background: #F1F5F9; color: #475569; }

/* "Vis"-knapp på ordre-rad */
.woocommerce-MyAccount-content .woocommerce-orders-table .button,
.woocommerce-MyAccount-content .woocommerce-orders-table a.button {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 7px 14px !important;
	background: #FFFFFF !important;
	color: var(--shop-navy, #1E3A5F) !important;
	border: 1.5px solid var(--shop-navy, #1E3A5F) !important;
	border-radius: 6px !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: background .12s, color .12s;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .button:hover {
	background: var(--shop-navy, #1E3A5F) !important;
	color: #FFFFFF !important;
}

/* Tom ordre-liste */
.woocommerce-MyAccount-orders .woocommerce-info,
.woocommerce-Message {
	padding: 24px !important;
	background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%) !important;
	border-radius: 12px !important;
	color: var(--ec-mute-2, #64748B) !important;
	border: 1px dashed #CBD5E1 !important;
	font-size: 14px;
	text-align: center;
}
.woocommerce-MyAccount-orders .woocommerce-info .button {
	margin-top: 12px;
	background: var(--shop-navy, #1E3A5F) !important;
	color: #FFFFFF !important;
	padding: 10px 20px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	display: inline-block;
}

/* Edit-account / edit-address form */
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
	margin-bottom: 16px !important;
}
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
	display: block;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	color: #64748B !important;
	text-transform: uppercase;
	margin-bottom: 6px !important;
}
.woocommerce-EditAccountForm input,
.woocommerce-EditAccountForm textarea,
.woocommerce-EditAccountForm select,
.woocommerce-address-fields input,
.woocommerce-address-fields textarea,
.woocommerce-address-fields select {
	width: 100%;
	padding: 11px 14px !important;
	border: 1.5px solid var(--shop-line, #E2E8F0) !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	background: #FFFFFF !important;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce-EditAccountForm input:focus,
.woocommerce-EditAccountForm select:focus,
.woocommerce-EditAccountForm textarea:focus,
.woocommerce-address-fields input:focus,
.woocommerce-address-fields select:focus,
.woocommerce-address-fields textarea:focus {
	outline: 0;
	border-color: var(--shop-navy, #1E3A5F) !important;
	box-shadow: 0 0 0 3px rgba(30,58,95,0.12) !important;
}
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields .button,
.edit-account .button[type="submit"] {
	background: linear-gradient(180deg, var(--shop-navy, #1E3A5F), #14253D) !important;
	color: #FFFFFF !important;
	padding: 12px 28px !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	border: none !important;
	cursor: pointer;
	transition: transform .12s, box-shadow .15s;
	margin-top: 14px;
}
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-address-fields .button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(30,58,95,0.25);
}

/* Login-form (utlogget bruker) */
.woocommerce-form-login {
	max-width: 480px;
	margin: 20px auto;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 32px !important;
	box-shadow: 0 4px 20px rgba(15,23,42,0.08);
}
.woocommerce-form-login h2 {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--ec-ink, #0F172A) !important;
	margin: 0 0 18px !important;
	text-align: center;
}
.woocommerce-form-login__submit {
	width: 100%;
	background: linear-gradient(180deg, var(--shop-navy, #1E3A5F), #14253D) !important;
	color: #FFFFFF !important;
	padding: 14px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
}

/* View single order: order-actions-knapper */
.woocommerce-MyAccount-content .woocommerce-order-details .button,
.woocommerce-MyAccount-content .order-again .button {
	background: var(--shop-navy, #1E3A5F) !important;
	color: #FFFFFF !important;
	padding: 10px 20px !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	display: inline-block;
}

/* Adresse-kort */
.woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
	margin-top: 18px;
}
.woocommerce-Address {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 22px !important;
}
.woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	border-bottom: 1px solid #E2E8F0;
	padding-bottom: 10px;
}
.woocommerce-Address-title h2 {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--ec-ink, #0F172A) !important;
}
.woocommerce-Address-title .edit {
	font-size: 12px;
	color: var(--shop-navy, #1E3A5F);
	text-decoration: none;
	font-weight: 600;
}

/* Mobile */
@media (max-width: 800px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: none !important; width: 100% !important;
		margin-bottom: 16px;
	}
	.woocommerce-account .woocommerce-MyAccount-content {
		margin-left: 0 !important;
		padding: 18px !important;
	}
	.woocommerce-MyAccount-content .woocommerce-orders-table thead { display: none; }
	.woocommerce-MyAccount-content .woocommerce-orders-table tbody td {
		display: block;
		padding: 8px 12px !important;
		border: none !important;
	}
	.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
		display: block;
		background: #FFFFFF;
		border-radius: 10px;
		margin-bottom: 12px;
		padding: 12px 0;
		border: 1px solid #E2E8F0;
	}
}

/* ----- Checkout layout ----- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
	margin-bottom: 16px;
}
.woocommerce-checkout #order_review_heading {
	margin-top: 24px;
	border-bottom: 0;
	border-radius: var(--r-lg) var(--r-lg) 0 0;
	padding-bottom: 0;
}
.woocommerce-checkout #order_review {
	border-top: 0;
	border-radius: 0 0 var(--r-lg) var(--r-lg);
}
.woocommerce-checkout h3 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 18px;
	margin: 0 0 14px;
	color: var(--ec-ink);
}

/* ====================================================================
   Checkout — full template override (woocommerce/checkout/form-checkout.php)
   ==================================================================== */
.ec-shop-checkout-shell {
	background: var(--shop-surface);
	min-height: 60vh;
	padding: 22px 0 56px;
}
.ec-shop-checkout-head {
	max-width: var(--container);
	margin: 0 auto 18px;
	padding: 0 var(--s-6);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: end;
}
.ec-shop-checkout-head::after {
	content: 'Kurv  /  Adresse og frakt  /  Betaling';
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 28px;
	padding: 6px 10px;
	border: 1px solid var(--shop-line, #E2E8F0);
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--ec-mute, #64748B);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}
.ec-shop-checkout-title {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 28px;
	letter-spacing: 0;
	color: var(--ec-ink);
	margin: 0 0 6px;
}
.ec-shop-checkout-sub {
	margin: 0;
	color: var(--ec-mute-2);
	font-size: 13px;
}
.ec-shop-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.32fr) minmax(360px, 0.88fr);
	gap: 22px;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--s-6);
	align-items: start;
}
.ec-shop-checkout-main { min-width: 0; }
.ec-shop-checkout-card {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: 10px;
	padding: 20px;
	display: grid;
	gap: 18px;
}
.ec-shop-checkout-card h3 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 16px;
	margin: 0 0 12px;
	color: var(--ec-ink);
}
.ec-shop-checkout-card .form-row {
	margin: 0 0 12px;
}
.ec-shop-checkout-card .ec-checkout-hidden-field {
	display: none !important;
}
.ec-shop-checkout-card label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	color: var(--ec-mute);
	margin: 0 0 6px;
	letter-spacing: 0;
	text-transform: uppercase;
}
.ec-shop-checkout-card input[type="text"],
.ec-shop-checkout-card input[type="email"],
.ec-shop-checkout-card input[type="tel"],
.ec-shop-checkout-card input[type="password"],
.ec-shop-checkout-card textarea,
.ec-shop-checkout-card select,
.ec-shop-checkout-card .select2-selection {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	font-size: 14px;
	font-family: inherit;
	color: var(--ec-ink);
	background: #FFFFFF;
}
.ec-shop-checkout-card input:focus,
.ec-shop-checkout-card select:focus,
.ec-shop-checkout-card textarea:focus {
	outline: 2px solid var(--shop-navy);
	outline-offset: -1px;
	border-color: var(--shop-navy);
}
.ec-shop-checkout-side {
	position: sticky;
	top: 100px;
}
.ec-shop-checkout-summary {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: 10px;
	padding: 20px;
}
.ec-shop-checkout-summary-title {
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 16px;
	color: var(--ec-ink);
	margin: 0 0 14px;
	letter-spacing: 0;
}
.ec-shop-checkout-summary table.shop_table {
	border: 0 !important;
	background: transparent;
	table-layout: fixed;
}
.ec-shop-checkout-summary #order_review {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}
.ec-shop-checkout-summary table.shop_table th,
.ec-shop-checkout-summary table.shop_table td {
	padding: 8px 0 !important;
	border-width: 0 0 1px !important;
	border-style: solid !important;
	border-color: var(--shop-line-2) !important;
	font-size: 13px;
}
.ec-shop-checkout-summary table.shop_table th:first-child,
.ec-shop-checkout-summary table.shop_table td:first-child { width: 66%; padding-right: 12px !important; }
.ec-shop-checkout-summary table.shop_table th:last-child,
.ec-shop-checkout-summary table.shop_table td:last-child { width: 34%; text-align: right; }
.ec-shop-checkout-summary table.shop_table .product-name {
	color: var(--ec-ink);
	font-weight: 500;
	word-break: normal;
	overflow-wrap: anywhere;
	font-size: 12.5px !important;
	line-height: 1.35;
}
.ec-shop-checkout-summary table.shop_table tfoot th,
.ec-shop-checkout-summary table.shop_table tfoot td {
	font-weight: 700;
	color: var(--ec-ink);
}
.ec-shop-checkout-summary .order-total .amount {
	font-size: 20px;
	color: var(--shop-navy);
}
.ec-shop-checkout-summary #payment {
	margin-top: 16px;
	background: var(--shop-surface);
	border-radius: 10px;
	padding: 12px;
	width: 100% !important;
	box-sizing: border-box;
}
.ec-shop-checkout-summary #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	border: none;
}
.ec-shop-checkout-summary #payment ul.payment_methods li {
	padding: 8px 0;
	border-bottom: 1px solid var(--shop-line-2);
}
.ec-shop-checkout-summary #payment ul.payment_methods li:last-child { border-bottom: none; }
.ec-shop-checkout-summary #payment .payment_box {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	padding: 12px;
	margin-top: 8px;
	font-size: 13px;
	color: var(--ec-mute-2);
}
.ec-shop-checkout-summary #payment #place_order,
.ec-shop-checkout-summary #payment .button {
	width: 100%;
	background: var(--shop-navy);
	color: #FFFFFF;
	border: none;
	padding: 14px 18px;
	border-radius: var(--r-md);
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	transition: background .15s;
	margin-top: 8px;
}
.ec-shop-checkout-summary #payment #place_order:hover { background: #1a2a4a; }
.ec-shop-checkout-locked {
	max-width: 600px;
	margin: 60px auto;
	padding: 32px;
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	text-align: center;
	color: var(--ec-ink-3);
}
.ec-shop-checkout-locked .ec-shop-btn {
	display: inline-block;
	margin-top: 16px;
	padding: 10px 18px;
	background: var(--shop-navy);
	color: #FFFFFF;
	border-radius: var(--r-md);
	text-decoration: none;
	font-weight: 600;
}

/* ====================================================================
   Checkout polish 2026-05-20 — Amazon/Komplett-level UX
   ==================================================================== */

/* 2-kolonne på fornavn/etternavn, postnr/by */
.ec-shop-checkout-card .form-row-first,
.ec-shop-checkout-card .form-row-last { width: calc(50% - 8px); display: inline-block; }
.ec-shop-checkout-card .form-row-first { margin-right: 12px; }
@media (max-width: 600px) {
	.ec-shop-checkout-card .form-row-first,
	.ec-shop-checkout-card .form-row-last { width: 100%; margin-right: 0; }
}

/* Required-stjerne mer subtil */
.ec-shop-checkout-card .required {
	color: #DC2626; font-weight: 700; margin-left: 2px; text-decoration: none;
}
.ec-shop-checkout-card .optional {
	color: #94A3B8; font-size: 11px; font-weight: 500; margin-left: 4px;
}

/* WC-notices bedre styling */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	border-radius: var(--r-md, 8px);
	padding: 14px 18px;
	font-size: 14px;
	margin-bottom: 16px;
	border: none;
	font-weight: 500;
}
.woocommerce-notices-wrapper .woocommerce-message {
	background: linear-gradient(180deg, #DCFCE7 0%, #BBF7D0 100%);
	color: #166534;
	border-left: 4px solid #16A34A;
}
.woocommerce-notices-wrapper .woocommerce-info {
	background: linear-gradient(180deg, #DBEAFE 0%, #BFDBFE 100%);
	color: #1E40AF;
	border-left: 4px solid #2563EB;
}
.woocommerce-notices-wrapper .woocommerce-error {
	background: linear-gradient(180deg, #FEE2E2 0%, #FECACA 100%);
	color: #991B1B;
	border-left: 4px solid #DC2626;
	list-style: none;
}
.woocommerce-notices-wrapper .woocommerce-error li { margin: 4px 0; }

/* Payment methods som kort istedenfor radio-liste */
.ec-shop-checkout-summary #payment ul.payment_methods li {
	background: #FFFFFF;
	border: 1.5px solid var(--shop-line, #E2E8F0);
	border-radius: var(--r-md, 8px);
	padding: 12px 14px !important;
	margin-bottom: 8px;
	width: 100%;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
	cursor: pointer;
}
.ec-shop-checkout-summary #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--shop-navy, #1E3A5F);
	box-shadow: 0 0 0 3px rgba(30,58,95,0.08);
	background: #F8FAFC;
}
.ec-shop-checkout-summary #payment ul.payment_methods label {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--ec-ink, #0F172A) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	cursor: pointer;
}
.ec-shop-checkout-summary #payment ul.payment_methods label img {
	max-height: 24px;
	width: auto;
	margin-left: 6px;
}
.ec-shop-checkout-summary #payment .payment_box {
	margin-top: 10px;
	background: #F8FAFC !important;
	border-color: #E2E8F0 !important;
}

/* Place Order knapp — premium feel */
.ec-shop-checkout-summary #payment #place_order,
.ec-shop-checkout-summary #payment .button {
	background: linear-gradient(180deg, var(--shop-navy, #1E3A5F) 0%, #14253D 100%) !important;
	color: #FFFFFF !important;
	font-size: 16px !important;
	padding: 16px 22px !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 14px rgba(30,58,95,0.25) !important;
	letter-spacing: 0.01em !important;
	transition: transform .12s, box-shadow .15s !important;
}
.ec-shop-checkout-summary #payment #place_order:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 20px rgba(30,58,95,0.35) !important;
}
.ec-shop-checkout-summary #payment #place_order::after {
	content: ' →';
	font-weight: 800;
	margin-left: 4px;
}

/* Order-review item rows mer kompakt */
.ec-shop-checkout-summary .cart_item td {
	padding: 12px 0 !important;
	font-size: 13.5px !important;
	border-bottom: 1px solid #F1F5F9 !important;
}
.ec-shop-checkout-summary .cart_item .product-name {
	font-weight: 600;
	line-height: 1.4;
}
.ec-shop-checkout-summary .cart_item .product-quantity {
	color: #64748B;
	font-size: 11.5px;
	display: block;
	margin-top: 2px;
}

/* Cart-total mer prominent */
.ec-shop-checkout-summary .order-total th,
.ec-shop-checkout-summary .order-total td {
	padding-top: 14px !important;
	border-top: 2px solid var(--shop-navy, #1E3A5F) !important;
	border-bottom: none !important;
	font-size: 16px !important;
}
.ec-shop-checkout-summary .order-total .amount {
	font-size: 22px !important;
	font-weight: 800 !important;
	display: inline-block !important;
	white-space: nowrap !important;
}

/* Loading state */
.woocommerce-checkout.processing {
	opacity: 0.55;
	pointer-events: none;
}
.blockUI.blockOverlay {
	background: rgba(255,255,255,0.7) !important;
	backdrop-filter: blur(2px) !important;
}

/* MVA-info-tekst på checkout */
.ec-shop-checkout-mva-notice {
	background: #FFFBEB;
	border: 1px solid #FDE68A;
	border-radius: 8px;
	padding: 9px 12px;
	font-size: 12px;
	color: #78350F;
	margin: 12px 0 0;
}

.woocommerce-checkout .easycorp-order-flow-notice {
	max-width: var(--container, 1240px) !important;
	width: calc(100% - 48px) !important;
	margin: 18px auto 0 !important;
	padding: 12px 14px !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	border-color: var(--shop-line, #E2E8F0) !important;
}
.woocommerce-checkout .easycorp-order-flow-notice strong {
	font-size: 11px !important;
	letter-spacing: 0 !important;
	margin-bottom: 4px !important;
}
.woocommerce-checkout .easycorp-order-flow-notice p {
	font-size: 12.5px !important;
	line-height: 1.45 !important;
	max-width: none !important;
}
.ec-shop-checkout-summary .woocommerce-privacy-policy-text,
.ec-shop-checkout-summary .woocommerce-terms-and-conditions-wrapper {
	font-size: 12px;
	line-height: 1.45;
	color: var(--ec-mute-2, #64748B);
}
.ec-shop-checkout-summary .woocommerce-terms-and-conditions-wrapper p,
.ec-shop-checkout-summary .woocommerce-privacy-policy-text p {
	margin: 10px 0 0;
}
.ec-shop-checkout-summary #payment .woocommerce-info,
.ec-shop-checkout-summary #payment .woocommerce-error {
	font-size: 12px;
	line-height: 1.5;
	border-radius: 8px;
	padding: 12px 14px;
}

/* Mobile checkout follows the design reference: form first, order summary below,
   with compact typography and no horizontal table pressure. */
@media (max-width: 1100px) {
	.ec-shop-checkout-shell { padding: 16px 0 40px; }
	.ec-shop-checkout-head {
		grid-template-columns: 1fr;
		align-items: start;
		margin-bottom: 14px;
	}
	.ec-shop-checkout-head::after {
		justify-content: flex-start;
		width: 100%;
		overflow-x: auto;
		white-space: nowrap;
	}
	.ec-shop-checkout-title { font-size: 24px; }
	.ec-shop-checkout-grid {
		grid-template-columns: 1fr !important;
		gap: 16px;
		padding: 0 14px;
	}
	.ec-shop-checkout-head { padding: 0 14px; }
	.ec-shop-checkout-card,
	.ec-shop-checkout-summary { padding: 16px; border-radius: 10px; }
	.ec-shop-checkout-side { position: static; }
	.ec-shop-checkout-summary table.shop_table th,
	.ec-shop-checkout-summary table.shop_table td { font-size: 12px !important; }
	.ec-shop-checkout-summary .order-total .amount { font-size: 19px !important; }
	.ec-shop-checkout-summary #payment { padding: 10px; }
	.ec-shop-checkout-summary #payment ul.payment_methods label {
		align-items: flex-start;
		line-height: 1.35;
	}
}

@media (max-width: 600px) {
	.ec-shop-checkout-grid { padding: 0 12px; }
	.ec-shop-checkout-head { padding: 0 12px; }
	.ec-shop-checkout-summary table.shop_table th:first-child,
	.ec-shop-checkout-summary table.shop_table td:first-child { width: 60%; }
	.ec-shop-checkout-summary table.shop_table th:last-child,
	.ec-shop-checkout-summary table.shop_table td:last-child { width: 40%; }
	.ec-shop-checkout-summary .order-total .amount { font-size: 18px !important; }
	.ec-shop-checkout-summary #payment #place_order,
	.ec-shop-checkout-summary #payment .button { font-size: 14px !important; padding: 14px 16px !important; }
}

/* Inputs på checkout — focus mer fremtredende */
.ec-shop-checkout-card input:focus,
.ec-shop-checkout-card select:focus,
.ec-shop-checkout-card textarea:focus {
	outline: 0 !important;
	border-color: var(--shop-navy, #1E3A5F) !important;
	box-shadow: 0 0 0 3px rgba(30,58,95,0.12) !important;
}

/* Stripe-iframe inline */
.ec-shop-checkout-summary .wc-stripe-elements-field,
.ec-shop-checkout-summary .StripeElement {
	background: #FFFFFF;
	padding: 12px 14px;
	border: 1.5px solid var(--shop-line, #E2E8F0);
	border-radius: 8px;
	transition: border-color .15s, box-shadow .15s;
}
.ec-shop-checkout-summary .StripeElement--focus {
	border-color: var(--shop-navy, #1E3A5F);
	box-shadow: 0 0 0 3px rgba(30,58,95,0.12);
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon {
	display: none !important;
}

#wc-stripe-express-checkout-element,
.wc-stripe-express-checkout-element {
	display: block !important;
	margin: 0 0 14px !important;
	width: 100% !important;
}
.woocommerce-cart #wc-stripe-express-checkout-element,
.woocommerce-cart #wc-stripe-express-checkout-button-separator,
.woocommerce-cart #wc-stripe-express-checkout__order-attribution-inputs,
.woocommerce-cart .wc-stripe-express-checkout-element,
.woocommerce-cart .wc-stripe-express-checkout-button-separator,
.single-product #wc-stripe-express-checkout-element,
.single-product #wc-stripe-express-checkout-button-separator,
.single-product #wc-stripe-express-checkout__order-attribution-inputs,
.single-product .wc-stripe-express-checkout-element,
.single-product .wc-stripe-express-checkout-button-separator {
	display: none !important;
}
#wc-stripe-express-checkout-button-separator,
.wc-stripe-express-checkout-button-separator {
	display: none !important;
	align-items: center;
	justify-content: center;
	margin: 12px 0 16px !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 1 !important;
	position: relative;
	text-transform: none !important;
}
.ec-stripe-express-ready #wc-stripe-express-checkout-button-separator,
.ec-stripe-express-ready .wc-stripe-express-checkout-button-separator {
	display: flex !important;
}
#wc-stripe-express-checkout-button-separator::before,
.wc-stripe-express-checkout-button-separator::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1px;
	background: var(--shop-line-2, #F1F5F9);
	transform: translateY(-50%);
}
#wc-stripe-express-checkout-button-separator::after,
.wc-stripe-express-checkout-button-separator::after {
	content: 'eller';
	position: relative;
	z-index: 1;
	background: #FFFFFF;
	color: var(--ec-mute, #64748B);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 0 10px;
	text-transform: uppercase;
}
#wc-stripe-express-checkout-button-separator {
	font-size: 0 !important;
}
.woocommerce-checkout #wc-stripe-express-checkout-button-separator {
	color: transparent !important;
}
.woocommerce-checkout #wc-stripe-express-checkout-button-separator + * {
	clear: both;
}
.ec-shop-checkout-summary #payment .payment_box {
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 10px 0 0 !important;
}
.ec-shop-checkout-summary #wc-stripe-upe-form,
.ec-shop-checkout-summary .wc-stripe-upe-element,
.ec-shop-checkout-summary .wc-stripe-elements-field,
.ec-shop-checkout-summary .StripeElement,
.ec-shop-checkout-summary .__PrivateStripeElement {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.ec-shop-checkout-summary #wc-stripe-hidden-style-input {
	border: 0 !important;
	height: 1px !important;
	margin: 0 !important;
	opacity: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	width: 1px !important;
}

/* Checkout launch polish: calmer structure, fewer nested boxes. */
.ec-shop-checkout-shell {
	background: #FFFFFF !important;
	padding-top: 18px !important;
}
.ec-shop-checkout-steps {
	max-width: var(--container, 1240px);
	margin: 0 auto 10px;
	padding: 0 var(--s-6);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	color: var(--ec-mute, #64748B);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}
.ec-shop-checkout-steps a,
.ec-shop-checkout-steps span {
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.ec-shop-checkout-steps a {
	color: var(--shop-navy, #1E3A5F);
}
.ec-shop-checkout-steps span::before {
	content: '/';
	margin-right: 8px;
	color: #CBD5E1;
	font-weight: 500;
}
.ec-shop-checkout-head {
	display: block !important;
	margin-bottom: 20px !important;
	align-items: start !important;
}
.ec-shop-checkout-head::after {
	content: none !important;
	display: none !important;
}
.ec-shop-checkout-title {
	font-size: 30px !important;
	margin-bottom: 5px !important;
}
.ec-shop-checkout-sub {
	max-width: 620px;
	line-height: 1.45;
}
.ec-shop-checkout-card,
.ec-shop-checkout-summary {
	border-radius: 8px !important;
}
.ec-shop-checkout-card {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.ec-shop-checkout-summary {
	border: 1px solid #EEF2F6 !important;
	box-shadow: none !important;
	padding: 24px !important;
}
.ec-shop-checkout-summary #order_review_heading,
.ec-shop-checkout-summary-title {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 0 18px !important;
	font-size: 15px !important;
	line-height: 1.25 !important;
}
.ec-shop-checkout-summary table.shop_table th,
.ec-shop-checkout-summary table.shop_table td {
	background: transparent !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}
.ec-shop-checkout-summary table.shop_table thead th,
.ec-shop-checkout-summary table.shop_table tfoot th {
	font-size: 11px !important;
	letter-spacing: 0.11em !important;
}
.ec-shop-checkout-summary #payment {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 18px 0 0 !important;
	margin-top: 18px !important;
	border-top: 1px solid var(--shop-line-2, #F1F5F9) !important;
}
.ec-shop-checkout-summary #payment ul.payment_methods {
	margin: 0 !important;
	padding: 0 !important;
}
.ec-shop-checkout-summary #payment ul.payment_methods li,
.ec-shop-checkout-summary #payment ul.payment_methods li:has(input:checked) {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: default !important;
}
.ec-shop-checkout-summary #payment ul.payment_methods label {
	margin-bottom: 10px !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
}
.ec-shop-checkout-summary #payment .payment_box,
.ec-shop-checkout-summary #payment div.payment_box,
.ec-shop-checkout-summary #payment .payment_method_stripe .payment_box {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	color: var(--ec-mute-2, #64748B) !important;
}
.ec-shop-checkout-summary #payment .payment_box::before,
.ec-shop-checkout-summary #payment div.payment_box::before,
.ec-shop-checkout-summary #payment .payment_method_stripe .payment_box::before {
	content: none !important;
	display: none !important;
}
.ec-shop-checkout-summary #wc-stripe-upe-form {
	margin-top: 0 !important;
}
.ec-shop-checkout-summary #payment fieldset,
.ec-shop-checkout-summary #wc-stripe-upe-form,
.ec-shop-checkout-summary #payment .payment_method_stripe fieldset {
	border: 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ec-shop-checkout-summary .wc-stripe-upe-element,
.ec-shop-checkout-summary .wc-stripe-elements-field,
.ec-shop-checkout-summary .StripeElement {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	font-size: 13px !important;
}
.ec-shop-checkout-summary .__PrivateStripeElement {
	margin: 0 !important;
}
.ec-shop-checkout-summary .__PrivateStripeElement iframe {
	margin: 0 !important;
}
.ec-shop-checkout-summary .woocommerce-SavedPaymentMethods-saveNew {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 14px 0 0 !important;
	padding: 12px 0 0 !important;
	border-top: 1px solid var(--shop-line-2, #F1F5F9) !important;
}
.ec-shop-checkout-summary .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
	margin: 2px 0 0 !important;
	flex: 0 0 auto;
}
.ec-shop-checkout-summary .woocommerce-SavedPaymentMethods-saveNew label {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	color: var(--ec-ink, #0F172A) !important;
}
.ec-shop-checkout-summary .wc-stripe-save-source {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin-top: 12px !important;
	padding: 12px 0 0 !important;
	border-top: 1px solid var(--shop-line-2, #F1F5F9) !important;
}
.ec-shop-checkout-summary .wc-stripe-save-source input[type="checkbox"] {
	margin: 2px 0 0 !important;
	flex: 0 0 auto;
}
.ec-shop-checkout-summary .wc-stripe-save-source label {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	color: var(--ec-ink, #0F172A) !important;
}
.ec-shop-checkout-summary .cart_item td {
	font-size: 12px !important;
}
.ec-shop-checkout-summary .cart_item .product-name {
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}
.ec-shop-checkout-summary .cart_item .product-quantity {
	font-size: 11px !important;
}
.ec-shop-checkout-summary .cart-subtotal th,
.ec-shop-checkout-summary .cart-subtotal td,
.ec-shop-checkout-summary .woocommerce-shipping-totals th,
.ec-shop-checkout-summary .woocommerce-shipping-totals td {
	font-size: 12px !important;
}
.ec-shop-checkout-summary .order-total th,
.ec-shop-checkout-summary .order-total td {
	font-size: 13px !important;
}
.ec-shop-checkout-summary .order-total .amount {
	font-size: 20px !important;
}
.ec-shop-checkout-summary .woocommerce-privacy-policy-text,
.ec-shop-checkout-summary .woocommerce-terms-and-conditions-wrapper {
	font-size: 11.5px !important;
	line-height: 1.45 !important;
}
.ec-shop-checkout-summary #payment #place_order,
.ec-shop-checkout-summary #payment .button {
	font-size: 14px !important;
	letter-spacing: 0 !important;
}

.ec-shop-checkout-summary #payment .ec-payment-choice-title {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	color: var(--ec-ink, #0F172A);
	margin: 0 0 8px;
}
.ec-shop-checkout-summary #payment ul.payment_methods li,
.ec-shop-checkout-summary #payment ul.payment_methods li:has(input:checked) {
	background: #FFFFFF !important;
	border: 1.5px solid var(--shop-line, #E2E8F0) !important;
	border-radius: var(--r-md, 8px) !important;
	box-shadow: none !important;
	cursor: pointer !important;
	margin: 0 0 8px !important;
	padding: 12px 14px 12px 44px !important;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.ec-shop-checkout-summary #payment ul.payment_methods li::before {
	content: '';
	position: absolute;
	left: 15px;
	top: 17px;
	width: 16px;
	height: 16px;
	border: 1.5px solid var(--shop-line, #CBD5E1);
	border-radius: 999px;
	background: #FFFFFF;
	box-sizing: border-box;
}
.ec-shop-checkout-summary #payment ul.payment_methods li:not(.ec-payment-method-disabled)::before {
	border-color: var(--shop-navy, #1E3A5F);
}
.ec-shop-checkout-summary #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--shop-navy, #1E3A5F) !important;
	box-shadow: 0 0 0 3px rgba(30,58,95,0.08) !important;
	background: #F8FAFC !important;
}
.ec-shop-checkout-summary #payment ul.payment_methods li:has(input:checked)::before {
	border-color: var(--shop-navy, #1E3A5F);
	box-shadow: inset 0 0 0 4px #FFFFFF;
	background: var(--shop-navy, #1E3A5F);
}
.ec-shop-checkout-summary #payment ul.payment_methods input.input-radio {
	position: absolute !important;
	left: 14px;
	top: 16px;
	width: 18px;
	height: 18px;
	margin: 0 !important;
	opacity: 0;
	z-index: 2;
}
.ec-shop-checkout-summary #payment ul.payment_methods label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0 0 10px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: var(--ec-ink, #0F172A) !important;
	cursor: pointer;
}
.ec-shop-checkout-summary #payment ul.payment_methods li > label:last-child,
.ec-shop-checkout-summary #payment ul.payment_methods li > label:only-child {
	margin-bottom: 0 !important;
}
.ec-shop-checkout-summary #payment .ec-payment-method-disabled,
.ec-shop-checkout-summary #payment .ec-payment-method-disabled:has(input:checked) {
	background: #F8FAFC !important;
	border-color: var(--shop-line-2, #EEF2F7) !important;
	box-shadow: none !important;
	cursor: default !important;
}
.ec-shop-checkout-summary #payment .ec-payment-method-disabled::before {
	border-color: #CBD5E1;
	background: #F1F5F9;
}
.ec-shop-checkout-summary #payment .ec-payment-disabled-label {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #64748B;
}
.ec-shop-checkout-summary #payment .ec-payment-method-disabled small {
	display: block;
	margin-top: 3px;
	font-size: 11px;
	line-height: 1.35;
	color: #64748B;
}

@media (max-width: 1100px) {
	.ec-shop-checkout-steps { padding: 0 14px; }
	.ec-shop-checkout-card,
	.ec-shop-checkout-summary { box-shadow: none !important; }
}

@media (max-width: 600px) {
	.ec-shop-checkout-steps {
		padding: 0 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.ec-shop-checkout-card,
	.ec-shop-checkout-summary {
		border-radius: 8px !important;
		padding: 14px !important;
	}
}

/* My account launch polish: same quieter surface language as checkout. */
.woocommerce-account .woocommerce {
	margin-top: 24px !important;
	margin-bottom: 56px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	border: 1px solid #EEF2F6 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 6px 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom-color: #F1F5F9 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	font-size: 13px !important;
	padding: 12px 16px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #F8FAFC !important;
	border-left-color: var(--shop-navy, #1E3A5F) !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	padding: 24px !important;
}
.ec-shop-account-greeting h2,
.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-size: 22px !important;
	line-height: 1.25 !important;
}
.ec-shop-account-greeting-sub,
.woocommerce-account .woocommerce-MyAccount-content p {
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 900px) {
	/* Clear the fixed site menu trigger on account pages so it does not sit on top of the first nav item. */
	.woocommerce-account .woocommerce {
		margin-top: 72px !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: relative;
		z-index: 1;
	}
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-info {
	display: grid;
	gap: 14px;
	align-items: start;
	justify-items: start;
	text-align: left;
	padding-right: 24px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .button,
.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-info .button {
	margin-top: 0 !important;
	justify-self: start;
}

@media (max-width: 900px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
	.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-info {
		padding: 20px 18px 20px 52px !important;
		border-radius: 16px !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message .button,
	.woocommerce-account .woocommerce-MyAccount-orders .woocommerce-info .button {
		width: 100%;
		text-align: center;
		justify-self: stretch;
	}
}

.ec-shop-account-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.ec-shop-account-tile,
.ec-shop-company-card {
	border: 1px solid #EEF2F6 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
.ec-shop-account-tile {
	padding: 16px !important;
}
.ec-shop-account-tile-ico {
	width: 34px !important;
	height: 34px !important;
	font-size: 17px !important;
	border-radius: 8px !important;
	background: #F8FAFC !important;
}
.ec-shop-account-tile h3,
.ec-shop-company-card h3 {
	font-size: 14px !important;
}
.ec-shop-account-tile p,
.ec-shop-company-head p,
.ec-shop-company-card p {
	font-size: 13px !important;
}
.ec-shop-company-card {
	padding: 20px !important;
}

@media (max-width: 900px) {
	.ec-shop-account-tiles { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
	.woocommerce-account .woocommerce-MyAccount-content { padding: 18px !important; }
}

/* ====================================================================
   Order received (thank you), view-order, order-details
   ==================================================================== */
.woocommerce-order,
.woocommerce-view-order {
	max-width: var(--container);
	margin: 0 auto;
	padding: 32px var(--s-6) 64px;
}
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: clamp(24px, 3vw, 32px);
	color: var(--ec-ink);
	margin: 0 0 24px;
}
.woocommerce-order .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0 0 32px;
	padding: 20px;
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
}
.woocommerce-order .woocommerce-order-overview li {
	font-size: 12px;
	color: var(--ec-mute);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-weight: 600;
}
.woocommerce-order .woocommerce-order-overview li strong {
	display: block;
	font-size: 16px;
	color: var(--ec-ink);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
	margin-top: 4px;
}
.woocommerce-order section.woocommerce-order-details,
.woocommerce-order section.woocommerce-customer-details {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
	margin-bottom: 24px;
}
.woocommerce-order h2 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 18px;
	color: var(--ec-ink);
	margin: 0 0 16px;
}

/* ====================================================================
   Lost-password / reset-password
   ==================================================================== */
.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-lost-password .woocommerce {
	max-width: 480px;
	margin: 60px auto;
	padding: 32px;
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
}
.woocommerce-ResetPassword p,
.woocommerce-lost-password p {
	color: var(--ec-mute-2);
	font-size: 14px;
	margin: 0 0 16px;
}
.woocommerce-ResetPassword .form-row,
.woocommerce-lost-password .form-row { margin-bottom: 14px; }
.woocommerce-ResetPassword input,
.woocommerce-lost-password input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	font-size: 14px;
}
.woocommerce-ResetPassword button,
.woocommerce-lost-password button {
	width: 100%;
	background: var(--shop-navy);
	color: #FFFFFF;
	border: none;
	padding: 12px 18px;
	border-radius: var(--r-md);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}

/* ====================================================================
   Review form (PDP) — title field added by reviews-enable.php
   ==================================================================== */
.ec-shop-review-title-row {
	margin: 0 0 12px;
}
.ec-shop-review-title-row label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--ec-mute);
	margin: 0 0 6px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.ec-shop-review-title-row input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	font-size: 14px;
}
.ec-shop-review-title {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 15px;
	color: var(--ec-ink);
	display: block;
	margin: 0 0 4px;
}

@media (max-width: 900px) {
	.ec-shop-checkout-grid { grid-template-columns: 1fr; }
	.ec-shop-checkout-side { position: static; }
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
	.ec-shop-cart-wrap { grid-template-columns: 1fr; }
	.ec-shop-cart-collaterals { position: static; }
}

/* ====================================================================
   Auth-shell — login/register/lost-password (form-login.php, form-lost-password.php)
   ==================================================================== */
.ec-shop-auth-shell {
	background: var(--shop-surface);
	min-height: 60vh;
	padding: 48px 0 80px;
}
.ec-shop-auth-shell-narrow .ec-shop-auth-grid { max-width: 540px; margin-left: auto; margin-right: auto; }
.ec-shop-auth-head {
	max-width: var(--container);
	margin: 0 auto 32px;
	padding: 0 var(--s-6);
	text-align: center;
}
.ec-shop-auth-eyebrow { color: var(--shop-navy); font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; font-family: var(--font-mono); margin: 0 0 8px; }
.ec-shop-auth-title { font-family: var(--font-ui); font-weight: 700; font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -0.01em; color: var(--ec-ink); margin: 0 0 12px; }
.ec-shop-auth-sub { color: var(--ec-mute-2); font-size: 14px; margin: 0 auto; max-width: 540px; line-height: 1.55; }

/* ----- Tab-UI for login/register ----- */
.ec-shop-auth-tabs {
	display: flex; gap: 0;
	max-width: 540px;
	margin: 0 auto 18px;
	border-bottom: 1px solid var(--shop-line);
}
.ec-shop-auth-tab {
	flex: 1;
	padding: 12px 18px;
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	font-family: var(--font-ui);
	font-weight: 600;
	font-size: 14px;
	color: var(--ec-mute);
	cursor: pointer;
	transition: color .15s, border-color .15s;
	margin-bottom: -1px;
}
.ec-shop-auth-tab:hover { color: var(--ec-ink); }
.ec-shop-auth-tab.is-active {
	color: var(--shop-navy);
	border-bottom-color: var(--shop-navy);
}
.ec-shop-auth-stack {
	max-width: 540px;
	margin: 0 auto;
	padding: 0 var(--s-6);
}
.ec-shop-auth-pane[hidden] { display: none; }

/* Skjul bridge sin egen step-switcher når vi har vår tab-UI */
body.ec-shop-account-tabs .easycorp-account-access,
body.ec-shop-account-tabs .easycorp-account-form-intro {
	display: none !important;
}

.ec-shop-auth-grid {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--s-6);
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr;
}
.ec-shop-auth-grid.has-register { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; }
.ec-shop-auth-card {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 32px;
}
.ec-shop-auth-card-solo { max-width: 480px; margin: 0 auto; }
.ec-shop-auth-card-register { background: var(--shop-surface); }
.ec-shop-auth-card-title { font-family: var(--font-ui); font-weight: 700; font-size: 20px; color: var(--ec-ink); margin: 0 0 18px; letter-spacing: -0.005em; }
.ec-shop-auth-card-lead { color: var(--ec-mute-2); font-size: 13px; line-height: 1.55; margin: 0 0 18px; }
.ec-shop-auth-row { margin: 0 0 14px; }
.ec-shop-auth-row label { display: block; font-size: 12px; font-weight: 600; color: var(--ec-mute); margin: 0 0 6px; letter-spacing: 0.04em; text-transform: uppercase; }
.ec-shop-auth-row input { width: 100%; padding: 11px 14px; border: 1px solid var(--shop-line); border-radius: var(--r-md); font-size: 14px; background: #FFFFFF; color: var(--ec-ink); font-family: inherit; }
.ec-shop-auth-row input:focus { outline: 2px solid var(--shop-navy); outline-offset: -1px; border-color: var(--shop-navy); }
.ec-shop-auth-row small { display: block; margin-top: 6px; color: var(--ec-mute-2); font-size: 12px; }
.ec-shop-auth-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 18px; flex-wrap: wrap; }
.ec-shop-auth-remember { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ec-ink-3); cursor: pointer; }
.ec-shop-auth-remember input { width: auto; margin: 0; }
.ec-shop-auth-lost { font-size: 13px; color: var(--shop-navy); text-decoration: none; font-weight: 500; }
.ec-shop-auth-lost:hover { text-decoration: underline; }
.ec-shop-auth-submit { margin: 6px 0 0; }
.ec-shop-auth-submit button { width: 100%; padding: 14px 18px; font-size: 14px; }
.ec-shop-auth-note { background: var(--shop-surface); padding: 12px 14px; border-radius: var(--r-md); font-size: 13px; color: var(--ec-mute-2); margin: 0 0 14px; }
.ec-shop-register-credentials {
	background: #F8FAFC;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	padding: 18px;
	margin: 0 0 18px;
}
.ec-shop-register-credentials h4 {
	font-family: var(--font-ui);
	font-size: 16px;
	font-weight: 700;
	color: var(--ec-ink);
	margin: 0 0 6px;
}
.ec-shop-register-credentials > p:first-of-type {
	font-size: 13px;
	line-height: 1.45;
	color: var(--ec-mute-2);
	margin: 0 0 14px;
}
.ec-shop-register-credentials .ec-shop-auth-row,
.ec-shop-register-credentials .woocommerce-form-row {
	margin-bottom: 12px;
}
.ec-shop-register-credentials .ec-shop-auth-row:last-child,
.ec-shop-register-credentials .woocommerce-form-row:last-child {
	margin-bottom: 0;
}

@media (max-width: 700px) {
	.ec-shop-auth-shell {
		padding: 24px 0 48px;
	}
	.ec-shop-auth-head {
		margin-bottom: 18px;
		padding: 0 16px;
	}
	.ec-shop-auth-title {
		font-size: 28px;
		line-height: 1.12;
	}
	.ec-shop-auth-tabs {
		width: calc(100% - 32px);
		margin-bottom: 14px;
	}
	.ec-shop-auth-tab {
		min-height: 46px;
		padding: 10px 12px;
		font-size: 13px;
	}
	.ec-shop-auth-stack {
		padding: 0 16px;
	}
	.ec-shop-auth-card {
		padding: 18px;
		border-radius: 10px;
	}
	.ec-shop-auth-card-lead {
		font-size: 13px;
		line-height: 1.45;
		margin-bottom: 14px;
	}
	.ec-shop-register-credentials {
		padding: 14px;
		margin-bottom: 14px;
	}
	.ec-shop-register-credentials h4 {
		font-size: 15px;
	}
	.ec-shop-register-credentials > p:first-of-type {
		margin-bottom: 12px;
	}
	.ec-shop-auth-row input,
	.ec-shop-register-credentials input,
	.easycorp-register-fields input,
	.easycorp-register-fields select {
		min-height: 44px;
	}
	.ec-shop-auth-submit button,
	.woocommerce-form-register button[name="register"] {
		display: flex !important;
		width: 100% !important;
		min-height: 48px;
	}
	.ec-shop-auth-submit,
	.woocommerce-form-login .ec-shop-auth-submit,
	.woocommerce-form-register .ec-shop-auth-submit {
		display: block !important;
		width: 100% !important;
		clear: both;
	}
	.ec-shop-auth-submit .button,
	.woocommerce-form-login button[name="login"],
	.woocommerce-form-register button[name="register"] {
		width: 100% !important;
		justify-content: center;
	}
}

/* ====================================================================
   Account edit forms (form-edit-account.php, form-edit-address.php)
   ==================================================================== */
.ec-shop-account-edit { padding: 0 0 32px; }
.ec-shop-account-form { display: grid; gap: 20px; }
.ec-shop-account-card {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 28px;
}
.ec-shop-account-card-title {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 18px;
	color: var(--ec-ink);
	margin: 0 0 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--shop-line-2);
	letter-spacing: -0.005em;
}
.ec-shop-account-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ec-shop-account-row { margin: 0 0 14px; }
.ec-shop-account-row label { display: block; font-size: 12px; font-weight: 600; color: var(--ec-mute); margin: 0 0 6px; letter-spacing: 0.04em; text-transform: uppercase; }
.ec-shop-account-row input,
.ec-shop-account-row select,
.ec-shop-account-row textarea,
.ec-shop-account-address-fields input,
.ec-shop-account-address-fields select,
.ec-shop-account-address-fields textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-md);
	font-size: 14px;
	background: #FFFFFF;
	color: var(--ec-ink);
	font-family: inherit;
}
.ec-shop-account-row input:focus,
.ec-shop-account-row select:focus,
.ec-shop-account-address-fields input:focus,
.ec-shop-account-address-fields select:focus { outline: 2px solid var(--shop-navy); outline-offset: -1px; border-color: var(--shop-navy); }
.ec-shop-account-row small { display: block; margin-top: 6px; color: var(--ec-mute-2); font-size: 12px; }
.ec-shop-account-address-fields .form-row { margin-bottom: 14px; }
.ec-shop-account-address-fields label { display: block; font-size: 12px; font-weight: 600; color: var(--ec-mute); margin: 0 0 6px; letter-spacing: 0.04em; text-transform: uppercase; }
.ec-shop-account-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	padding-top: 8px;
}
.ec-shop-account-actions button { padding: 12px 24px; font-size: 14px; }

/* ====================================================================
   Order received / view-order (thankyou.php, view-order.php)
   ==================================================================== */
.ec-shop-order-received {
	background: var(--shop-surface);
	min-height: 60vh;
	padding: 48px 0 80px;
}
.ec-shop-order-head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 32px;
}
.ec-shop-order-eyebrow { color: var(--shop-navy); font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; font-family: var(--font-mono); margin: 0 0 12px; }
.ec-shop-order-title { font-family: var(--font-ui); font-weight: 700; font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -0.01em; color: var(--ec-ink); margin: 0 0 12px; }
.ec-shop-order-lead { color: var(--ec-mute-2); font-size: 14px; line-height: 1.6; margin: 0; }
.ec-shop-order-card {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
	max-width: 880px;
	margin: 0 auto 24px;
}
.ec-shop-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ec-shop-order-overview-item { display: flex; flex-direction: column; gap: 4px; }
.ec-shop-order-overview-label { color: var(--ec-mute); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
.ec-shop-order-overview-value { color: var(--ec-ink); font-size: 16px; font-weight: 700; font-family: var(--font-ui); }
.ec-shop-order-fail {
	max-width: 720px;
	margin: 0 auto;
	background: #FFFFFF;
	border: 1px solid #ef4444;
	border-radius: var(--r-lg);
	padding: 32px;
	text-align: center;
}
.ec-shop-order-fail-title { font-family: var(--font-ui); font-weight: 700; color: var(--ec-ink); font-size: 22px; margin: 0 0 12px; }
.ec-shop-order-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 20px; }
.ec-shop-btn-ghost { background: transparent; color: var(--shop-navy); border: 1px solid var(--shop-navy); padding: 10px 20px; border-radius: var(--r-md); text-decoration: none; font-weight: 600; }

/* view-order */
.ec-shop-view-order { padding: 0 0 32px; }
.ec-shop-view-order-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.ec-shop-view-order-eyebrow { color: var(--ec-mute); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; margin: 0 0 6px; font-family: var(--font-mono); }
.ec-shop-view-order-title { font-family: var(--font-ui); font-weight: 700; font-size: 22px; color: var(--ec-ink); margin: 0 0 6px; letter-spacing: -0.005em; }
.ec-shop-view-order-sub { color: var(--ec-mute-2); font-size: 13px; margin: 0; }
.ec-shop-view-order-status {
	display: inline-flex;
	align-items: center;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--shop-surface);
	color: var(--ec-ink-3);
	border: 1px solid var(--shop-line);
}
.ec-shop-view-order-status-completed { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.ec-shop-view-order-status-processing { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.ec-shop-view-order-status-on-hold { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.ec-shop-view-order-status-cancelled,
.ec-shop-view-order-status-failed { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.ec-shop-view-order-notes {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
	margin-bottom: 20px;
}
.ec-shop-view-order-notes-title { font-family: var(--font-ui); font-weight: 700; font-size: 16px; color: var(--ec-ink); margin: 0 0 14px; }
.ec-shop-view-order-notes-list { list-style: none; margin: 0; padding: 0; }
.ec-shop-view-order-note { padding: 12px 0; border-bottom: 1px solid var(--shop-line-2); }
.ec-shop-view-order-note:last-child { border-bottom: none; padding-bottom: 0; }
.ec-shop-view-order-note-meta { color: var(--ec-mute); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; margin: 0 0 6px; }
.ec-shop-view-order-note-text { color: var(--ec-ink-3); font-size: 13px; line-height: 1.55; }
.ec-shop-view-order-note-text p:last-child { margin-bottom: 0; }

@media (max-width: 700px) {
	.ec-shop-auth-grid.has-register { grid-template-columns: 1fr; }
	.ec-shop-account-grid-2 { grid-template-columns: 1fr; }
	.ec-shop-view-order-head { flex-direction: column; align-items: stretch; }
	.ec-shop-view-order-status { align-self: flex-start; }
}

/* ====================================================================
   Multi-user bedriftskontoer (Min konto → Kollegaer)
   ==================================================================== */
.ec-shop-company { display: flex; flex-direction: column; gap: 20px; }
.ec-shop-company-head h2 {
	font-family: var(--font-ui); font-weight: 700; font-size: 22px;
	color: var(--ec-ink); margin: 0 0 6px; letter-spacing: -0.005em;
}
.ec-shop-company-head p { color: var(--ec-mute-2); font-size: 14px; margin: 0; line-height: 1.55; }
.ec-shop-company-card {
	background: #FFFFFF;
	border: 1px solid var(--shop-line);
	border-radius: var(--r-lg);
	padding: 24px;
}
.ec-shop-company-card h3 {
	font-family: var(--font-ui); font-weight: 700; font-size: 14px;
	color: var(--ec-ink); margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--shop-line-2);
	letter-spacing: -0.005em;
}
.ec-shop-company-form-grid {
	display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; margin-bottom: 12px;
}
.ec-shop-company-form-grid label {
	display: flex; flex-direction: column; gap: 4px;
	font-size: 11px; font-weight: 600; color: var(--ec-mute);
	text-transform: uppercase; letter-spacing: 0.04em;
}
.ec-shop-company-form-grid input,
.ec-shop-company-form-grid select {
	padding: 10px 12px; border: 1px solid var(--shop-line);
	border-radius: var(--r-md); font-size: 14px; font-family: inherit;
	color: var(--ec-ink); font-weight: normal; text-transform: none; letter-spacing: 0;
}
.ec-shop-company-form-grid input:focus,
.ec-shop-company-form-grid select:focus { outline: 2px solid var(--shop-navy); outline-offset: -1px; }
.ec-shop-company-msg { margin: 8px 0; font-size: 13px; min-height: 18px; }
.ec-shop-company-msg.is-pending { color: var(--ec-mute); }
.ec-shop-company-msg.is-success { color: #047857; font-weight: 600; }
.ec-shop-company-msg.is-error { color: #b91c1c; }
.ec-shop-company-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ec-shop-company-member,
.ec-shop-company-invite {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 14px;
	background: var(--shop-surface);
	border: 1px solid var(--shop-line-2);
	border-radius: var(--r-md);
}
.ec-shop-company-member-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ec-shop-company-member-info strong { font-size: 14px; color: var(--ec-ink); font-weight: 600; }
.ec-shop-company-member-info span { font-size: 12px; color: var(--ec-mute); font-family: var(--font-mono); }
.ec-shop-company-member-role {
	font-size: 11px; font-weight: 700;
	padding: 4px 10px;
	background: #FFFFFF; border: 1px solid var(--shop-line);
	border-radius: 999px;
	text-transform: uppercase; letter-spacing: 0.04em;
	color: var(--shop-navy);
	white-space: nowrap;
}
.ec-shop-btn-sm { padding: 6px 12px !important; font-size: 12px !important; }
@media (max-width: 600px) {
	.ec-shop-company-form-grid { grid-template-columns: 1fr; }
}
