/* ═══════════════════════════════════════════════════════════════
   WC Account Dashboard v1.3.0
   ═══════════════════════════════════════════════════════════════ */

:root {
	--wcdb-green: #4a7c59;
	--wcdb-green-light: #e8f5e9;
	--wcdb-green-dark: #3d6b4b;
	--wcdb-bg: #faf8f5;
	--wcdb-card: #ffffff;
	--wcdb-border: #f0ebe4;
	--wcdb-text: #2d2a26;
	--wcdb-muted: #888;
	--wcdb-radius: 16px;
	--wcdb-radius-sm: 12px;
	--wcdb-shadow: 0 2px 12px rgba(0,0,0,0.04);
	--wcdb-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ══════════════════════════════════════════════════════════════
   GLOBAL: HIDE TITLE + NAV
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .entry-title,
.wcdb-account .page-title,
.wcdb-account article > header,
.wcdb-account article > .entry-header,
.woocommerce-account .entry-title,
.woocommerce-account .page-title,
.woocommerce-account article > .entry-header,
.woocommerce-account .entry-header {
	display: none !important;
}

.wcdb-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation {
	display: none !important;
}

.wcdb-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: 900px;
	margin: 0 auto;
}

.wcdb-account .woocommerce,
.woocommerce-account .woocommerce {
	font-family: var(--wcdb-font);
	max-width: 1100px;
	margin: 0 auto;
}

/* ══════════════════════════════════════════════════════════════
   BACK LINK
   ══════════════════════════════════════════════════════════════ */

.wcdb-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 20px;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--wcdb-green);
	text-decoration: none;
}
.wcdb-back-link:hover { text-decoration: underline; color: var(--wcdb-green-dark); }

/* ══════════════════════════════════════════════════════════════
   1. DASHBOARD
   ══════════════════════════════════════════════════════════════ */

.wcdb-dashboard { max-width: 880px; margin: 0 auto; color: var(--wcdb-text); line-height: 1.5; }

