/*
Theme Name: PCP by DeMenso Sverige
Description: PCP by DeMenso Sverige is a high-performance, minimalist WordPress theme engineered by DeMenso Sverige. Rooted in the foundation of European Values // Svensk Tradition, our design philosophy emphasizes reliability, clean aesthetics, and Scandinavian precision.
This theme is purpose-built for creators who demand a perfect balance between blazing-fast performance and total visual flexibility. PCP by DeMenso Sverige is fully optimized for Accessibility (WCAG), ensuring your website is inclusive and user-friendly from the very first line of code. Its lightweight architecture makes it an ideal choice for high-end e-commerce (B2B/B2C) and sophisticated corporate platforms.
Inspired by Swedish minimalism, the interface is clutter-free and intuitive, allowing your content to take center stage. Build your digital future with Scandinavian expertise. We invite you to contact our team to tailor this powerful tool to your specific business needs. Visit us at www.demenso.se and let's create something exceptional.
Author: DeMenso Sverige
Author URI: https://demenso.se
Version: 1.0.0
Text Domain: pcp-by-demenso-sverige
Tags: pcp, demenso, demenso-sverige, accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, ecommerce-ready, high-performance, translation-ready, clean-design
*/

:root {
    /* Brand Colors */
    --brand-navy: #0f2b4c;
    /* Approximated based on "Part Center Poznan" logo usually having a deep blue */
    --brand-yellow: #ffc400;
    /* Standard strong yellow */
    --brand-yellow-hover: #e6b000;
    --white: #ffffff;
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-800: #1f2937;
    --gray-900: #111827;

    /* Spacing */
    --container-width: 1440px;
    --header-height: auto;

    /* PCP Mappings (User Request Compatibility) */
    --pcp-navy: var(--brand-navy);
    --pcp-yellow: var(--brand-yellow);
    --pcp-white: var(--white);
    --pcp-gray-50: var(--gray-50);
    --pcp-gray-100: var(--gray-100);
    --pcp-gray-200: var(--gray-200);
    --pcp-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* Reset & Base */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: var(--gray-50);
    color: var(--gray-800);
    line-height: 1.5;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

ul {
    list-style: none;
}

button {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

/* Accessibility: Focus Indicators */
:focus-visible {
    outline: 2px solid var(--brand-yellow);
    outline-offset: 2px;
}

img {
    max-width: 100%;
    height: auto;
}

/* Utilities (Mirroring some Tailwind classes used in React) */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 1rem;
}

.pcp-page-full-width {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* =========================================
   UNIFIED BUTTON STYLES (ATOM)
   ========================================= */

.pcp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 0.75rem;
    /* 12px */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 0;
    /* Sharp corners style */
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.2;
}

.pcp-btn--sm {
    padding: 0.4rem 0.8rem;
    font-size: 0.625rem;
    /* 10px */
    gap: 0.35rem;
}

.pcp-btn--icon {
    padding: 0;
}

/* 1. Primary (Yellow / Navy) */
.pcp-btn--primary {
    background-color: var(--brand-yellow) !important;
    color: var(--brand-navy) !important;
    border: 1px solid var(--brand-yellow) !important;
}

.pcp-btn--primary:hover {
    background-color: var(--brand-yellow-hover);
    border-color: var(--brand-yellow-hover);
    color: var(--brand-navy);
}

/* 2. Secondary (Navy / White) */
.pcp-btn--secondary {
    background-color: var(--brand-navy);
    color: var(--white);
    border: 1px solid var(--brand-navy);
}

.pcp-btn--secondary:hover {
    background-color: #1a4270;
    /* Slightly lighter navy */
    border-color: #1a4270;
    color: var(--white);
}

/* 3. Outline (Transparent / Navy Border) */
.pcp-btn--outline {
    background-color: transparent;
    color: var(--brand-navy);
    border: 1px solid var(--brand-navy);
}

.pcp-btn--outline:hover {
    background-color: var(--brand-navy);
    color: var(--white);
}

/* 4. White (White / Navy - for dark backgrounds) */
.pcp-btn--white {
    background-color: var(--white);
    color: var(--brand-navy);
    border: 1px solid var(--white);
}

.pcp-btn--white:hover {
    background-color: var(--gray-100);
    border-color: var(--gray-100);
    color: var(--brand-navy);
}

/* 5. Link (Underlined - matching Section Headers) */
.pcp-btn--link {
    background-color: transparent;
    color: var(--brand-navy);
    border: none;
    border-bottom: 2px solid rgba(15, 43, 76, 0.2);
    padding: 0 0 7px 0;
    /* Minimal padding */
    height: auto;
    /* Override base height */
    letter-spacing: 0.15em;
    line-height: normal;
}

.pcp-btn--link:hover {
    background-color: transparent;
    border-color: var(--brand-yellow);
    color: var(--brand-navy);
}

/* 6. Outline White (Transparent / White Border) */
.pcp-btn--outline-white {
    background-color: transparent;
    color: var(--white);
    border: 1px solid var(--white);
}

.pcp-btn--outline-white:hover {
    background-color: var(--white);
    color: var(--brand-navy);
}

.w-full {
    width: 100%;
}

/* Header Styles */
.site-header {
    position: relative;
    z-index: 40;
}

@media print {
    .site-header {
        display: none;
    }
}

/* Top Bar */
.top-bar {
    background-color: var(--brand-navy);
    color: var(--white);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.625rem 0;
    /* 2.5 */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: none;
}

@media (min-width: 768px) {
    .top-bar {
        display: block;
    }
}

.top-bar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left {
    display: flex;
    gap: 1.5rem;
    /* 6 */
    color: var(--gray-300);
}

.top-bar-socials {
    display: flex;
    gap: 1rem;
    /* 4 */
}

.top-bar-socials a:hover {
    color: var(--brand-yellow);
}

/* Main Header */
.main-header {
    background-color: var(--brand-navy);
    color: var(--white);
    padding: 1.5rem 0;
    /* 6 */
}

.main-header-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .main-header-inner {
        flex-direction: row;
        gap: 2.5rem;
        /* 10 */
    }
}

.header-logo img {
    height: 3.5rem;
    /* 14 */
    object-fit: contain;
}

@media (min-width: 1024px) {
    .header-logo img {
        height: 4rem;
        /* 16 */
    }
}

/* Search Bar */
.header-search {
    flex: 1;
    width: 100%;
    position: relative;
    z-index: 50;
}

.search-form {
    display: flex;
    height: 3rem;
    /* 12 */
    background-color: var(--white);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    /* shadow-xl */
    border-radius: 0;
    /* sharp corners */
    overflow: hidden;
    border: 1px solid var(--gray-300);
    transition: all 0.2s;
}

.search-form:focus-within {
    border-color: var(--brand-yellow);
    box-shadow: 0 0 0 2px rgba(255, 196, 0, 0.2);
}

.search-input {
    flex: 1;
    padding: 0 1.25rem;
    /* 5 */
    color: var(--gray-900);
    outline: none;
    border: none;
    font-weight: 500;
    font-size: 0.875rem;
    /* sm */
    border-radius: 0;
}

.search-form .search-submit {
    border-radius: 0;
}

/* Header Icons */
.header-icons {
    display: flex;
    align-items: center;
    gap: 2rem;
    /* 8 */
    flex-shrink: 0;
}

.icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    /* 1.5 */
    position: relative;
    color: white;
}

.icon-link:hover {
    color: var(--brand-yellow);
}

.icon-label {
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    /* tracking-tighter */
    display: none;
}

@media (min-width: 1024px) {
    .icon-label {
        display: block;
    }
}

.icon-badge {
    position: absolute;
    top: -0.5rem;
    right: -0.5rem;
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
    font-size: 10px;
    font-weight: 900;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 2px solid var(--brand-navy);
}

/* Navbar */
.main-navbar {
    background-color: var(--brand-navy);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
}

.navbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 3.5rem;
    /* 14 */
}

/* Categories Trigger */
.categories-trigger-wrapper {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

@media (min-width: 1024px) {
    .categories-trigger-wrapper {
        width: 280px;
        flex-shrink: 0;
    }
}

.main-navbar .categories-trigger {
    /* Styles now handled by .pcp-btn .pcp-btn--primary */
    height: 100%;
    width: 100%;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 900;
    letter-spacing: 0.025em;
}

/* Desktop Nav */
.desktop-nav {
    display: none;
    align-items: center;
    gap: 2rem;
    /* 8 */
    color: var(--white);
    font-size: 0.875rem;
    /* sm */
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    /* wide */
    height: 100%;
    padding-left: 1.5rem;
    /* 6 */
}

@media (min-width: 1024px) {
    .desktop-nav {
        display: flex;
    }
}

.desktop-nav a {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
}

.desktop-nav a:hover {
    color: var(--brand-yellow);
}

/* Support Info */
.support-info {
    display: none;
    align-items: center;
    gap: 0.75rem;
    /* 3 */
    color: var(--white);
    font-weight: 700;
    margin-left: auto;
}

@media (min-width: 1280px) {
    .support-info {
        display: flex;
    }
}

.support-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
    display: flex;
    align-items: center;
    justify-content: center;
}



@media (min-width: 1024px) {
    .navbar-inner .mobile-toggle {
        display: none;
    }
}

/* Mobile Menu */
.mobile-menu {
    display: none;
    /* JS will toggle */
    background-color: var(--brand-navy);
    color: var(--white);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1.5rem;
    /* 6 */
}

.mobile-menu.open {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

.mobile-menu a {
    display: block;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
}

.mobile-menu a.highlight {
    color: var(--brand-yellow);
    border-bottom: none;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* -------------------------------------------------------------------------- */
/* REFINEMENTS & MISSING STYLES (Appended)                                    */
/* -------------------------------------------------------------------------- */

/* REFINEMENT: Single Product Page Body Background */
body.single-product {
    background-color: var(--white);
}

/* REFINEMENT: Cart Form Spacing */
.woocommerce div.product form.cart {
    margin-bottom: 0.5rem !important;
}

/* REFINEMENT: Smaller Desktop Menu */
.desktop-nav {
    font-size: 0.75rem !important;
    /* Force override */
    gap: 1.5rem !important;
}

/* REFINEMENT: Categories Trigger */
.categories-trigger-wrapper {
    width: 250px !important;
}

.categories-trigger {
    font-size: 0.8125rem !important;
    /* 13px */
    padding: 0 1.25rem !important;
}

/* REFINEMENT: Support Info */
.support-info {
    font-size: 0.8125rem !important;
    /* 13px */
}

.support-icon {
    width: 1.75rem !important;
    height: 1.75rem !important;
}

/* CATEGORIES DROPDOWN */
.categories-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 250px;
    background-color: var(--white);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s;
    z-index: 999;
    border-bottom: 4px solid var(--brand-yellow);
    transform: translateY(10px);
}

.categories-trigger-wrapper:hover .categories-dropdown,
.categories-dropdown.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.categories-dropdown a {
    display: block;
    padding: 0.75rem 1.5rem;
    color: var(--gray-600);
    font-size: 0.8125rem;
    font-weight: 700;
    border-bottom: 1px solid var(--gray-100);
    transition: all 0.2s;
    text-transform: none;
}

.categories-dropdown a:hover {
    background-color: var(--gray-50);
    color: var(--brand-navy);
    padding-left: 1.75rem;
}

/* LIVE SEARCH RESULTS */
.search-results-container {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background-color: var(--white);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1px solid var(--gray-200);
    z-index: 999;
    border-radius: 0 0 4px 4px;
    display: none;
}

.search-results-header {
    background-color: var(--gray-50);
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-results-title {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--gray-600);
    letter-spacing: 0.05em;
}

.search-results-close {
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--brand-navy);
}

.search-result-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--gray-100);
    transition: background-color 0.15s;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-item:hover {
    background-color: var(--gray-50);
}

.search-result-image {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border: 1px solid var(--gray-100);
    background-color: var(--white);
    padding: 2px;
}

.search-result-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.search-result-content {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.search-result-title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--brand-navy);
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}

.search-result-sku {
    font-size: 9px;
    color: var(--gray-500);
    font-weight: 600;
    letter-spacing: 0.025em;
}

.search-result-price-block {
    text-align: right;
    flex-shrink: 0;
}

.search-result-price {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--brand-navy);
}

.search-result-tax {
    font-size: 8px;
    color: var(--gray-400);
    font-weight: 700;
    text-transform: uppercase;
}

/* Categories Menu List (Dynamic WP Menu) */
.categories-dropdown ul.categories-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.categories-dropdown ul.categories-menu-list li a {
    display: block;
    padding: 0.75rem 1.5rem;
    color: var(--gray-600);
    font-size: 0.8125rem;
    font-weight: 700;
    border-bottom: 1px solid var(--gray-100);
    transition: all 0.2s;
    text-transform: none;
}

.categories-dropdown ul.categories-menu-list li:last-child a {
    border-bottom: none;
}

.categories-dropdown ul.categories-menu-list li a:hover {
    background-color: var(--gray-50);
    color: var(--brand-navy);
    padding-left: 1.75rem;
}

/* MAIN MENU LIST (Horizontal) */
.desktop-nav {
    display: flex;
    /* Ensure container is flex */
    align-items: center;
}

.desktop-nav-list {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.75rem;
    /* 12px */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    color: var(--white);
}

.desktop-nav-list li {
    height: 100%;
    display: flex;
    align-items: center;
}

.desktop-nav-list li a {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
    color: inherit;
    transition: color 0.2s;
}

.desktop-nav-list li a:hover {
    color: var(--brand-yellow);
}

/* =========================================
   HOME PAGE STYLES
   ========================================= */

.pcp-home-container {
    background-color: var(--white);
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.pcp-home-grid {
    padding-top: 20px;
    padding-bottom: 2rem;
}

.pcp-home-intro {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 4rem;
}

@media (min-width: 992px) {
    .pcp-home-intro {
        flex-direction: row;
    }
}

.pcp-sidebar-placeholder {
    display: none;
}

@media (min-width: 992px) {
    .pcp-sidebar-placeholder {
        display: block;
        width: 250px;
        flex-shrink: 0;
    }
}

.pcp-hero-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* HERO SLIDER */
.pcp-hero-slider {
    position: relative;
    background-color: var(--brand-navy);
    min-height: 440px;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

@media (min-width: 992px) {
    .pcp-hero-slider {
        min-height: 500px;
    }
}

.pcp-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease-in-out;
    pointer-events: none;
}

.pcp-hero-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.pcp-slide-bg-wrapper {
    position: absolute;
    inset: 0;
}

.pcp-slide-overlay-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.07;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    z-index: 5;
    pointer-events: none;
}

.pcp-slide-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
    mix-blend-mode: luminosity;
    transform: scale(1.02);
    transition: transform 8s ease-out;
}

.pcp-hero-slide.active .pcp-slide-img {
    transform: scale(1);
}

.pcp-slide-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(15, 43, 76, 0.85) 0%,
            rgba(15, 43, 76, 0.7) 50%,
            rgba(15, 43, 76, 0.5) 100%);
    z-index: 10;
}

.pcp-slide-content {
    position: relative;
    z-index: 20;
    width: 100%;
    padding: 3rem 2rem;
    padding-bottom: 5rem;
    color: var(--white);
}

@media (min-width: 992px) {
    .pcp-slide-content {
        width: 60%;
        padding: 3rem 4rem;
        padding-bottom: 5rem;
    }
}

.pcp-slide-tag-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.pcp-tag-line {
    width: 2.5rem;
    height: 4px;
    background-color: var(--brand-yellow);
}

.pcp-tag-text {
    color: var(--brand-yellow);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    font-size: 0.625rem;
}

.pcp-slide-title {
    font-size: 2rem;
    font-weight: 900;
    color: var(--white);
    margin-bottom: 1.5rem;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.025em;
}

@media (min-width: 992px) {
    .pcp-slide-title {
        font-size: 2.5rem;
    }
}

.pcp-slide-title .text-brand-yellow {
    color: var(--brand-yellow);
}

.pcp-slide-desc {
    color: var(--gray-200);
    font-size: 0.75rem;
    margin-bottom: 2rem;
    max-width: 28rem;
    font-weight: 500;
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pcp-slide-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}



/* SLIDER CONTROLS - Arrows at bottom right */
.pcp-slider-arrow {
    position: absolute;
    bottom: 2rem;
    z-index: 30;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-navy);
    background: rgba(255, 255, 255, 0.3);
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}

.pcp-slider-arrow:hover {
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
}

.pcp-arrow-prev {
    right: 5rem;
}

.pcp-arrow-next {
    right: 2rem;
    background-color: var(--brand-yellow);
}

@media (max-width: 767px) {
    .pcp-slider-arrow {
        width: 2.5rem;
        height: 2.5rem;
    }

    .pcp-arrow-prev {
        right: 4.5rem;
    }

    .pcp-arrow-next {
        right: 1.5rem;
    }
}

.pcp-slider-dots {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    z-index: 30;
    display: flex;
    gap: 0.75rem;
}

@media (min-width: 992px) {
    .pcp-slider-dots {
        left: 4rem;
    }
}

.pcp-slider-dot {
    height: 4px;
    width: 1.25rem;
    background-color: rgba(255, 255, 255, 0.3);
    transition: all 0.3s;
    border: none;
    padding: 0;
    cursor: pointer;
}

.pcp-slider-dot:hover {
    background-color: rgba(255, 255, 255, 0.6);
}

.pcp-slider-dot.active {
    width: 2rem;
    background-color: var(--brand-yellow);
}

/* BENEFITS BAR */
.pcp-benefits-bar {
    display: grid;
    grid-template-columns: 1fr;
    background-color: rgba(249, 250, 251, 0.5);
    border: 1px solid var(--gray-100);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

@media (min-width: 768px) {
    .pcp-benefits-bar {
        grid-template-columns: repeat(3, 1fr);
    }
}

.pcp-benefit-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 2rem;
    border-bottom: 1px solid var(--gray-100);
    transition: background-color 0.2s;
}

.pcp-benefit-item:last-child {
    border-bottom: none;
}

.pcp-benefit-item:hover {
    background-color: var(--white);
}

@media (min-width: 768px) {
    .pcp-benefit-item {
        border-bottom: none;
        border-right: 1px solid var(--gray-100);
    }

    .pcp-benefit-item:last-child {
        border-right: none;
    }
}

.pcp-benefit-icon {
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-navy);
    flex-shrink: 0;
    transition: all 0.2s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pcp-benefit-item:hover .pcp-benefit-icon {
    background-color: var(--brand-yellow);
    border-color: var(--brand-yellow);
}

.pcp-benefit-text h4 {
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    margin: 0 0 0.25rem;
}

.pcp-benefit-text p {
    font-size: 0.625rem;
    color: var(--gray-600);
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: 0.025em;
}

/* SECTIONS */
.pcp-sections-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.pcp-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.pcp-section-title-wrapper {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.pcp-section-icon {
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-navy);
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pcp-title-col h2 {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    line-height: 1;
    margin: 0 0 0.5rem;
}

@media (min-width: 992px) {
    .pcp-title-col h2 {
        font-size: 2rem;
    }
}

.pcp-title-underline {
    width: 3rem;
    height: 5px;
    background-color: var(--brand-yellow);
}

.pcp-section-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--brand-navy);
    border-bottom: 2px solid rgba(15, 43, 76, 0.2);
    padding-bottom: 0.25rem;
    letter-spacing: 0.15em;
    transition: all 0.2s;
    flex-shrink: 0;
    text-decoration: none;
}

.pcp-section-link:hover {
    border-color: var(--brand-yellow);
}

.pcp-product-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

@media (min-width: 640px) {
    .pcp-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1280px) {
    .pcp-product-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* WHY US BANNER */
.pcp-why-us-banner {
    background-color: var(--brand-navy);
    padding: 2.5rem;
    color: var(--white);
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

@media (min-width: 992px) {
    .pcp-why-us-banner {
        padding: 5rem;
    }
}

.pcp-banner-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.03;
    pointer-events: none;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
}

.pcp-banner-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
    position: relative;
    z-index: 10;
}

@media (min-width: 992px) {
    .pcp-banner-content {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }
}

.pcp-banner-text-col h3 {
    font-size: 1.75rem;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.1;
    margin: 0 0 1.5rem;
    color: var(--white);
}

@media (min-width: 992px) {
    .pcp-banner-text-col h3 {
        font-size: 2.25rem;
    }
}

.pcp-banner-text-col h3 .text-brand-yellow {
    color: var(--brand-yellow);
}

.pcp-banner-text-col>p {
    color: var(--gray-300);
    margin: 0 0 2rem;
    line-height: 1.6;
    font-weight: 500;
}

.pcp-banner-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .pcp-banner-features {
        grid-template-columns: 1fr 1fr;
    }
}

