/* ============================================================
   PDM Frontend v3 — Complete Design System
   Dark Luxury Theme: Deep space navy + gold accents
   Font: DM Serif Display (headings) + DM Sans (body)
   ============================================================ */

/* ---- Google Fonts (loaded once via PHP) ---- */
/* Injected by base_css() in shortcodes */

/* ---- CSS Variables ---- */
:root {
  --pdm-bg:         #080810;
  --pdm-surface:    #10101c;
  --pdm-surface2:   #16162a;
  --pdm-surface3:   #1e1e30;
  --pdm-border:     rgba(255,255,255,.07);
  --pdm-border2:    rgba(255,255,255,.12);
  --pdm-gold:       #c9a84c;
  --pdm-gold-light: #e2c26a;
  --pdm-gold-dim:   rgba(201,168,76,.15);
  --pdm-text:       #ededf5;
  --pdm-muted:      rgba(237,237,245,.45);
  --pdm-muted2:     rgba(237,237,245,.25);
  --pdm-green:      #27ae60;
  --pdm-green-dim:  rgba(39,174,96,.15);
  --pdm-red:        #e74c3c;
  --pdm-red-dim:    rgba(231,76,60,.15);
  --pdm-blue:       #3d8bff;
  --pdm-blue-dim:   rgba(61,139,255,.15);
  --pdm-radius:     14px;
  --pdm-radius-sm:  8px;
  --pdm-font:       'DM Sans', -apple-system, sans-serif;
  --pdm-serif:      'DM Serif Display', Georgia, serif;
  --pdm-shadow:     0 4px 24px rgba(0,0,0,.4);
  --pdm-shadow-lg:  0 12px 48px rgba(0,0,0,.6);
  --pdm-transition: all .2s ease;
}

/* ---- Reset & Base ---- */
.pdm-wrap, .pdm-wrap * { box-sizing: border-box; }
.pdm-wrap { font-family: var(--pdm-font); color: var(--pdm-text); -webkit-font-smoothing: antialiased; }
.pdm-wrap a { color: var(--pdm-gold); text-decoration: none; }
.pdm-wrap a:hover { color: var(--pdm-gold-light); }

/* ---- Layout ---- */
.pdm-page { background: var(--pdm-bg); min-height: 100vh; padding: 32px 20px 80px; }
.pdm-container { max-width: 1140px; margin: 0 auto; }
.pdm-container-sm { max-width: 720px; margin: 0 auto; }
.pdm-container-xs { max-width: 460px; margin: 0 auto; }

/* ---- Cards ---- */
.pdm-card {
  background: var(--pdm-surface);
  border: 1px solid var(--pdm-border);
  border-radius: var(--pdm-radius);
  padding: 28px;
}
.pdm-card-hover {
  transition: var(--pdm-transition);
  cursor: pointer;
}
.pdm-card-hover:hover {
  border-color: var(--pdm-gold);
  transform: translateY(-3px);
  box-shadow: var(--pdm-shadow-lg);
}

