/* ============================================
   Price Paint Product Portal — Mobile-First CSS
   Brand: Price Paint (pricepaint.co.za)
   ============================================ */

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

:root {
    --pp-primary: #b8860b;
    --pp-primary-dark: #96700a;
    --pp-accent: #d4a942;
    --pp-navy: #0b0c2a;
    --pp-navy-light: #161840;
    --pp-dark: #1a1a2e;
    --pp-text: #333333;
    --pp-text-light: #666666;
    --pp-white: #ffffff;
    --pp-light-bg: #f5f7fb;
    --pp-border: #e2e8f0;
    --pp-success: #22c55e;
    --pp-warning: #f59e0b;
    --pp-shadow: 0 2px 12px rgba(11, 12, 42, 0.08);
    --pp-shadow-hover: 0 8px 24px rgba(11, 12, 42, 0.15);
    --pp-radius: 12px;
    --pp-radius-sm: 8px;
    --pp-transition: 0.25s ease;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: 'Raleway', 'Segoe UI', Roboto, sans-serif;
    color: var(--pp-text);
    background: var(--pp-light-bg);
    line-height: 1.6;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

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

a {
    color: var(--pp-primary);
    text-decoration: none;
    transition: color var(--pp-transition);
}

a:hover {
    color: var(--pp-primary-dark);
}

/* --- Header --- */
.site-header {
    background: var(--pp-navy);
    padding: 16px 20px;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.header-logo img {
    height: 48px;
    width: auto;
}

.header-tagline {
    color: rgba(255,255,255,0.7);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
}

.header-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--pp-white);
    font-size: 0.85rem;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: var(--pp-radius-sm);
    background: rgba(255,255,255,0.1);
    transition: background var(--pp-transition);
}

.header-back:hover {
    background: rgba(255,255,255,0.2);
    color: var(--pp-white);
}

.header-back svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* --- Hero Banner (Index Page) --- */
.hero-banner {
    background: linear-gradient(135deg, var(--pp-navy) 0%, var(--pp-navy-light) 100%);
    padding: 40px 20px 32px;
    text-align: center;
}

.hero-banner h1 {
    color: var(--pp-white);
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 8px;
}

.hero-banner p {
    color: rgba(255,255,255,0.75);
    font-size: 0.95rem;
    max-width: 500px;
    margin: 0 auto;
}

/* --- Product Grid --- */
.product-grid-section {
    padding: 24px 16px 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.category-filter {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 0 0 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.category-filter::-webkit-scrollbar {
    display: none;
}

.filter-btn {
    padding: 8px 16px;
    border: 2px solid var(--pp-border);
    border-radius: 50px;
    background: var(--pp-white);
    color: var(--pp-text-light);
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--pp-transition);
}

.filter-btn:hover,
.filter-btn.active {
    border-color: var(--pp-primary);
    background: var(--pp-primary);
    color: var(--pp-white);
}

.product-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 8px;
}

/* --- Product Card --- */
.product-card {
    background: var(--pp-white);
    border-radius: var(--pp-radius);
    box-shadow: var(--pp-shadow);
    overflow: hidden;
    transition: transform var(--pp-transition), box-shadow var(--pp-transition);
    display: flex;
    flex-direction: row;
    text-decoration: none;
    color: inherit;
}

.product-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--pp-shadow-hover);
    color: inherit;
}

.card-color-bar {
    width: 6px;
    flex-shrink: 0;
}