.pcp-banner-feature {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.pcp-feature-icon {
    background-color: rgba(255, 196, 0, 0.1);
    padding: 0.5rem;
    border-radius: 2px;
    color: var(--brand-yellow);
    flex-shrink: 0;
}

.pcp-banner-feature span {
    font-size: 0.6875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

.pcp-banner-image-col img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    opacity: 0.5;
    filter: grayscale(100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

@media (min-width: 992px) {
    .pcp-banner-image-col img {
        aspect-ratio: 1/1;
    }
}

/* BRANDS STRIP */
.pcp-brands-strip {
    padding: 3rem 0;
    border-top: 1px solid var(--gray-100);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    opacity: 0.5;
    filter: grayscale(100%);
    transition: all 0.5s;
}

.pcp-brands-strip:hover {
    opacity: 1;
    filter: none;
}

@media (min-width: 992px) {
    .pcp-brands-strip {
        justify-content: space-between;
    }
}

.pcp-brand-name {
    font-size: 1.5rem;
    font-weight: 900;
    font-style: italic;
    color: var(--brand-navy);
    letter-spacing: -0.025em;
}



/* =========================================
   PRODUCT CARD STYLES
   ========================================= */

.pcp-product-card {
    background-color: var(--white);
    border: 1px solid var(--gray-100);
    display: flex;
    flex-direction: column;
    transition: all 0.3s;
    position: relative;
}

.pcp-product-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border-color: var(--gray-200);
}

/* Image Wrapper */
.pcp-card-image-wrapper {
    position: relative;
    background-color: var(--gray-50);
    aspect-ratio: 4/3;
    overflow: hidden;

}

@media (min-width: 1024px) {
    .pcp-card-image-wrapper {
        min-height: 430px;
    }
}

.pcp-card-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.5s;
    padding: 1rem;
}

.pcp-product-card:hover .pcp-card-image {
    transform: scale(1.05);
}

/* Action Buttons */
.pcp-card-actions {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    opacity: 0;
    transform: translateX(10px);
    transition: all 0.3s;
}

.pcp-product-card:hover .pcp-card-actions {
    opacity: 1;
    transform: translateX(0);
}

.pcp-card-action-btn {
    width: 2.25rem;
    height: 2.25rem;
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-500);
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Support for DM WCAG Plugin Card */
.dm-wcag-product-card__actions {
    z-index: 30;
}

.dm-wcag-product-card:hover .pcp-card-actions {
    opacity: 1;
    transform: translateX(0);
}

.dm-wcag-product-card .dm-add-to-compare {
    position: static !important;
    /* Override absolute from plugin CSS when inside group */
    width: auto !important;
    height: auto !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.dm-wcag-product-card .pcp-card-action-btn {
    background-color: var(--white) !important;
    color: var(--gray-500) !important;
    border: 1px solid var(--gray-200) !important;
}

.dm-wcag-product-card .pcp-card-action-btn:hover {
    background-color: var(--brand-yellow) !important;
    color: var(--brand-navy) !important;
}

.pcp-card-action-btn:hover {
    background-color: var(--brand-yellow);
    border-color: var(--brand-yellow);
    color: var(--brand-navy);
}

/* Sale Badge */
.pcp-sale-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background-color: #dc2626;
    color: var(--white);
    font-size: 0.6875rem;
    font-weight: 900;
    padding: 0.375rem 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Card Content */
.pcp-card-content {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Category */
.pcp-card-category {
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gray-500);
    margin-bottom: 0.5rem;
}

/* Title */
.pcp-card-title {
    font-size: 0.8125rem;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    line-height: 1.3;
    margin: 0 0 1rem;
    letter-spacing: 0.02em;
    flex: 1;
}

.pcp-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.pcp-card-title a:hover {
    color: var(--brand-yellow);
}

/* Price */
.pcp-card-price-wrapper {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.pcp-card-price {
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--brand-navy);
    letter-spacing: -0.025em;
}

.pcp-card-old-price {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--gray-400);
    text-decoration: line-through;
}

/* Lowest Price Info */
.pcp-card-lowest-price {
    font-size: 0.5625rem;
    color: var(--gray-500);
    margin: 0 0 1rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

.pcp-card-lowest-price strong {
    color: var(--gray-700);
}

/* Add to Cart Button - Now using unified .pcp-btn--primary */
.pcp-card-add-to-cart {
    margin-top: auto;
    width: 100%;
}

.pcp-card-add-to-cart svg {
    flex-shrink: 0;
}

/* WooCommerce Grid Override */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr);
    }
}

.woocommerce ul.products li.product {
    margin: 0;
    padding: 0;
    width: 100%;
}

/* =========================================
   Footer Styles
   ========================================= */

.pcp-footer {
    margin-top: auto;
    width: 100%;
    background-color: var(--brand-navy);
    color: var(--white);
}


/* Newsletter Section */
.pcp-newsletter-section {
    background-color: var(--brand-navy);
    padding: 4rem 0;
    /* Align with container padding */
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    /* border-y border-white/5 */
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.pcp-newsletter-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.03;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    pointer-events: none;
}

.pcp-newsletter-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    margin: 0 auto;
    position: relative;
    align-items: flex-start;
    /* Removed max-width to use parent container */
}

@media (min-width: 1280px) {

    /* xl breakpoint */
    .pcp-newsletter-wrapper {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        /* gap-12 = 3rem */
        align-items: center;
    }
}

/* Newsletter Info */
.pcp-newsletter-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    position: relative;
    z-index: 10;
}

.pcp-newsletter-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: rgba(255, 196, 0, 0.1);
    /* brand-yellow/10 */
    border: 1px solid rgba(255, 196, 0, 0.2);
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    width: fit-content;
    font-size: 0.625rem;
    /* 10px */
    font-weight: 900;
    color: var(--brand-yellow);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.pcp-badge-dot {
    position: relative;
    display: flex;
    width: 0.5rem;
    height: 0.5rem;
}

.pcp-badge-dot::before {
    content: "";
    position: absolute;
    display: inline-flex;
    height: 100%;
    width: 100%;
    border-radius: 50%;
    background-color: var(--brand-yellow);
    opacity: 0.75;
    animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.pcp-badge-dot::after {
    content: "";
    position: relative;
    display: inline-flex;
    border-radius: 50%;
    height: 0.5rem;
    width: 0.5rem;
    background-color: var(--brand-yellow);
}

@keyframes ping {

    75%,
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

.pcp-newsletter-info h2 {
    font-size: 1.875rem;
    /* 3xl */
    font-weight: 900;
    line-height: 1;
    margin: 0 0 1.5rem;
    color: var(--white);
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .pcp-newsletter-info h2 {
        font-size: 2.25rem;
        /* 4xl */
    }
}

.text-brand-yellow {
    color: var(--brand-yellow);
}

.pcp-newsletter-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 36rem;
    /* max-w-xl */
}

@media (min-width: 768px) {
    .pcp-newsletter-features {
        grid-template-columns: 1fr 1fr;
    }
}

.pcp-newsletter-feature {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--white);
    font-size: 0.625rem;
    /* 10px */
    font-weight: 700;
    text-transform: uppercase;
    background-color: rgba(255, 255, 255, 0.05);
    /* bg-white/5 */
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.2s;
}

.pcp-newsletter-feature:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.pcp-newsletter-feature svg {
    color: var(--brand-yellow);
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

/* Newsletter Form */
.pcp-newsletter-form-wrapper {
    width: 100%;
    max-width: 36rem;
    /* max-w-xl */
    position: relative;
    z-index: 10;
}

.pcp-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.pcp-newsletter-input-row {
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* shadow-2xl */
}

.pcp-newsletter-form-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    /* space-y-6 matches React */
}

@media (min-width: 768px) {
    .pcp-newsletter-input-row {
        flex-direction: row;
    }
}

.pcp-newsletter-input-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.pcp-newsletter-input-wrapper svg {
    position: absolute;
    left: 1rem;
    color: var(--brand-navy);
    opacity: 0.5;
    pointer-events: none;
    width: 18px;
    height: 18px;
}

.pcp-newsletter-input-wrapper input {
    width: 100%;
    height: 4rem;
    /* h-16 */
    padding: 1.25rem 1rem 1.25rem 3rem;
    border: none;
    background-color: var(--white);
    color: var(--brand-navy);
    font-size: 0.75rem;
    /* 12px */
    font-weight: 900;
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
}

.pcp-newsletter-input-wrapper input:focus {
    outline: none;
}

.pcp-newsletter-input-wrapper input::placeholder {
    color: var(--gray-400);
}

.pcp-newsletter-submit {
    /* Base styles handled by .pcp-btn .pcp-btn--primary */
    height: 4rem;
    padding: 0 2.5rem;
    box-shadow: 0 10px 30px rgba(255, 204, 0, 0.3);
}

.pcp-newsletter-submit svg {
    width: 1.25rem;
    height: 1.25rem;
    stroke-width: 3;
}

/* Consent Checkbox */
.pcp-newsletter-consent {
    position: relative;
    transition: transform 0.2s;
}

.pcp-checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.pcp-checkbox-wrapper input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.pcp-checkbox-custom {
    height: 1.5rem;
    /* w-6 h-6 */
    width: 1.5rem;
    background-color: transparent;
    border: 2px solid rgba(255, 255, 255, 0.2);
    position: relative;
    transition: all 0.2s;
    flex-shrink: 0;
}

.pcp-checkbox-wrapper:hover .pcp-checkbox-custom {
    border-color: var(--brand-yellow);
}

.pcp-checkbox-wrapper input:checked~.pcp-checkbox-custom {
    background-color: var(--brand-yellow);
    border-color: var(--brand-yellow);
}

.pcp-checkbox-custom:after {
    /* Checkmark handled by SVG in React, here using CSS shape */
    content: "";
    position: absolute;
    display: none;
    left: 7px;
    top: 3px;
    width: 6px;
    height: 12px;
    border: solid var(--brand-navy);
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.pcp-checkbox-wrapper input:checked~.pcp-checkbox-custom:after {
    display: block;
}

.pcp-consent-text {
    font-size: 0.625rem;
    /* 10px */
    font-weight: 700;
    color: var(--gray-400);
    text-transform: uppercase;
    line-height: 1.6;
    letter-spacing: -0.025em;
    transition: color 0.2s;
}

.pcp-checkbox-wrapper:hover .pcp-consent-text {
    color: var(--white);
}

/* Light background overrides for checkbox text */
.pcp-checkbox-wrapper.is-light:hover .pcp-consent-text {
    color: var(--brand-navy) !important;
}

.pcp-checkbox-wrapper.is-light .pcp-consent-text {
    color: var(--gray-600);
}

.pcp-consent-text a {
    color: rgba(255, 196, 0, 0.8);
    text-decoration: underline;
}

.pcp-consent-text a:hover {
    color: var(--brand-yellow);
}

/* Shake Animation for Validation */
.pcp-shake {
    animation: shake 0.5s cubic-bezier(.36, .07, .19, .97) both;
}

@keyframes shake {

    10%,
    90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%,
    80% {
        transform: translate3d(2px, 0, 0);
    }

    30%,
    50%,
    70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%,
    60% {
        transform: translate3d(4px, 0, 0);
    }
}

/* Security Badges */
.pcp-newsletter-badges {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.pcp-security-badge {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.5625rem;
    /* 9px */
    font-weight: 900;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.pcp-security-badge svg {
    color: var(--brand-yellow);
    width: 14px;
    height: 14px;
}

/* Success Message */
.pcp-newsletter-form-success {
    background-color: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.5);
    padding: 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.pcp-success-icon {
    width: 4rem;
    height: 4rem;
    background-color: #22c55e;
    border-radius: 50%;
    color: var(--brand-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.pcp-success-title {
    font-size: 1.125rem;
    /* lg */
    font-weight: 900;
    text-transform: uppercase;
    color: var(--white);
    margin: 0 0 0.25rem;
}

.pcp-success-text {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: rgba(187, 247, 208, 0.7);
    /* green-200/70 */
    letter-spacing: -0.025em;
    margin: 0;
}

/* Main Footer */
.pcp-footer-main {
    background-color: var(--brand-navy);
    color: var(--white);
    padding: 5rem 0 3rem;
    /* mt-20 mb-12 -> approx 5rem top, 3rem bot */
    border: none;
}

.pcp-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    /* gap-8 = 2rem */
    margin: 0 auto;
    /* Removed max-width */
}

@media (min-width: 768px) {
    .pcp-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .pcp-footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.pcp-footer-col h3 {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 1.5rem 0 1rem;
}

.pcp-footer-logo {
    display: block;
    margin-bottom: 2rem;
}

.pcp-footer-logo img {
    height: 3.5rem;
    width: auto;
    object-fit: contain;
    transition: transform 0.2s;
}

.pcp-footer-logo:hover img {
    transform: scale(1.05);
}

.pcp-company-name {
    font-size: 0.75rem;
    /* xs */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 1.5rem;
    color: var(--brand-yellow);
}

.pcp-footer-col h4 {
    font-size: 0.75rem;
    /* xs */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--white);
    margin: 0 0 2rem;
    padding-left: 1rem;
    border-left: 4px solid var(--brand-yellow);
    display: block;
    /* ensure block for border */
}

/* Remove ::before which was used for pipe */
.pcp-footer-col h4::before {
    display: none;
}

.pcp-contact-info p {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
    text-transform: uppercase;
}

.pcp-contact-info .pcp-footer-contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
    /* xs */
    color: var(--gray-400);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.025em;
}

.pcp-contact-info svg {
    color: var(--brand-yellow);
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

/* Footer Links */
.pcp-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pcp-footer-col ul li {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.pcp-footer-col ul a {
    color: var(--white);
    /* White based on code (actually no color specified in ul list, inherited text-white maybe? React says text-gray-300 overall but Col 2 text-xs font-bold uppercase...) -> Let's stick to Design */
    /* React: text-xs font-bold uppercase tracking-tight */
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0;
    /* Reset previous padding */
    transition: color 0.2s;
}

/* Yellow square bullet */
.pcp-footer-col ul a::before {
    display: none;
    /* Remove absolute bullet */
}

.pcp-footer-link-dot {
    display: inline-block;
    width: 6px;
    /* 1.5 tailwind units = 0.375rem? w-1.5 = 6px */
    height: 6px;
    background-color: var(--brand-yellow);
    transition: width 0.2s;
}

.pcp-footer-col ul a:hover .pcp-footer-link-dot {
    width: 12px;
    /* w-3 */
}

.pcp-footer-col ul a:hover {
    color: var(--brand-yellow);
}

/* Hours Card */
.pcp-hours-card {
    background-color: rgba(255, 255, 255, 0.05);
    padding: 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0;
    /* React doesn't specific rounding here so default none or small? React has border but no rounded class on these divs */
    transition: border-color 0.2s;
}

.pcp-hours-card:hover {
    border-color: rgba(255, 196, 0, 0.3);
}

.pcp-hours-label {
    display: block;
    font-size: 0.625rem;
    /* 10px */
    font-weight: 900;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
}

.pcp-hours-time {
    display: block;
    font-size: 0.875rem;
    /* sm */
    font-weight: 900;
    color: var(--white);
    letter-spacing: 0.1em;
}

/* Footer Bottom */
.pcp-footer-bottom {
    background-color: transparent;
    /* Part of the main footer bg */
    color: var(--gray-500);
    padding: 2.5rem 0;
    /* pt-10 */
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.pcp-footer-bottom-content {
    max-width: 1200px;
    margin: 0 auto;
    /* removed max-width */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    font-size: 0.625rem;
    /* 10px */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

@media (min-width: 768px) {
    .pcp-footer-bottom-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.pcp-footer-credits {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin: 0;
}

.pcp-credit-dot {
    width: 6px;
    height: 6px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
}

.pcp-footer-credits strong {
    color: var(--white);
    font-weight: normal;
    /* Inherit font-bold from container */
}

/* =========================================
   FAQ PAGE STYLES
   ========================================= */

.pcp-faq-container {
    background-color: var(--white);
    min-height: 80vh;
}

/* Breadcrumbs */
.pcp-breadcrumbs {
    padding: 1rem 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
}

.pcp-breadcrumbs-nav {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--gray-500);
}

.pcp-breadcrumbs-nav a:hover {
    color: var(--brand-navy);
}

.pcp-breadcrumb-sep {
    color: var(--gray-300);
}

.pcp-current-page {
    color: var(--brand-navy);
}

/* FAQ Hero */
.pcp-faq-hero {
    background-color: var(--brand-navy);
    padding: 4rem 2rem;
    position: relative;
    overflow: hidden;
    color: var(--white);
    margin-bottom: 2rem;
    border-radius: 0;
    /* No rounded corners as requested */
    text-align: center;
    /* Explicit centering */
}

.pcp-faq-hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pcp-faq-hero-pattern {
    position: absolute;
    inset: 0;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    opacity: 0.1;
    pointer-events: none;
}

.pcp-faq-hero-title {
    font-size: 2.5rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 0.5rem;
    text-align: center;
    width: 100%;
}

.pcp-faq-hero-subtitle {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--gray-300);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 2rem;
}

.pcp-faq-search-wrapper {
    max-width: 550px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 20;
}

/* Match Header Search Styles Exactly */
.pcp-faq-search-input-group {
    display: flex;
    height: 3rem;
    /* Match header */
    background: var(--white);
    border-radius: 0.125rem;
    /* rounded-sm */
    padding: 0;
    /* Reset padding */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--gray-300);
    overflow: hidden;
    transition: all 0.2s;
}

.pcp-faq-search-input-group:focus-within {
    border-color: var(--brand-yellow);
    box-shadow: 0 0 0 2px rgba(255, 196, 0, 0.2);
    transform: none;
    /* Remove previous transform */
}

.pcp-faq-search-input {
    flex: 1;
    border: none !important;
    background: transparent !important;
    padding: 0 1.25rem;
    /* Match header padding */
    font-size: 0.875rem;
    /* Match header font size */
    font-weight: 500;
    color: var(--gray-900);
    outline: none !important;
    box-shadow: none !important;
    margin: 0;
    height: 100%;
}

.pcp-faq-search-input::placeholder {
    color: var(--gray-400);
    /* Match placeholder color if needed, or keeping explicit style */
    text-transform: none;
    /* Reset uppercase if header doesn't force it */
}

.pcp-faq-search-btn {
    background: var(--brand-yellow);
    color: var(--brand-navy);
    border: none;
    text-transform: uppercase;
    outline: none;
    color: var(--brand-navy);
}

.pcp-faq-search-btn {
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
    width: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    transition: background-color 0.2s;
}

.pcp-faq-search-btn:hover {
    background-color: var(--brand-yellow-hover);
}

/* Layout */
.pcp-faq-body {
    padding-bottom: 4rem;
}

.pcp-faq-layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

@media (min-width: 992px) {
    .pcp-faq-layout {
        flex-direction: row;
    }
}

/* Sidebar */
.pcp-faq-sidebar {
    width: 100%;
}

@media (min-width: 992px) {
    .pcp-faq-sidebar {
        width: 250px;
        flex-shrink: 0;
    }
}

.pcp-faq-sidebar-section {
    background-color: var(--white);
    border: 1px solid var(--gray-100);
    margin-bottom: 1.5rem;
}

.pcp-faq-sidebar-title {
    background-color: var(--brand-navy);
    color: var(--white);
    font-size: 10px;
    font-weight: 900;
    padding: 1rem 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pcp-faq-category-list {
    padding: 0;
    margin: 0;
}

.pcp-faq-category-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--gray-50);
    cursor: pointer;
    transition: all 0.2s;
}

.pcp-faq-category-item:last-child {
    border-bottom: none;
}

.pcp-faq-category-item:hover {
    background-color: var(--gray-50);
}

.pcp-faq-category-item.active {
    color: var(--brand-navy);
    background-color: var(--gray-50);
}

.pcp-faq-cat-icon {
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-400);
    transition: color 0.2s;
}

.pcp-faq-category-item.active .pcp-faq-cat-icon,
.pcp-faq-category-item:hover .pcp-faq-cat-icon {
    color: var(--brand-yellow);
}

.pcp-faq-cat-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.pcp-faq-help-box {
    background-color: #fffbeb;
    /* Light yellow bg */
    border: 1px solid #fef3c7;
    padding: 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.pcp-faq-help-icon {
    width: 2.25rem;
    height: 2.25rem;
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-navy);
    flex-shrink: 0;
}

.pcp-faq-help-content h4 {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    margin-bottom: 0.25rem;
}

.pcp-faq-help-content p {
    font-size: 9px;
    font-weight: 800;
    color: var(--gray-500);
    text-transform: uppercase;
    line-height: 1.4;
}

/* Main Area Accordions */
.pcp-faq-main {
    flex: 1;
    min-width: 0;
}

.pcp-faq-accordion-item {
    background-color: var(--white);
    border: 1px solid var(--gray-100);
    margin-bottom: 1px;
    transition: border-color 0.2s;
}

.pcp-faq-accordion-item:hover {
    border-color: var(--gray-200);
}

.pcp-faq-accordion-item.active {
    border-color: var(--brand-yellow);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.pcp-faq-accordion-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: 0.025em;
    background: none;
    border: none;
    cursor: pointer;
}

.pcp-faq-chevron {
    transition: transform 0.3s ease;
    color: var(--gray-300);
}

.pcp-faq-accordion-item.active .pcp-faq-chevron {
    transform: rotate(180deg);
    color: var(--brand-yellow);
}

.pcp-faq-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pcp-faq-content-inner {
    padding: 0 2rem 2rem 2rem;
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.6;
}

/* Bottom CTA */
.pcp-faq-cta {
    background-color: var(--gray-50);
    padding: 4rem 2rem;
    margin-top: 4rem;
    text-align: center;
    border-radius: 4px;
}

.pcp-faq-cta h3 {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.pcp-faq-cta p {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-500);
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
}

.pcp-faq-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--brand-navy);
    color: var(--white);
    padding: 1rem 2rem;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    border-radius: 2px;
    transition: all 0.2s;
}

.pcp-faq-cta-btn:hover {
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* =========================================
   ABOUT US PAGE STYLES
   ========================================= */

.pcp-about-hero {
    background-color: var(--brand-navy);
    padding: 4rem 2rem;
    /* Match FAQ padding */
    position: relative;
    overflow: hidden;
    color: var(--white);
    margin-bottom: 3rem;
    /* Match FAQ spacing */
    border-radius: 0;
    /* Match FAQ (no radius) */
    text-align: center;
}

.pcp-about-hero-pattern {
    position: absolute;
    inset: 0;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    opacity: 0.1;
    pointer-events: none;
}

.pcp-about-hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pcp-about-hero-title {
    font-size: 2.5rem;
    /* Match FAQ size */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    /* Match FAQ spacing */
    margin-bottom: 0.5rem;
    /* Match FAQ margin */
    line-height: 1.1;
}

.pcp-about-hero-subtitle {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--gray-300);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* Match FAQ spacing */
}

/* Features Grid */
.pcp-about-features-container {
    margin-bottom: 5rem;
}

.pcp-about-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .pcp-about-features-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.pcp-about-feature-card {
    background: var(--white);
    border: 1px solid var(--gray-100);
    padding: 2.5rem 2rem;
    transition: all 0.3s ease;
    border-radius: 4px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.pcp-about-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: var(--brand-yellow);
}

.pcp-about-feature-icon {
    width: 3rem;
    height: 3rem;
    background: var(--brand-navy);
    color: var(--brand-yellow);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.pcp-about-feature-title {
    font-size: 1rem;
    font-weight: 800;
    /* Reduced from 900 */
    text-transform: uppercase;
    color: var(--brand-navy);
    margin-bottom: 0.75rem;
    letter-spacing: 0.02em;
    /* Slightly increased for readability */
}

.pcp-about-feature-desc {
    font-size: 0.875rem;
    color: var(--gray-500);
    line-height: 1.6;
}

/* Story Split Section */
.pcp-about-story-container {
    margin-bottom: 6rem;
}

.pcp-about-story-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .pcp-about-story-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.pcp-about-story-image-wrapper {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.pcp-about-story-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.7s ease;
}

.pcp-about-story-image-wrapper:hover .pcp-about-story-img {
    transform: scale(1.05);
}

.pcp-about-story-overlay {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    background: var(--brand-navy);
    padding: 1.5rem;
    max-width: 280px;
    border-left: 4px solid var(--brand-yellow);
}

.pcp-about-story-quote {
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

.pcp-about-story-head {
    font-size: 1.75rem;
    font-weight: 800;
    /* Reduced from 900 */
    text-transform: uppercase;
    color: var(--brand-navy);
    margin-bottom: 1.5rem;
    letter-spacing: -0.01em;
}

.pcp-brand-divider {
    width: 60px;
    height: 4px;
    /* Slightly thinner */
    background: var(--brand-yellow);
    margin-bottom: 2rem;
}

.pcp-about-story-text {
    font-size: 0.9375rem;
    color: var(--gray-600);
    line-height: 1.8;
    margin-bottom: 3rem;
}

.pcp-about-stats-grid {
    display: flex;
    gap: 4rem;
    border-top: 1px solid var(--gray-200);
    padding-top: 2rem;
}

.pcp-about-stat-value {
    font-size: 2.25rem;
    /* Slightly smaller */
    font-weight: 800;
    /* Reduced from 900 */
    color: var(--brand-navy);
    line-height: 1;
    margin-bottom: 0.5rem;
}

.pcp-about-stat-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-400);
    letter-spacing: 0.05em;
}

/* Location Banner */
.pcp-about-location-banner {
    background-color: var(--brand-navy);
    padding: 4rem;
    border-radius: 4px;
    color: var(--white);
    position: relative;
    overflow: hidden;
    margin-bottom: 4rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.pcp-about-location-title {
    font-size: 1.5rem;
    font-weight: 800;
    /* Reduced from 900 */
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    letter-spacing: 0.02em;
}

.pcp-about-location-subtitle {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
}

.pcp-about-location-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
}

.pcp-location-detail {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pcp-location-detail svg {
    color: var(--brand-yellow);
}

.pcp-about-location-btn {
    display: inline-flex;
    align-items: center;
    padding: 1rem 2rem;
    background: var(--brand-yellow);
    color: var(--brand-navy);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.8125rem;
    letter-spacing: 0.05em;
    border-radius: 2px;
    transition: all 0.2s;
}

.pcp-about-location-btn:hover {
    background: var(--white);
    transform: translateY(-2px);
}

/* Brands */
.pcp-about-brands-container {
    text-align: center;
    margin-bottom: 4rem;
}

.pcp-brands-label {
    font-size: 0.625rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--gray-400);
    margin-bottom: 2rem;
}

.pcp-about-brands-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;
}