.wcdb-greeting {
	background: linear-gradient(135deg, #4a7c59 0%, #5a9a6a 50%, #3d8b5e 100%);
	border-radius: 20px; padding: 28px 32px; color: #fff;
	display: flex; align-items: center; gap: 24px; margin-bottom: 22px;
	box-shadow: 0 8px 32px rgba(74,124,89,0.25); position: relative; overflow: hidden;
}
.wcdb-greeting::after { content:'🐾'; position:absolute; right:-10px; top:-15px; font-size:110px; opacity:0.07; transform:rotate(-15deg); pointer-events:none; }
.wcdb-greeting-avatar { width:80px; height:80px; background:rgba(255,255,255,0.18); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:40px; flex-shrink:0; border:3px solid rgba(255,255,255,0.25); }
.wcdb-greeting-text h2 { font-size:1.45rem; font-weight:700; margin:0 0 4px; color:#fff !important; line-height:1.3; font-family:var(--wcdb-font) !important; }
.wcdb-greeting-badges { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.wcdb-badge { background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.22); padding:4px 12px; border-radius:20px; font-size:0.76rem; font-weight:500; }

.wcdb-dog-profile { background:var(--wcdb-card); border-radius:var(--wcdb-radius); padding:22px 24px; display:flex; align-items:flex-start; gap:18px; border:1px solid var(--wcdb-border); box-shadow:var(--wcdb-shadow); margin-bottom:22px; flex-wrap:wrap; }
.wcdb-dog-avatar { width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,#f8e8d0,#f0d4a8); display:flex; align-items:center; justify-content:center; font-size:1.6rem; flex-shrink:0; border:3px solid var(--wcdb-border); }
.wcdb-dog-avatar-img { width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; border:3px solid var(--wcdb-border); background:#f8f5f0; }
.wcdb-dog-info { flex:1; min-width:180px; }
.wcdb-dog-name { font-size:1.05rem; font-weight:700; text-align:left; }
.wcdb-dog-details { font-size:0.84rem; color:var(--wcdb-muted); margin-top:2px; text-align:left; }
.wcdb-dog-tags { display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.wcdb-tag { background:#f0faf2; padding:3px 10px; border-radius:10px; font-size:0.72rem; font-weight:500; color:#3d7a4a; }
.wcdb-tag-warn { background:#fef3ef; color:#c05621; }
.wcdb-dog-edit-btn { padding:6px 14px; background:#f8f5f0; border:1px solid #e8e0d8; border-radius:10px; font-size:0.76rem; font-weight:600; cursor:pointer; color:var(--wcdb-green); transition:all 0.15s; white-space:nowrap; align-self:center; }
.wcdb-dog-edit-btn:hover { background:var(--wcdb-green); color:#fff; border-color:var(--wcdb-green); }

.wcdb-dog-edit-form { width:100%; margin-top:16px; padding-top:16px; border-top:1px solid var(--wcdb-border); display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wcdb-form-row { display:flex; flex-direction:column; gap:4px; }
.wcdb-form-row label { font-size:0.78rem; font-weight:600; color:#666; }
.wcdb-form-row input, .wcdb-form-row select { padding:9px 12px; border:1px solid #e0dbd5; border-radius:10px; font-size:0.88rem; background:var(--wcdb-bg); transition:border-color 0.15s; }
.wcdb-form-row input:focus, .wcdb-form-row select:focus { border-color:var(--wcdb-green); outline:none; box-shadow:0 0 0 3px rgba(74,124,89,0.1); }
.wcdb-form-actions { grid-column:1/-1; display:flex; gap:10px; margin-top:4px; }
.wcdb-btn { padding:10px 20px; border-radius:var(--wcdb-radius-sm); font-size:0.85rem; font-weight:600; cursor:pointer; border:none; transition:all 0.15s; }
.wcdb-btn-save { background:var(--wcdb-green); color:#fff; }
.wcdb-btn-save:hover { background:var(--wcdb-green-dark); }
.wcdb-btn-cancel { background:var(--wcdb-border); color:#666; }
.wcdb-btn-cancel:hover { background:#e0dbd5; }
.wcdb-form-status { grid-column:1/-1; font-size:0.82rem; font-weight:500; min-height:20px; }
.wcdb-form-status.success { color:#2e7d32; }
.wcdb-form-status.error { color:#c62828; }

.wcdb-section { margin-bottom:24px; }
.wcdb-section-title { font-size:1.05rem; font-weight:700; margin-bottom:14px; display:flex; align-items:center; gap:8px; font-family:var(--wcdb-font); }
.wcdb-section-title a { margin-left:auto; font-size:0.8rem; font-weight:500; color:var(--wcdb-green); text-decoration:none; }
.wcdb-section-title a:hover { text-decoration:underline; }

.wcdb-deliveries { display:flex; gap:14px; overflow-x:auto; padding-bottom:4px; padding-top:4px; }
.wcdb-delivery-card { background:var(--wcdb-card); border-radius:var(--wcdb-radius); padding:18px 20px; min-width:190px; flex:1; box-shadow:var(--wcdb-shadow); border:1px solid var(--wcdb-border); transition:transform 0.15s,box-shadow 0.15s; text-decoration:none; color:var(--wcdb-text); display:block; }
.wcdb-delivery-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.08); color:var(--wcdb-text); }
.wcdb-delivery-next { border:2px solid var(--wcdb-green); background:linear-gradient(to bottom,#f6faf7,#fff); }
.wcdb-delivery-label { font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:#999; margin-bottom:6px; }
.wcdb-delivery-next .wcdb-delivery-label { color:var(--wcdb-green); }
.wcdb-delivery-icon { font-size:1.8rem; margin-bottom:6px; }
.wcdb-delivery-date { font-weight:700; font-size:0.95rem; margin-bottom:2px; }
.wcdb-delivery-sub { color:var(--wcdb-muted); font-size:0.8rem; }
.wcdb-status { display:inline-block; margin-top:8px; padding:3px 10px; border-radius:12px; font-size:0.7rem; font-weight:600; }
.wcdb-status-shipped { background:#e8f5e9; color:#2e7d32; }
.wcdb-status-processing { background:#fff8e1; color:#f57f17; }
.wcdb-status-onhold { background:#f3e5f5; color:#7b1fa2; }
.wcdb-status-upcoming { background:#e3f2fd; color:#1565c0; }
.wcdb-status-pending { background:#fff3e0; color:#e65100; }
.wcdb-status-failed { background:#ffebee; color:#c62828; }

/* Payment warning banner */
.wcdb-payment-warning {
	display:flex; align-items:flex-start; gap:14px;
	background:linear-gradient(135deg, #fff5f5, #ffebee);
	border:2px solid #ef5350; border-radius:12px;
	padding:18px 22px; margin-bottom:22px;
}
.wcdb-payment-warning-icon { font-size:2rem; flex-shrink:0; line-height:1; }
.wcdb-payment-warning-content { flex:1; }
.wcdb-payment-warning-content strong { display:block; color:#c62828; font-size:1rem; margin-bottom:4px; }
.wcdb-payment-warning-content p { color:#555; font-size:0.88rem; margin:0 0 12px; }
.wcdb-btn-warning {
	display:inline-block; padding:10px 24px;
	background:#c62828; color:#fff !important; border:none; border-radius:8px;
	font-weight:600; font-size:0.9rem; text-decoration:none; cursor:pointer;
	transition:background 0.2s;
}
.wcdb-btn-warning:hover { background:#b71c1c; color:#fff !important; }

.wcdb-abo-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.wcdb-abo-cards-2 { grid-template-columns:1fr 1fr; }
.wcdb-abo-card { background:var(--wcdb-card); border-radius:var(--wcdb-radius); padding:20px 22px; box-shadow:var(--wcdb-shadow); border:1px solid var(--wcdb-border); }

/* Treue-Bonus Card */
.wcdb-treue-card {
	display:flex; align-items:center; gap:20px;
	background:var(--wcdb-card); border:1px solid var(--wcdb-border); border-radius:var(--wcdb-radius);
	padding:22px 24px; text-decoration:none; color:var(--wcdb-text);
	box-shadow:var(--wcdb-shadow); transition:all 0.15s; cursor:pointer;
}
.wcdb-treue-card:hover {
	border-color:var(--wcdb-green); transform:translateY(-2px);
	box-shadow:0 6px 20px rgba(74,124,89,0.12); color:var(--wcdb-text);
}
.wcdb-treue-left { display:flex; align-items:center; gap:14px; flex:1; }
.wcdb-treue-icon { font-size:2rem; flex-shrink:0; }
.wcdb-treue-value { font-size:1rem; font-weight:700; }
.wcdb-treue-sub { font-size:0.82rem; color:var(--wcdb-muted); margin-top:2px; }
.wcdb-treue-progress { width:120px; flex-shrink:0; }
.wcdb-treue-progress-label { font-size:0.72rem; color:var(--wcdb-muted); text-align:center; margin-top:4px; }
/* treue-arrow removed — using section-title link instead */

/* ── Sparplan page headline ─────────────────────────────────────── */
.wcdb-sub-page-headline {
	text-align: center; font-size: 1.15rem; font-weight: 700;
	color: #333; margin: 0 0 20px; padding: 0;
}

/* ── Dog profile on view-subscription page ─────────────────────── */
.wcdb-sub-dog-profile { margin: 24px 0; }
.wcdb-sub-dog-profile .wcdb-section-title { margin-bottom: 4px; }
.wcdb-section-title-center { justify-content: center; text-align: center; }
.wcdb-dog-subline {
	text-align: center; font-size: .88rem; color: #777;
	margin: 0 0 16px; line-height: 1.5;
}
.wcdb-dog-profile-sub { border: 1px solid #eee; border-radius: 12px; padding: 18px; background: #fff; display:flex; flex-direction:column; align-items:center; text-align:center; }
.wcdb-dog-profile-sub .wcdb-dog-info { text-align:center; }
.wcdb-dog-profile-sub .wcdb-dog-tags { justify-content:center; }
.wcdb-dog-profile-sub .wcdb-dog-edit-form { text-align:left; }
.wcdb-dog-banner { display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,#fef9f0,#fdf3e0); border:1px solid #f0d9a8; border-radius:10px; padding:14px 18px; margin:8px 0 14px; }
.wcdb-dog-banner span:first-child { font-size:1.8rem; flex-shrink:0; }
.wcdb-dog-banner strong { color:#b8860b; font-size:0.92rem; }
.wcdb-dog-banner div { font-size:0.84rem; color:#6b5c3e; line-height:1.45; }

/* ── Contract Details Modal ────────────────────────────────────── */
.wcdb-contract-btn {
	background: #fff !important; color: #3c6e47 !important; border: 2px solid #3c6e47 !important;
	border-radius: 8px !important; font-weight: 600 !important; padding: 12px 24px !important;
	cursor: pointer; transition: all 0.2s; width: 100%; margin-top: 8px !important;
}
.wcdb-contract-btn:hover { background: #f0f7f2 !important; }

#wcdb-contract-overlay {
	position: fixed; inset: 0; z-index: 99999;
	background: rgba(0,0,0,.5); backdrop-filter: blur(3px);
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
}
#wcdb-contract-modal {
	background: #fff; border-radius: 16px; max-width: 560px; width: 100%;
	max-height: 85vh; display: flex; flex-direction: column;
	box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
.wcdb-contract-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 24px 16px; border-bottom: 1px solid #eee;
}
.wcdb-contract-header h2 { margin: 0; font-size: 1.15rem; font-weight: 700; color: #333; }
.wcdb-contract-close {
	background: none; border: none; font-size: 1.6rem; color: #999;
	cursor: pointer; padding: 0; line-height: 1; transition: color .15s;
}
.wcdb-contract-close:hover { color: #333; }

.wcdb-contract-body {
	overflow-y: auto; padding: 8px 24px 20px;
	scrollbar-width: thin; scrollbar-color: #ddd transparent;
}
.wcdb-contract-section {
	padding: 16px 0; border-bottom: 1px solid #f0f0f0;
}
.wcdb-contract-section:last-child { border-bottom: none; }
.wcdb-contract-section-title {
	font-size: .82rem; font-weight: 700; color: #3c6e47;
	text-transform: uppercase; letter-spacing: .5px; margin-bottom: 10px;
}
.wcdb-contract-row {
	display: flex; justify-content: space-between; align-items: baseline;
	padding: 6px 0; font-size: .9rem; gap: 12px;
}
.wcdb-contract-row span { color: #777; flex-shrink: 0; }
.wcdb-contract-row strong { color: #333; text-align: right; font-weight: 600; }
.wcdb-contract-highlight {
	background: #f0f7f2; margin: 4px -12px; padding: 8px 12px !important;
	border-radius: 8px;
}
.wcdb-contract-note {
	font-size: .82rem; color: #888; font-style: italic; margin-top: 6px;
}

.wcdb-contract-legal { display: flex; flex-direction: column; gap: 6px; }
.wcdb-contract-legal a {
	color: #3c6e47; font-size: .88rem; text-decoration: none; font-weight: 500;
}
.wcdb-contract-legal a:hover { text-decoration: underline; }

.wcdb-contract-footer {
	padding: 16px 24px; border-top: 1px solid #eee; text-align: center;
}
.wcdb-contract-close-btn { width: 100%; }

@media (max-width: 600px) {
	#wcdb-contract-modal { max-height: 92vh; border-radius: 12px; }
	.wcdb-contract-row { flex-direction: column; gap: 2px; }
	.wcdb-contract-row strong { text-align: left; }
}
.wcdb-abo-header { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.wcdb-abo-icon { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0; }
.wcdb-icon-green { background:#e8f5e9; } .wcdb-icon-blue { background:#e3f2fd; } .wcdb-icon-orange { background:#fff3e0; } .wcdb-icon-purple { background:#f3e5f5; }
.wcdb-abo-label { font-size:0.76rem; color:#999; font-weight:500; }
.wcdb-abo-value { font-size:1.2rem; font-weight:700; color:var(--wcdb-text); }
.wcdb-text-green { color:#2e7d32 !important; }
.wcdb-abo-sub { font-size:0.8rem; color:var(--wcdb-muted); }
.wcdb-progress { margin-top:10px; }
.wcdb-progress-bar { height:8px; background:var(--wcdb-border); border-radius:4px; overflow:hidden; }
.wcdb-progress-fill { height:100%; background:linear-gradient(90deg,#4a7c59,#6ab87a); border-radius:4px; transition:width 0.6s ease; }
.wcdb-progress-label { font-size:0.7rem; color:#999; margin-top:4px; display:flex; justify-content:space-between; }

.wcdb-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.wcdb-action { background:var(--wcdb-card); border:1px solid var(--wcdb-border); border-radius:var(--wcdb-radius); padding:20px 14px; text-align:center; text-decoration:none; color:var(--wcdb-text); display:flex; flex-direction:column; align-items:center; gap:8px; transition:all 0.15s; }
.wcdb-action:hover { border-color:var(--wcdb-green); background:#f6faf7; transform:translateY(-2px); box-shadow:0 4px 16px rgba(74,124,89,0.12); color:var(--wcdb-text); }
.wcdb-action-icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; background:#f8f5f0; transition:background 0.15s; }
.wcdb-action:hover .wcdb-action-icon { background:var(--wcdb-green-light); }
.wcdb-action-label { font-size:0.82rem; font-weight:600; line-height:1.3; }

/* ══════════════════════════════════════════════════════════════
   TABLES – FIX ALL COLORS (no brown/tan backgrounds!)
   ══════════════════════════════════════════════════════════════ */

.wcdb-account table,
.wcdb-account table.shop_table,
.wcdb-account .woocommerce-orders-table,
.wcdb-account .woocommerce-table,
.wcdb-account .woocommerce-MyAccount-content table {
	border: 1px solid var(--wcdb-border) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	width: 100% !important;
	background: var(--wcdb-card) !important;
	border-radius: var(--wcdb-radius) !important;
	overflow: hidden;
	box-shadow: var(--wcdb-shadow);
	font-family: var(--wcdb-font) !important;
}

.wcdb-account table thead th {
	background: var(--wcdb-bg) !important;
	border: none !important;
	border-bottom: 1px solid var(--wcdb-border) !important;
	padding: 14px 16px !important;
	font-size: 0.76rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: var(--wcdb-muted) !important;
	font-family: var(--wcdb-font) !important;
}

.wcdb-account table tbody td,
.wcdb-account table tbody th {
	padding: 14px 16px !important;
	border: none !important;
	border-bottom: 1px solid var(--wcdb-border) !important;
	font-size: 0.88rem !important;
	vertical-align: middle !important;
	font-family: var(--wcdb-font) !important;
	background: transparent !important;
	color: var(--wcdb-text) !important;
}

/* FIX: Remove brown/tan from tfoot, summary rows, totals */
.wcdb-account table tfoot td,
.wcdb-account table tfoot th,
.wcdb-account table .cart-subtotal td,
.wcdb-account table .cart-subtotal th,
.wcdb-account table .order-total td,
.wcdb-account table .order-total th,
.wcdb-account table .shipping td,
.wcdb-account table .shipping th,
.wcdb-account table .tax-rate td,
.wcdb-account table .tax-rate th,
.wcdb-account table .payment-method td,
.wcdb-account table .payment-method th,
.wcdb-account table .recurring-totals td,
.wcdb-account table .recurring-totals th {
	background: transparent !important;
	color: var(--wcdb-text) !important;
	border: none !important;
	border-bottom: 1px solid var(--wcdb-border) !important;
	padding: 14px 16px !important;
	font-family: var(--wcdb-font) !important;
}

.wcdb-account table tbody tr:last-child td,
.wcdb-account table tbody tr:last-child th,
.wcdb-account table tfoot tr:last-child td,
.wcdb-account table tfoot tr:last-child th {
	border-bottom: none !important;
}

.wcdb-account table tbody tr:hover {
	background: #faf8f5 !important;
}

/* FIX: Order number column left blue color */
.wcdb-account table a[href*="view-order"],
.wcdb-account table a[href*="view-subscription"] {
	color: var(--wcdb-green) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
.wcdb-account table a[href*="view-order"]:hover,
.wcdb-account table a[href*="view-subscription"]:hover {
	text-decoration: underline !important;
}

/* ══════════════════════════════════════════════════════════════
   HEADINGS
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-MyAccount-content h2,
.wcdb-account .woocommerce-MyAccount-content h3,
.wcdb-account .woocommerce-MyAccount-content h4 {
	font-family: var(--wcdb-font) !important;
	font-weight: 700 !important;
	color: var(--wcdb-text) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.wcdb-account .woocommerce-MyAccount-content h2 { font-size: 1.25rem !important; margin-bottom: 16px !important; }
.wcdb-account .woocommerce-MyAccount-content h3 { font-size: 1.05rem !important; margin-bottom: 12px !important; }

/* ══════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-MyAccount-content .button,
.wcdb-account .woocommerce-MyAccount-content .woocommerce-button,
.wcdb-account .woocommerce-MyAccount-content button[type="submit"],
.wcdb-account .woocommerce-MyAccount-content input[type="submit"],
.wcdb-account .woocommerce-MyAccount-content a.button {
	background: var(--wcdb-green) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--wcdb-radius-sm) !important;
	padding: 11px 22px !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	font-family: var(--wcdb-font) !important;
	cursor: pointer;
	transition: background 0.15s !important;
	text-decoration: none !important;
	display: inline-block;
	line-height: 1.4 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.wcdb-account .woocommerce-MyAccount-content .button:hover,
.wcdb-account .woocommerce-MyAccount-content a.button:hover,
.wcdb-account .woocommerce-MyAccount-content button[type="submit"]:hover {
	background: var(--wcdb-green-dark) !important;
	color: #fff !important;
}
.wcdb-account table .button, .wcdb-account table a.button {
	padding: 7px 14px !important;
	font-size: 0.8rem !important;
	border-radius: 10px !important;
}

/* Subscription manage toggle */
.wcdb-manage-toggle {
	margin-bottom: 10px !important;
}
.wcdb-sub-manage-wrap {
	margin-top: 8px;
}
.wcdb-sub-manage-wrap .button {
	margin-bottom: 8px !important;
	display: block !important;
}

/* ══════════════════════════════════════════════════════════════
   FORMS
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.wcdb-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.wcdb-account .woocommerce-MyAccount-content form.edit-account {
	background: var(--wcdb-card);
	border: 1px solid var(--wcdb-border);
	border-radius: var(--wcdb-radius);
	padding: 28px;
	box-shadow: var(--wcdb-shadow);
}

.wcdb-account .woocommerce-MyAccount-content input[type="text"],
.wcdb-account .woocommerce-MyAccount-content input[type="email"],
.wcdb-account .woocommerce-MyAccount-content input[type="tel"],
.wcdb-account .woocommerce-MyAccount-content input[type="number"],
.wcdb-account .woocommerce-MyAccount-content input[type="password"],
.wcdb-account .woocommerce-MyAccount-content select,
.wcdb-account .woocommerce-MyAccount-content textarea {
	border: 1px solid #e0dbd5 !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-size: 0.9rem !important;
	font-family: var(--wcdb-font) !important;
	background: var(--wcdb-bg) !important;
	transition: border-color 0.15s;
	width: 100%;
}
.wcdb-account .woocommerce-MyAccount-content input:focus,
.wcdb-account .woocommerce-MyAccount-content select:focus {
	border-color: var(--wcdb-green) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(74,124,89,0.1) !important;
}

.wcdb-account .woocommerce-MyAccount-content label {
	font-size: 0.84rem !important;
	font-weight: 600 !important;
	color: #555 !important;
	font-family: var(--wcdb-font) !important;
}

/* FIX: Password eye icon - push to right edge, not center */
.wcdb-account .password-input,
.wcdb-account .woocommerce-MyAccount-content .password-input,
.woocommerce-account .password-input {
	position: relative !important;
	display: block !important;
}
.wcdb-account .show-password-input,
.wcdb-account .woocommerce-MyAccount-content .show-password-input,
.woocommerce-account .show-password-input,
.wcdb-login-wrap .show-password-input {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	z-index: 5 !important;
	background: transparent !important;
	text-align: right !important;
}
.wcdb-account input[type="password"],
.wcdb-account .woocommerce-MyAccount-content input[type="password"],
.wcdb-account .password-input input,
.woocommerce-account input[type="password"],
.wcdb-login-wrap input[type="password"] {
	padding-right: 48px !important;
}

/* FIX: Hide Bundesland/Landkreis field */
.wcdb-account #billing_state_field,
.wcdb-account #shipping_state_field,
.wcdb-account .woocommerce-MyAccount-content #billing_state_field,
.wcdb-account .woocommerce-MyAccount-content #shipping_state_field {
	display: none !important;
}

/* FIX: Hide Anzeigename field */
.wcdb-account .woocommerce-MyAccount-content .woocommerce-form-row--wide:has(#account_display_name),
.wcdb-account .woocommerce-MyAccount-content p:has(#account_display_name),
.wcdb-account #account_display_name_field,
.wcdb-account .woocommerce-MyAccount-content label[for="account_display_name"] {
	display: none !important;
}
/* Fallback: hide by field directly (also hides the description below it) */
.wcdb-account .woocommerce-MyAccount-content #account_display_name {
	display: none !important;
}
.wcdb-account .woocommerce-MyAccount-content #account_display_name + span,
.wcdb-account .woocommerce-MyAccount-content #account_display_name + em,
.wcdb-account .woocommerce-MyAccount-content #account_display_name ~ em,
.wcdb-account .woocommerce-MyAccount-content .woocommerce-form-row #account_display_name {
	display: none !important;
}
/* Hide the entire wrapping paragraph for display name */
.wcdb-account .woocommerce-EditAccountForm > p.woocommerce-form-row:nth-of-type(3) {
	display: none !important;
}

/* FIX: Hide "Subscribe to newsletter" checkbox - broad selectors */
.wcdb-account .woocommerce-MyAccount-content .mc4wp-checkbox,
.wcdb-account .woocommerce-MyAccount-content .mc4wp-checkbox-wp,
.wcdb-account .woocommerce-MyAccount-content .mailjet-subscribe,
.wcdb-account .woocommerce-MyAccount-content .mj-checkbox,
.wcdb-account .woocommerce-MyAccount-content p:has(input[name="subscribe_to_newsletter"]),
.wcdb-account .woocommerce-MyAccount-content p:has(input[name*="newsletter"]),
.wcdb-account .woocommerce-MyAccount-content p:has(input[name*="mc4wp"]),
.wcdb-account .woocommerce-MyAccount-content p:has(input[name*="mailjet"]),
.wcdb-account .woocommerce-MyAccount-content label:has(input[name*="newsletter"]),
.wcdb-account .woocommerce-MyAccount-content label:has(input[type="checkbox"]):has([name*="subscribe"]),
.wcdb-account .woocommerce-MyAccount-content .newsletter-checkbox,
.wcdb-account .woocommerce-MyAccount-content p:has(input[type="checkbox"][name*="subscribe"]) {
	display: none !important;
}

/* FIX: Hide "Ende der Testphase" / trial end row on subscription detail */
.wcdb-account .subscription_details tr.subscription-trial-end,
.wcdb-account table tr.subscription-trial-end,
.wcdb-account table tr:has(td.subscription-trial-end),
.wcdb-account table tr:has(th:where([scope])):has(td time.trial_end) {
	display: none !important;
}
/* Broader: hide any td containing "Testphase" text via attribute if WCS adds it */
.wcdb-account td.subscription-trial-end,
.wcdb-account th.subscription-trial-end {
	display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   ADDRESS CARDS – proper 50/50
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.wcdb-account .woocommerce-MyAccount-content .col2-set {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
}

.wcdb-account .woocommerce-MyAccount-content .woocommerce-Addresses > div,
.wcdb-account .woocommerce-MyAccount-content .col2-set > div,
.wcdb-account .woocommerce-MyAccount-content .woocommerce-Address,
.wcdb-account .woocommerce-MyAccount-content .u-column1,
.wcdb-account .woocommerce-MyAccount-content .u-column2,
.wcdb-account .woocommerce-MyAccount-content .col-1,
.wcdb-account .woocommerce-MyAccount-content .col-2 {
	background: var(--wcdb-card) !important;
	border: 1px solid var(--wcdb-border) !important;
	border-radius: var(--wcdb-radius) !important;
	padding: 22px !important;
	box-shadow: var(--wcdb-shadow) !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.wcdb-account .woocommerce-MyAccount-content .woocommerce-Addresses header,
.wcdb-account .woocommerce-MyAccount-content .col2-set header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wcdb-border);
}

.wcdb-account .woocommerce-MyAccount-content address {
	font-style: normal !important;
	font-family: var(--wcdb-font) !important;
	font-size: 0.9rem !important;
	line-height: 1.6 !important;
}

/* ══════════════════════════════════════════════════════════════
   ORDER + SUBSCRIPTION DETAIL
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-MyAccount-content .woocommerce-order-details,
.wcdb-account .woocommerce-MyAccount-content .woocommerce-customer-details,
.wcdb-account .woocommerce-MyAccount-content section.woocommerce-order-details {
	background: var(--wcdb-card);
	border: 1px solid var(--wcdb-border);
	border-radius: var(--wcdb-radius);
	padding: 24px;
	margin-bottom: 20px;
	box-shadow: var(--wcdb-shadow);
}

.wcdb-account .subscription_details,
.wcdb-account .woocommerce-MyAccount-content .subscription_details {
	background: var(--wcdb-card) !important;
	border: 1px solid var(--wcdb-border) !important;
	border-radius: var(--wcdb-radius) !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
	box-shadow: var(--wcdb-shadow) !important;
}

/* Customer details columns on order detail */
.wcdb-account .woocommerce-customer-details .woocommerce-columns,
.wcdb-account .woocommerce-customer-details .col2-set {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
}

.wcdb-account .woocommerce-customer-details .woocommerce-column,
.wcdb-account .woocommerce-customer-details .col-1,
.wcdb-account .woocommerce-customer-details .col-2 {
	background: var(--wcdb-card) !important;
	border: 1px solid var(--wcdb-border) !important;
	border-radius: var(--wcdb-radius) !important;
	padding: 20px !important;
	box-shadow: var(--wcdb-shadow) !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* Remove outer wrapper border on customer-details section */
.wcdb-account .woocommerce-MyAccount-content .woocommerce-customer-details {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Order details table: force clean header */
.wcdb-account table.order_details thead th,
.wcdb-account table.woocommerce-table--order-details thead th,
.wcdb-account .woocommerce-table--order-details thead th {
	background: var(--wcdb-bg) !important;
	color: var(--wcdb-muted) !important;
	border: none !important;
	border-bottom: 1px solid var(--wcdb-border) !important;
}

/* Order details product rows - no colored bg */
.wcdb-account table.order_details tbody td,
.wcdb-account table.order_details tbody th,
.wcdb-account table.woocommerce-table--order-details td,
.wcdb-account table.woocommerce-table--order-details th {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--wcdb-border) !important;
}

/* ══════════════════════════════════════════════════════════════
   ORDER DETAIL: hide numbered list markers + temp password notice
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-order-updates ol,
.wcdb-account ol.woocommerce-OrderUpdates {
	list-style: none !important;
	padding-left: 0 !important;
}
.wcdb-account .woocommerce-order-updates ol li::marker,
.wcdb-account ol.woocommerce-OrderUpdates li::marker {
	content: "" !important;
	display: none !important;
}

/* Hide temporary password notice specifically via JS - CSS fallback below */
/* JS handles it by text content match */

/* ══════════════════════════════════════════════════════════════
   NOTICES
   ══════════════════════════════════════════════════════════════ */

.wcdb-account .woocommerce-message,
.wcdb-account .woocommerce-info {
	background: var(--wcdb-green-light) !important;
	border-top-color: var(--wcdb-green) !important;
	border-radius: var(--wcdb-radius-sm) !important;
	color: var(--wcdb-green-dark) !important;
	padding: 14px 20px !important;
	margin-bottom: 16px !important;
	font-family: var(--wcdb-font) !important;
}
.wcdb-account .woocommerce-error {
	border-radius: var(--wcdb-radius-sm) !important;
	padding: 14px 20px !important;
	margin-bottom: 16px !important;
}
.wcdb-account .woocommerce-message::before,
.wcdb-account .woocommerce-info::before { color: var(--wcdb-green) !important; }

/* ══════════════════════════════════════════════════════════════
   LOGIN PAGE
   ══════════════════════════════════════════════════════════════ */

/* Hide registration completely */
.woocommerce-account .woocommerce form.woocommerce-form-register,
.woocommerce-account .u-column2.col-2,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account #customer_login > .col-2,
.woocommerce-account #customer_login > div:last-child:not(:first-child) {
	display: none !important;
}

.woocommerce-account #customer_login {
	display: block !important;
}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login > .col-1,
.woocommerce-account #customer_login > div:first-child {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	flex: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wcdb-login-wrap { max-width: 440px; margin: 0 auto; }
.wcdb-login-header { text-align: center; margin-bottom: 28px; }
.wcdb-login-icon { font-size: 3rem; margin-bottom: 12px; }
.wcdb-login-header h2 { font-size: 1.6rem !important; font-weight: 800 !important; color: var(--wcdb-text) !important; margin: 0 0 6px !important; font-family: var(--wcdb-font) !important; display: block !important; }
.wcdb-login-header p { color: var(--wcdb-muted); font-size: 0.95rem; margin: 0; }

/* Hide default "Anmelden" h2 */
.wcdb-login-wrap h2:not(.wcdb-login-header h2),
#customer_login h2 { display: none !important; }
.wcdb-login-header h2 { display: block !important; }

.wcdb-login-wrap .woocommerce-form-login,
.wcdb-login-wrap form.login {
	background: var(--wcdb-card) !important;
	border: 1px solid var(--wcdb-border) !important;
	border-radius: var(--wcdb-radius) !important;
	padding: 32px !important;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
	margin: 0 !important;
}
.wcdb-login-wrap .woocommerce-form-login label,
.wcdb-login-wrap form.login label {
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: #555 !important;
}
.wcdb-login-wrap input[type="text"],
.wcdb-login-wrap input[type="email"],
.wcdb-login-wrap input[type="password"] {
	width: 100% !important;
	border: 1px solid #e0dbd5 !important;
	border-radius: var(--wcdb-radius-sm) !important;
	padding: 12px 16px !important;
	font-size: 0.95rem !important;
	background: var(--wcdb-bg) !important;
}
.wcdb-login-wrap input[type="password"] {
	padding-right: 44px !important;
}
.wcdb-login-wrap input:focus {
	border-color: var(--wcdb-green) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(74,124,89,0.1) !important;
}
.wcdb-login-wrap button[type="submit"],
.wcdb-login-wrap .button {
	width: 100% !important;
	background: var(--wcdb-green) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--wcdb-radius-sm) !important;
	padding: 14px !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	margin-top: 8px;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.wcdb-login-wrap button[type="submit"]:hover { background: var(--wcdb-green-dark) !important; }
.wcdb-login-wrap .woocommerce-form-login__rememberme,
.wcdb-login-wrap .woocommerce-form-row:has(#rememberme),
.wcdb-login-wrap label.woocommerce-form-login__rememberme {
	position: absolute !important;
	left: -9999px !important;
	opacity: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}
.wcdb-login-wrap .woocommerce-LostPassword { text-align: center; margin-top: 16px; }
.wcdb-login-wrap .woocommerce-LostPassword a { color: var(--wcdb-green); text-decoration: none; font-size: 0.88rem; font-weight: 500; }
.wcdb-login-wrap .woocommerce-LostPassword a:hover { text-decoration: underline; }

/* ── Lost Password ── */
.wcdb-lost-pw-header { text-align: center; margin-bottom: 24px; max-width: 440px; margin-left: auto; margin-right: auto; }
.wcdb-lost-pw-header h2 { font-size: 1.5rem !important; font-weight: 800 !important; color: var(--wcdb-text) !important; margin: 0 0 6px !important; display: block !important; }
.wcdb-lost-pw-header p { color: var(--wcdb-muted); font-size: 0.92rem; margin: 0; }

.woocommerce-ResetPassword,
.woocommerce-account .woocommerce-ResetPassword,
form.woocommerce-ResetPassword.lost_reset_password {
	max-width: 440px !important;
	margin: 0 auto !important;
	background: var(--wcdb-card) !important;
	border: 1px solid var(--wcdb-border) !important;
	border-radius: var(--wcdb-radius) !important;
	padding: 32px !important;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
	.wcdb-greeting { flex-direction:column; text-align:center; padding:22px 18px; }
	.wcdb-greeting-badges { justify-content:center; }
	.wcdb-abo-cards { grid-template-columns:1fr; }
	.wcdb-abo-cards-2 { grid-template-columns:1fr; }
	.wcdb-treue-card { flex-direction:column; gap:14px; }
	.wcdb-treue-progress { width:100%; }
	.wcdb-actions { grid-template-columns:repeat(2,1fr); }
	.wcdb-deliveries { flex-direction:column; }
	.wcdb-delivery-card { min-width:auto; }
	.wcdb-dog-profile { flex-direction:column; }
	.wcdb-dog-tags { flex-wrap:wrap; }
	.wcdb-dog-edit-form { grid-template-columns:1fr; }
	.wcdb-account .woocommerce-MyAccount-content .woocommerce-Addresses,
	.wcdb-account .woocommerce-MyAccount-content .col2-set,
	.wcdb-account .woocommerce-customer-details .woocommerce-columns,
	.wcdb-account .woocommerce-customer-details .col2-set {
		grid-template-columns: 1fr !important;
	}
}
@media (max-width: 480px) {
	.wcdb-greeting-text h2 { font-size:1.15rem !important; }
	.wcdb-actions { grid-template-columns:1fr 1fr; }
	.wcdb-login-wrap .woocommerce-form-login, .wcdb-login-wrap form.login { padding:22px !important; }
}

/* Hide trial end row */
.subscription_details tr.subscription-trial-end,
table tr.subscription-trial-end,
.subscription_details tr.subscription-trial_end,
table tr.subscription-trial_end { display:none!important; }