.card-color-bar.roof { background: var(--pp-primary); }
.card-color-bar.sealer { background: #22c55e; }
.card-color-bar.primer { background: #f59e0b; }
.card-color-bar.paint { background: #8b5cf6; }
.card-color-bar.specialty { background: #ef4444; }
.card-color-bar.coating { background: #06b6d4; }

.card-body {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.card-category {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 3px 10px;
    border-radius: 50px;
    width: fit-content;
}

.card-category.roof { background: rgba(61,104,255,0.1); color: var(--pp-primary); }
.card-category.sealer { background: rgba(34,197,94,0.1); color: #16a34a; }
.card-category.primer { background: rgba(245,158,11,0.1); color: #d97706; }
.card-category.paint { background: rgba(139,92,246,0.1); color: #7c3aed; }
.card-category.specialty { background: rgba(239,68,68,0.1); color: #dc2626; }
.card-category.coating { background: rgba(6,182,212,0.1); color: #0891b2; }

.card-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--pp-navy);
    line-height: 1.3;
}

.card-excerpt {
    font-size: 0.82rem;
    color: var(--pp-text-light);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-arrow {
    margin-left: auto;
    display: flex;
    align-items: center;
    padding: 16px 14px 16px 8px;
    color: var(--pp-primary);
    flex-shrink: 0;
}

.card-arrow svg {
    width: 20px;
    height: 20px;
    transition: transform var(--pp-transition);
}

.product-card:hover .card-arrow svg {
    transform: translateX(3px);
}

/* --- Product Page Hero --- */
.product-hero {
    background: linear-gradient(135deg, var(--pp-navy) 0%, var(--pp-navy-light) 100%);
    padding: 32px 20px;
}

.product-hero-inner {
    max-width: 800px;
    margin: 0 auto;
}

.product-hero .card-category {
    margin-bottom: 8px;
}

.product-hero h1 {
    color: var(--pp-white);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 4px;
}

.product-hero .subtitle {
    color: rgba(255,255,255,0.6);
    font-size: 0.85rem;
}

/* --- Tab Navigation --- */
.tab-nav {
    display: flex;
    overflow-x: auto;
    background: var(--pp-white);
    border-bottom: 2px solid var(--pp-border);
    padding: 0 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    position: sticky;
    top: 68px;
    z-index: 50;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.tab-nav::-webkit-scrollbar {
    display: none;
}

.tab-btn {
    padding: 14px 18px;
    border: none;
    background: none;
    color: var(--pp-text-light);
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    transition: color var(--pp-transition);
}

.tab-btn::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--pp-primary);
    border-radius: 3px 3px 0 0;
    transform: scaleX(0);
    transition: transform var(--pp-transition);
}

.tab-btn:hover {
    color: var(--pp-primary);
}

.tab-btn.active {
    color: var(--pp-primary);
}

.tab-btn.active::after {
    transform: scaleX(1);
}

/* --- Tab Content --- */
.tab-content-area {
    padding: 20px 16px 40px;
    max-width: 800px;
    margin: 0 auto;
}

.tab-panel {
    display: none;
    animation: fadeIn 0.3s ease;
}

.tab-panel.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- Description Tab --- */
.description-content {
    background: var(--pp-white);
    border-radius: var(--pp-radius);
    padding: 24px 20px;
    box-shadow: var(--pp-shadow);
}

.description-content h2 {
    font-size: 1.15rem;
    color: var(--pp-navy);
    margin-bottom: 12px;
}

.description-content p {
    color: var(--pp-text);
    font-size: 0.92rem;
    line-height: 1.7;
    margin-bottom: 12px;
}

.description-content p:last-child {
    margin-bottom: 0;
}

.key-features {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--pp-border);
}

.key-features h3 {
    font-size: 0.9rem;
    color: var(--pp-navy);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.feature-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.88rem;
    color: var(--pp-text);
    line-height: 1.5;
}

.feature-list li::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: rgba(61,104,255,0.1);
    border-radius: 50%;
    margin-top: 2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233d68ff' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}

/* --- TDS Tab --- */
.tds-card {
    background: var(--pp-white);
    border-radius: var(--pp-radius);
    padding: 24px 20px;
    box-shadow: var(--pp-shadow);
    text-align: center;
}

.tds-card .tds-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: rgba(61,104,255,0.1);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tds-card .tds-icon svg {
    width: 32px;
    height: 32px;
    color: var(--pp-primary);
}

.tds-card h3 {
    font-size: 1.05rem;
    color: var(--pp-navy);
    margin-bottom: 8px;
}

.tds-card p {
    font-size: 0.85rem;
    color: var(--pp-text-light);
    margin-bottom: 20px;
}

.btn-download {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: var(--pp-primary);
    color: var(--pp-white);
    border-radius: var(--pp-radius-sm);
    font-weight: 700;
    font-size: 0.9rem;
    transition: background var(--pp-transition), transform var(--pp-transition);
}

.btn-download:hover {
    background: var(--pp-primary-dark);
    color: var(--pp-white);
    transform: translateY(-1px);
}

.btn-download svg {
    width: 18px;
    height: 18px;
}

.tds-coming-soon {
    padding: 40px 20px;
    text-align: center;
    color: var(--pp-text-light);
}

.tds-coming-soon .icon-clock {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    color: var(--pp-warning);
}

.tds-coming-soon p {
    font-size: 0.9rem;
}

/* --- Warranty Tab --- */
.warranty-card {
    background: var(--pp-white);
    border-radius: var(--pp-radius);
    padding: 24px 20px;
    box-shadow: var(--pp-shadow);
}

.warranty-card h3 {
    font-size: 1.05rem;
    color: var(--pp-navy);
    margin-bottom: 12px;
}

.warranty-card p {
    font-size: 0.88rem;
    color: var(--pp-text);
    line-height: 1.7;
    margin-bottom: 16px;
}

.warranty-notice {
    background: rgba(245,158,11,0.08);
    border-left: 4px solid var(--pp-warning);
    padding: 14px 16px;
    border-radius: 0 var(--pp-radius-sm) var(--pp-radius-sm) 0;
    margin-bottom: 20px;
}

.warranty-notice p {
    font-size: 0.85rem;
    font-weight: 600;
    color: #92400e;
    margin-bottom: 0;
}

.btn-warranty {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--pp-navy);
    color: var(--pp-white);
    border-radius: var(--pp-radius-sm);
    font-weight: 700;
    font-size: 0.88rem;
    transition: background var(--pp-transition), transform var(--pp-transition);
}

.btn-warranty:hover {
    background: var(--pp-navy-light);
    color: var(--pp-white);
    transform: translateY(-1px);
}

.btn-warranty svg {
    width: 16px;
    height: 16px;
}

/* --- Specs Tab --- */
.specs-card {
    background: var(--pp-white);
    border-radius: var(--pp-radius);
    padding: 24px 20px;
    box-shadow: var(--pp-shadow);
}

.specs-card h3 {
    font-size: 1.05rem;
    color: var(--pp-navy);
    margin-bottom: 16px;
}

.specs-table {
    width: 100%;
    border-collapse: collapse;
}

.specs-table tr {
    border-bottom: 1px solid var(--pp-border);
}

.specs-table tr:last-child {
    border-bottom: none;
}

.specs-table th {
    text-align: left;
    padding: 12px 12px 12px 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--pp-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    width: 40%;
    vertical-align: top;
}

.specs-table td {
    padding: 12px 0;
    font-size: 0.88rem;
    color: var(--pp-text);
}

.size-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.size-badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--pp-light-bg);
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--pp-navy);
}

/* --- Buy CTA --- */
.buy-cta {
    background: var(--pp-white);
    border-radius: var(--pp-radius);
    padding: 24px 20px;
    box-shadow: var(--pp-shadow);
    text-align: center;
    margin-top: 20px;
}

.buy-cta h3 {
    font-size: 1rem;
    color: var(--pp-navy);
    margin-bottom: 6px;
}

.buy-cta p {
    font-size: 0.82rem;
    color: var(--pp-text-light);
    margin-bottom: 16px;
}

.btn-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 320px;
    padding: 16px 24px;
    background: linear-gradient(135deg, var(--pp-primary) 0%, var(--pp-accent) 100%);
    color: var(--pp-white);
    border-radius: var(--pp-radius-sm);
    font-weight: 700;
    font-size: 1rem;
    transition: transform var(--pp-transition), box-shadow var(--pp-transition);
    box-shadow: 0 4px 15px rgba(61,104,255,0.3);
}

.btn-buy:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(61,104,255,0.4);
    color: var(--pp-white);
}

.btn-buy svg {
    width: 20px;
    height: 20px;
}

.btn-buy-disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 320px;
    padding: 16px 24px;
    background: #9ca3af;
    color: var(--pp-white);
    border-radius: var(--pp-radius-sm);
    font-weight: 700;
    font-size: 1rem;
    cursor: default;
}

/* --- Contact Footer --- */
.contact-footer {
    background: var(--pp-navy);
    padding: 32px 20px;
    text-align: center;
    margin-top: 40px;
}

.contact-footer h3 {
    color: var(--pp-white);
    font-size: 1rem;
    margin-bottom: 16px;
}

.contact-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.85);
    font-size: 0.9rem;
    padding: 10px 20px;
    background: rgba(255,255,255,0.08);
    border-radius: var(--pp-radius-sm);
    transition: background var(--pp-transition);
}