.pcp-brand-item {
    font-size: 1.5rem;
    font-weight: 900;
    font-style: italic;
    color: var(--gray-300);
    text-transform: uppercase;
}

/* =========================================
   CONTACT PAGE STYLES
   ========================================= */

.pcp-contact-hero {
    background-color: var(--brand-navy);
    padding: 3rem 2rem;
    position: relative;
    overflow: hidden;
    color: var(--white);
    margin-bottom: 3rem;
    text-align: center;
}

.pcp-contact-hero-pattern {
    position: absolute;
    inset: 0;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    opacity: 0.1;
    pointer-events: none;
}

.pcp-contact-hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pcp-contact-hero-title {
    font-size: 2.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 0.5rem;
    line-height: 1.1;
}

.pcp-contact-hero-subtitle {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--gray-300);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.8;
}

.pcp-hero-extra-content {
    width: 100%;
}

/* Departments Grid */
.pcp-departments-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
    .pcp-departments-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.pcp-dept-card {
    background: var(--white);
    border: 1px solid var(--gray-100);
    padding: 2.5rem;
    border-bottom: 4px solid transparent;
    transition: all 0.2s;
}

.pcp-dept-card:hover {
    border-bottom-color: var(--brand-yellow);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

.pcp-dept-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1rem;
}

.pcp-dept-icon {
    width: 3rem;
    height: 3rem;
    background: var(--brand-navy);
    color: var(--brand-yellow);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pcp-dept-title {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--brand-navy);
    letter-spacing: 0.1em;
}

.pcp-dept-desc {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-400);
    margin-bottom: 2rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

.pcp-dept-contact {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pcp-dept-contact a {
    display: block;
    line-height: 1.4;
    transition: color 0.2s;
}

.pcp-dept-phone {
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--brand-navy);
    letter-spacing: 0.02em;
}

.pcp-dept-phone:hover {
    color: var(--brand-yellow);
}

.pcp-dept-email {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-400);
    letter-spacing: 0.1em;
}

.pcp-dept-email:hover {
    color: var(--brand-navy);
}

/* Layout */
.pcp-contact-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-bottom: 4rem;
}

@media (min-width: 1024px) {
    .pcp-contact-layout {
        grid-template-columns: 8fr 4fr;
    }
}

/* Contact Form */
.pcp-contact-form-container {
    background: var(--white);
    border: 1px solid var(--gray-100);
    padding: 2rem;
    position: relative;
}

.pcp-contact-form-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background: var(--brand-yellow);
}

.pcp-form-header {
    margin-bottom: 3rem;
    border-bottom: 1px solid var(--gray-100);
    padding-bottom: 1.5rem;
}

.pcp-form-title {
    font-size: 1.5rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--brand-navy);
    margin-bottom: 0.5rem;
}

.pcp-form-subtitle {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-400);
    letter-spacing: 0.1em;
}

.pcp-form-section {
    margin-bottom: 2rem;
}

.pcp-form-section.bg-gray {
    background: var(--gray-50);
    padding: 1.5rem;
    border: 1px solid var(--gray-100);
}

.pcp-form-section-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.pcp-form-section-header h3 {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--brand-navy);
    letter-spacing: 0.1em;
}

.pcp-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .pcp-form-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.pcp-form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pcp-form-group.full-width {
    grid-column: 1 / -1;
    margin-top: 1rem;
}

.pcp-form-group label {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--brand-navy);
    letter-spacing: 0.1em;
}

.pcp-form-group label .required {
    color: #ef4444;
}

.pcp-form-group label .optional {
    color: var(--gray-400);
    font-weight: 500;
    margin-left: 0.25rem;
}

.pcp-form-group input[type="text"],
.pcp-form-group input[type="email"],
.pcp-form-group input[type="tel"],
.pcp-form-group select,
.pcp-form-group textarea {
    width: 100%;
    border: 1px solid var(--gray-200);
    padding: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--brand-navy);
    outline: none;
    transition: all 0.2s;
    border-radius: 0;
}

.pcp-form-group input:focus,
.pcp-form-group select:focus,
.pcp-form-group textarea:focus {
    border-color: var(--brand-navy);
}

.pcp-form-group textarea {
    height: 12rem;
    resize: none;
}

.pcp-radio-group {
    display: flex;
    gap: 1.5rem;
    margin-top: 0.5rem;
}

.pcp-radio {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.pcp-radio input {
    accent-color: var(--brand-navy);
}

.pcp-radio span {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-500);
}

.pcp-form-footer {
    border-top: 1px solid var(--gray-100);
    padding-top: 2rem;
    display: grid;
    gap: 2rem;
}

@media (min-width: 768px) {
    .pcp-form-footer {
        grid-template-columns: 1fr 1fr;
        align-items: end;
    }
}

.pcp-consents {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pcp-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    cursor: pointer;
}

.pcp-checkbox span {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-400);
    line-height: 1.5;
}

.pcp-checkbox a {
    color: var(--brand-navy);
    text-decoration: underline;
    font-weight: 800;
}

/* .pcp-submit-btn removed - now using unified .pcp-btn--primary */

.pcp-form-message {
    padding: 1rem;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.pcp-form-message.success {
    background: #dcfce7;
    color: #166534;
}

.pcp-form-message.error {
    background: #fee2e2;
    color: #991b1b;
}

/* Sidebar */
.pcp-contact-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.pcp-sidebar-box.navy {
    background: var(--brand-navy);
    padding: 2.5rem;
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.pcp-sidebar-decoration {
    position: absolute;
    top: -2rem;
    right: -2rem;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
}

.pcp-sidebar-box h3 {
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.pcp-sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.pcp-sidebar-item {
    display: flex;
    gap: 1.25rem;
}

.pcp-sidebar-icon {
    width: 2.5rem;
    height: 2.5rem;
    background: var(--brand-yellow);
    color: var(--brand-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pcp-sidebar-icon.no-bg {
    background: transparent;
    border: none;
    color: var(--brand-yellow);
    width: auto;
    height: auto;
    margin-top: 0.25rem;
}

.pcp-sidebar-text .label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--brand-yellow);
    letter-spacing: 0.1em;
    margin-bottom: 0.35rem;
}

.pcp-sidebar-text .label.gray {
    color: var(--gray-400);
}

.pcp-sidebar-text p {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
}

.pcp-sidebar-text p.white {
    color: var(--white);
    letter-spacing: 0.05em;
}

.pcp-sidebar-text small {
    display: block;
    font-size: 0.75rem;
    color: var(--gray-400);
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 0.25rem;
}

.pcp-sidebar-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
}

/* Map Box */
.pcp-sidebar-map {
    background: var(--white);
    border: 1px solid var(--gray-100);
}

.pcp-map-header {
    background: var(--gray-50);
    padding: 1.25rem;
    border-bottom: 1px solid var(--gray-100);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pcp-map-header h4 {
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--brand-navy);
}

/* .pcp-map-btn removed - now using unified .pcp-btn--secondary */

.pcp-map-preview {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--gray-200);
}

.pcp-map-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
}

.pcp-map-pin {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pcp-map-pin svg {
    background: var(--brand-navy);
    color: var(--brand-yellow);
    padding: 0.75rem;
    width: 3rem;
    height: 3rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.pcp-map-note {
    padding: 1.25rem;
    background: var(--gray-50);
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-500);
    line-height: 1.6;
    letter-spacing: 0.02em;
}

/* Bottom Icons */
.pcp-contact-bottom-icons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem 1rem;
    border-top: 1px solid var(--gray-100);
    padding-top: 4rem;
    margin-bottom: 4rem;
}

@media (min-width: 768px) {
    .pcp-contact-bottom-icons {
        grid-template-columns: repeat(4, 1fr);
    }
}

.pcp-bottom-icon {
    display: flex;
    align-items: center;
    gap: 1rem;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.pcp-bottom-icon:hover {
    opacity: 1;
}

.pcp-bottom-icon .icon-wrapper {
    color: var(--brand-navy);
}

.pcp-bottom-icon h5 {
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--brand-navy);
    margin-bottom: 0.25rem;
}


/* =========================================
   SIDE CART
   ========================================= */

.pcp-side-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
    z-index: 2000000;
}

.pcp-side-cart-overlay.open {
    opacity: 1;
    visibility: visible;
}

.pcp-side-cart {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 420px;
    background: var(--white);
    z-index: 2000001;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    visibility: hidden;
    box-shadow: -10px 0 25px -5px rgba(0, 0, 0, 0.1);
}

.pcp-side-cart.open {
    transform: translateX(0);
    visibility: visible;
    display: flex;
    flex-direction: column;
}

.pcp-side-cart-header {
    background: var(--brand-navy);
    color: var(--white);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pcp-side-cart-header .header-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pcp-side-cart-header .header-left svg {
    color: var(--brand-yellow);
    width: 1.25rem;
    height: 1.25rem;
}

.pcp-cart-close {
    background: transparent;
    border: none;
    color: var(--white);
    transition: color 0.2s ease;
}

.pcp-cart-close:hover {
    color: var(--brand-yellow);
    background: transparent;
}

.pcp-side-cart-content {
    flex: 1;
    overflow: hidden;
    /* Disable scroll here, children will handle it */
    padding: 0;
    display: flex;
    flex-direction: column;
}

.pcp-empty-cart-message {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-400);
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* WOOCOMMERCE MINI CART OVERRIDES */

.widget_shopping_cart_content {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    overflow: hidden;
}

.woocommerce-mini-cart {
    margin: 0;
    padding: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

ul.woocommerce-mini-cart {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto;
    /* Enable scrolling for the items list */
    min-height: 0;
    /* Important for flex containers to allow children to scroll */
}

li.woocommerce-mini-cart-item {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--gray-100);
    position: relative;
    align-items: flex-start;
}

li.woocommerce-mini-cart-item:first-child {
    padding-top: 0;
}

/* Image */
.pcp-cart-item-image img {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: contain;
    border: 1px solid var(--gray-200);
    padding: 0.25rem;
    display: block;
}

/* Details */
.pcp-cart-item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-right: 2.5rem;
    /* Space for delete button */
}

.pcp-cart-item-name a {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--brand-navy);
    line-height: 1.3;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pcp-cart-item-qty {
    font-size: 0.75rem;
    color: var(--gray-400);
    font-weight: 500;
}

.pcp-cart-item-price {
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--brand-navy);
}

/* Remove Button */
a.remove.remove_from_cart_button {
    position: absolute;
    top: 1.25rem;
    right: 0;
    color: #ef4444;
    background: transparent;
    border: none;
    padding: 0.25rem;
    display: flex;
    transition: color 0.2s;
}

a.remove.remove_from_cart_button:hover {
    color: #991b1b;
}

.pcp-cart-item-qty {
    font-size: 0.8125rem;
    color: var(--gray-500);
    font-weight: 500;
    margin-top: 2px;
}

/* Footer Section */
.woocommerce-mini-cart__total {
    margin-top: auto;
    padding: 1.5rem 0rem;
    border-top: 1px solid var(--gray-100);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.25rem;
    color: var(--brand-navy);
}

.woocommerce-mini-cart__total span {
    font-weight: 800;
}

.woocommerce-mini-cart__total strong {
    font-weight: 800;
}

/* Specific override for mini-cart buttons to ensure they look like described */
.woocommerce-mini-cart__footer .woocommerce-mini-cart__buttons {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    background: var(--white);
}

.woocommerce-mini-cart__buttons .pcp-btn {
    width: 100% !important;
    display: flex !important;
    min-height: 3rem;
}

/* =========================================
   CART PAGE (Redesigned)
   ========================================= */

.pcp-cart-wrapper {
    background-color: rgba(249, 250, 251, 0.3);
    min-height: 100vh;
    padding-bottom: 3rem;
}

@media (min-width: 768px) {
    .pcp-cart-wrapper {
        padding-bottom: 6rem;
    }
}

.pcp-cart-wrapper-empty {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* HERO SECTION (Standardized) */
.pcp-hero-section {
    margin-top: 10px !important;
    /* Reduced from 1.5rem */
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .pcp-hero-section {
        margin-top: 15px !important;
        /* Reduced from 2rem */
        margin-bottom: 3rem;
    }
}

.pcp-hero-inner {
    background-color: #0f2b4c !important;
    /* Brand Navy */
    border: 1px solid #1f2937;
    padding: 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border-radius: 0 !important;
}

@media (min-width: 768px) {
    .pcp-hero-inner {
        padding: 3.5rem;
    }
}

.pcp-hero-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    pointer-events: none;
}

.pcp-hero-title {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-size: 1.5rem;
    font-weight: 900 !important;
    color: #ffffff !important;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    position: relative;
    z-index: 10;
}

@media (min-width: 768px) {
    .pcp-hero-title {
        font-size: 3rem;
        margin-bottom: 1rem;
    }
}

.pcp-hero-subtitle {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-size: 0.625rem;
    color: #d1d5db;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    opacity: 0.9;
    position: relative;
    z-index: 10;
    margin: 0;
}

@media (min-width: 768px) {
    .pcp-hero-subtitle {
        font-size: 0.75rem;
        letter-spacing: 0.3em;
    }
}

/* Original Legacy Cart Hero (To be removed/deprecated in favor of above) */
.pcp-cart-hero {
    display: none;
}

/* CART LAYOUT GRID */
.pcp-cart-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    /* gap-8 */
}

@media (min-width: 1024px) {
    .pcp-cart-grid {
        flex-direction: row;
        gap: 3rem;
        /* md:gap-12 */
    }
}

.pcp-cart-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /* space-y-4 */
}

@media (min-width: 768px) {
    .pcp-cart-main {
        gap: 1.5rem;
        /* md:space-y-6 */
    }
}

/* FREE SHIPPING PROGRESS */
.pcp-free-shipping {
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    padding: 1rem;
    /* p-4 */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    /* shadow-sm */
}

@media (min-width: 768px) {
    .pcp-free-shipping {
        padding: 1.5rem;
        /* md:p-6 */
    }
}

.pcp-free-shipping__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    /* mb-3 */
}

@media (min-width: 768px) {
    .pcp-free-shipping__header {
        margin-bottom: 1rem;
        /* md:mb-4 */
    }
}

.pcp-free-shipping__info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    /* gap-2 */
}

@media (min-width: 768px) {
    .pcp-free-shipping__info {
        gap: 0.75rem;
        /* md:gap-3 */
    }
}

.pcp-icon-navy {
    color: var(--brand-navy);
}

.pcp-free-shipping__text {
    font-size: 0.625rem;
    /* text-[10px] */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    color: var(--brand-navy);
}

@media (min-width: 768px) {
    .pcp-free-shipping__text {
        font-size: 0.6875rem;
        /* md:text-[11px] */
    }
}

.pcp-free-shipping__percent {
    font-size: 0.625rem;
    /* text-[10px] */
    font-weight: 900;
    color: var(--gray-500);
}

.pcp-progress-bar {
    height: 0.5rem;
    /* h-2 */
    background-color: var(--gray-100);
    border-radius: 9999px;
    overflow: hidden;
}

.pcp-progress-bar__fill {
    height: 100%;
    background-color: var(--brand-yellow);
    transition: width 1s ease-out;
}

/* CART ITEMS CONTAINER */
.pcp-cart-items-container {
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    /* shadow-sm */
    overflow: hidden;
}

/* HEADER ROW (Desktop) */
.pcp-cart-header-row {
    display: none;
    background-color: var(--brand-navy);
    padding: 1.25rem;
    /* p-5 */
    color: var(--white);
    font-size: 0.625rem;
    /* text-[10px] */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
}

@media (min-width: 768px) {
    .pcp-cart-header-row {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 1rem;
        /* gap-4 */
    }
}

.col-product {
    grid-column: span 6 / span 6;
}

.col-price {
    grid-column: span 2 / span 2;
}

.col-qty {
    grid-column: span 2 / span 2;
}

.col-total {
    grid-column: span 2 / span 2;
}

/* CART ITEM */
.pcp-cart-items-list>.pcp-cart-item {
    border-bottom: 1px solid var(--gray-100);
}

.pcp-cart-item:last-child {
    border-bottom: none;
}

.pcp-cart-item {
    padding: 1rem;
    /* p-4 */
    transition: background-color 0.2s;
}

.pcp-cart-item:hover {
    background-color: rgba(249, 250, 251, 0.5);
    /* hover:bg-gray-50/50 */
}

@media (min-width: 768px) {
    .pcp-cart-item {
        padding: 2rem;
        /* md:p-8 */
    }
}

.pcp-cart-item__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    /* gap-4 */
    align-items: center;
}

@media (min-width: 768px) {
    .pcp-cart-item__grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 1.5rem;
        /* md:gap-6 */
    }
}

/* PRODUCT COLUMN */
.pcp-cart-item__product {
    grid-column: span 1 / span 1;
    display: flex;
    gap: 1rem;
    /* gap-4 */
    align-items: center;
}

@media (min-width: 768px) {
    .pcp-cart-item__product {
        grid-column: span 6 / span 6;
        gap: 1.5rem;
        /* md:gap-6 */
    }
}

.pcp-cart-item__image {
    width: 5rem;
    /* w-20 */
    height: 5rem;
    /* h-20 */
    background-color: var(--white);
    border: 1px solid var(--gray-100);
    padding: 0.5rem;
    /* p-2 */
    flex-shrink: 0;
    transition: border-color 0.2s;
}

.pcp-cart-item:hover .pcp-cart-item__image {
    border-color: var(--brand-yellow);
}

