/* =============================================================
   PRIME PEPTIDES UK - WORDPRESS / WOOCOMMERCE LAYER
   Loaded after style.css. Covers what the static build had no
   equivalent for: cart, checkout, account, editor content and
   the admin bar offset.
   ============================================================= */

/* ---------- Admin bar ---------- */
body.admin-bar .header { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar .header { top: 46px; }
}

/* ---------- Editor content inside .panel ---------- */
.panel > h2:first-child { margin-top: 0; }
.panel p + h2,
.panel ul + h2,
.panel ol + h2 { margin-top: 26px; }
.panel h3 {
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-size: 1.06rem;
    margin: 22px 0 8px;
    color: var(--ink);
}
.panel ul,
.panel ol { margin: 12px 0 12px 20px; }
.panel li { margin-bottom: 7px; line-height: 1.65; }
.panel table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 0.92rem;
}
.panel table th,
.panel table td {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
}
.panel blockquote {
    margin: 18px 0;
    padding: 14px 18px;
    border-left: 3px solid var(--red);
    background: var(--soft);
    border-radius: 0 8px 8px 0;
}
/* Buttons carry their own colours; only style genuine inline links here. */
.panel a:not([class*="btn"]) { color: var(--red); text-decoration: none; }
.panel a:not([class*="btn"]):hover { text-decoration: underline; }

/* ---------- Product card busy state ---------- */
.btn.is-busy { opacity: 0.6; pointer-events: none; }

/* ---------- WooCommerce shells ---------- */
.wc-page {
    max-width: 1120px;
    margin: 0 auto;
}
.wc-page .woocommerce { font-size: 0.95rem; }

.wc-page table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 28px;
}
.wc-page table.shop_table th {
    background: var(--soft);
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    text-align: left;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
}
.wc-page table.shop_table td {
    padding: 16px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}
.wc-page table.shop_table tr:last-child td { border-bottom: 0; }
.wc-page table.shop_table img { width: 58px; height: auto; border-radius: 8px; }
.wc-page .product-name a { color: var(--ink); font-weight: 600; text-decoration: none; }
.wc-page .product-name a:hover { color: var(--red); }
.wc-page .amount { font-family: var(--font-mono, 'JetBrains Mono', monospace); font-weight: 600; }

.wc-page .quantity input.qty {
    width: 66px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: center;
    font-family: inherit;
}
.wc-page a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--red-tint);
    color: var(--red) !important;
    font-size: 1.1rem;
    line-height: 1;
    text-decoration: none;
}
.wc-page a.remove:hover { background: var(--red); color: #fff !important; }

.wc-page .cart-collaterals { display: grid; gap: 22px; }
.wc-page .cart_totals {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
    max-width: 460px;
    margin-left: auto;
}
.wc-page .cart_totals h2 {
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-size: 1.1rem;
    margin: 0 0 14px;
}
.wc-page .cart_totals table { border: 0; margin: 0; }
.wc-page .cart_totals th,
.wc-page .cart_totals td { background: transparent; padding: 11px 0; text-transform: none; font-size: 0.92rem; letter-spacing: 0; }
.wc-page .cart_totals tr.order-total th,
.wc-page .cart_totals tr.order-total td { font-size: 1.05rem; border-bottom: 0; }

.wc-page .button,
.wc-page button.button,
.wc-page input.button,
.wc-page a.button,
.wc-page .checkout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 24px;
    border: 0;
    border-radius: 10px;
    background: var(--red);
    color: #fff;
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: filter 0.18s ease;
}
.wc-page .button:hover,
.wc-page .checkout-button:hover { filter: brightness(1.08); color: #fff; }
.wc-page .checkout-button { width: 100%; margin-top: 8px; }

/* Checkout */
.wc-page .col2-set { display: grid; gap: 28px; }
@media (min-width: 900px) {
    .wc-page form.checkout { display: grid; grid-template-columns: 1.2fr 0.9fr; gap: 34px; align-items: start; }
    .wc-page form.checkout #customer_details { grid-column: 1; }
    .wc-page form.checkout #order_review_heading,
    .wc-page form.checkout #order_review { grid-column: 2; }
}
.wc-page h3, .wc-page #order_review_heading {
    font-family: var(--font-display, 'Space Grotesk', sans-serif);
    font-size: 1.15rem;
    margin: 0 0 16px;
}
.wc-page .form-row { display: block; margin-bottom: 16px; }
.wc-page .form-row label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
}
.wc-page .form-row .required { color: var(--red); }
.wc-page .input-text,
.wc-page select,
.wc-page textarea,
.wc-page .select2-container .select2-selection--single {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-family: inherit;
    font-size: 0.94rem;
    background: #fff;
    color: var(--ink);
}
.wc-page .input-text:focus,
.wc-page select:focus,
.wc-page textarea:focus {
    outline: 2px solid var(--red);
    outline-offset: 1px;
    border-color: transparent;
}
.wc-page #order_review {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
}
/* Payment method cards are styled in checkout.css (.pp-paymethod). */
.wc-page .pp-ruo-confirm {
    margin: 16px 0;
    padding: 14px 16px;
    background: var(--soft);
    border: 1px solid var(--border);
    border-radius: 10px;
}
.wc-page .pp-ruo-confirm label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-weight: 500;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--muted);
}
.wc-page .pp-ruo-confirm input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; width: auto; }

.pp-checkout-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    font-size: 0.8rem;
    color: var(--muted);
}
.pp-checkout-trust span { display: inline-flex; align-items: center; gap: 6px; }
.pp-checkout-trust svg { width: 15px; height: 15px; color: var(--red); }

/* Notices */
.wc-page .woocommerce-message,
.wc-page .woocommerce-info,
.wc-page .woocommerce-error {
    list-style: none;
    margin: 0 0 22px;
    padding: 14px 18px;
    border-radius: 10px;
    border-left: 3px solid var(--red);
    background: var(--soft);
    font-size: 0.9rem;
}
.wc-page .woocommerce-error { border-left-color: #C8102E; color: #8A0B20; }
.wc-page .woocommerce-message { border-left-color: var(--green, #12805C); }

/* Order received / account */
.wc-page .woocommerce-order-overview {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding: 20px;
    margin: 0 0 26px;
    background: var(--soft);
    border-radius: 14px;
}
.wc-page .woocommerce-order-overview li {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--muted);
}
.wc-page .woocommerce-order-overview li strong {
    display: block;
    margin-top: 4px;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0;
    color: var(--ink);
}
.wc-page .woocommerce-MyAccount-navigation ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0 0 24px;
}
.wc-page .woocommerce-MyAccount-navigation a {
    display: inline-block;
    padding: 9px 16px;
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 0.86rem;
    color: var(--muted);
    text-decoration: none;
}
.wc-page .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--navy, #0B1F3A);
    border-color: transparent;
    color: #fff;
}

/* Pagination on archive fallbacks */
.pagination, .navigation.pagination { margin-top: 32px; display: flex; justify-content: center; }
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    margin: 0 3px;
    border: 1px solid var(--border);
    border-radius: 9px;
    color: var(--muted);
    text-decoration: none;
    font-size: 0.9rem;
}
.page-numbers.current { background: var(--navy, #0B1F3A); border-color: transparent; color: #fff; }