/* ---- Buttons ---- */
.pdm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 22px; border: none; border-radius: var(--pdm-radius-sm);
  font-size: 14px; font-weight: 600; cursor: pointer;
  text-decoration: none; transition: var(--pdm-transition);
  font-family: var(--pdm-font); letter-spacing: .2px; white-space: nowrap;
}
.pdm-btn:focus { outline: 2px solid var(--pdm-gold); outline-offset: 2px; }
.pdm-btn-primary {
  background: linear-gradient(135deg, #c9a84c, #e2c26a);
  color: #12100a;
}
.pdm-btn-primary:hover { filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(201,168,76,.35); color: #12100a; }
.pdm-btn-secondary {
  background: var(--pdm-surface2); color: var(--pdm-text);
  border: 1px solid var(--pdm-border2);
}
.pdm-btn-secondary:hover { border-color: var(--pdm-gold); color: var(--pdm-gold); }
.pdm-btn-danger { background: var(--pdm-red); color: #fff; }
.pdm-btn-danger:hover { filter: brightness(1.1); }
.pdm-btn-sm { padding: 8px 14px; font-size: 12px; }
.pdm-btn-lg { padding: 14px 28px; font-size: 15px; }
.pdm-btn-full { width: 100%; }

/* ---- Form Controls ---- */
.pdm-field { margin-bottom: 18px; }
.pdm-label {
  display: block; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .9px;
  color: var(--pdm-muted); margin-bottom: 8px;
}
.pdm-input {
  width: 100%; padding: 12px 15px;
  background: var(--pdm-bg); border: 1px solid var(--pdm-border2);
  border-radius: var(--pdm-radius-sm); color: var(--pdm-text);
  font-size: 14px; font-family: var(--pdm-font);
  transition: var(--pdm-transition);
}
.pdm-input:focus {
  outline: none; border-color: var(--pdm-gold);
  box-shadow: 0 0 0 3px rgba(201,168,76,.12);
  background: #0c0c18;
}
.pdm-input::placeholder { color: var(--pdm-muted2); }
select.pdm-input, .pdm-input[type=number] {
  -webkit-appearance: none; appearance: none;
}
select.pdm-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(237,237,245,.3)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
  padding-right: 36px;
}
textarea.pdm-input { resize: vertical; min-height: 90px; }

/* ---- Alerts ---- */
.pdm-alert {
  padding: 13px 18px; border-radius: var(--pdm-radius-sm);
  font-size: 13px; line-height: 1.5; margin-bottom: 20px;
}
.pdm-alert-success { background: var(--pdm-green-dim); border: 1px solid rgba(39,174,96,.3); color: #2ecc71; }
.pdm-alert-error   { background: var(--pdm-red-dim);   border: 1px solid rgba(231,76,60,.3);  color: #e74c3c; }
.pdm-alert-info    { background: var(--pdm-blue-dim);  border: 1px solid rgba(61,139,255,.3); color: #74b5ff; }
.pdm-alert-gold    { background: var(--pdm-gold-dim);  border: 1px solid rgba(201,168,76,.3); color: var(--pdm-gold-light); }

/* ---- Badges ---- */
.pdm-badge {
  display: inline-flex; padding: 2px 9px; border-radius: 20px;
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .7px;
}
.pdm-badge-gold    { background: var(--pdm-gold-dim);  color: var(--pdm-gold);  border: 1px solid rgba(201,168,76,.25); }
.pdm-badge-green   { background: var(--pdm-green-dim); color: #2ecc71;          border: 1px solid rgba(39,174,96,.25); }
.pdm-badge-red     { background: var(--pdm-red-dim);   color: #e74c3c;          border: 1px solid rgba(231,76,60,.25); }
.pdm-badge-blue    { background: var(--pdm-blue-dim);  color: #74b5ff;          border: 1px solid rgba(61,139,255,.25); }
.pdm-badge-muted   { background: rgba(255,255,255,.05); color: var(--pdm-muted); border: 1px solid var(--pdm-border); }

/* ---- Divider ---- */
.pdm-divider { display: flex; align-items: center; gap: 14px; color: var(--pdm-muted2); font-size: 12px; margin: 22px 0; }
.pdm-divider::before, .pdm-divider::after { content: ''; flex: 1; height: 1px; background: var(--pdm-border); }

/* ---- Stats Card ---- */
.pdm-stat { background: var(--pdm-surface); border: 1px solid var(--pdm-border); border-radius: var(--pdm-radius); padding: 22px; }
.pdm-stat-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; color: var(--pdm-muted); margin: 0 0 8px; }
.pdm-stat-value { font-family: var(--pdm-serif); font-size: 28px; font-weight: 400; margin: 0; }

/* ---- Nav Bar ---- */
.pdm-nav {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--pdm-surface); border: 1px solid var(--pdm-border);
  border-radius: var(--pdm-radius); padding: 14px 22px; margin-bottom: 28px;
}
.pdm-nav-brand { display: flex; align-items: center; gap: 12px; }
.pdm-nav-logo {
  width: 38px; height: 38px; border-radius: 10px;
  background: linear-gradient(135deg, var(--pdm-gold), var(--pdm-gold-light));
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pdm-nav-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* ---- Domain Card ---- */
.pdm-domain-card {
  background: var(--pdm-surface); border: 1px solid var(--pdm-border);
  border-radius: var(--pdm-radius); overflow: hidden;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.pdm-domain-card:hover { border-color: var(--pdm-gold); transform: translateY(-4px); box-shadow: var(--pdm-shadow-lg); }
.pdm-domain-card-header {
  padding: 28px 24px 22px; position: relative; overflow: hidden;
}
.pdm-domain-card-body { padding: 18px 24px 22px; }
.pdm-domain-name { font-family: var(--pdm-serif); font-size: 19px; color: var(--pdm-text); margin: 8px 0 0; word-break: break-all; }
.pdm-domain-price { font-family: var(--pdm-serif); font-size: 22px; color: var(--pdm-gold); margin: 0; }

/* ---- Cart Table ---- */
.pdm-table { width: 100%; border-collapse: collapse; }
.pdm-table th { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; color: var(--pdm-muted); padding: 0 16px 14px; text-align: left; border-bottom: 1px solid var(--pdm-border); }
.pdm-table td { padding: 16px; border-bottom: 1px solid var(--pdm-border); font-size: 14px; color: var(--pdm-text); vertical-align: middle; }
.pdm-table tr:last-child td { border-bottom: none; }
.pdm-table tr:hover td { background: rgba(255,255,255,.02); }

/* ---- Order Summary ---- */
.pdm-order-summary { background: var(--pdm-surface2); border: 1px solid var(--pdm-border); border-radius: var(--pdm-radius); overflow: hidden; }
.pdm-order-summary-header { padding: 18px 22px; border-bottom: 1px solid var(--pdm-border); }
.pdm-order-row { display: flex; justify-content: space-between; padding: 12px 22px; border-bottom: 1px solid rgba(255,255,255,.04); font-size: 14px; }
.pdm-order-row:last-child { border-bottom: none; }
.pdm-order-total { display: flex; justify-content: space-between; padding: 16px 22px; background: var(--pdm-gold-dim); font-weight: 700; font-size: 16px; }

/* ---- Checkout Form ---- */
.pdm-checkout-section { margin-bottom: 28px; }
.pdm-checkout-section-title { font-family: var(--pdm-serif); font-size: 17px; color: var(--pdm-text); margin: 0 0 18px; display: flex; align-items: center; gap: 10px; }
.pdm-payment-method { padding: 14px 18px; border: 2px solid var(--pdm-border); border-radius: 10px; cursor: pointer; margin-bottom: 10px; transition: var(--pdm-transition); }
.pdm-payment-method:hover, .pdm-payment-method.active { border-color: var(--pdm-gold); background: var(--pdm-gold-dim); }
.pdm-payment-method label { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; font-weight: 500; }
.pdm-payment-method input[type=radio] { accent-color: var(--pdm-gold); width: 16px; height: 16px; }

/* ---- WooCommerce Overrides ---- */
.pdm-wrap .woocommerce, .pdm-wrap .woocommerce-page { color: var(--pdm-text) !important; }
.pdm-wrap .woocommerce h2, .pdm-wrap .woocommerce h3 { font-family: var(--pdm-serif) !important; color: var(--pdm-text) !important; }
.pdm-wrap .woocommerce-cart-form, .pdm-wrap .woocommerce-checkout { background: transparent !important; }
.pdm-wrap .woocommerce table.shop_table { border: 1px solid var(--pdm-border) !important; border-radius: var(--pdm-radius) !important; overflow: hidden !important; background: var(--pdm-surface) !important; }
.pdm-wrap .woocommerce table.shop_table th { background: var(--pdm-surface2) !important; border-bottom: 1px solid var(--pdm-border) !important; color: var(--pdm-muted) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .7px; padding: 14px 20px !important; }
.pdm-wrap .woocommerce table.shop_table td { background: transparent !important; color: var(--pdm-text) !important; border-bottom: 1px solid var(--pdm-border) !important; padding: 16px 20px !important; }
.pdm-wrap .woocommerce table.shop_table .cart-subtotal th,
.pdm-wrap .woocommerce table.shop_table .order-total th { color: var(--pdm-muted) !important; font-size: 12px !important; }
.pdm-wrap .woocommerce table.shop_table .order-total td { color: var(--pdm-gold) !important; font-family: var(--pdm-serif) !important; font-size: 22px !important; }
.pdm-wrap .woocommerce input[type=text], .pdm-wrap .woocommerce input[type=email],
.pdm-wrap .woocommerce input[type=tel], .pdm-wrap .woocommerce input[type=password],
.pdm-wrap .woocommerce input[type=number], .pdm-wrap .woocommerce select,
.pdm-wrap .woocommerce textarea {
  background: var(--pdm-bg) !important; border: 1px solid var(--pdm-border2) !important;
  color: var(--pdm-text) !important; border-radius: var(--pdm-radius-sm) !important;
  padding: 12px 15px !important; font-family: var(--pdm-font) !important;
}
.pdm-wrap .woocommerce label { color: var(--pdm-muted) !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .8px; }
.pdm-wrap .woocommerce #payment, .pdm-wrap .woocommerce-checkout #payment { background: var(--pdm-surface2) !important; border: 1px solid var(--pdm-border) !important; border-radius: var(--pdm-radius) !important; }
.pdm-wrap .woocommerce-checkout #payment .payment_methods { border-bottom: 1px solid var(--pdm-border) !important; }
.pdm-wrap .woocommerce-checkout #payment div.payment_box { background: var(--pdm-surface3) !important; color: var(--pdm-muted) !important; }
.pdm-wrap .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--pdm-surface3) !important; }
.pdm-wrap .woocommerce-checkout #payment label { color: var(--pdm-text) !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; }
.pdm-wrap #place_order, .pdm-wrap .woocommerce .button.alt, .pdm-wrap .woocommerce button[type=submit] {
  background: linear-gradient(135deg, var(--pdm-gold), var(--pdm-gold-light)) !important;
  color: #12100a !important; font-weight: 700 !important; border: none !important;
  border-radius: var(--pdm-radius-sm) !important; padding: 14px 28px !important;
  font-size: 15px !important; width: 100% !important; font-family: var(--pdm-font) !important;
  cursor: pointer !important; transition: var(--pdm-transition) !important;
}
.pdm-wrap .woocommerce .cart-collaterals { background: transparent !important; }
.pdm-wrap .woocommerce .cart-collaterals .cart_totals { background: var(--pdm-surface2) !important; border: 1px solid var(--pdm-border) !important; border-radius: var(--pdm-radius) !important; padding: 20px !important; }
.pdm-wrap .woocommerce .woocommerce-message { background: var(--pdm-green-dim) !important; border-color: var(--pdm-green) !important; color: #2ecc71 !important; }
.pdm-wrap .woocommerce .woocommerce-error { background: var(--pdm-red-dim) !important; border-color: var(--pdm-red) !important; color: #e74c3c !important; }
.pdm-wrap .woocommerce .woocommerce-info { background: var(--pdm-blue-dim) !important; border-color: var(--pdm-blue) !important; color: #74b5ff !important; }
.pdm-wrap .woocommerce .qty { text-align: center !important; max-width: 60px !important; }
.pdm-wrap .woocommerce a.remove { color: var(--pdm-red) !important; font-size: 18px !important; }
.pdm-wrap .woocommerce .coupon input[type=text] { width: auto !important; }
.pdm-wrap .woocommerce .button { background: var(--pdm-surface2) !important; color: var(--pdm-text) !important; border: 1px solid var(--pdm-border2) !important; border-radius: var(--pdm-radius-sm) !important; font-family: var(--pdm-font) !important; font-weight: 600 !important; width: auto !important; }
.pdm-wrap .woocommerce .checkout_coupon .button, .pdm-wrap .woocommerce .update_cart { width: auto !important; }
.pdm-wrap .woocommerce-form-login, .pdm-wrap .woocommerce-shipping-calculator { background: var(--pdm-surface2) !important; border: 1px solid var(--pdm-border) !important; border-radius: var(--pdm-radius) !important; padding: 20px !important; }
.pdm-wrap .woocommerce .shop_table tfoot tr:first-child th, .pdm-wrap .woocommerce .shop_table tfoot tr:first-child td { border-top: 2px solid var(--pdm-border2) !important; }
/* Column widths in cart */
.pdm-wrap .woocommerce table.cart .product-thumbnail { width: 60px; }
.pdm-wrap .woocommerce table.cart .product-name { font-weight: 600; }
/* Step indicator for checkout */
.pdm-steps { display: flex; gap: 0; margin-bottom: 32px; }
.pdm-step { flex: 1; text-align: center; padding: 14px; border-bottom: 2px solid var(--pdm-border); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; color: var(--pdm-muted); }
.pdm-step.active { border-bottom-color: var(--pdm-gold); color: var(--pdm-gold); }
.pdm-step.done { border-bottom-color: var(--pdm-green); color: var(--pdm-green); }
/* Scroll smooth for in-page links */
html { scroll-behavior: smooth; }