@media (min-width: 768px) {
    .pcp-cart-item__image {
        width: 6rem;
        /* md:w-24 */
        height: 6rem;
        /* md:h-24 */
    }
}

.pcp-cart-item__details {
    flex: 1;
    min-width: 0;
}

.pcp-cart-item__name {
    display: block;
    font-weight: 900;
    /* font-black */
    color: var(--brand-navy);
    text-transform: uppercase;
    font-size: 0.75rem;
    /* text-[12px] */
    letter-spacing: -0.025em;
    /* tracking-tight */
    margin-bottom: 0.25rem;
    /* mb-1 */
    transition: color 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pcp-cart-item__name:hover {
    color: var(--brand-yellow);
}

@media (min-width: 768px) {
    .pcp-cart-item__name {
        font-size: 0.875rem;
        /* md:text-sm */
    }
}

.pcp-cart-item__meta {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    /* gap-x-4 */
    row-gap: 0.25rem;
    /* gap-y-1 */
}

.pcp-meta-badge {
    font-size: 9px;
    /* text-[9px] */
    color: var(--gray-600);
    font-weight: 700;
    /* font-bold */
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    white-space: nowrap;
}

.pcp-cart-item__stock {
    margin-top: 0.5rem;
    /* mt-2 */
    display: flex;
    align-items: center;
    gap: 0.375rem;
    /* gap-1.5 */
    font-size: 9px;
    /* text-[9px] */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    color: #15803d;
    /* text-green-700 */
}

.pcp-cart-item__stock .dot {
    width: 0.375rem;
    /* w-1.5 */
    height: 0.375rem;
    /* h-1.5 */
    background-color: #22c55e;
    /* bg-green-500 */
    border-radius: 9999px;
}

/* PRICE COLUMN */
.pcp-cart-item__price {
    grid-column: span 1 / span 1;
    display: flex;
    /* Mobile: flex row */
    justify-content: space-between;
    align-items: center;
    background-color: var(--gray-50);
    padding: 0.5rem;
    /* p-2 */
}

@media (min-width: 768px) {
    .pcp-cart-item__price {
        grid-column: span 2 / span 2;
        display: block;
        /* Desktop: block */
        text-align: center;
        background-color: transparent;
        padding: 0;
    }
}

.mobile-label {
    display: block;
    font-size: 9px;
    font-weight: 900;
    color: var(--gray-500);
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .mobile-label {
        display: none;
    }
}

.price-amount {
    font-size: 0.875rem;
    /* text-sm */
    font-weight: 900;
    color: var(--brand-navy);
}

@media (min-width: 768px) {
    .price-amount {
        font-size: 1rem;
        /* md:text-base */
    }
}

/* QUANTITY SELECTOR (REFINED) */
.pcp-cart-item__qty {
    grid-column: span 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center horizontally */
    justify-content: center;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .pcp-cart-item__qty {
        grid-column: span 2;
        /* Ensure vertical centering */
        height: 100%;
    }
}

.pcp-quantity-selector {
    display: flex;
    flex-direction: row;
    /* Horizontal alignment */
    align-items: center;
    border: 2px solid var(--gray-200);
    width: 120px;
    height: 45px;
    background: var(--white);
    margin: 0 auto;
    /* Center in column */
}

.pcp-qty-btn {
    width: 40px;
    height: 100%;
    /* Fill height */
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.25rem;
    background: var(--white);
    color: var(--brand-navy);
    cursor: pointer;
    transition: background-color 0.2s;
    border: none;
    padding: 0;
}

.pcp-qty-btn:hover {
    background-color: var(--gray-50);
}

.pcp-qty-input {
    flex: 1;
    width: 40px;
    height: 100%;
    text-align: center;
    border: none;
    /* No border for input itself */
    font-weight: 900;
    color: var(--brand-navy);
    background: transparent;
    font-size: 1rem;
    padding: 0;
    -moz-appearance: textfield;
}

.pcp-qty-input:focus {
    outline: none;
}

/* REMOVE LINK - Centered below quantity */
.pcp-remove-link.desktop-remove {
    display: none;
    /* Mobile hidden */
    text-align: center;
    margin-top: 0.5rem;
    font-size: 10px;
    letter-spacing: 0.1em;
    color: #ef4444;
    /* red-500 */
    font-weight: 800;
    text-decoration: none;
}

@media (min-width: 768px) {
    .pcp-remove-link.desktop-remove {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }

    .pcp-remove-link svg {
        width: 12px;
        height: 12px;
    }
}

/* TABLE HEADERS - ENFORCED */
table.shop_table.cart thead,
.pcp-cart-header-row {
    background-color: #0f2b4c !important;
    /* Brand Navy */
    color: #ffffff !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    border: none !important;
}

table.shop_table.cart th,
.pcp-cart-header-row>div {
    padding: 1.25rem 1rem !important;
    border: none !important;
}

/* CART ITEM ROW */
table.shop_table.cart tbody tr,
.pcp-cart-item {
    border-bottom: 1px solid #e5e7eb !important;
    /* gray-200 */
}

.pcp-cart-item:last-child {
    border-bottom: none !important;
}

/* WooCommerce Notices Custom Styling - Green Background Style */
.woocommerce-message.pcp-auto-hide-notice {
    background: #f0fdf4 !important;
    /* bg-green-50 */
    border: 1px solid #bbf7d0 !important;
    /* border-green-200 */
    color: #166534 !important;
    /* text-green-800 */
    list-style: none !important;
    margin-left: 0 !important;
    padding: 1rem !important;
    overflow: hidden;
    position: relative !important;
}

@media (min-width: 768px) {
    .woocommerce-message.pcp-auto-hide-notice {
        padding: 1.5rem !important;
    }
}

.woocommerce-message.pcp-auto-hide-notice::before {
    display: none !important;
    content: none !important;
}

.woocommerce-message.pcp-auto-hide-notice span {
    color: #166534 !important;
}

/* Fix for WooCommerce default styling bleed */
.woocommerce-message {
    border-top: 1px solid var(--gray-200) !important;
}

.pcp-notice-icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

.woocommerce-message .pcp-notice-icon {
    color: #16a34a !important;
    /* text-green-600 */
}

.woocommerce-info,
.woocommerce-error {
    background: #fff !important;
    border: 1px solid var(--gray-200) !important;
    border-top: 1px solid var(--gray-200) !important;
    color: var(--brand-navy) !important;
    padding: 1.5rem !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

.woocommerce-error::before,
.woocommerce-info::before {
    display: none !important;
}

/* PRODUCT NAME */
.pcp-cart-item__name a,
.pcp-cart-item__name {
    color: #0f2b4c !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: -0.025em !important;
}

/* PRICE & TOTAL */
.product-price .amount,
.product-subtotal .amount,
.price-amount .amount,
.subtotal-amount .amount {
    color: #0f2b4c !important;
    font-weight: 900 !important;
    font-size: 16px !important;
}

/* REMOVE LINK */
.pcp-remove-link {
    color: #ef4444 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
}

.pcp-remove-link svg {
    width: 12px;
    height: 12px;
}

/* CHECKOUT BUTTON - Handled by Tailwind in template */

/* Mobile Remove Link */
.pcp-remove-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    background-color: #fef2f2;
    /* bg-red-50 */
    color: #dc2626;
    /* text-red-600 */
    border-radius: 4px;
}

@media (min-width: 768px) {
    .pcp-remove-mobile {
        display: none;
    }
}

/* SUBTOTAL COLUMN */
.pcp-cart-item__subtotal {
    grid-column: span 1 / span 1;
    text-align: right;
    border-top: 1px solid var(--gray-100);
    padding-top: 0.75rem;
    /* pt-3 */
}

@media (min-width: 768px) {
    .pcp-cart-item__subtotal {
        grid-column: span 2 / span 2;
        border-top: none;
        padding-top: 0;
    }
}

.pcp-cart-item__subtotal .mobile-label {
    float: left;
    margin-top: 0.5rem;
    /* mt-2 */
}

.subtotal-amount {
    font-size: 1.125rem;
    /* text-lg */
    font-weight: 900;
    color: var(--brand-navy);
}

@media (min-width: 768px) {
    .subtotal-amount {
        font-size: 1.25rem;
        /* md:text-xl */
    }
}

/* FOOTER ACTIONS */
.pcp-cart-footer-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
    /* pt-4 */
    padding-left: 0.5rem;
    /* px-2 */
    padding-right: 0.5rem;
}

@media (min-width: 640px) {
    .pcp-cart-footer-actions {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.pcp-btn-secondary {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    /* gap-2 */
    font-size: 0.6875rem;
    /* text-[11px] */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    color: var(--brand-navy);
    transition: color 0.2s;
    text-decoration: none;
}

.pcp-btn-secondary:hover {
    color: var(--brand-yellow);
}

@media (min-width: 640px) {
    .pcp-btn-secondary {
        width: auto;
    }
}

.pcp-btn-text-danger {
    width: 100%;
    font-size: 0.6875rem;
    /* text-[11px] */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    color: var(--gray-600);
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.2s;
    text-align: center;
}

.pcp-btn-text-danger:hover {
    color: #dc2626;
    /* text-red-600 */
}

@media (min-width: 640px) {
    .pcp-btn-text-danger {
        width: auto;
    }
}

/* SIDEBAR (Collaterals) */
.pcp-cart-sidebar {
    width: 100%;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .pcp-cart-sidebar {
        width: 24rem;
        /* w-96 */
    }
}

.pcp-totals-card {
    background-color: var(--white);
    border: 1px solid var(--gray-200);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    /* shadow-xl */
    overflow: hidden;
}

@media (min-width: 1024px) {
    .pcp-totals-card {
        position: sticky;
        top: 2rem;
        /* lg:top-8 */
    }
}

.pcp-totals-card__header {
    background-color: var(--brand-navy);
    padding: 1.25rem;
    /* p-5 */
    text-align: center;
}

@media (min-width: 768px) {
    .pcp-totals-card__header {
        padding: 1.5rem;
        /* md:p-6 */
    }
}

@media (min-width: 1024px) {
    .pcp-totals-card__header {
        text-align: left;
    }
}

.pcp-totals-title {
    color: var(--white);
    font-size: 1rem;
    /* text-base */
    font-weight: 900;
    /* font-black */
    text-transform: uppercase;
    letter-spacing: -0.025em;
    /* tracking-tight */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    /* gap-3 */
    margin: 0;
}

@media (min-width: 768px) {
    .pcp-totals-title {
        font-size: 1.125rem;
        /* md:text-lg */
    }
}

@media (min-width: 1024px) {
    .pcp-totals-title {
        justify-content: flex-start;
    }
}

.pcp-totals-card__content {
    padding: 1.5rem;
    /* p-6 */
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    /* space-y-6 */
}

@media (min-width: 768px) {
    .pcp-totals-card__content {
        padding: 2rem;
        /* md:p-8 */
    }
}

.pcp-totals-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    /* space-y-3 */
    border-bottom: 1px solid var(--gray-100);
    padding-bottom: 1.25rem;
    /* pb-5 */
}

@media (min-width: 768px) {
    .pcp-totals-list {
        gap: 1rem;
        /* md:space-y-4 */
        padding-bottom: 1.5rem;
        /* md:pb-6 */
    }
}

.pcp-totals-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    /* text-[12px] */
    font-weight: 700;
    /* font-bold */
    color: #374151;
    /* text-gray-700 */
    text-transform: uppercase;
    letter-spacing: 0.025em;
    /* tracking-wide */
}

.value-navy {
    color: var(--brand-navy);
}

.pcp-total-final {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.pcp-total-final__wrap {
    display: flex;
    flex-direction: column;
}

.pcp-total-final__wrap .label {
    font-size: 0.625rem;
    /* text-[10px] */
    font-weight: 900;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    /* tracking-[0.2em] */
    margin-bottom: 0.25rem;
    /* mb-1 */
}

.pcp-total-final__wrap .amount {
    font-size: 1.875rem;
    /* text-3xl */
    font-weight: 900;
    color: var(--brand-navy);
    letter-spacing: -0.05em;
    /* tracking-tighter */
}

@media (min-width: 768px) {
    .pcp-total-final__wrap .amount {
        font-size: 2.25rem;
        /* md:text-4xl */
    }
}

/* CHECKOUT BUTTON - Handled by Tailwind in template */

.pcp-wishlist-page {
    padding-bottom: 5rem;
}

/* .pcp-wishlist-page footer/item labels? - removed broken block */

.pcp-b2b-card {
    margin-top: 1.5rem;
    /* mt-6 */
    padding: 1.25rem;
    /* p-5 */
    background-color: rgba(15, 43, 76, 0.05);
    /* bg-brand-navy/5 */
    border: 1px solid rgba(15, 43, 76, 0.1);
    /* border-brand-navy/10 */
    display: flex;
    gap: 1rem;
    /* gap-4 */
    align-items: flex-start;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    /* shadow-sm */
}

.pcp-b2b-title {
    font-weight: 800;
    /* font-extrabold */
    font-size: 0.625rem;
    /* text-[10px] */
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    margin-bottom: 0.25rem;
    /* mb-1 */
    margin-top: 0;
}

.pcp-b2b-text {
    font-size: 0.625rem;
    /* text-[10px] */
    color: #374151;
    /* text-gray-700 */
    line-height: 1.625;
    /* leading-relaxed */
    font-weight: 700;
    /* font-bold */
    text-transform: uppercase;
    letter-spacing: -0.025em;
    /* tracking-tight */
    margin: 0;
}

/* EMPTY CART STYLES */
.pcp-empty-cart-container {
    margin-top: 3rem;
    /* mt-12 */
    text-align: center;
    padding: 4rem 1.5rem;
    /* py-16 px-6 */
    background-color: var(--gray-50);
    border: 1px dashed var(--gray-200);
}

@media (min-width: 768px) {
    .pcp-empty-cart-container {
        padding: 6rem 1.5rem;
        /* md:py-24 */
    }
}

.pcp-empty-cart-icon-wrapper {
    width: 5rem;
    /* w-20 */
    height: 5rem;
    /* h-20 */
    background-color: var(--white);
    border: 1px solid var(--gray-100);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    /* shadow-sm */
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem auto;
    /* mx-auto mb-6 */
    color: #d1d5db;
    /* text-gray-300 */
}

@media (min-width: 768px) {
    .pcp-empty-cart-icon-wrapper {
        width: 6rem;
        /* md:w-24 */
        height: 6rem;
        /* md:h-24 */
        margin-bottom: 2rem;
        /* md:mb-8 */
    }
}

.pcp-empty-cart-title {
    font-size: 1.5rem;
    /* text-2xl */
    font-weight: 900;
    /* font-black */
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    /* tracking-tight */
    margin-bottom: 1rem;
    /* mb-4 */
}

@media (min-width: 768px) {
    .pcp-empty-cart-title {
        font-size: 1.875rem;
        /* md:text-3xl */
    }
}

.pcp-empty-cart-message {
    color: var(--gray-600);
    font-weight: 700;
    /* font-bold */
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    font-size: 0.625rem;
    /* text-[10px] */
    margin-bottom: 2rem;
    /* mb-8 */
    opacity: 0.7;
}

@media (min-width: 768px) {
    .pcp-empty-cart-message {
        font-size: 0.75rem;
        /* md:text-xs */
        margin-bottom: 2.5rem;
        /* md:mb-10 */
    }
}

.pcp-empty-cart-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    /* gap-3 */
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
    font-weight: 900;
    /* font-black */
    padding: 1rem 2rem;
    /* px-8 py-4 */
    font-size: 0.625rem;
    /* text-[10px] */
    text-transform: uppercase;
    letter-spacing: 0.2em;
    /* tracking-[0.2em] */
    transition: all 0.2s;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    /* shadow-xl */
    text-decoration: none;
    border: none;
}

.pcp-empty-cart-btn:hover {
    background-color: var(--brand-navy);
    color: var(--white);
}

@media (min-width: 768px) {
    .pcp-empty-cart-btn {
        padding: 1.25rem 3rem;
        /* md:px-12 md:py-5 */
        font-size: 0.6875rem;
        /* md:text-[11px] */
    }
}


.pcp-cart-page-template {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

/* HERO SECTION */
.pcp-cart-hero {
    background: var(--brand-navy);
    color: var(--white);
    padding: 3.5rem 0;
    /* Increased padding to match p-8 md:p-14 */
    text-align: center;
    margin-bottom: 2rem;
    border-radius: 0;
    /* React code has no rounded corners on parent div, inner div has border */
    position: relative;
    overflow: hidden;
    border: 1px solid #1f2937;
    /* border-gray-800 equivalent */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* shadow-2xl */
}

/* Carbon Fibre Pattern Overlay */
.pcp-cart-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
    pointer-events: none;
}

.pcp-cart-hero h1 {
    font-size: 3rem;
    /* md:text-5xl */
    font-weight: 900;
    /* font-black */
    margin-bottom: 1rem;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    /* tracking-tight */
    position: relative;
    z-index: 10;
}

.pcp-cart-hero p {
    color: #d1d5db;
    /* text-gray-300 */
    font-size: 0.75rem;
    /* text-xs */
    font-weight: 900;
    /* font-black */
    text-transform: uppercase;
    letter-spacing: 0.3em;
    /* md:tracking-[0.3em] */
    opacity: 0.9;
    position: relative;
    z-index: 10;
}


.woocommerce-breadcrumb {
    font-size: 0.75rem;
    color: var(--gray-500);
    margin: 0;
    font-weight: 500;
}

.woocommerce-breadcrumb a {
    color: var(--brand-navy);
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    color: var(--brand-yellow);
}



/* PROGRESS BAR */
/* PROGRESS BAR */
.pcp-cart-progress-container {
    margin-top: 0;
    position: relative;
    z-index: 5;
    margin-bottom: 1.5rem;
}

.pcp-cart-progress-box {
    background: var(--white);
    padding: 1.25rem 2rem;
    border: 1px solid var(--gray-100);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    border-radius: 4px;
}

.pcp-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--brand-navy);
}

.pcp-progress-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.75rem;
    color: var(--brand-navy);
}

.pcp-progress-icon.success {
    color: #16a34a;
}

.pcp-progress-text.success {
    color: #16a34a;
}

.pcp-progress-bar-bg {
    height: 10px;
    background: var(--gray-100);
    border-radius: 5px;
    overflow: hidden;
}

.pcp-progress-bar-fill {
    height: 100%;
    background: var(--brand-yellow);
    border-radius: 5px;
    transition: width 0.3s ease;
}

/* CART LAYOUT */
.pcp-cart-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    padding-bottom: 5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .pcp-cart-layout {
        grid-template-columns: 1fr 400px;
    }
}

/* CART TABLE */
.woocommerce-cart-form {
    background: var(--white);
    padding: 0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

table.shop_table.cart {
    border: none;
    margin: 0;
    border-radius: 0;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

table.shop_table.cart thead {
    background: var(--brand-navy);
    color: var(--white);
}

table.shop_table.cart th {
    padding: 1.25rem 2rem;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
    text-align: center;
    /* Default Center */
}

table.shop_table.cart th.product-name {
    text-align: left;
}

table.shop_table.cart th.product-subtotal {
    text-align: right;
}

table.shop_table.cart td {
    padding: 2rem;
    border-top: 1px solid var(--gray-100);
    vertical-align: middle;
}

/* Cart Product Wrapper */
.pcp-cart-product-wrapper {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.pcp-cart-product-image img {
    width: 6rem;
    height: 6rem;
    object-fit: cover;
    border: 1px solid var(--gray-200);
    padding: 0.25rem;
}

.pcp-cart-product-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pcp-product-title {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--brand-navy);
    text-decoration: none;
    text-transform: uppercase;
}

.pcp-cart-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.6875rem;
    color: var(--gray-400);
    font-weight: 700;
    text-transform: uppercase;
}

.pcp-stock-status {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #16a34a;
    margin-top: 0.25rem;
    text-transform: uppercase;
}

.status-dot {
    width: 6px;
    height: 6px;
    background: #16a34a;
    border-radius: 50%;
}

/* Price & Subtotal */
.product-price {
    text-align: center;
}

.product-subtotal {
    text-align: right;
}


.product-price .woocommerce-Price-amount,
.product-subtotal .woocommerce-Price-amount {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--brand-navy);
}

/* Quantity Input */
.product-quantity {
    text-align: center;
}

.product-quantity .quantity {
    display: inline-flex;
    border: 1px solid var(--gray-200);
    width: auto;
    margin: 0;
}

.product-quantity .quantity input {
    text-align: center;
    border: none;
    font-weight: 700;
    width: 3.5rem;
    /* Wider input */
    padding: 0.5rem;
    font-size: 1rem;
    -moz-appearance: textfield;
}

.pcp-quantity-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.pcp-cart-remove {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #ef4444;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    text-decoration: none;
    padding: 0.25rem 0.5rem;
    transition: all 0.2s;
}

.pcp-cart-remove:hover {
    color: #b91c1c;
    background: #fef2f2;
    border-radius: 4px;
}

/* ACTIONS ROW */
.pcp-cart-actions-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem;
    border-top: 1px solid var(--gray-100);
    background: var(--white);
}

.pcp-continue-shopping {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--brand-navy);
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.05em;
}

.pcp-empty-cart-btn {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--gray-400);
    text-transform: uppercase;
    background: none;
    border: none;
    cursor: pointer;
    letter-spacing: 0.05em;
}

.pcp-empty-cart-btn:hover {
    color: var(--red-500);
}

/* HIDE DEFAULT BUTTON */
button[name="update_cart"] {
    display: none;
}