.contact-link:hover {
    background: rgba(255,255,255,0.15);
    color: var(--pp-white);
}

.contact-link svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.site-footer {
    background: var(--pp-navy);
    padding: 16px 20px;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.site-footer p {
    color: rgba(255,255,255,0.4);
    font-size: 0.75rem;
}

.site-footer a {
    color: rgba(255,255,255,0.6);
}

.site-footer a:hover {
    color: var(--pp-white);
}

/* --- Back to Top --- */
.back-to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--pp-primary);
    color: var(--pp-white);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(61,104,255,0.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all var(--pp-transition);
    z-index: 90;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    background: var(--pp-primary-dark);
    transform: translateY(-2px);
}

.back-to-top svg {
    width: 20px;
    height: 20px;
}

/* --- Responsive: Tablet+ --- */
@media (min-width: 480px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-card {
        flex-direction: column;
    }

    .card-color-bar {
        width: auto;
        height: 5px;
    }

    .card-arrow {
        padding: 0 20px 16px;
    }

    .contact-links {
        flex-direction: row;
        justify-content: center;
    }
}

@media (min-width: 768px) {
    .hero-banner {
        padding: 56px 20px 44px;
    }

    .hero-banner h1 {
        font-size: 2rem;
    }

    .product-grid-section {
        padding: 32px 24px 80px;
    }

    .product-hero h1 {
        font-size: 1.8rem;
    }

    .tab-btn {
        font-size: 0.85rem;
        padding: 16px 24px;
    }

    .tab-content-area {
        padding: 28px 24px 60px;
    }
}

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

    .header-logo img {
        height: 56px;
    }
}

/* --- Print Styles --- */
@media print {
    .site-header,
    .tab-nav,
    .buy-cta,
    .contact-footer,
    .back-to-top,
    .header-back,
    .btn-buy,
    .btn-warranty {
        display: none !important;
    }

    body {
        background: white;
        color: black;
        font-size: 12pt;
    }

    .product-hero {
        background: none !important;
        padding: 20px 0;
    }

    .product-hero h1 {
        color: black;
        font-size: 18pt;
    }

    .product-hero .card-category {
        border: 1px solid #ccc;
    }

    .tab-panel {
        display: block !important;
        page-break-inside: avoid;
        margin-bottom: 20px;
    }

    .tab-content-area {
        padding: 0;
    }

    .description-content,
    .tds-card,
    .warranty-card,
    .specs-card {
        box-shadow: none;
        border: 1px solid #ddd;
    }

    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #666;
    }
}