/* QUANTITY INPUT STYLING */
.woocommerce-cart-form__cart-item .quantity {
    display: flex;
    align-items: center;
    border: 2px solid var(--gray-200);
    background: var(--white);
    height: 2.5rem;
    /* h-12 // 48px */
    width: 8rem;
    /* w-32 */
    margin: 0 auto;
    /* Centered in column */
}

.woocommerce-cart-form__cart-item .quantity input.qty {
    width: 100%;
    height: 100%;
    text-align: center;
    background: transparent;
    border: none;
    font-size: 0.875rem;
    /* text-sm */
    font-weight: 900;
    /* font-black */
    color: var(--brand-navy);
    padding: 0;
    -moz-appearance: textfield;
}

.woocommerce-cart-form__cart-item .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form__cart-item .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* We need to use JS to insert the +/- buttons, or style the default WC ones if available. 
   Since default WC just outputs an input, we'll style the wrapper primarily. 
   To get the +/- buttons exactly like React, we either need a plugin or custom JS.
   For now, we style the input box itself to match the center part. 
   
   Wait, standard WooCommerce usually doesn't output +/- buttons by default in all themes. 
   I will style the input first to look premium. */

/* Overriding standard WC qty style */
.woocommerce .quantity .qty {
    width: 4rem;
    text-align: center;
}

/* CART COLLATERALS (SIDEBAR) */
.pcp-cart-collaterals {
    background: var(--white);
    border: 1px solid var(--gray-200);
    /* Matched React border-gray-200 */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    /* shadow-xl */
    height: fit-content;
    overflow: hidden;
    /* For sticky header */
}

.pcp-totals-header {
    background: var(--brand-navy);
    color: var(--white);
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pcp-totals-content {
    padding: 1.5rem 2rem;
}

.shop_table.shop_table_responsive {
    width: 100%;
    margin-bottom: 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--gray-500);
    text-transform: uppercase;
    border-collapse: collapse;
}

.shop_table.shop_table_responsive th,
.shop_table.shop_table_responsive td {
    padding: 0.75rem 0;
    border: none;
}

.shop_table.shop_table_responsive td {
    text-align: right;
    color: var(--brand-navy);
    font-weight: 700;
}

.pcp-total-final {
    border-top: 1px solid var(--gray-100);
    border-bottom: 1px solid var(--gray-100);
    padding: 2rem 0;
    margin-bottom: 1.5rem;
}

.pcp-total-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--gray-500);
    margin-bottom: 0.5rem;
    letter-spacing: 0.05em;
}

.pcp-total-amount .woocommerce-Price-amount {
    font-weight: 800;
    color: var(--brand-navy);
    line-height: 1;
}

.wc-proceed-to-checkout .checkout-button {
    /* Handled by Tailwind in template for 1:1 design match */
}


/* B2B INFO */
.pcp-b2b-info {
    margin-top: 1.5rem;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    padding: 1rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.pcp-b2b-icon {
    color: var(--brand-navy);
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.pcp-b2b-text {
    font-size: 0.6875rem;
    line-height: 1.5;
    color: var(--brand-navy);
}

.pcp-b2b-text strong {
    display: block;
    font-weight: 800;
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
}

/* --- CART SIDEBAR & TOTALS --- */
.cart_totals .pcp-cart-totals-rows {
    /* Ensure no WC default table interference */
}

.cart_totals .pcp-cart-totals-rows>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Shipping Row (WooCommerce specific output handling) */
.cart_totals .shipping th {
    display: none !important;
    /* We use our own label */
}

.cart_totals .shipping td {
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    color: var(--brand-navy) !important;
    text-align: right !important;
    border: none !important;
}

.cart_totals .woocommerce-shipping-destination {
    display: none !important;
}



.pcp-shipping-value ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pcp-shipping-value ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pcp-shipping-value li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Checkout Button */
.pcp-checkout-primary-btn {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none !important;
}

.pcp-checkout-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Explicit notice icon styles */
.woocommerce-message .woocommerce-icon,
.woocommerce-error .woocommerce-icon,
.woocommerce-info .woocommerce-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5em;
    font-size: 1.2em;
    /* Adjust size as needed */
}

/* BOTTOM CART NOTIFICATION ANIMATIONS */
@keyframes slide-up {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.animate-slide-up {
    animation: slide-up 0.5s ease-out forwards;
}

.animate-fade-in {
    animation: fade-in 0.5s ease-out forwards;
}

#pcp-bottom-notification {
    filter: none !important;
    box-shadow: none !important;
    transition: transform 0.5s ease-out, opacity 0.5s ease-out !important;
}

#pcp-bottom-notification.translate-y-full {
    transform: translateY(200%) !important;
    opacity: 0 !important;
}

#pcp-bottom-notification>div>div {
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.1) !important;
}

/* Fix for WCAG Contrast Mode - Prevent the whole notification from inverting weirdly */
body.wcag-high-contrast #pcp-bottom-notification {
    filter: none !important;
}

#pcp-notif-product-meta pdi,
#pcp-notif-product-meta .amount {
    font-weight: 900;
    color: var(--brand-yellow);
}

/* HIDE DEFAULT WC "VIEW CART" LINK AFTER AJAX ADD TO CART */
.added_to_cart.wc-forward {
    display: none !important;
}

/* WISHLIST PAGE STYLES */

.pcp-wishlist-row img {
    max-width: none;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#pcp-wishlist-root table thead th {
    background: var(--brand-navy);
    color: var(--white);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 1.25rem;
}

#pcp-wishlist-root table tbody td {
    border-bottom: 1px solid var(--gray-100);
    vertical-align: middle;
}

.pcp-wishlist-remove {
    transition: all 0.2s ease;
}

.pcp-wishlist-remove:hover {
    background: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

#pcp-wishlist-url {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--gray-300);
    padding: 0.75rem;
    width: 100%;
}

#pcp-copy-wishlist-url {
    border: none;
    cursor: pointer;
    padding: 0 1rem;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 768px) {
    #pcp-wishlist-root .lg\:col-span-8 {
        order: 1;
    }

    #pcp-wishlist-root .lg\:col-span-4 {
        order: 2;
    }
}

/* --- PRODUCT COMPARISON WIDGET REFINED --- */
#pcp-compare-bar {
    transition: all 0.3s ease;
    box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.15);
    z-index: 1000 !important;
}

/* Hide compare bar when side cart is open */
body:has(.pcp-side-cart.open) #pcp-compare-bar,
body:has(.pcp-side-cart-overlay.open) #pcp-compare-bar {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(200%) !important;
}

#pcp-compare-bar:hover {
    transform: none !important;
}

#pcp-compare-bar:hover>div {
    background-color: var(--brand-yellow) !important;
    color: var(--brand-navy) !important;
}

#pcp-compare-bar:hover svg {
    stroke: var(--brand-navy) !important;
}

#pcp-compare-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1000000 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    margin: 0 !important;
    padding: 20px !important;
    pointer-events: auto !important;
}

#pcp-compare-modal:not(.pcp_compare_hidden) {
    display: flex !important;
}

#pcp-compare-modal-content {
    width: 100% !important;
    max-width: 1280px !important;
    max-height: 90vh !important;
    background: white !important;
    border-radius: 0 !important;
    box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.5) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    pointer-events: auto !important;
    position: relative !important;
    animation: pcp-modal-center-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

@keyframes pcp-modal-center-in {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(30px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.pcp-compare-grid-wrapper {
    scrollbar-width: thin;
    scrollbar-color: var(--brand-navy) #f1f1f1;
}

.pcp-compare-grid-wrapper::-webkit-scrollbar {
    height: 8px;
}

.pcp-compare-grid-wrapper::-webkit-scrollbar-thumb {
    background: var(--brand-navy);
    border-radius: 4px;
}

/* Compare Button Active State */
.pcp-add-compare.active {
    background-color: var(--brand-yellow) !important;
    color: var(--brand-navy) !important;
}

.pcp-add-compare.active svg {
    stroke: var(--brand-navy) !important;
}

/* Print Styling */
@media print {
    body * {
        visibility: hidden;
    }

    #pcp-compare-widget,
    #pcp-compare-modal,
    #pcp-compare-modal * {
        visibility: visible;
    }

    #pcp-compare-modal {
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
        backdrop-filter: none !important;
        display: block !important;
        z-index: 99999999 !important;
    }

    #pcp-compare-modal-content {
        box-shadow: none !important;
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* Hide non-essential elements in print */
    #pcp-compare-print,
    #pcp-compare-close,
    #pcp-compare-bar,
    #pcp-compare-settings-toggle,
    .pcp-add-compare,
    .pcp-remove-compare,
    .add_to_cart_button {
        display: none !important;
    }
}

/* Price spacing adjustment */
.price del {
    margin-right: 0.5rem !important;
    opacity: 0.7;
    text-decoration: line-through;
}

/* Modal specific price fixing */
#pcp-compare-modal-content [data-compare-field="price"] {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
}

#pcp-compare-modal-content [data-compare-field="price"] ins {
    text-decoration: none !important;
    background: transparent !important;
}

/* Global utility for hiding compare elements (modal, settings, etc) */
.pcp_compare_hidden {
    display: none !important;
}

/* Missing Utility Classes for Button Styling */
.bg-brand-yellow {
    background-color: var(--brand-yellow);
}

.text-brand-navy {
    color: var(--brand-navy);
}

.hover\:bg-brand-navy:hover {
    background-color: var(--brand-navy);
}

.hover\:text-white:hover {
    color: var(--white);
}


/* Quick View Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.animate-fade-in {
    animation: fadeIn 0.3s ease-out forwards;
}

.animate-slide-up {
    animation: slideUp 0.4s ease-out forwards;
}

.pcp-modal-open {
    overflow: hidden;
}

/* Product Tabs Styling */
.pcp-tab-btn {
    transition: all 0.3s ease;
}

.pcp-tab-btn[aria-selected="true"] {
    background-color: var(--brand-navy) !important;
    color: var(--white) !important;
    border-top-color: var(--brand-yellow) !important;
}

.pcp-tab-btn[aria-selected="false"] {
    background-color: var(--white) !important;
    color: var(--gray-600) !important;
    border-top-color: transparent !important;
}

.pcp-tab-btn[aria-selected="false"]:hover {
    color: var(--brand-navy) !important;
}

/* Helper for custom checkbox on light backgrounds */
.pcp-checkbox-dark-border {
    border-color: var(--gray-300) !important;
}

/* Custom Brand Utilities */
.bg-brand-yellow {
    background-color: var(--brand-yellow) !important;
}

.text-brand-yellow {
    color: var(--brand-yellow) !important;
}

.border-brand-yellow {
    border-color: var(--brand-yellow) !important;
}

/* Auth Pages (Login/Register/Reset) */
.pcp-auth-page-wrapper {
    background-color: #f9fafb;
    /* bg-gray-50/30 approx */
    padding: 3rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pcp-auth-card {
    width: 100%;
    max-width: 448px;
    /* max-w-md */
    background-color: var(--white);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    /* shadow-2xl */
    border: none;
    overflow: hidden;
}

.pcp-auth-header {
    background-color: var(--brand-navy);
    padding: 1.5rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.pcp-auth-header-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    pointer-events: none;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
}

.pcp-auth-header-content {
    position: relative;
    z-index: 10;
}

.pcp-auth-header h1 {
    font-size: 1.5rem;
    font-weight: 900;
    /* font-black */
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    /* tracking-tight */
    margin-bottom: 0.5rem;
}

.pcp-auth-header p {
    color: var(--brand-yellow);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

.pcp-auth-body {
    padding: 2rem;
}

@media (min-width: 768px) {
    .pcp-auth-body {
        padding: 2rem;
    }
}

.woocommerce-form.login,
.woocommerce-form.register {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pcp-auth-form-row {
    margin-bottom: 1.5rem;
}

.pcp-auth-label {
    display: block;
    font-size: 10px;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    /* tracking-widest */
    margin-bottom: 0.5rem;
}

.pcp-auth-input-wrapper {
    position: relative;
}

.pcp-auth-input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gray-400);
    pointer-events: none;
}

.pcp-auth-input {
    width: 100%;
    border: 2px solid var(--gray-100);
    padding: 1rem 1rem 1rem 3rem;
    font-size: 0.875rem;
    font-weight: 700;
    outline: none;
    background-color: var(--white);
    color: var(--gray-900);
    transition: all 0.2s;
}

.pcp-auth-input:focus {
    border-color: var(--brand-navy);
}

.pcp-auth-submit-btn {
    width: 100%;
    background-color: var(--brand-yellow) !important;
    color: var(--brand-navy) !important;
    font-weight: 900;
    padding: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    transition: all 0.3s ease;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    border: none;
    cursor: pointer;
}

.pcp-auth-submit-btn:hover {
    background-color: var(--brand-navy) !important;
    color: var(--white) !important;
}

.pcp-auth-submit-btn:active {
    transform: scale(0.95);
}

.pcp-auth-footer {
    display: block !important;
    visibility: visible !important;
    margin-top: 1rem;
    padding: 0 0 1.5rem;
    border-top: none;
    text-align: center;
}

.pcp-auth-footer p {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.pcp-auth-footer-link {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit !important;
    cursor: pointer !important;
    color: var(--brand-navy) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 2px !important;
    transition: color 0.2s !important;
    display: inline !important;
    font-weight: 800 !important;
}

.pcp-auth-footer-link:hover {
    color: var(--brand-yellow) !important;
}

.pcp-auth-alert {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background-color: #fef2f2;
    /* red-50 */
    border-left: 4px solid #ef4444;
    /* red-500 */
    color: #b91c1c;
    /* red-700 */
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pcp-auth-info-box {
    margin-bottom: 2rem;
    padding: 1rem;
    background-color: rgba(255, 196, 0, 0.1);
    border: 1px solid rgba(255, 196, 0, 0.2);
    border-radius: 0.125rem;
}

/* Auth Page Success State */
.pcp-auth-success-icon {
    width: 5rem;
    height: 5rem;
    background-color: #f0fdf4;
    /* green-100 */
    color: #16a34a;
    /* green-600 */
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
}

.pcp-auth-success-title {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 1rem;
}

/* My Account Styles */
.pcp-account-page-wrapper {
    background-color: rgb(249 250 251 / 0.5);
    /* gray-50/50 */
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.4s ease-out forwards;
}

/* Hide default WooCommerce account layout bits that we're overriding */
.woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
}

.woocommerce-MyAccount-navigation {
    display: flex;
    flex-direction: column;
}

/* Specific styling for account dashboards */
.pcp-stat-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pcp-stat-card:hover {
    background-color: var(--brand-navy);
    color: white;
}

.pcp-stat-card:hover .text-brand-yellow {
    color: var(--brand-yellow);
}

.pcp-stat-card:hover .opacity-60 {
    opacity: 0.8;
}

/* Override WooCommerce forms in account area for consistent premium look */
.woocommerce-MyAccount-content form .form-row {
    margin-bottom: 1.5rem;
}

.woocommerce-MyAccount-content form input.input-text {
    width: 100%;
    border: 2px solid #f3f4f6;
    /* gray-100 */
    padding: 1rem;
    font-weight: 700;
    font-size: 0.875rem;
    outline: none;
    transition: border-color 0.2s;
}

.woocommerce-MyAccount-content form input.input-text:focus {
    border-color: var(--brand-navy);
}

.woocommerce-MyAccount-content form .button {
    background-color: var(--brand-yellow);
    color: var(--brand-navy);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 1.25rem 3rem;
    font-size: 0.6875rem;
    /* 11px */
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

.woocommerce-MyAccount-content form .button:hover {
    background-color: var(--brand-navy);
    color: white;
}

/* Adjustments for the contact box hover state */
.group:hover .bg-brand-yellow {
    background-color: white;
}

.woocommerce-MyAccount-navigation a {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.woocommerce-MyAccount-navigation a svg {
    transition: transform 0.3s ease;
}

.woocommerce-MyAccount-navigation a:hover svg {
    transform: translateX(4px);
}

/* ==========================================================================
   MY ACCOUNT PAGE STYLES (Isolated from login form)
   ========================================================================== */

/* Page Wrapper - Completely isolated */
.pcp-myaccount-wrapper {
    background-color: #f9fafb;
    min-height: 100vh;
    padding-bottom: 6rem;
}

.pcp-myaccount-container {
    width: 100%;
}

/* Breadcrumbs */
.pcp-myaccount-breadcrumbs {
    padding: 16px 0;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
}

.pcp-myaccount-breadcrumbs a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s;
}

.pcp-myaccount-breadcrumbs a:hover {
    color: var(--brand-navy, #0f2b4c);
}

.pcp-myaccount-breadcrumbs-separator {
    margin: 0 8px;
    color: #9ca3af;
}

.pcp-myaccount-breadcrumbs-current {
    color: var(--brand-navy, #0f2b4c);
    font-weight: 700;
}

/* Hero Header */
.pcp-myaccount-hero {
    margin-top: 0;
    margin-bottom: 48px;
}

.pcp-myaccount-hero-inner {
    /* Styles moved to .pcp-myaccount-hero in overrides section */
    position: relative;
}

@media (min-width: 768px) {
    .pcp-myaccount-hero-inner {
        padding: 48px 32px;
    }
}

.pcp-myaccount-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    pointer-events: none;
    background-image: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
}

.pcp-myaccount-hero-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

@media (min-width: 768px) {
    .pcp-myaccount-hero-content {
        flex-direction: row;
    }
}

.pcp-myaccount-hero-title {
    font-size: 1.875rem;
    font-weight: 900;
    color: white;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: -0.025em;
}

@media (min-width: 768px) {
    .pcp-myaccount-hero-title {
        font-size: 3rem;
    }
}

.pcp-myaccount-hero-title span {
    color: var(--brand-yellow, #ffc400);
}

.pcp-myaccount-hero-subtitle {
    color: #9ca3af;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    opacity: 0.8;
    margin: 0;
}

@media (min-width: 768px) {
    .pcp-myaccount-hero-subtitle {
        font-size: 0.875rem;
    }
}

.pcp-myaccount-hero-actions {
    display: flex;
    gap: 1rem;
}

.pcp-myaccount-hero-btn {
    padding: 1rem;
    color: white !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    min-width: 100px;
    transition: all 0.2s;
    text-decoration: none;
}

.pcp-myaccount-hero-btn span {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: white !important;
}

.pcp-myaccount-hero-btn--wishlist {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.pcp-myaccount-hero-btn--wishlist:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.pcp-myaccount-hero-btn--wishlist svg {
    color: var(--brand-yellow, #ffc400);
}

.pcp-myaccount-hero-btn--logout {
    background-color: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.pcp-myaccount-hero-btn--logout:hover {
    background-color: #ef4444;
}

.pcp-myaccount-hero-btn--logout svg {
    color: #f87171;
}

.pcp-myaccount-hero-btn--logout:hover svg {
    color: white;
}

/* Layout - Unified Base */
.pcp-myaccount-layout {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .pcp-myaccount-layout {
        flex-direction: row;
        align-items: flex-start;
    }
}

.pcp-myaccount-layout::after {
    content: "";
    display: table;
    clear: both;
}

/* Sidebar */
.pcp-myaccount-sidebar {
    width: 100%;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .pcp-myaccount-sidebar {
        width: 288px;
        flex-shrink: 0;
    }
}

.pcp-myaccount-menu {
    background: white;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.pcp-myaccount-menu-header {
    background-color: var(--brand-navy, #0f2b4c);
    padding: 1.25rem;
}

.pcp-myaccount-menu-header h3 {
    color: white;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}

.pcp-myaccount-nav {
    display: flex;
    flex-direction: column;
}

.pcp-myaccount-nav-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-align: left;
    border-left: 4px solid transparent;
    transition: all 0.2s;
    background: white;
    color: #9ca3af;
    text-decoration: none;
}

.pcp-myaccount-nav-item:hover {
    background-color: #f9fafb;
    color: var(--brand-navy, #0f2b4c);
}

.pcp-myaccount-nav-item.is-active {
    background-color: #f9fafb;
    color: var(--brand-navy, #0f2b4c);
    border-left-color: var(--brand-yellow, #ffc400);
}

.pcp-myaccount-nav-item.is-logout {
    color: #ef4444;
}

.pcp-myaccount-nav-item.is-logout:hover {
    background-color: #fef2f2;
}

.pcp-myaccount-nav-item svg {
    transition: transform 0.2s;
}

.pcp-myaccount-nav-item:hover svg {
    transform: translateX(4px);
}

/* Contact Box */
.pcp-myaccount-contact {
    margin-top: 2rem;
    background-color: var(--brand-navy, #0f2b4c);
    padding: 2rem;
    color: white;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1);
    position: relative;
    overflow: hidden;
}

.pcp-myaccount-contact-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 6rem;
    height: 6rem;
    background-color: rgba(255, 196, 0, 0.1);
    border-radius: 9999px;
    transform: translate(3rem, -3rem);
}

.pcp-myaccount-contact h4 {
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    position: relative;
}

.pcp-myaccount-contact-person {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.pcp-myaccount-contact-avatar {
    width: 3rem;
    height: 3rem;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pcp-myaccount-contact-avatar svg {
    color: var(--brand-yellow, #ffc400);
}

.pcp-myaccount-contact-name {
    font-size: 0.875rem;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0;
}

.pcp-myaccount-contact-role {
    font-size: 10px;
    color: #9ca3af;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

.pcp-myaccount-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background-color: var(--brand-yellow, #ffc400);
    color: black !important;
    padding: 1rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.2s;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    text-decoration: none;
}

.pcp-myaccount-contact-btn:hover {
    background-color: white;
}

/* Main Content Area */
.pcp-myaccount-content {
    width: 100%;
    min-width: 0;
    background: white;
    border: 1px solid #e5e7eb;
    padding: 2rem;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    box-sizing: border-box;
    overflow-x: hidden;
    margin-top: 3rem;
}

@media (min-width: 768px) {
    .pcp-myaccount-content {
        padding: 2.5rem;
    }
}

@media (min-width: 1024px) {
    .pcp-myaccount-content {
        flex: 1;
        width: auto;
        margin-top: 0;
        margin-left: 3rem;
    }
}

/* Dashboard Content */
.pcp-myaccount-dashboard {
    animation: pcpFadeIn 0.4s ease-out forwards;
}

@keyframes pcpFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pcp-myaccount-dashboard-intro {
    max-width: 48rem;
    margin-bottom: 3rem;
}

.pcp-myaccount-dashboard-intro h2 {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 1rem;
}

.pcp-myaccount-dashboard-intro p {
    color: #4b5563;
    font-weight: 500;
    line-height: 1.75;
    margin: 0;
}

.pcp-myaccount-dashboard-intro a {
    color: var(--brand-navy, #0f2b4c);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--brand-yellow, #ffc400);
    text-underline-offset: 4px;
    transition: color 0.2s;
}

.pcp-myaccount-dashboard-intro a:hover {
    color: var(--brand-yellow, #ffc400);
}

/* Stats Grid */
.pcp-myaccount-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .pcp-myaccount-stats {
        grid-template-columns: repeat(3, 1fr);
    }

    /* 50/50 layout for 2 cards */
    .pcp-myaccount-stats--two {
        grid-template-columns: repeat(2, 1fr);
    }
}

.pcp-myaccount-stat-card {
    background-color: #f9fafb;
    padding: 2rem;
    border: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.3s;
    cursor: default;
}

.pcp-myaccount-stat-card:hover {
    background-color: var(--brand-navy, #0f2b4c);
    color: white;
}

.pcp-myaccount-stat-card svg {
    color: var(--brand-yellow, #ffc400);
    margin-bottom: 1.5rem;
}

.pcp-myaccount-stat-value {
    font-size: 1.5rem;
    font-weight: 900;
    margin-bottom: 0.5rem;
}

.pcp-myaccount-stat-label {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.6;
}

/* Tracking Box */
.pcp-myaccount-tracking {
    border: 1px solid #e5e7eb;
    padding: 2rem;
    background-color: rgba(249, 250, 251, 0.5);
}

.pcp-myaccount-tracking-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.pcp-myaccount-tracking-header svg {
    color: var(--brand-navy, #0f2b4c);
}

.pcp-myaccount-tracking-header h3 {
    font-size: 1.125rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin: 0;
}

.pcp-myaccount-tracking-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: flex-start;
}

@media (min-width: 768px) {
    .pcp-myaccount-tracking-content {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.pcp-myaccount-tracking-status {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.pcp-myaccount-status-dot {
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background-color: #6b7280;
}

.pcp-myaccount-status-dot.status-processing {
    background-color: #3b82f6;
}

.pcp-myaccount-status-dot.status-completed {
    background-color: #22c55e;
}

.pcp-myaccount-status-dot.status-on-hold {
    background-color: #eab308;
}

.pcp-myaccount-status-dot.is-pulsing {
    animation: pulse 2s infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.pcp-myaccount-tracking-status p {
    font-size: 0.875rem;
    font-weight: 700;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

.pcp-myaccount-tracking-btn {
    display: inline-block;
    background-color: var(--brand-navy, #0f2b4c);
    color: white !important;
    padding: 0.75rem 2rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.2s;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    text-decoration: none;
    text-align: center;
}

.pcp-myaccount-tracking-btn:hover {
    color: black !important;
    background-color: var(--brand-yellow, #ffc400);
}

/* ==========================================================================
   CRITICAL: Override login form width restriction for My Account page
   ========================================================================== */

/* When my account wrapper exists, override the .woocommerce max-width */
/* When my account wrapper exists, override the .woocommerce max-width */
.woocommerce:has(.pcp-myaccount-wrapper),
.pcp-myaccount-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}

/* Fallback for browsers without :has() support */
body.woocommerce-account .woocommerce {
    max-width: 100% !important;
    width: 100% !important;
}

/* ensure my account content matches container too */
.pcp-myaccount-layout {
    display: flex;
}


@media (min-width: 1024px) {
    .pcp-myaccount-layout {
        flex-direction: row;
        align-items: flex-start;
    }
}


/* Hero Header - Full Width Wrapper */
.pcp-myaccount-hero {
    margin-top: 0;
    margin-bottom: 48px;
    background-color: var(--brand-navy, #0f2b4c);
    border-top: 1px solid #1f3a5c;
    border-bottom: 1px solid #1f3a5c;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    width: 100%;
}

/* Hero Inner - Constrained Content */
.pcp-myaccount-hero-inner {
    background-color: transparent;
    border: none;
    box-shadow: none;
    width: 100%;
    margin: 0 auto;
    padding: 3rem 2.5rem;
    position: relative;
    z-index: 10;
}


/* Override any template-login styles on my account page */
body.woocommerce-account.page-template-template-login .woocommerce,
body.page-template-template-login .woocommerce:has(.pcp-myaccount-wrapper) {
    max-width: 100% !important;
    width: 100% !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ensure my account content matches container too */
.pcp-myaccount-layout {
    display: flex;
}


/* ==========================================================================
   ORDERS PAGE STYLES (Match screenshot)
   ========================================================================== */

.pcp-orders-header {
    margin-bottom: 2.5rem;
}

.pcp-myaccount-content .pcp-orders-title,
.pcp-myaccount-content .pcp-addresses-title,
.pcp-myaccount-content .woocommerce-edit-address h3,
.pcp-myaccount-content .woocommerce-Address-title h3,
.pcp-myaccount-content .woocommerce-EditAccountForm h3 {
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    color: var(--brand-navy, #0f2b4c) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 1.5rem !important;
    margin-top: 0 !important;
}

.pcp-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 1rem;
    margin-top: -1rem;
}

.pcp-orders-table-header {
    text-align: left;
    padding: 1rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--brand-navy, #0f2b4c);
    opacity: 0.8;
    border-bottom: 2px solid #f3f4f6;
}

.pcp-orders-table-row {
    transition: transform 0.2s, box-shadow 0.2s;
}

.pcp-orders-table-row:hover {
    transform: translateY(-2px);
}

.pcp-orders-table-cell {
    padding: 1.5rem 1rem;
    background: white;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.pcp-orders-table-cell:first-child {
    border-left: 1px solid #f3f4f6;
}

.pcp-orders-table-cell:last-child {
    border-right: 1px solid #f3f4f6;
    text-align: left;
}

/* Order Number */
.pcp-orders-table-cell--order-number a {
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-decoration: none;
    font-size: 1.125rem;
}

.pcp-orders-table-cell--order-number a:hover {
    color: var(--brand-yellow, #ffc400);
}

/* Status Badges - Pill Style */
.pcp-order-status-badge {
    display: inline-block;
    padding: 0.35rem 1rem;
    border-radius: 9999px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

/* Processing - Blueish */
.pcp-order-status-badge--processing {
    background-color: #dbeafe;
    color: #1e40af;
}

/* On-Hold - Yellowish */
.pcp-order-status-badge--on-hold {
    background-color: #fef9c3;
    color: #854d0e;
}

/* Completed - Greenish */
.pcp-order-status-badge--completed {
    background-color: #dcfce7;
    color: #166534;
}

/* Failed/Cancelled - Reddish */
.pcp-order-status-badge--failed,
.pcp-order-status-badge--cancelled {
    background-color: #fee2e2;
    color: #991b1b;
}

/* Total column */
.pcp-orders-table-cell--order-total {
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
}

.pcp-order-item-count {
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 10px;
    font-weight: 500;
    color: #9ca3af;
    text-transform: lowercase;
}

/* Action Buttons */
.pcp-orders-button {
    display: inline-block;
    background-color: var(--brand-navy, #0f2b4c);
    color: white !important;
    padding: 0.6rem 1.5rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.2s;
    text-decoration: none;
    border: none;
}

.pcp-orders-button:hover {
    background-color: var(--brand-yellow, #ffc400);
    color: var(--brand-navy, #0f2b4c) !important;
}

/* Mobile Responsiveness for Table */
@media (max-width: 767px) {

    .pcp-orders-table,
    .pcp-orders-table thead,
    .pcp-orders-table tbody,
    .pcp-orders-table th,
    .pcp-orders-table td,
    .pcp-orders-table tr {
        display: block;
    }

    .pcp-orders-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .pcp-orders-table-row {
        margin-bottom: 2rem;
        border: 1px solid #f3f4f6;
    }

    .pcp-orders-table-cell {
        border: none;
        border-bottom: 1px solid #f3f4f6;
        position: relative;
        padding-left: 50%;
        text-align: left !important;
    }

    .pcp-orders-table-cell:before {
        position: absolute;
        top: 50%;
        left: 1rem;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        transform: translateY(-50%);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
        content: attr(data-title);
        color: var(--brand-navy, #0f2b4c);
        opacity: 0.6;
    }

    .pcp-orders-table-cell:last-child {
        border-bottom: none;
    }
}

/* Pagination Buttons */
.pcp-orders .woocommerce-pagination {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 3rem;
}

.pcp-orders .woocommerce-pagination .woocommerce-button {
    background-color: transparent;
    color: var(--brand-navy, #0f2b4c) !important;
    border: 1px solid var(--brand-navy, #0f2b4c);
    padding: 0.75rem 2rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.2s;
    text-decoration: none;
}

.pcp-orders .woocommerce-pagination .woocommerce-button:hover {
    background-color: var(--brand-navy, #0f2b4c);
    color: white !important;
}

/* ==========================================================================
   ADDRESSES PAGE STYLES (Match screenshot)
   ========================================================================== */

.pcp-addresses-header {
    margin-bottom: 3rem;
}

.pcp-addresses-subtitle {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 0;
}

.pcp-addresses-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.pcp-address-card {
    flex: 1 1 400px;
    background: white;
    padding: 2.5rem;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
    position: relative;
    border: 1px solid #f3f4f6;
    border-left-width: 6px !important;
}

.pcp-address-card--billing {
    border-left-color: var(--brand-yellow, #ffc400) !important;
}

.pcp-address-card--shipping {
    border-left-color: var(--brand-navy, #0f2b4c) !important;
}

.pcp-address-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.pcp-address-card-title {
    font-size: 0.875rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}

.pcp-address-edit-link {
    font-size: 10px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: color 0.2s;
}

.pcp-address-edit-link:hover {
    color: var(--brand-yellow, #ffc400);
}

.pcp-address-card-content address {
    font-style: normal;
    font-size: 0.875rem;
    line-height: 1.8;
    color: #374151;
}

.pcp-address-card-content address strong {
    display: block;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

/* ==========================================================================
   WOOCOMMERCE ACCOUNT FORMS & INPUTS
   ========================================================================== */

/* Form Containers */
.woocommerce-EditAccountForm,
.woocommerce-address-fields__field-wrapper,
.woocommerce-edit-address form {
    max-width: 800px;
}

/* Form Groups & Labels */
.woocommerce-form-row,
.woocommerce-address-fields .form-row {
    margin-bottom: 1.25rem !important;
    display: block !important;
    width: 100%;
    clear: both;
}

.woocommerce-form-row label,
.woocommerce-address-fields label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--brand-navy, #0f2b4c) !important;
    letter-spacing: 0.1em !important;
    display: block;
    margin-bottom: 0.5rem;
}

.woocommerce-form-row label .required {
    color: #ef4444;
    text-decoration: none;
}

.woocommerce-EditAccountForm fieldset legend {
    font-size: 0.875rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
    display: block;
    width: 100%;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 0.75rem;
    margin-top: 2rem;
}

/* Inputs, Textareas, Selects */
.woocommerce-form-row input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce-edit-address select,
.woocommerce-edit-address textarea,
.woocommerce-EditAccountForm input.input-text {
    width: 100% !important;
    border: 1px solid var(--gray-200, #e5e7eb) !important;
    padding: 1rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #374151 !important;
    border-radius: 0 !important;
    background-color: white !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none !important;
    box-sizing: border-box !important;
}

.woocommerce-form-row input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.woocommerce-edit-address select:focus,
.woocommerce-edit-address textarea:focus {
    border-color: var(--brand-navy, #0f2b4c) !important;
}

/* Select2 Compatibility (if used) */
.select2-container--default .select2-selection--single {
    border: 1px solid var(--gray-200, #e5e7eb) !important;
    height: auto !important;
    padding: 0.75rem !important;
    border-radius: 0 !important;
}

/* Form Buttons */
.woocommerce-edit-address button.button,
.woocommerce-EditAccountForm button.button {
    background-color: var(--brand-navy, #0f2b4c) !important;
    color: white !important;
    padding: 1rem 3rem !important;
    font-size: 0.75rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 0 !important;
    border: none !important;
    transition: all 0.2s !important;
    cursor: pointer !important;
    display: inline-block;
    margin-top: 1rem;
}

.woocommerce-edit-address button.button:hover,
.woocommerce-EditAccountForm button.button:hover {
    background-color: var(--brand-yellow, #ffc400) !important;
    color: var(--brand-navy, #0f2b4c) !important;
}

/* Custom layout for city/postcode rows */
@media (min-width: 768px) {

    .woocommerce-edit-address .form-row-first,
    .woocommerce-edit-address .form-row-last,
    .woocommerce-address-fields .form-row-first,
    .woocommerce-address-fields .form-row-last,
    .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-EditAccountForm .form-row-last {
        width: 48% !important;
        float: left !important;
        clear: none !important;
    }

    .woocommerce-edit-address .form-row-last,
    .woocommerce-address-fields .form-row-last,
    .woocommerce-EditAccountForm .form-row-last {
        float: right !important;
    }
}

/* Fix description style to match RODO/Newsletter */
.woocommerce-EditAccountForm em,
.woocommerce-EditAccountForm span.description {
    font-style: normal;
    font-size: 0.625rem;
    /* 10px */
    font-weight: 700;
    color: var(--gray-400);
    text-transform: uppercase;
    line-height: 1.6;
    letter-spacing: -0.025em;
    display: block;
    margin-top: 0.25rem;
}

/* Clearfix for form fields */
.pcp-myaccount-content::after,
.woocommerce-address-fields::after,
.woocommerce-EditAccountForm::after {
    content: "";
    display: table;
    clear: both;
}

/* Fix for Select2/WC horizontal scrollbug */
.woocommerce-address-fields select.country_select,
.woocommerce-address-fields select.state_select {
    display: none !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    position: absolute !important;
    left: -9999px !important;
}

/* ==========================================================================
   ORDER DETAILS VIEW
   ========================================================================== */

/* Header & Intro */
.pcp-order-details-header {
    margin-bottom: 2rem;
}

.pcp-order-intro {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 0;
}

.pcp-order-intro .order-number,
.pcp-order-intro .order-date,
.pcp-order-intro .order-status {
    font-weight: 700;
    color: var(--brand-navy, #0f2b4c);
}

/* Order Table */
/* Order Details Section Header (Match Password Change Legend) */
.woocommerce-order-details__title {
    font-size: 0.875rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
    display: block;
    width: 100%;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 0.75rem;
    margin-top: 2rem;
}

/* Order Table (Match Orders History Table) */
.woocommerce-table--order-details {
    border: none;
    border-radius: 0;
    border-collapse: separate;
    border-spacing: 0 1rem;
    width: 100%;
    margin-bottom: 2rem;
    margin-top: -1rem;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    padding: 1.5rem 1rem;
    text-align: left;
    border: none;
    background: white;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.woocommerce-table--order-details th:first-child,
.woocommerce-table--order-details td:first-child {
    border-left: 1px solid #f3f4f6;
}

.woocommerce-table--order-details th:last-child,
.woocommerce-table--order-details td:last-child {
    border-right: 1px solid #f3f4f6;
}

/* Table Header Row */
.woocommerce-table--order-details thead th {
    background-color: transparent;
    font-size: 0.625rem;
    /* 10px */
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--brand-navy, #0f2b4c);
    font-weight: 900;
    border: none;
    border-bottom: 2px solid #f3f4f6;
    padding: 1rem;
}

.woocommerce-table--order-details tbody td.product-name a {
    color: var(--brand-navy, #0f2b4c);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.875rem;
}

.woocommerce-table--order-details tbody td.product-name strong.product-quantity {
    font-weight: 400;
    color: #6b7280;
}

/* Footer Rows (Totals) */
.woocommerce-table--order-details tfoot th {
    font-weight: 700;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    background: white;
    width: 70%;
    text-align: right;
    border-right: 1px solid #f3f4f6;
}

.woocommerce-table--order-details tfoot td {
    font-weight: 700;
    color: #111827;
    background: white;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: 1px solid #f3f4f6;
    font-size: 1rem;
    color: var(--brand-navy, #0f2b4c);
}

/* Address/Customer Details Column */
.woocommerce-customer-details address {
    border: 1px solid var(--gray-200, #e5e7eb);
    padding: 1.5rem;
    border-radius: 4px;
    /* match address card */
    background: white;
    font-style: normal;
    color: #4b5563;
    line-height: 1.6;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
}

.woocommerce-column__title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    margin-bottom: 1rem;
}

/* ==========================================================================
   CHECKOUT REDESIGN
   ========================================================================== */

/* Hero Section */
.pcp-checkout-hero {
    margin: 2rem 0 3rem;
}

.pcp-checkout-hero-inner {
    background-color: var(--brand-navy, #0f2b4c);
    padding: 3.5rem 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    border: 1px solid #1f3a5c;
}

.pcp-checkout-hero-content {
    position: relative;
    z-index: 10;
    max-width: 800px;
    margin: 0 auto;
}

.pcp-checkout-hero-title {
    font-size: 2.5rem;
    font-weight: 900;
    color: white;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    line-height: 1;
}

.pcp-checkout-hero-subtitle {
    color: #cbd5e1;
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    opacity: 0.9;
    margin: 0;
}

/* Layout */
.pcp-checkout-layout {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    margin-bottom: 3rem;
}

@media (min-width: 1024px) {
    .pcp-checkout-layout {
        flex-direction: row;
        align-items: flex-start;
    }
}

.pcp-checkout-main {
    flex: 1;
    min-width: 0;
    /* prevent flex overflow */
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.pcp-checkout-sidebar {
    width: 100%;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .pcp-checkout-sidebar {
        width: 380px;
        top: 2rem;
    }
}

/* Content Boxes (Cards) */
.pcp-checkout-box,
.pcp-checkout-summary-box {
    background: white;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    overflow: hidden;
}

.pcp-checkout-box-header {
    background-color: var(--brand-navy, #0f2b4c);
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pcp-checkout-box-header h2,
.pcp-checkout-box-header h3 {
    color: white;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}

.pcp-checkout-box-content {
    padding: 2rem;
}

.pcp-checkout-summary-content {
    padding: 2rem 1.5rem;
}

/* Customer Type Toggle */
.pcp-customer-type-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.pcp-toggle-btn {
    flex: 1;
    /* Ensure equal width if in flex container */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem;
    border: 2px solid #e5e7eb !important;
    /* Force border */
    background: white;
    color: #111827;
    /* Match input text color */
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s;
    border-radius: 0;
    /* Square like inputs */
}

.pcp-toggle-btn:hover {
    border-color: #d1d5db !important;
    background: #f9fafb;
}

.pcp-toggle-btn.active {
    background-color: var(--brand-navy, #0f2b4c);
    border-color: var(--brand-navy, #0f2b4c) !important;
    color: white;
}

.pcp-toggle-btn svg {
    width: 16px;
    height: 16px;
}

/* Checkout Form Inputs Override */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
    padding: 1rem !important;
    border: 2px solid #e5e7eb !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    border-radius: 0 !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus {
    border-color: var(--brand-navy, #0f2b4c) !important;
    outline: none !important;
}

.woocommerce-checkout .form-row label {
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--brand-navy, #0f2b4c) !important;
    margin-bottom: 0.5rem !important;
}

/* Shipping Methods (Cards) */
#shipping_method {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 1rem;
    /* grid-template-columns: 1fr 1fr; (optional 2 col) */
}

#shipping_method li {
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
}



/* Order Review Table (Sidebar) */
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 1rem 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.875rem;
}

.woocommerce-checkout-review-order-table .product-name {
    font-weight: 700;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    font-size: 10px;
}

.woocommerce-checkout-review-order-table .product-total {
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-align: right;
    font-size: 11px;
}

.woocommerce-checkout-review-order-table tfoot th {
    text-align: left;
    font-size: 10px;
    text-transform: uppercase;
    color: #6b7280;
    font-weight: 700;
    padding-right: 1rem;
}

.woocommerce-checkout-review-order-table tfoot .order-total th {
    font-size: 12px;
    color: #111827;
    border-bottom: none;
    padding-top: 1.5rem;
}

.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1.5rem;
    color: var(--brand-navy, #0f2b4c);
    font-weight: 900;
    border-bottom: none;
    padding-top: 1.5rem;
    text-align: right;
}

/* Place Order Button */
/* Place Order Button - Now handled by .pcp-btn */

/* Help Box */
.pcp-checkout-help {
    margin-top: 1.5rem;
    background-color: var(--brand-navy, #0f2b4c);
    padding: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1);
}

.pcp-checkout-help h4 {
    color: var(--brand-yellow, #ffc400);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.25rem 0;
}

/* Order Notes Box */
.pcp-checkout-box--notes {
    margin-top: 1.5rem;
    /* Gap from previous box */
}

/* Hide default H3 inside additional fields if JS didn't catch it or for FOUC */
.woocommerce-additional-fields h3 {
    display: none !important;
}

/* Specific styling for the notes label to look like a header if we want, or just standard label */
.woocommerce-additional-fields label {
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--brand-navy, #0f2b4c) !important;
    margin-bottom: 0.5rem !important;
    display: block;
}

/* Inputs & Textareas Global Fix for Checkout */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea {
    padding: 1rem !important;
    border: 2px solid #e5e7eb !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    border-radius: 0 !important;
    background: white !important;
    min-height: 50px;
}

.woocommerce-checkout textarea {
    min-height: 120px;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus {
    border-color: var(--brand-navy, #0f2b4c) !important;
    outline: none !important;
}

.pcp-checkout-help p {
    color: white;
    font-size: 10px;
    margin: 0;
    font-weight: 700;
    text-transform: uppercase;
    opacity: 0.9;
}

/* ==========================================================================
   CHECKOUT GRID (Shipping & Payment Side by Side)
   ========================================================================== */

.pcp-checkout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .pcp-checkout-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
}

/* ==========================================================================
   CHECKOUT FORM FIELD LAYOUT (2-Column Grid)
   ========================================================================== */

/* WooCommerce form rows in billing/shipping */
/* HIDE BILLING TITLE ONLY */
.woocommerce-billing-fields>h3 {
    display: none !important;
}

/* Shipping Title contains the toggle */
.woocommerce-shipping-fields>h3 {
    display: block !important;
    margin-bottom: 2rem !important;
    /* Increased spacing */
    font-size: 0;
}

/* Style the Ship to Different Address Toggle */
#ship-to-different-address {
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    width: 100%;
}

#ship-to-different-address label {
    display: flex !important;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    background: #f9fafb;
    padding: 1rem;
    border: 1px solid #e5e7eb;
    width: 100%;
    margin: 0;
    box-sizing: border-box !important;
    /* Fix width calculation */
}

#ship-to-different-address input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #d1d5db;
    background: white;
    border-radius: 0;
    /* Square like newsletter */
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

#ship-to-different-address input[type="checkbox"]:checked {
    background-color: var(--brand-navy, #0f2b4c);
    border-color: var(--brand-navy, #0f2b4c);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

#ship-to-different-address span {
    color: var(--brand-navy, #0f2b4c) !important;
    /* Black label requested (navy is the brands black) */
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* WooCommerce form rows in billing/shipping */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 768px) {

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
}

/* DEFAULT: ALL FIELDS 100% WIDTH */
.woocommerce-checkout .form-row {
    grid-column: 1 / -1;
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    padding: 0 !important;
    /* Removed default WC 3px padding */
}

/* Shipping Fields Section Spacing */
.woocommerce-shipping-fields {
    margin-top: 1.5rem !important;
    /* Match grid gap */
}

/* EXCEPTIONS: 50% WIDTH (Side by Side) */
@media (min-width: 768px) {

    /* Company & NIP */
    .woocommerce-checkout #billing_company_field,
    .woocommerce-checkout #billing_nip_field,
    /* Name & Surname */
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field,
    .woocommerce-checkout #shipping_first_name_field,
    .woocommerce-checkout #shipping_last_name_field,
    /* Postcode & City */
    .woocommerce-checkout #billing_postcode_field,
    .woocommerce-checkout #billing_city_field,
    .woocommerce-checkout #shipping_postcode_field,
    .woocommerce-checkout #shipping_city_field,
    /* Email & Phone */
    .woocommerce-checkout #billing_email_field,
    .woocommerce-checkout #billing_phone_field {
        grid-column: span 1;
    }
}



/* Labels styling */
.woocommerce-checkout .form-row label {
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--brand-navy, #0f2b4c) !important;
    margin-bottom: 0.5rem !important;
    display: block;
}

/* Hide optional badge in labels */
.woocommerce-checkout .form-row label .optional {
    display: none;
}

/* ==========================================================================
   SHIPPING METHOD CARDS (Radio Button Cards)
   ========================================================================== */

/* ==========================================================================
   SHIPPING METHODS (Radio Button Cards)
   ========================================================================== */

/* ==========================================================================
   SHIPPING & PAYMENT METHODS (Unified Card Style)
   ========================================================================== */

#shipping_method,
#pcp-payment-method-container,
#pcp-shipping-method-container,
.wc_payment_methods {
    list-style: none !important;
    /* Added 0.5rem container padding */
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Card Container */
#shipping_method li,
#pcp-payment-method-container li,
#pcp-shipping-method-container li,
.wc_payment_methods li {
    margin: 0 !important;
    padding: 1rem !important;
    /* Reduced padding */
    text-indent: 0 !important;
    list-style: none !important;
    border: 2px solid #f3f4f6 !important;
    /* Force override */
    /* Default border */
    background: white;
    cursor: pointer;
    display: flex;
    /* Flex layout for row */
    align-items: center;
    /* Vertically center input and label */
    gap: 1rem;
    transition: all 0.2s;
    position: relative;
    border-radius: 0;
    /* Square cards */
    flex-wrap: wrap;
    /* Allow wrapping for payment box */
}

/* Checked State - Yellow Border & Background */
#shipping_method li:has(input:checked),
#pcp-payment-method-container li:has(input:checked),
#pcp-shipping-method-container li:has(input:checked),
.wc_payment_methods li:has(input:checked) {
    border-color: var(--brand-yellow, #ffc400) !important;
    background-color: #fffbeb !important;
    /* Light yellow bg (yellow-50) */
}

/* Hover State */
#shipping_method li:hover,
#pcp-payment-method-container li:hover,
#pcp-shipping-method-container li:hover,
.wc_payment_methods li:hover {
    border-color: var(--brand-navy, #0f2b4c) !important;
}

/* Label Layout */
#shipping_method li label,
#pcp-payment-method-container li label,
#pcp-shipping-method-container li label,
.wc_payment_methods li label {
    flex: 1;
    /* Take remaining space */
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    /* Push price to right */
    margin: 0 !important;
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
}

/* Price Styling */
#shipping_method li label .woocommerce-Price-amount,
#pcp-payment-method-container li label .woocommerce-Price-amount,
#pcp-shipping-method-container li label .woocommerce-Price-amount {
    font-weight: 900;
    font-size: 1rem;
    color: var(--brand-navy, #0f2b4c);
}

/* Custom Radio Circle */
#shipping_method li input[type="radio"],
#pcp-payment-method-container li input[type="radio"],
#pcp-shipping-method-container li input[type="radio"],
.wc_payment_methods li input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border: 2px solid #d1d5db;
    /* Default gray border */
    border-radius: 50%;
    margin: 0 !important;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    background: white;
}

/* Checked Radio State */
#shipping_method li input[type="radio"]:checked,
#pcp-payment-method-container li input[type="radio"]:checked,
#pcp-shipping-method-container li input[type="radio"]:checked,
.wc_payment_methods li input[type="radio"]:checked {
    border-color: var(--brand-navy, #0f2b4c);
    /* Navy border */
    background-color: var(--brand-yellow, #ffc400);
    /* Yellow fill */
    border-width: 2px;
}

/* Inner Dot for Radio */
#shipping_method li input[type="radio"]:checked::after,
#pcp-payment-method-container li input[type="radio"]:checked::after,
#pcp-shipping-method-container li input[type="radio"]:checked::after,
.wc_payment_methods li input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: var(--brand-navy, #0f2b4c);
    /* Navy dot */
    border-radius: 50%;
}

/* Payment Box / Description Styling */
#pcp-payment-method-container li .payment_box,
.wc_payment_methods li .payment_box {
    width: 100%;
    flex-basis: 100%;
    margin-top: 0.5rem !important;
    padding-top: 0.5rem !important;
    border-top: 1px dashed #d1d5db !important;
    font-size: 0.85rem;
    color: #4b5563;
    display: none;
    /* Controlled by JS */
    background: transparent !important;
}

/* Ensure visible if style says so */
#pcp-payment-method-container li .payment_box:not([style*="display: none"]),
.wc_payment_methods li .payment_box:not([style*="display: none"]) {
    display: block !important;
}


/* ==========================================================================
   PAYMENT METHOD CARDS
   ========================================================================== */

.wc_payment_methods {
    list-style: none !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.wc_payment_methods li {
    background: white !important;
    border: 2px solid #f3f4f6 !important;
    padding: 1.25rem !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
    transition: all 0.2s;
    flex-wrap: wrap;
    /* Allow payment box to wrap */
}

/* Checked State */
.wc_payment_methods li.payment_method_is_selected,
/* Older WC class support */
.wc_payment_methods li:has(input:checked) {
    border-color: var(--brand-yellow, #ffc400) !important;
    background-color: #fffbeb !important;
}

.wc_payment_methods li:hover {
    border-color: var(--brand-navy, #0f2b4c) !important;
}

/* Label Layout */
.wc_payment_methods li label {
    flex: 1;
    margin: 0 !important;
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--brand-navy, #0f2b4c);
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Custom Radio Circle */
.wc_payment_methods li input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border: 2px solid #d1d5db;
    border-radius: 50%;
    margin: 0 !important;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    background: white;
}

.wc_payment_methods li input[type="radio"]:checked {
    border-color: var(--brand-navy, #0f2b4c);
    background-color: var(--brand-yellow, #ffc400);
}

.wc_payment_methods li input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: var(--brand-navy, #0f2b4c);
    border-radius: 50%;
}

/* Payment Box (Description) */
.wc_payment_methods li .payment_box {
    width: 100%;
    flex-basis: 100%;
    margin-top: 1rem !important;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    font-size: 0.85rem;
    color: #4b5563;
    display: block !important;
    /* Force show if selected? WC toggles display via JS */
}

/* Hide payment box if not selected (WC handles this via JS usually, styled here for fallback or override) */
/* Actually WC slides it up/down. We rely on WC JS. But we style the box here. */
.wc_payment_methods li .payment_box {
    background: transparent !important;
    padding: 1rem 0 0 0 !important;
    margin: 1rem 0 0 0 !important;
}

.wc_payment_methods li .payment_box p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   SIDEBAR & ORDER SUMMARY STYLING (Matching React Component)
   ========================================================================== */

/* Main Box Container */
.pcp-checkout-summary-box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    /* border-gray-200 */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    /* shadow-xl */
    border-radius: 0;
    padding: 0 !important;
    overflow: hidden;
    margin-bottom: 2rem;
    /* lg:sticky */
    top: 2rem;
    /* lg:top-8 */
    z-index: 10;
}

/* Header "TWOJE ZAMÓWIENIE" */
.pcp-checkout-summary-box h3 {
    background-color: var(--brand-navy, #0f2b4c);
    color: white;
    font-size: 1.125rem;
    /* text-lg */
    font-weight: 900;
    /* font-black */
    text-transform: uppercase;
    padding: 1.5rem;
    /* p-6 */
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    letter-spacing: -0.025em;
    /* tracking-tight */
}

/* Inline SVG handling (Reset any legacy ::before) */
.pcp-checkout-summary-box h3 svg {
    color: var(--brand-yellow, #ffc400);
    /* Ensure yellow icon */
    width: 20px;
    height: 20px;
}

.pcp-checkout-summary-box h3::before {
    display: none !important;
    /* Force hide if legacy CSS conflicts */
    content: none !important;
}

/* Content Padding Wrapper */
.pcp-checkout-summary-content {
    padding: 2rem;
    /* p-8 */
}

/* Order Table Structure */
.woocommerce-checkout-review-order-table {
    display: block;
    width: 100%;
}

.woocommerce-checkout-review-order-table tbody {
    display: block;
    max-height: 15rem;
    /* max-h-60 */
    overflow-y: auto;
    padding-right: 0.25rem;
    margin-right: -0.25rem;
    scrollbar-width: thin;
}

.woocommerce-checkout-review-order-table tbody tr {
    display: flex;
    gap: 1rem;
    border-bottom: 1px solid #f9fafb;
    /* border-gray-50 */
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.woocommerce-checkout-review-order-table tbody td {
    padding: 0;
    display: block;
}

/* Product Info */
.woocommerce-checkout-review-order-table .product-name {
    flex: 1;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--brand-navy, #0f2b4c);
    letter-spacing: -0.025em;
    /* tracking-tight */
    padding: 0;
}

.product-quantity {
    display: block;
    font-size: 9px;
    font-weight: 700;
    color: #4b5563;
    margin-top: 0.25rem;
}

.woocommerce-checkout-review-order-table .product-total {
    font-size: 10px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    white-space: nowrap;
    padding: 0;
}

/* Totals Section */
.woocommerce-checkout-review-order-table tfoot {
    display: block;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    padding: 1.5rem 0;
    /* py-6 */
    margin-top: 1rem;
}

.woocommerce-checkout-review-order-table tfoot tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
    border: none !important;
}

.woocommerce-checkout-review-order-table tfoot th {
    text-align: left;
    font-size: 0.75rem;
    /* text-xs */
    font-weight: 700;
    color: #374151;
    letter-spacing: 0.025em;
    padding: 0;
    text-transform: uppercase;
}

.woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    font-weight: 800;
    color: var(--brand-navy, #0f2b4c);
    font-size: 0.75rem;
    padding: 0;
}

/* Order Total */
.woocommerce-checkout-review-order-table tfoot .order-total {
    border-top: none;
    margin-top: 0;
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.woocommerce-checkout-review-order-table tfoot .order-total th {
    font-size: 10px;
    font-weight: 900;
    color: #4b5563;
    letter-spacing: 0.2em;
    /* tracking-[0.2em] */
    text-align: right;
    display: block;
    margin-bottom: 0.25rem;
}

.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 2.25rem;
    /* text-4xl */
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    letter-spacing: -0.05em;
    /* tracking-tighter */
    display: block;
    text-align: right;
}

/* Terms Checkboxes */
.woocommerce-terms-and-conditions-wrapper {
    padding: 1.5rem 2rem 0 2rem;
    border: none !important;
}

.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 10px;
    line-height: 1.6;
    text-transform: uppercase;
    font-weight: 700;
    /* Bold text */
    color: #4b5563;
    letter-spacing: -0.025em;
}

.woocommerce-form__input-checkbox {
    margin-top: 0.25rem;
    width: 20px;
    height: 20px;
    border: 2px solid #e5e7eb;
    background: white;
}

/* Button */
/* Place Order Button - Now handled by .pcp-btn */

/* Removed double icon ::after */

/* Trust Badges */

.pcp-checkout-summary-box .pcp-trust-badge {
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: #4b5563;
    letter-spacing: -0.025em;
}

/* Reset overrides */
.woocommerce-form-coupon-toggle,
.checkout_coupon {
    display: none !important;
}

/* 
 * Original #payment must remain accessible for WooCommerce JS and form submission.
 * We hide it visually but keep it in the DOM and functional.
 */
#payment {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* But if payment is inside our custom container, show it normally */
#pcp-payment-method-container #payment,
.pcp-checkout-box--payment #payment {
    position: static !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Ensure our custom payment container methods are visible and styled */
#pcp-payment-method-container {
    /* Container for cloned payment methods */
}

#pcp-payment-method-container li {
    cursor: pointer;
}

/* Hide the shipping row WITHIN the order review table (it's shown in section 3 instead) */
.pcp-checkout-sidebar .woocommerce-shipping-totals {
    display: none !important;
}

/* Hide original Place Order button from #payment (we have custom button in sidebar) */
#payment .place-order {
    display: none !important;
}

/* Ensure payment methods are visible and clickable */
#pcp-payment-method-container .wc_payment_methods,
.pcp-checkout-box--payment .wc_payment_methods {
    display: flex !important;
    flex-direction: column;
    gap: 0.75rem;
}

/* Loading state for sync containers */
.pcp-loading {
    opacity: 0.5;
    pointer-events: none;
    position: relative;
}

.pcp-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    border: 3px solid var(--gray-200, #e5e7eb);
    border-top-color: var(--brand-navy, #0f2b4c);
    border-radius: 50%;
    animation: pcp-spin 0.8s linear infinite;
}

@keyframes pcp-spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* Shipping option styling in custom container */
.pcp-shipping-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border: 2px solid var(--gray-100, #f3f4f6);
    margin-bottom: 0.5rem;
    cursor: pointer;
    transition: all 0.2s;
}

.pcp-shipping-option:hover {
    border-color: var(--brand-navy, #0f2b4c);
}

.pcp-shipping-option input[type="radio"] {
    margin: 0;
    width: 1.25rem;
    height: 1.25rem;
}

.pcp-shipping-option label {
    flex: 1;
    font-size: 0.6875rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--brand-navy, #0f2b4c);
    cursor: pointer;
}

/* Fallback message styling */
.pcp-shipping-fallback {
    padding: 1rem;
    background: var(--gray-50, #f9fafb);
    border: 1px solid var(--gray-100, #f3f4f6);
    font-size: 0.75rem;
    color: var(--gray-600, #4b5563);
    text-align: center;
}

/* ==========================================================================
   FIXES For Header & HELP BOX
   ========================================================================== */

/* Explicitly hide the inner "Your order" heading generated by WC/Template */
#order_review_heading {
    display: none !important;
}

/* Help Box Styling (Dark Navy) */
.pcp-checkout-help {
    margin-top: 1.5rem;
    background-color: var(--brand-navy, #0f2b4c);
    color: white;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-radius: 4px;
    /* Optional */
}

.pcp-checkout-help svg {
    color: var(--brand-yellow, #ffc400);
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.pcp-checkout-help div {
    display: flex;
    flex-direction: column;
}

.pcp-checkout-help h4 {
    color: var(--brand-yellow, #ffc400);
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 0.25rem 0;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.pcp-checkout-help p {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: white;
    line-height: 1.2;
}

/* -------------------------------------------------------------------------- */
/* CHECKOUT SIDEBAR OVERHAUL (REACT PORT)                                     */
/* -------------------------------------------------------------------------- */

.pcp-checkout-summary-box {
    background: var(--white);
    border: 1px solid var(--gray-200);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.pcp-checkout-summary-box .pcp-checkout-box-header {
    background-color: var(--brand-navy);
    padding: 0.875rem 1.25rem;
}

.pcp-checkout-summary-box .pcp-checkout-box-header h3 {
    color: var(--white);
    font-size: 0.875rem;
    font-weight: 900;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.pcp-checkout-summary-content {
    padding: 1.25rem;
}

/* Order Review Table */
.pcp-order-review-table {
    width: 100%;
    border-collapse: collapse;
    display: block;
    /* Allows max-height and scrolling */
}

.pcp-order-review-table tbody {
    display: block;
    max-height: 240px;
    overflow-y: auto;
    margin-bottom: 1.5rem;
    padding-right: 0.5rem;
}

.pcp-order-review-table tbody::-webkit-scrollbar {
    width: 4px;
}

.pcp-order-review-table tbody::-webkit-scrollbar-thumb {
    background-color: var(--gray-200);
    border-radius: 4px;
}

.pcp-order-item {
    display: flex;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--gray-100);
    margin-bottom: 1rem;
}

.pcp-order-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.pcp-order-item-image {
    width: 3.5rem;
    height: 3.5rem;
    background: var(--white);
    border: 1px solid var(--gray-100);
    padding: 2px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pcp-order-item-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.pcp-order-item-info {
    flex: 1;
    min-width: 0;
}

.pcp-order-item-name {
    font-size: 10px;
    font-weight: 900;
    color: var(--brand-navy);
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0.25rem;
    display: block;
}

.pcp-order-item-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pcp-order-item-qty,
.pcp-order-item-price {
    font-size: 9px;
    font-weight: 700;
    color: var(--gray-600);
    text-transform: uppercase;
}

.pcp-order-item-subtotal {
    font-size: 10px;
    font-weight: 900;
    color: var(--brand-navy);
}

/* Totals Table */
.pcp-order-review-table tfoot {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    border-top: 1px solid var(--gray-100);
    border-bottom: 1px solid var(--gray-100);
    padding: 1.25rem 0;
    margin-bottom: 1.5rem;
}

.pcp-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pcp-totals-row th {
    font-size: 11px;
    font-weight: 700;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.025em;
    text-align: left;
}

.pcp-totals-row td {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-navy);
    text-align: right;
}

.pcp-totals-shipping td {
    font-size: 11px;
}

/* Hide original labels inside shipping select if any */
.pcp-totals-shipping .woocommerce-shipping-destination {
    display: none;
}

.pcp-totals-final {
    display: flex;
    flex-direction: column;
    border: none !important;
    padding: 0 !important;
}

.pcp-totals-final th {
    font-size: 10px;
    font-weight: 900;
    color: var(--gray-600);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 0.25rem;
}

.pcp-totals-final td {
    font-size: 2.25rem;
    font-weight: 900;
    color: var(--brand-navy);
    letter-spacing: -0.05em;
    line-height: 1;
}

/* Privacy & Terms */
.pcp-checkout-privacy-policy {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.pcp-checkout-privacy-policy label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    cursor: pointer;
}

.pcp-checkout-privacy-policy input[type="checkbox"] {
    margin-top: 0.25rem;
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid var(--gray-200);
    flex-shrink: 0;
}

.pcp-checkout-privacy-policy .woocommerce-terms-and-conditions-checkbox-text {
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-600);
    text-transform: uppercase;
    line-height: 1.4;
}

/* Place Order Button Override - Removed in favor of .pcp-btn */

/* Trust Badges */
.pcp-checkout-trust-badges {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--gray-50);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pcp-trust-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: var(--gray-50);
    border: 1px solid var(--gray-100);
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-600);
    text-transform: uppercase;
}

/* Help Box */
.pcp-checkout-help-box {
    margin-top: 1.5rem;
    padding: 1.25rem 1.5rem;
    background-color: var(--brand-navy);
    color: var(--white);
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.pcp-checkout-help-box h4 {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
}

.pcp-checkout-help-box p {
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-300);
    text-transform: uppercase;
}

/* ==========================================================================
   ORDER REVIEW V2 - Matching Design Mockup 1:1
   ========================================================================== */

/* Summary Box Container */
.pcp-checkout-summary-box {
    background: #ffffff;
    border: none;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

/* Header - TWOJE ZAMÓWIENIE */
.pcp-checkout-summary-header {
    background-color: var(--brand-navy, #0f2b4c);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pcp-checkout-summary-header .pcp-summary-icon {
    color: var(--brand-yellow, #ffc400);
    flex-shrink: 0;
}

.pcp-checkout-summary-header span {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Content Area */
.pcp-checkout-summary-content {
    padding: 1.5rem;
}

/* Order Review V2 - Products List */
.pcp-order-review-v2 {
    /* Container */
}

.pcp-order-products {
    max-height: 220px;
    overflow-y: auto;
    margin-bottom: 1.5rem;
    padding-right: 0.5rem;
    scrollbar-width: thin;
    scrollbar-color: var(--gray-200) transparent;
}

.pcp-order-products::-webkit-scrollbar {
    width: 4px;
}

.pcp-order-products::-webkit-scrollbar-track {
    background: transparent;
}

.pcp-order-products::-webkit-scrollbar-thumb {
    background: var(--gray-200);
    border-radius: 4px;
}

/* Product Item */
.pcp-order-product-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--gray-100, #f3f4f6);
}

.pcp-order-product-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pcp-order-product-image {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    overflow: hidden;
    background: var(--gray-100, #f3f4f6);
}

.pcp-order-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pcp-order-product-details {
    flex: 1;
    min-width: 0;
}

.pcp-order-product-name {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    line-height: 1.3;
    margin: 0 0 0.25rem 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pcp-order-product-meta {
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-500, #6b7280);
    margin: 0;
}

.pcp-order-product-total {
    font-size: 12px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    white-space: nowrap;
}

/* Totals Section */
.pcp-order-totals {
    border-top: 1px solid var(--gray-100, #f3f4f6);
    border-bottom: 1px solid var(--gray-100, #f3f4f6);
    padding: 1rem 0;
    margin-bottom: 1rem;
}

.pcp-order-totals .pcp-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.35rem 0;
}

.pcp-order-totals .pcp-totals-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--gray-600, #4b5563);
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.pcp-order-totals .pcp-totals-value {
    font-size: 12px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
}

/* Grand Total */
.pcp-order-grand-total {
    padding: 0.5rem 0;
    margin-bottom: 1.5rem;
}

.pcp-grand-total-label {
    display: block;
    font-size: 10px;
    font-weight: 900;
    color: var(--gray-600, #4b5563);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 0.25rem;
}

.pcp-grand-total-amount {
    display: block;
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    letter-spacing: -0.05em;
    line-height: 1;
}

/* Checkboxes */
.pcp-checkout-checkboxes {
    margin-bottom: 1.5rem;
}

.pcp-checkout-checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    margin-bottom: 0.75rem;
}

.pcp-checkout-checkbox-label:last-child {
    margin-bottom: 0;
}

.pcp-checkout-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid var(--gray-200, #e5e7eb);
    background: #ffffff;
    margin: 0;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.pcp-checkout-checkbox:checked {
    background-color: var(--brand-navy, #0f2b4c);
    border-color: var(--brand-navy, #0f2b4c);
}

.pcp-checkout-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.pcp-checkout-checkbox-label span {
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-600, #4b5563);
    text-transform: uppercase;
    line-height: 1.5;
}

.pcp-checkbox-link {
    color: var(--brand-navy, #0f2b4c);
    text-decoration: underline;
    font-weight: 900;
}

.pcp-checkbox-link:hover {
    text-decoration: none;
}

/* Submit Button - KUPUJĘ I PŁACĘ */
.pcp-checkout-submit-btn {
    width: 100%;
    background-color: var(--brand-yellow, #ffc400);
    color: var(--brand-navy, #0f2b4c);
    border: none;
    padding: 1.25rem 2rem;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    transition: all 0.2s ease;
    box-shadow: 0 10px 25px -5px rgba(255, 196, 0, 0.3);
    margin-bottom: 1.5rem;
}

.pcp-checkout-submit-btn:hover {
    background-color: var(--brand-navy, #0f2b4c);
    color: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(15, 43, 76, 0.3);
}

.pcp-checkout-submit-btn svg {
    flex-shrink: 0;
}

/* Trust Badges - Updated Style */
.pcp-checkout-trust-badges {
    padding-top: 1.5rem;
    border-top: 1px solid var(--gray-100, #f3f4f6);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pcp-checkout-trust-badges .pcp-trust-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background: var(--gray-50, #f9fafb);
    border: 1px solid var(--gray-100, #f3f4f6);
}

.pcp-checkout-trust-badges .pcp-trust-icon {
    color: var(--gray-400, #9ca3af);
    flex-shrink: 0;
}

.pcp-checkout-trust-badges .pcp-trust-badge span {
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-600, #4b5563);
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

/* Help Box - Bottom Section */
.pcp-checkout-help-box {
    margin-top: 1.5rem;
    padding: 1.25rem 1.5rem;
    background-color: var(--brand-navy, #0f2b4c);
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.pcp-checkout-help-box svg {
    color: var(--brand-yellow, #ffc400);
    flex-shrink: 0;
}

.pcp-checkout-help-box h4 {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-yellow, #ffc400);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.25rem 0;
}

.pcp-checkout-help-box p {
    font-size: 10px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    margin: 0;
    opacity: 0.9;
}

/* Hide default WC elements we're replacing */
.pcp-checkout-sidebar .woocommerce-terms-and-conditions-wrapper,
.pcp-checkout-sidebar .pcp-checkout-privacy-policy,
.pcp-checkout-sidebar #payment {
    display: none !important;
}

/* Payment Method Row - Same style as other totals rows */
.pcp-totals-payment {
    /* Uses same styles as .pcp-totals-row */
}

.pcp-payment-value {
    /* Nazwa metody jako tekst, nie cena */
}

/* ==========================================================================
   THANK YOU PAGE - Premium Design
   ========================================================================== */

/* Page Container */
.pcp-thankyou-page {
    background-color: var(--gray-50, #f9fafb);
    min-height: 100vh;
    padding-bottom: 6rem;
}

/* Hero Section */
.pcp-thankyou-hero {
    background-color: var(--brand-navy, #0f2b4c);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 4rem 0 5rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.pcp-thankyou-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    pointer-events: none;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4" viewBox="0 0 4 4"><rect width="1" height="1" fill="white"/></svg>');
}

.pcp-thankyou-hero-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
    position: relative;
    z-index: 10;
}

/* Animated Checkmark */
.pcp-thankyou-checkmark {
    width: 6rem;
    height: 6rem;
    background-color: var(--brand-yellow, #ffc400);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    box-shadow: 0 0 50px rgba(255, 204, 0, 0.3);
    animation: pcp-bounce 2s ease-in-out infinite;
}

.pcp-thankyou-checkmark svg {
    color: var(--brand-navy, #0f2b4c);
}

@keyframes pcp-bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

/* Title */
.pcp-thankyou-title {
    font-size: 1.875rem;
    font-weight: 900;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin: 0 0 1rem;
}

.pcp-thankyou-title span {
    color: var(--brand-yellow, #ffc400);
}

@media (min-width: 768px) {
    .pcp-thankyou-title {
        font-size: 3rem;
    }
}

/* Subtitle */
.pcp-thankyou-subtitle {
    color: var(--gray-300, #d1d5db);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    max-width: 600px;
    margin: 0 auto 2.5rem;
    line-height: 1.8;
}

@media (min-width: 768px) {
    .pcp-thankyou-subtitle {
        font-size: 0.875rem;
    }
}

/* Order Number Box */
.pcp-thankyou-order-box {
    display: inline-block;
    background: var(--brand-yellow, #ffc400);
    border: none;
    padding: 1rem 2rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
}

.pcp-thankyou-order-label {
    display: block;
    color: var(--brand-navy, #0f2b4c);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 0.25rem;
    opacity: 0.8;
}

.pcp-thankyou-order-number {
    display: block;
    color: var(--brand-navy, #0f2b4c);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.15em;
}

/* Main Container */
.pcp-thankyou-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
    margin-top: -2.5rem;
    position: relative;
    z-index: 20;
}

.pcp-thankyou-main {
    max-width: 100%;
    margin: 0 auto;
}

/* Timeline Card */
.pcp-thankyou-timeline-card {
    background: #ffffff;
    border: 1px solid var(--gray-200, #e5e7eb);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .pcp-thankyou-timeline-card {
        padding: 3rem;
    }
}

.pcp-thankyou-section-title {
    font-size: 1rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin: 0 0 2.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pcp-thankyou-section-title svg {
    color: var(--brand-yellow, #ffc400);
}

/* Timeline */
.pcp-thankyou-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    position: relative;
}

@media (min-width: 768px) {
    .pcp-thankyou-timeline {
        grid-template-columns: repeat(3, 1fr);
    }
}

.pcp-thankyou-timeline-line {
    display: none;
}

@media (min-width: 768px) {
    .pcp-thankyou-timeline-line {
        display: block;
        position: absolute;
        top: 2.5rem;
        left: 10%;
        right: 10%;
        height: 2px;
        background: var(--gray-100, #f3f4f6);
        z-index: 0;
    }
}

/* Timeline Step */
.pcp-thankyou-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 10;
}

.pcp-thankyou-step-icon {
    width: 5rem;
    height: 5rem;
    background: var(--gray-50, #f9fafb);
    border: 4px solid #ffffff;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-navy, #0f2b4c);
    margin-bottom: 1.5rem;
    transition: background-color 0.3s ease;
}

.pcp-thankyou-step:hover .pcp-thankyou-step-icon {
    background-color: var(--brand-yellow, #ffc400);
}

.pcp-thankyou-step-title {
    font-size: 0.75rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin: 0 0 0.75rem;
}

.pcp-thankyou-step-desc {
    font-size: 11px;
    font-weight: 700;
    color: var(--gray-600, #4b5563);
    text-transform: uppercase;
    letter-spacing: 0.025em;
    line-height: 1.6;
    padding: 0 1rem;
    margin: 0;
}

/* Two Column Layout */
.pcp-thankyou-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

@media (min-width: 1024px) {
    .pcp-thankyou-columns {
        grid-template-columns: 1fr 2fr;
    }
}

/* Sidebar */
.pcp-thankyou-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Contact Box */
.pcp-thankyou-contact-box {
    background-color: var(--brand-navy, #0f2b4c);
    padding: 2rem;
    color: #ffffff;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    position: relative;
    overflow: hidden;
}

.pcp-thankyou-contact-title {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-yellow, #ffc400);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.pcp-thankyou-contact-desc {
    font-size: 11px;
    font-weight: 700;
    color: var(--gray-300, #d1d5db);
    text-transform: uppercase;
    line-height: 1.8;
    margin: 0 0 2rem;
}

.pcp-thankyou-phone-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background-color: var(--brand-yellow, #ffc400);
    color: var(--brand-navy, #0f2b4c) !important;
    padding: 1rem;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    transition: all 0.2s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
    text-decoration: none;
}

.pcp-thankyou-phone-btn:hover {
    background-color: #ffffff;
    color: var(--brand-navy, #0f2b4c);
}

/* Security Box */
.pcp-thankyou-security-box {
    background: var(--gray-100, #f3f4f6);
    padding: 2rem;
    border: 1px solid var(--gray-200, #e5e7eb);
}

.pcp-thankyou-security-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.pcp-thankyou-security-header svg {
    color: var(--brand-navy, #0f2b4c);
}

.pcp-thankyou-security-header h4 {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}

.pcp-thankyou-security-desc {
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-600, #4b5563);
    text-transform: uppercase;
    letter-spacing: 0.025em;
    line-height: 1.8;
    margin: 0;
}

/* Recommendations Section */
.pcp-thankyou-recommendations {
    /* Container */
}

.pcp-thankyou-recommendations-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.pcp-thankyou-recommendations-title {
    font-size: 1.125rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin: 0;
}

.pcp-thankyou-view-all {
    font-size: 10px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    border-bottom: 2px solid var(--brand-yellow, #ffc400);
    padding-bottom: 0.25rem;
    transition: color 0.2s ease;
}

.pcp-thankyou-view-all:hover {
    color: var(--brand-yellow-hover, #e6b000);
}

/* Products Grid */
.pcp-thankyou-products-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .pcp-thankyou-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Product Card */
.pcp-thankyou-product-card {
    background: #ffffff;
    border: 1px solid var(--gray-200, #e5e7eb);
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.pcp-thankyou-product-card:hover {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

.pcp-thankyou-product-image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--gray-50, #f9fafb);
    display: block;
}

.pcp-thankyou-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.pcp-thankyou-product-card:hover .pcp-thankyou-product-image img {
    transform: scale(1.05);
}

.pcp-thankyou-wishlist-btn {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2rem;
    height: 2rem;
    background: #ffffff;
    border: 1px solid var(--gray-200, #e5e7eb);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--gray-400, #9ca3af);
}

.pcp-thankyou-wishlist-btn:hover {
    background: var(--brand-navy, #0f2b4c);
    color: #ffffff;
    border-color: var(--brand-navy, #0f2b4c);
}

.pcp-thankyou-product-info {
    padding: 1rem;
}

.pcp-thankyou-product-cat {
    display: block;
    font-size: 10px;
    font-weight: 700;
    color: var(--gray-500, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.pcp-thankyou-product-name {
    font-size: 11px;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    text-transform: uppercase;
    letter-spacing: -0.025em;
    line-height: 1.4;
    margin: 0 0 0.75rem;
    min-height: 2.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pcp-thankyou-product-name a {
    color: inherit;
    text-decoration: none;
}

.pcp-thankyou-product-name a:hover {
    color: var(--brand-yellow-hover, #e6b000);
}

.pcp-thankyou-product-price {
    font-size: 1rem;
    font-weight: 900;
    color: var(--brand-navy, #0f2b4c);
    margin-bottom: 1rem;
}

.pcp-thankyou-product-price del {
    color: var(--gray-400, #9ca3af);
    font-size: 0.75rem;
    margin-right: 0.5rem;
}

.pcp-thankyou-product-price ins {
    text-decoration: none;
}

.pcp-thankyou-add-to-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    background-color: var(--brand-yellow, #ffc400);
    color: var(--brand-navy, #0f2b4c);
    padding: 0.75rem 1rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pcp-thankyou-add-to-cart:hover {
    background-color: var(--brand-navy, #0f2b4c);
    color: #ffffff;
}

.pcp-thankyou-no-products {
    font-size: 12px;
    color: var(--gray-500, #6b7280);
    text-align: center;
    padding: 2rem;
}

/* Back to Home Action */
.pcp-thankyou-actions {
    margin-top: 4rem;
    text-align: center;
}

.pcp-thankyou-home-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--brand-navy, #0f2b4c);
    color: #ffffff !important;
    padding: 1.5rem 3rem;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 25px 50px -12px rgba(15, 43, 76, 0.3);
}

.pcp-thankyou-home-btn:hover {
    background-color: var(--brand-yellow, #ffc400);
    color: var(--brand-navy, #0f2b4c) !important;
}

/* =========================================
   WCAG Toolbar Styles
   ========================================= */

.wcag-toolbar {
    background-color: var(--brand-navy, #0f2b4c);
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 13px;
    z-index: 9999;
    position: relative;
}

.wcag-toolbar-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* Aligned left usually or specified? Screenshot looks spread or left. */
    height: 48px;
    gap: 2rem;
}

/* Main controls wrapper */
.wcag-controls {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

/* Individual Buttons */
.wcag-btn,
.wcag-font-size button {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    transition: all 0.2s ease;
    gap: 0.5rem;
}

.wcag-btn:hover,
.wcag-font-size button:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.wcag-btn svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.5;
}

/* Font Size Control */
.wcag-font-size {
    display: flex;
    align-items: center;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0 1rem;
    gap: 0.5rem;
}

.wcag-font-current {
    font-weight: 700;
    min-width: 40px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* Accessibility Modes Implementation */

/* 1. High Contrast */
body.wcag-high-contrast {
    filter: invert(100%) hue-rotate(180deg);
}

body.wcag-high-contrast img,
body.wcag-high-contrast video,
body.wcag-high-contrast iframe,
body.wcag-high-contrast .wcag-toolbar {
    filter: invert(100%) hue-rotate(180deg);
}

/* Exclude toolbar from inversion to keep it usable/stable visually? 
   Actually, usually the toolbar should stay unrelated. 
   If I invert body, everything inverts. 
   Better to apply filter to a wrapper, but WP doesn't always have one.
   If I apply to body, I can un-invert the toolbar.
*/

/* 2. Grayscale */
body.wcag-grayscale {
    filter: grayscale(100%);
}

/* 3. Links Underlined */
body.wcag-links-underlined a {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* 4. Readable Font */
body.wcag-readable-font,
body.wcag-readable-font * {
    font-family: Arial, sans-serif !important;
    letter-spacing: 0.02em !important;
    word-spacing: 0.05em !important;
}

/* 5. Hide Images */
body.wcag-hide-images img,
body.wcag-hide-images video,
body.wcag-hide-images .elementor-image,
body.wcag-hide-images .wp-block-image {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Keep SVGs in toolbar visible */
body.wcag-hide-images .wcag-toolbar svg {
    opacity: 1 !important;
    visibility: visible !important;
}

/* 6. Stop Animations */
body.wcag-stop-animations *,
body.wcag-stop-animations *:before,
body.wcag-stop-animations *:after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    /* Transform none might break layout, be careful. Just transitions/animations */
}

/* Responsive */
@media (max-width: 768px) {
    .wcag-toolbar-inner {
        overflow-x: auto;
        padding-bottom: 5px;
        /* scroll hint */
    }

    .wcag-controls {
        padding-right: 1rem;
    }
}

/* =========================================
   WCAG Refinements (Step 2)
   ========================================= */

/* Fix Layout Grouping */
.top-bar-group-left {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    /* Gap between WCAG and Info Text */
}

/* Make toolbar itself tighter */
.wcag-toolbar-inner {
    height: auto;
    min-height: auto;
    gap: 1rem;
    padding: 0;
}

.wcag-controls {
    gap: 0.5rem;
    /* Much tighter gap */
}

/* Subtle Buttons */
.wcag-btn,
.wcag-font-size button {
    padding: 0.25rem;
    /* Smaller click area visual, but keeps it clickable */
    color: rgba(255, 255, 255, 0.6);
    /* More subtle by default */
    width: 24px;
    height: 24px;
}

.wcag-btn:hover,
.wcag-font-size button:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.15);
}

.wcag-btn svg,
.wcag-font-size svg {
    width: 14px;
    /* Smaller icon size */
    height: 14px;
    stroke-width: 1.5;
}

/* Font Size Control Specifics */
.wcag-font-size {
    border: none;
    /* Remove borders */
    padding: 0;
    gap: 0.25rem;
    background: rgba(255, 255, 255, 0.05);
    /* Slight pill bg */
    border-radius: 4px;
    padding: 0 0.25rem;
}

.wcag-font-current {
    font-size: 10px !important;
    min-width: 28px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
}

/* Hide separators if any remain */
.wcag-separator {
    display: none;
}

/* Simple CSS Tooltip (Optional "Turbo" enhancement) */
.wcag-btn {
    position: relative;
}

/* Only show on hover if we want custom styled tooltips, but standard 'title' works.
   Uncomment below if user insists on visual custom tooltips.
   For now, 'title' attribute provides native tooltip. 
*/


/* Style Galerii Miniaturek */
.pcp-gallery-thumbnails {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
}

.pcp-gallery-thumb {
    width: 100px;
    height: 100px;
    border: 1px solid var(--gray-200, #e5e7eb);
    border-radius: 0;
    /* Ostre krawędzie */
    background: #ffffff;
    padding: 0.5rem;
    cursor: pointer;
    opacity: 0.8;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.pcp-gallery-thumb:hover,
.pcp-gallery-thumb.active {
    opacity: 1;
    border-color: var(--brand-navy, #0f2b4c);
    box-shadow: 0 0 0 1px var(--brand-navy, #0f2b4c);
}

.pcp-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Wypełnienie miniaturki */
}

/* Nadpisania Specyficzne dla Sklepu i Archiwum (Kafelki) */
.woocommerce-shop .pcp-card-image,
.woocommerce-archive .pcp-card-image,
.archive .pcp-card-image {
    padding: 0.5rem;
    /* Cieńsza ramka (większe zdjęcie) */
}

.woocommerce-shop .pcp-card-action-btn,
.woocommerce-archive .pcp-card-action-btn,
.archive .pcp-card-action-btn {
    background-color: #ffffff !important;
    /* Białe tło ikon */
    opacity: 1 !important;
    /* Pełna widoczność */
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Main Product Image Padding */
.pcp-main-img {
    padding: 1rem !important;
}

/* =========================================
   HOMEPAGE PRODUCT CARD OVERRIDES
   ========================================= */
.pcp-home-container .pcp-product-card {
    border: 1px solid var(--gray-200, #e5e7eb);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.pcp-home-container .pcp-product-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Always show action buttons on homepage */
.pcp-home-container .pcp-card-actions {
    opacity: 1;
    transform: translateX(0);
}

/* Homepage card image - larger padding for white frame effect */
.pcp-home-container .pcp-card-image {
    padding: 1.5rem;
}