/* 2026-06-05 client changes: About band, WhatsApp, share */
.about-band{max-width:900px;margin:0 auto;padding:26px 24px 0;text-align:center}
.about-band h2{font-size:1.4rem;margin:0 0 8px}
.about-band p{color:#555;max-width:700px;margin:0 auto;line-height:1.6}
.contact-link-wa svg{color:#25D366}
.wa-tag{opacity:.7;font-size:.85em}
.share-btn{margin:18px auto 0;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1.5px solid currentColor;border-radius:8px;padding:9px 18px;cursor:pointer;font:inherit;color:inherit;opacity:.9}
.share-btn:hover{opacity:1}

/* 2026-06-05 client changes: shortcuts, calculator modal, stockist band */
.quick-shortcuts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto;padding:18px 16px 0}
.shortcut-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#b8860b;color:#fff;border:none;border-radius:24px;font-family:inherit;font-size:.92rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,transform .15s}
.shortcut-btn:hover{background:#9a7009;transform:translateY(-1px)}
.shortcut-btn svg{flex-shrink:0}
.stockist-band{max-width:900px;margin:0 auto;padding:34px 24px;text-align:center}
.stockist-band h2{font-size:1.4rem;margin:0 0 8px}
.stockist-band p{margin:0 0 18px;color:#555}
.stockist-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.stockist-btn{display:inline-block;padding:10px 20px;border:2px solid #b8860b;border-radius:24px;color:#b8860b;font-weight:600;text-decoration:none;transition:all .2s}
.stockist-btn:hover{background:#b8860b;color:#fff}
.stockist-btn-wa{border-color:#25d366;color:#1da851}
.stockist-btn-wa:hover{background:#25d366;color:#fff}
.calc-overlay{position:fixed;inset:0;background:rgba(11,12,42,.65);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}
.calc-overlay[hidden]{display:none}
.calc-modal{position:relative;background:#fff;border-radius:12px;padding:28px 24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.calc-modal h2{margin:0 0 4px;font-size:1.3rem;color:#0b0c2a}
.calc-intro{margin:0 0 18px;color:#666;font-size:.9rem}
.calc-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:1.8rem;line-height:1;color:#999;cursor:pointer}
.calc-close:hover{color:#0b0c2a}
.calc-field{margin-bottom:14px}
.calc-field label{display:block;margin-bottom:5px;font-weight:600;font-size:.88rem}
.calc-field input,.calc-field select{width:100%;padding:9px 10px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:.95rem;box-sizing:border-box}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-submit{width:100%;padding:12px;background:#b8860b;color:#fff;border:none;border-radius:6px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}
.calc-submit:hover{background:#9a7009}
.calc-result{margin-top:16px;padding:14px;background:#faf3e0;border:1px solid #e6cf8f;border-radius:6px}
.calc-result[hidden]{display:none}
.calc-result p{margin:0;font-size:.92rem}
.calc-result p+p{margin-top:8px}
.calc-note{margin:16px 0 0;font-size:.78rem;color:#888}

/* ============================================
   2026-06-05 Full-site build: nav, pages, forms
   ============================================ */

/* --- Site Nav --- */
.nav-toggle{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:none;border-radius:8px;width:42px;height:42px;color:#fff;cursor:pointer;flex-shrink:0}
.nav-toggle svg{width:22px;height:22px}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--pp-navy-light);flex-direction:column;padding:8px 0;box-shadow:0 12px 24px rgba(0,0,0,.35)}
.site-nav.open{display:flex}
.site-nav a{color:rgba(255,255,255,.85);font-weight:600;font-size:.92rem;padding:12px 24px}
.site-nav a:hover,.site-nav a.active{color:var(--pp-accent)}
@media (min-width:900px){
  .nav-toggle{display:none}
  .site-nav{display:flex;position:static;flex-direction:row;background:none;padding:0;box-shadow:none;gap:4px}
  .site-nav a{padding:8px 12px;font-size:.88rem;white-space:nowrap}
}

/* --- Page hero (inner pages) --- */
.page-hero{background:linear-gradient(135deg,var(--pp-navy) 0%,var(--pp-navy-light) 100%);padding:36px 20px;text-align:center}
.page-hero h1{color:#fff;font-size:1.6rem;font-weight:700;margin-bottom:6px}
.page-hero p{color:rgba(255,255,255,.75);font-size:.95rem;max-width:620px;margin:0 auto}
@media (min-width:768px){.page-hero{padding:52px 20px}.page-hero h1{font-size:2rem}}

/* --- Generic page content --- */
.page-content{max-width:860px;margin:0 auto;padding:28px 20px 60px}
.content-card{background:#fff;border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:24px 20px;margin-bottom:20px}
.content-card h2{font-size:1.2rem;color:var(--pp-navy);margin-bottom:12px}
.content-card h3{font-size:1rem;color:var(--pp-navy);margin:18px 0 8px}
.content-card p{font-size:.92rem;line-height:1.7;margin-bottom:12px}
.content-card p:last-child{margin-bottom:0}
.content-card ul,.content-card ol{padding-left:22px;margin-bottom:12px}
.content-card li{font-size:.9rem;line-height:1.7;margin-bottom:4px}
.lead-band{background:#fff;border-left:4px solid var(--pp-primary);border-radius:0 var(--pp-radius-sm) var(--pp-radius-sm) 0;box-shadow:var(--pp-shadow);padding:16px 18px;margin-bottom:20px;font-size:.95rem;line-height:1.7}

/* --- Feature tiles (FAQ top blocks / key features) --- */
.tile-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:6px 0 20px}
@media (min-width:600px){.tile-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.tile-grid{grid-template-columns:repeat(3,1fr)}}
.tile{background:#fff;border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:20px 18px}
.tile h3{font-size:.95rem;color:var(--pp-navy);margin-bottom:6px;display:flex;align-items:center;gap:8px}
.tile h3 svg{width:18px;height:18px;color:var(--pp-primary);flex-shrink:0}
.tile p{font-size:.85rem;color:var(--pp-text-light);line-height:1.6}

/* --- Accordion (FAQ Q&A) --- */
.accordion{display:flex;flex-direction:column;gap:10px}
.accordion-item{background:#fff;border-radius:var(--pp-radius-sm);box-shadow:var(--pp-shadow);overflow:hidden}
.accordion-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;background:none;border:none;padding:16px 18px;font-family:inherit;font-size:.92rem;font-weight:700;color:var(--pp-navy);cursor:pointer}
.accordion-q::after{content:'+';font-size:1.3rem;color:var(--pp-primary);font-weight:600;flex-shrink:0;transition:transform .2s}
.accordion-item.open .accordion-q::after{content:'\2212'}
.accordion-a{display:none;padding:0 18px 16px;font-size:.88rem;line-height:1.7;color:var(--pp-text)}
.accordion-item.open .accordion-a{display:block}

/* --- Forms --- */
.form-card{background:#fff;border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:24px 20px;margin-bottom:20px}
.form-card h2{font-size:1.1rem;color:var(--pp-navy);margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:600px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:span 2}}
.form-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:5px;color:var(--pp-navy)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:11px 12px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:.95rem;background:#fff}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--pp-primary);outline-offset:1px;border-color:var(--pp-primary)}
.form-field textarea{min-height:120px;resize:vertical}
.form-check{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.5}
.form-check input{width:18px;height:18px;margin-top:2px;flex-shrink:0}
.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--pp-primary);color:#fff;border:none;border-radius:var(--pp-radius-sm);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}
.form-submit:hover{background:var(--pp-primary-dark);transform:translateY(-1px)}
.form-alert{padding:14px 16px;border-radius:var(--pp-radius-sm);margin-bottom:18px;font-size:.92rem;font-weight:600}
.form-alert.ok{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46}
.form-alert.err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}

/* --- Product card image --- */
.card-img{width:96px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;padding:8px}
.card-img img{max-height:96px;width:auto;object-fit:contain}
@media (min-width:480px){
  .card-img{width:100%;height:150px;padding:12px 12px 0}
  .card-img img{max-height:138px}
}

/* --- Flexi range category colours --- */
.card-color-bar.flexi{background:#6366f1}
.card-category.flexi{background:rgba(99,102,241,.1);color:#4f46e5}

/* --- Product page hero image --- */
.product-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.product-hero-img{flex-shrink:0;background:#fff;border-radius:var(--pp-radius);padding:8px;width:110px;height:110px;display:flex;align-items:center;justify-content:center}
.product-hero-img img{max-width:94px;max-height:94px;object-fit:contain}
@media (min-width:768px){.product-hero-img{width:150px;height:150px}.product-hero-img img{max-width:130px;max-height:130px}}

/* --- Enquiry CTA on product pages --- */
.enquiry-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.enquiry-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:2px solid var(--pp-primary);border-radius:24px;color:var(--pp-primary);font-weight:600;font-size:.9rem;text-decoration:none;transition:all .2s;background:none;cursor:pointer;font-family:inherit}
.enquiry-btn:hover{background:var(--pp-primary);color:#fff}
.enquiry-btn.wa{border-color:#25d366;color:#1da851}
.enquiry-btn.wa:hover{background:#25d366;color:#fff}
.enquiry-btn svg{width:17px;height:17px;flex-shrink:0}

/* --- Info bands on home (key features / delivery / export) --- */
.info-band{max-width:1200px;margin:0 auto;padding:10px 16px 30px}
.info-band>h2{text-align:center;font-size:1.4rem;color:var(--pp-navy);margin-bottom:18px}
.split-cards{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:768px){.split-cards{grid-template-columns:1fr 1fr}}
.split-cards .content-card{margin-bottom:0}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px;padding:0;list-style:none}
.chip-list li{background:var(--pp-light-bg);border:1px solid var(--pp-border);border-radius:50px;padding:5px 14px;font-size:.82rem;font-weight:600;color:var(--pp-navy)}

/* --- Footer nav links --- */
.footer-links{margin-top:10px}
.footer-links a{color:rgba(255,255,255,.6);font-size:.78rem;margin:0 8px}
.footer-links a:hover{color:#fff}

/* --- Calculator advice note in modal --- */
.calc-advice{margin:16px 0 0;font-size:.78rem;color:#888;line-height:1.6}

/* --- Map embed on contact page --- */
.map-wrap{border-radius:var(--pp-radius);overflow:hidden;box-shadow:var(--pp-shadow);margin-bottom:20px}
.map-wrap iframe{display:block;width:100%;height:320px;border:0}
.hours-table{width:100%;border-collapse:collapse}
.hours-table td{padding:8px 0;font-size:.9rem;border-bottom:1px solid var(--pp-border)}
.hours-table tr:last-child td{border-bottom:none}
.hours-table td:last-child{text-align:right;font-weight:600;color:var(--pp-navy)}

/* ============================================
   2026-06-05 Design polish — depth & richness
   ============================================ */
:root{
  --pp-gold-grad:linear-gradient(135deg,#e3bc5d 0%,#b8860b 55%,#96700a 100%);
  --pp-gold-line:linear-gradient(90deg,#96700a,#e3bc5d 50%,#96700a);
}

/* Body: subtle vertical tint instead of flat grey */
body{background:linear-gradient(180deg,#f7f8fc 0%,#eef1f8 100%) fixed}

/* Header: gold brand edge */
.site-header{border-bottom:3px solid #b8860b;border-image:var(--pp-gold-line) 1;box-shadow:0 4px 24px rgba(0,0,0,.35)}

/* Heroes: layered navy with gold + indigo glows and a faint diagonal weave */
.hero-banner,.page-hero,.product-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 80% at 12% -15%, rgba(212,169,66,.30), transparent 55%),
    radial-gradient(ellipse 70% 70% at 100% 115%, rgba(99,102,241,.22), transparent 60%),
    linear-gradient(135deg,#0b0c2a 0%,#13153c 55%,#1c2050 100%);
}
.hero-banner::before,.page-hero::before,.product-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 16px);
}
.hero-banner>*,.page-hero>*,.product-hero>*{position:relative;z-index:1}
.hero-banner h1::after,.page-hero h1::after{
  content:'';display:block;width:64px;height:4px;border-radius:4px;
  background:var(--pp-gold-grad);margin:14px auto 0;
}

/* Section headings: gold accent bar */
.about-band h2,.stockist-band h2,.info-band>h2{position:relative;padding-bottom:14px}
.about-band h2::after,.stockist-band h2::after,.info-band>h2::after{
  content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;
  width:56px;height:4px;border-radius:4px;background:var(--pp-gold-grad);
}

/* Product cards: borders, deeper hover, image pop */
.product-card{border:1px solid var(--pp-border);box-shadow:0 1px 2px rgba(11,12,42,.04),0 10px 24px -10px rgba(11,12,42,.12)}
.product-card:hover{transform:translateY(-4px);border-color:rgba(184,134,11,.45);box-shadow:0 20px 40px -14px rgba(11,12,42,.28)}
.card-img{background:linear-gradient(180deg,#ffffff 0%,#eef1f8 100%)}
.card-img img{transition:transform .3s ease;filter:drop-shadow(0 10px 12px rgba(11,12,42,.20))}
.product-card:hover .card-img img{transform:scale(1.06) translateY(-2px)}

/* Category bars become gradients */
.card-color-bar.roof{background:linear-gradient(180deg,#e3bc5d,#96700a)}
.card-color-bar.sealer{background:linear-gradient(180deg,#4ade80,#16a34a)}
.card-color-bar.primer{background:linear-gradient(180deg,#fbbf24,#d97706)}
.card-color-bar.paint{background:linear-gradient(180deg,#a78bfa,#7c3aed)}
.card-color-bar.specialty{background:linear-gradient(180deg,#f87171,#dc2626)}
.card-color-bar.coating{background:linear-gradient(180deg,#22d3ee,#0891b2)}
.card-color-bar.flexi{background:linear-gradient(180deg,#818cf8,#4f46e5)}
@media (min-width:480px){
  .card-color-bar.roof,.card-color-bar.sealer,.card-color-bar.primer,.card-color-bar.paint,.card-color-bar.specialty,.card-color-bar.coating,.card-color-bar.flexi{background-image:linear-gradient(90deg,var(--bar-a,#e3bc5d),var(--bar-b,#96700a))}
  .card-color-bar.roof{--bar-a:#e3bc5d;--bar-b:#96700a}
  .card-color-bar.sealer{--bar-a:#4ade80;--bar-b:#16a34a}
  .card-color-bar.primer{--bar-a:#fbbf24;--bar-b:#d97706}
  .card-color-bar.paint{--bar-a:#a78bfa;--bar-b:#7c3aed}
  .card-color-bar.specialty{--bar-a:#f87171;--bar-b:#dc2626}
  .card-color-bar.coating{--bar-a:#22d3ee;--bar-b:#0891b2}
  .card-color-bar.flexi{--bar-a:#818cf8;--bar-b:#4f46e5}
}

/* Fix flat blue leftovers from the old brand -> gold */
.card-category.roof{background:rgba(184,134,11,.12);color:#96700a}
.feature-list li::before{
  background-color:rgba(184,134,11,.12);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23b8860b' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
}
.tds-card .tds-icon{background:rgba(184,134,11,.12)}
.btn-buy{box-shadow:0 6px 18px rgba(184,134,11,.35)}
.btn-buy:hover{box-shadow:0 10px 24px rgba(184,134,11,.45)}
.back-to-top{box-shadow:0 6px 16px rgba(184,134,11,.45)}

/* Gold gradient buttons everywhere */
.shortcut-btn,.form-submit,.calc-submit,.btn-download,.filter-btn.active,.filter-btn:hover{
  background:var(--pp-gold-grad);box-shadow:0 5px 16px rgba(184,134,11,.32);
}
.shortcut-btn:hover,.form-submit:hover,.calc-submit:hover,.btn-download:hover{
  background:linear-gradient(135deg,#d4a942 0%,#a07509 55%,#7d5d08 100%);
  box-shadow:0 8px 20px rgba(184,134,11,.45);transform:translateY(-2px);
}
.filter-btn.active,.filter-btn:hover{border-color:#b8860b;color:#fff}

/* Tiles: gold top accent + hover lift */
.tile{position:relative;overflow:hidden;border:1px solid var(--pp-border);transition:transform .25s,box-shadow .25s}
.tile::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--pp-gold-grad)}
.tile:hover{transform:translateY(-3px);box-shadow:var(--pp-shadow-hover)}

/* Cards & forms: definition */
.content-card,.form-card,.accordion-item,.description-content,.tds-card,.warranty-card,.specs-card,.buy-cta{border:1px solid var(--pp-border)}
.lead-band{border-top:1px solid var(--pp-border);border-right:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border)}
.accordion-item.open{border-color:rgba(184,134,11,.45)}

/* Stockist band: framed panel instead of floating text */
.stockist-band{background:#fff;border:1px solid var(--pp-border);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);max-width:860px;margin:10px auto 34px;padding:34px 24px}
.stockist-btn:hover,.stockist-btn-wa:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,12,42,.18)}

/* Footers: gold top edge + glow */
.contact-footer{
  border-top:3px solid #b8860b;border-image:var(--pp-gold-line) 1;
  background:
    radial-gradient(ellipse 85% 100% at 50% 130%, rgba(184,134,11,.25), transparent 60%),
    linear-gradient(135deg,#0b0c2a 0%,#13153c 100%);
}

/* Product hero image: floating panel */
.product-hero-img{box-shadow:0 14px 30px rgba(0,0,0,.35)}
.product-hero-img img{filter:drop-shadow(0 6px 10px rgba(11,12,42,.25))}

/* Enquiry buttons hover lift */
.enquiry-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,12,42,.15)}

/* Hours table gold dividers */
.hours-table td{border-bottom:1px solid rgba(184,134,11,.18)}

/* ============================================
   2026-06-05 Layout redesign v2
   ============================================ */

/* --- Split hero --- */
.hero-split{padding:44px 20px 54px}
.hero-split-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
.hero-eyebrow{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#e3bc5d;margin-bottom:10px}
.hero-split h1{color:#fff;font-size:1.9rem;font-weight:800;line-height:1.2;margin-bottom:14px}
.hero-split h1 .gold{background:linear-gradient(135deg,#f0cf7e,#d4a942);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-split .hero-about{color:rgba(255,255,255,.78);font-size:.98rem;line-height:1.7;max-width:520px;margin-bottom:22px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:50px;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;font-family:inherit;border:none;transition:all .2s}
.hero-btn.primary{background:var(--pp-gold-grad);color:#fff;box-shadow:0 6px 20px rgba(184,134,11,.4)}
.hero-btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(184,134,11,.5);color:#fff}
.hero-btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.25)}
.hero-btn.ghost:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.45);color:#fff;transform:translateY(-2px)}
.hero-btn svg{width:18px;height:18px;flex-shrink:0}

/* bucket showcase */
.hero-showcase{display:none;position:relative;justify-content:center;align-items:center;min-height:300px}
.hero-bucket{position:absolute;background:#fff;border-radius:16px;padding:14px;box-shadow:0 24px 48px rgba(0,0,0,.45);transition:transform .3s}
.hero-bucket img{width:150px;height:150px;object-fit:contain}
.hero-bucket.b1{transform:rotate(-7deg) translateX(-120px);z-index:1}
.hero-bucket.b2{transform:rotate(0deg) translateY(-12px) scale(1.12);z-index:3}
.hero-bucket.b3{transform:rotate(7deg) translateX(120px);z-index:2}
.hero-bucket:hover{z-index:4}
.hero-bucket.b1:hover{transform:rotate(-7deg) translateX(-120px) scale(1.05)}
.hero-bucket.b2:hover{transform:translateY(-12px) scale(1.17)}
.hero-bucket.b3:hover{transform:rotate(7deg) translateX(120px) scale(1.05)}
@media (min-width:900px){
  .hero-split-inner{grid-template-columns:1.1fr 1fr}
  .hero-showcase{display:flex}
  .hero-split h1{font-size:2.5rem}
}

/* --- Trust strip --- */
.trust-strip{background:var(--pp-navy);border-top:1px solid rgba(255,255,255,.07);padding:0 20px}
.trust-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.trust-item{display:flex;align-items:center;gap:12px;padding:18px 10px;justify-content:center}
.trust-item svg{width:26px;height:26px;color:#e3bc5d;flex-shrink:0}
.trust-item div{line-height:1.3}
.trust-item strong{display:block;color:#fff;font-size:.95rem}
.trust-item span{color:rgba(255,255,255,.55);font-size:.75rem}
@media (min-width:900px){.trust-inner{grid-template-columns:repeat(4,1fr)}}

/* --- Section headers --- */
.section-head{text-align:center;max-width:640px;margin:0 auto 26px;padding:0 20px}
.section-head .eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#96700a;margin-bottom:8px}
.section-head h2{font-size:1.65rem;color:var(--pp-navy);font-weight:800;position:relative;padding-bottom:14px;margin-bottom:8px}
.section-head h2::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:56px;height:4px;border-radius:4px;background:var(--pp-gold-grad)}
.section-head p{color:var(--pp-text-light);font-size:.95rem}

/* --- Product card v2 (image-led) --- */
@media (min-width:480px){
  .card-img{height:175px;padding:16px 16px 4px;position:relative}
  .card-img img{max-height:155px}
  .card-img .card-category{position:absolute;top:12px;left:12px;z-index:2;box-shadow:0 2px 8px rgba(11,12,42,.12)}
  .card-body .card-category{display:none}
}
.card-cta{margin-top:auto;padding-top:8px;font-size:.82rem;font-weight:700;color:var(--pp-primary);display:flex;align-items:center;gap:6px}
.product-card:hover .card-cta{color:var(--pp-primary-dark)}

/* --- Services teaser --- */
.services-teaser{max-width:1200px;margin:0 auto 40px;padding:0 16px}
.services-teaser-inner{position:relative;overflow:hidden;border-radius:var(--pp-radius);background:
  radial-gradient(ellipse 80% 90% at 90% -20%, rgba(212,169,66,.3), transparent 55%),
  linear-gradient(135deg,#0b0c2a 0%,#1c2050 100%);
  padding:38px 26px;display:grid;grid-template-columns:1fr;gap:24px;align-items:center;box-shadow:var(--pp-shadow-hover)}
.services-teaser-inner::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 2px,transparent 2px 16px)}
.services-teaser-inner>*{position:relative}
.services-teaser .eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#e3bc5d;margin-bottom:8px}
.services-teaser h2{color:#fff;font-size:1.5rem;font-weight:800;margin-bottom:10px}
.services-teaser p{color:rgba(255,255,255,.75);font-size:.92rem;line-height:1.7;margin-bottom:18px}
.services-points{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.services-points li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.85);font-size:.9rem}
.services-points svg{width:19px;height:19px;color:#e3bc5d;flex-shrink:0;margin-top:1px}
@media (min-width:860px){.services-teaser-inner{grid-template-columns:1.2fr 1fr;padding:46px 44px}}

/* --- Stockist v2: navy panel --- */
.stockist-band{background:
  radial-gradient(ellipse 80% 100% at 10% 120%, rgba(212,169,66,.25), transparent 55%),
  linear-gradient(135deg,#0b0c2a 0%,#1c2050 100%);
  border:none;color:#fff}
.stockist-band h2{color:#fff}
.stockist-band p{color:rgba(255,255,255,.75)}
.stockist-btn{border-color:#d4a942;color:#e3bc5d}
.stockist-btn:hover{background:var(--pp-gold-grad);border-color:transparent;color:#fff}
.stockist-btn-wa{border-color:#25d366;color:#4ade80}
.stockist-btn-wa:hover{background:#25d366;color:#fff}

/* --- Main footer (3-col) --- */
.main-footer{background:
  radial-gradient(ellipse 85% 100% at 50% 130%, rgba(184,134,11,.18), transparent 60%),
  linear-gradient(180deg,#0b0c2a 0%,#0a0b24 100%);
  border-top:3px solid #b8860b;border-image:var(--pp-gold-line) 1;margin-top:48px}
.footer-grid{max-width:1200px;margin:0 auto;padding:44px 24px 30px;display:grid;grid-template-columns:1fr;gap:32px}
.footer-col h4{color:#fff;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;position:relative;padding-bottom:10px}
.footer-col h4::after{content:'';position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:3px;background:var(--pp-gold-grad)}
.footer-brand img{height:54px;width:auto;margin-bottom:14px}
.footer-brand p{color:rgba(255,255,255,.6);font-size:.85rem;line-height:1.7;max-width:300px}
.footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.footer-list a{color:rgba(255,255,255,.65);font-size:.88rem;display:inline-flex;align-items:center;gap:8px}
.footer-list a:hover{color:#e3bc5d}
.footer-list svg{width:16px;height:16px;flex-shrink:0;color:#b8860b}
.footer-contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.footer-contact-list li,.footer-contact-list a{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.65);font-size:.88rem;line-height:1.5}
.footer-contact-list a:hover{color:#e3bc5d}
.footer-contact-list svg{width:17px;height:17px;flex-shrink:0;color:#b8860b;margin-top:2px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 24px;text-align:center}
.footer-bottom p{color:rgba(255,255,255,.4);font-size:.78rem;margin-bottom:8px}
.footer-bottom .share-btn{margin:4px auto 0;color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.25);font-size:.82rem;padding:7px 14px}
.footer-bottom .share-btn:hover{color:#fff;border-color:rgba(255,255,255,.5)}
@media (min-width:768px){.footer-grid{grid-template-columns:1.3fr 1fr 1.2fr;gap:40px}}

/* --- Product page two-column layout --- */
.product-topbar{background:var(--pp-navy);padding:10px 20px;border-bottom:1px solid rgba(255,255,255,.07)}
.breadcrumb{max-width:1100px;margin:0 auto;font-size:.8rem;color:rgba(255,255,255,.5);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumb a{color:rgba(255,255,255,.75)}
.breadcrumb a:hover{color:#e3bc5d}
.breadcrumb .sep{opacity:.4}
.breadcrumb .here{color:#e3bc5d;font-weight:600}
.product-shell{max-width:1100px;margin:0 auto;padding:24px 16px 50px;display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.product-main{min-width:0}
.order-card{background:#fff;border:1px solid var(--pp-border);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:22px 20px;text-align:center}
.order-card .order-img{background:linear-gradient(180deg,#ffffff,#eef1f8);border-radius:var(--pp-radius-sm);padding:18px;margin-bottom:16px}
.order-card .order-img img{max-height:190px;margin:0 auto;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(11,12,42,.2))}
.order-card h3{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--pp-text-light);margin-bottom:10px}
.order-card .size-badges{justify-content:center;margin-bottom:16px}
.order-actions{display:flex;flex-direction:column;gap:10px}
.order-actions .btn-buy{width:100%;max-width:none;padding:14px 20px;font-size:.95rem}
.order-actions .enquiry-btn{justify-content:center}
@media (min-width:920px){
  .product-shell{grid-template-columns:1fr 330px}
  .order-card{position:sticky;top:88px}
}
.product-shell .tab-nav{position:static;border-radius:var(--pp-radius-sm) var(--pp-radius-sm) 0 0;border:1px solid var(--pp-border);border-bottom:2px solid var(--pp-border);box-shadow:none;padding:0 6px}
.product-shell .tab-content-area{padding:18px 0 0;max-width:none}

/* slim product hero */
.product-hero.slim{padding:26px 20px}
.product-hero.slim .product-hero-inner{max-width:1100px}
.product-hero.slim h1{font-size:1.6rem}
@media (min-width:768px){.product-hero.slim h1{font-size:2rem}}

/* Mobile card fix: overlay chip only exists from 480px up */
@media (max-width:479.98px){
  .card-img .card-category{display:none}
  .card-img{width:104px;padding:10px}
  .card-img img{max-height:104px}
}
