/*
 * DriveAuthority — Single Product Page
 * assets/css/wc-product.css  |  Loaded only on is_product() pages
 */

/* ─── 1. PAGE + VARIABLES ──────────────────────────────────── */
.wcp-page {
    --wcp-green:   #0d9668;
    --wcp-green-d: #0a7d56;
    --wcp-green-l: #e6f5ef;
    --wcp-green-2: #34d399;
    --wcp-blue:    #2563eb;
    --wcp-purple:  #7c3aed;
    --wcp-amber:   #d97706;
    --wcp-teal:    #0891b2;
    --wcp-rose:    #e11d48;
    --wcp-dark:    #0d1f16;
    --wcp-text-2:  #4b6b5a;
    --wcp-text-3:  #6b8f7a;
    --wcp-border:  #e0ede7;
    --wcp-bg-off:  #f4faf7;
    --wcp-radius:  14px;
    background: #fff;
    font-family: var(--font-ui, 'Nunito Sans', sans-serif);
}

/* ─── 2. BREADCRUMB ────────────────────────────────────────── */
.wcp-breadcrumb-bar {
    background: var(--wcp-bg-off);
    border-bottom: 1px solid var(--wcp-border);
    padding: 12px 0;
}
.wcp-crumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--wcp-text-3);
    flex-wrap: wrap;
}
.wcp-crumb a {
    color: var(--wcp-text-2);
    text-decoration: none;
    transition: color .15s;
}
.wcp-crumb a:hover { color: var(--wcp-green); }
.wcp-crumb span[aria-current="page"] { color: var(--wcp-dark); font-weight: 600; }

/* ─── 3. HERO SECTION ──────────────────────────────────────── */
.wcp-hero { padding: 48px 0 60px; }

.wcp-layout {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 60px;
    align-items: flex-start;
}

/* ─── 4. GALLERY COLUMN ────────────────────────────────────── */
.wcp-gallery {
    position: sticky;
    top: 88px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Main image wrapper */
.wcp-main-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: var(--wcp-bg-off);
    border: 1px solid var(--wcp-border);
    box-shadow: 0 6px 32px rgba(0,0,0,.08);
    aspect-ratio: 3 / 4;
    max-height: 520px;
}

/* Product image */
.wcp-main-link { display: block; width: 100%; height: 100%; }
.wcp-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s cubic-bezier(.25,.8,.25,1), opacity .18s;
}
.wcp-main-wrap:hover .wcp-main-img { transform: scale(1.04); }

/* Zoom hint overlay */
.wcp-zoom-hint {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(255,255,255,.92);
    color: var(--wcp-green);
    padding: 7px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
    pointer-events: none;
}
.wcp-main-wrap:hover .wcp-zoom-hint { opacity: 1; }

/* Sale ribbon */
.wcp-sale-ribbon {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #ef4444;
    color: #fff;
    font-size: 11.5px;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: .6px;
    box-shadow: 0 3px 10px rgba(239,68,68,.4);
    z-index: 2;
}

/* Placeholder cover (no image) */
.wcp-cover-placeholder {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 14px; padding: 32px;
    text-align: center;
}
.wcp-cv-green  { background: linear-gradient(145deg, #064e34 0%, #0d9668 70%, #34d399 100%); }
.wcp-cv-blue   { background: linear-gradient(145deg, #1e3a8a 0%, #2563eb 70%, #60a5fa 100%); }
.wcp-cv-purple { background: linear-gradient(145deg, #3b0764 0%, #7c3aed 70%, #a78bfa 100%); }
.wcp-cv-amber  { background: linear-gradient(145deg, #78350f 0%, #d97706 70%, #fbbf24 100%); }
.wcp-cv-teal   { background: linear-gradient(145deg, #164e63 0%, #0891b2 70%, #38bdf8 100%); }
.wcp-cv-rose   { background: linear-gradient(145deg, #881337 0%, #e11d48 70%, #fb7185 100%); }

.wcp-ph-title {
    font-size: 16px; font-weight: 800;
    color: rgba(255,255,255,.9); line-height: 1.4;
}
.wcp-ph-brand {
    font-size: 11px; font-weight: 700;
    color: rgba(255,255,255,.5);
    text-transform: uppercase; letter-spacing: 2px;
}

/* Thumbnails */
.wcp-thumbs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.wcp-thumb {
    width: 78px; height: 78px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid var(--wcp-border);
    cursor: pointer;
    padding: 0;
    background: var(--wcp-bg-off);
    transition: border-color .18s, box-shadow .18s;
    flex-shrink: 0;
}
.wcp-thumb:hover { border-color: var(--wcp-green); }
.wcp-thumb--active {
    border-color: var(--wcp-green);
    box-shadow: 0 0 0 3px rgba(13,150,104,.2);
}
.wcp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Format tags */
.wcp-formats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.wcp-fmt {
    display: inline-flex; align-items: center; gap: 5px;
    background: var(--wcp-green-l);
    border: 1px solid #c6e6d5;
    color: var(--wcp-green);
    font-size: 11.5px; font-weight: 700;
    padding: 5px 13px;
    border-radius: 50px;
    letter-spacing: .2px;
}
.wcp-fmt--instant { background: var(--wcp-green); color: #fff; border-color: var(--wcp-green); }

/* ─── 5. SUMMARY COLUMN ────────────────────────────────────── */
.wcp-summary {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 4px;
}

/* Category chip */
.wcp-cat-chip {
    display: inline-flex;
    align-items: center;
    background: var(--wcp-green-l);
    color: var(--wcp-green);
    font-size: 11px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .8px;
    padding: 4px 14px; border-radius: 50px;
    align-self: flex-start;
    text-decoration: none;
    transition: background .15s;
}
.wcp-cat-chip:hover { background: #d1fae5; color: var(--wcp-green); }

/* Title */
.wcp-title {
    font-size: clamp(24px, 2.6vw, 38px);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.5px;
    color: var(--wcp-dark);
    margin: 0;
}

/* Star rating */
.wcp-rating { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wcp-stars  { display: flex; gap: 2px; }
.wcp-star { font-size: 18px; line-height: 1; }
.wcp-star--on  { color: #f59e0b; }
.wcp-star--off { color: #d1d5db; }
.wcp-rating-val {
    font-size: 14px; font-weight: 800; color: var(--wcp-dark);
}
.wcp-rating-link {
    font-size: 13.5px; color: var(--wcp-text-3);
    text-decoration: underline; text-underline-offset: 3px;
    transition: color .15s;
}
.wcp-rating-link:hover { color: var(--wcp-green); }

/* Price — override WooCommerce defaults */
.wcp-price-box { margin: 2px 0; }
.wcp-price-box .price,
.wcp-price-box p.price {
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.wcp-price-box .price .amount,
.wcp-price-box .price bdi {
    font-size: 38px !important;
    font-weight: 900 !important;
    color: var(--wcp-green) !important;
    line-height: 1 !important;
}
.wcp-price-box .price del {
    font-size: 20px !important;
    color: #9ca3af !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}
.wcp-price-box .price del .amount { font-size: 20px !important; color: #9ca3af !important; }
.wcp-price-box .price ins {
    text-decoration: none !important;
    background: none !important;
}
.wcp-price-box .price ins .amount { color: var(--wcp-green) !important; }

/* Short description */
.wcp-short-desc {
    font-size: 15.5px;
    color: var(--wcp-text-2);
    line-height: 1.7;
}
.wcp-short-desc p { margin: 0 0 8px; }
.wcp-short-desc p:last-child { margin: 0; }
.wcp-short-desc ul, .wcp-short-desc ol {
    margin: 8px 0 8px 20px;
    padding: 0;
}
.wcp-short-desc li { margin-bottom: 4px; }

/* Divider */
.wcp-divider {
    border: none;
    border-top: 1px solid var(--wcp-border);
    margin: 4px 0;
}

/* ─── 6. ADD TO CART — override WooCommerce ─────────────────── */
.wcp-cart form.cart { margin: 0; }
.wcp-cart .quantity { margin-right: 0; }
.wcp-cart .cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }

/* Quantity input */
.wcp-cart .quantity input.qty {
    width: 70px !important;
    height: 52px !important;
    padding: 0 10px !important;
    border: 1.5px solid var(--wcp-border) !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--wcp-dark) !important;
    text-align: center !important;
    font-family: inherit !important;
    background: #fff !important;
    transition: border-color .15s !important;
}
.wcp-cart .quantity input.qty:focus {
    outline: none !important;
    border-color: var(--wcp-green) !important;
    box-shadow: 0 0 0 3px rgba(13,150,104,.15) !important;
}

/* Add to cart button */
.wcp-cart button.single_add_to_cart_button,
.wcp-cart .single_add_to_cart_button.button {
    flex: 1 !important;
    height: 52px !important;
    padding: 0 28px !important;
    background: var(--wcp-green) !important;
    color: #fff !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    font-family: inherit !important;
    letter-spacing: .2px !important;
    box-shadow: 0 6px 24px rgba(13,150,104,.38) !important;
    transition: background .18s, transform .18s, box-shadow .18s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    position: relative !important;
}
.wcp-cart button.single_add_to_cart_button::after { display: none !important; }
.wcp-cart button.single_add_to_cart_button:hover {
    background: var(--wcp-green-d) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 32px rgba(13,150,104,.5) !important;
}
.wcp-cart button.single_add_to_cart_button:active { transform: translateY(0) !important; }
.wcp-cart .added_to_cart {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    color: var(--wcp-green);
    font-weight: 600;
    text-decoration: none;
}

/* Downloadable product — no quantity, button full-width */
.wcp-cart form.cart.grouped_form,
.product-type-simple .wcp-cart form.cart:not(:has(.quantity)) button {
    flex: 1;
}

/* ─── 7. GUARANTEE BADGES ───────────────────────────────────── */
.wcp-badges {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--wcp-bg-off);
    border: 1px solid var(--wcp-border);
    border-radius: var(--wcp-radius);
    padding: 18px 20px;
}
.wcp-badge-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.wcp-badge-icon {
    width: 36px; height: 36px;
    background: #fff;
    border: 1px solid var(--wcp-border);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.wcp-badge-text strong {
    display: block;
    font-size: 13px; font-weight: 700; color: var(--wcp-dark);
    line-height: 1.2;
}
.wcp-badge-text span {
    font-size: 12px; color: var(--wcp-text-3);
}

/* ─── 8. PRODUCT META ───────────────────────────────────────── */
.wcp-meta { margin-top: 4px; }
.wcp-meta .product_meta { font-size: 13px; color: var(--wcp-text-3); }
.wcp-meta .product_meta span { display: block; line-height: 1.6; }
.wcp-meta .product_meta a { color: var(--wcp-green); text-decoration: none; }
.wcp-meta .product_meta a:hover { text-decoration: underline; }

/* ─── 9. TRUST STRIP ────────────────────────────────────────── */
.wcp-trust {
    background: #fff;
    border-top: 1px solid var(--wcp-border);
    border-bottom: 1px solid var(--wcp-border);
    padding: 0;
}
.wcp-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.wcp-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px 18px;
    border-right: 1px solid var(--wcp-border);
    transition: background .15s;
}
.wcp-trust-item:last-child { border-right: none; }
.wcp-trust-item:hover { background: var(--wcp-bg-off); }
.wcp-trust-icon {
    width: 44px; height: 44px;
    background: var(--wcp-green-l);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0;
    transition: background .15s;
}
.wcp-trust-item:hover .wcp-trust-icon { background: #d1fae5; }
.wcp-trust-lbl {
    display: block;
    font-size: 13px; font-weight: 700; color: var(--wcp-dark);
    line-height: 1.3;
}
.wcp-trust-sub {
    display: block;
    font-size: 12px; color: var(--wcp-text-3);
    margin-top: 2px; line-height: 1.4;
}

/* ─── 10. TABS ──────────────────────────────────────────────── */
.wcp-tabs-section {
    padding: 64px 0;
    background: #fafdf9;
}

/* WooCommerce tabs — complete restyle */
.wcp-tabs-section .woocommerce-tabs.wc-tabs-wrapper {}

.wcp-tabs-section ul.tabs.wc-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--wcp-border);
    margin: 0 0 40px;
    padding: 0;
    list-style: none;
}
.wcp-tabs-section ul.tabs.wc-tabs li {
    margin: 0;
    padding: 0;
    border: none !important;
    background: none !important;
}
.wcp-tabs-section ul.tabs.wc-tabs li::before { display: none !important; }
.wcp-tabs-section ul.tabs.wc-tabs li a {
    display: block;
    padding: 14px 24px;
    font-size: 15px;
    font-weight: 700;
    color: var(--wcp-text-3);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color .15s, border-color .15s;
    white-space: nowrap;
}
.wcp-tabs-section ul.tabs.wc-tabs li a:hover { color: var(--wcp-green); }
.wcp-tabs-section ul.tabs.wc-tabs li.active a {
    color: var(--wcp-green);
    border-bottom-color: var(--wcp-green);
}

/* Tab panels */
.wcp-tabs-section .woocommerce-Tabs-panel {
    padding: 0 !important;
    border: none !important;
    background: none !important;
}
.wcp-tabs-section .woocommerce-Tabs-panel h2 { display: none; }

/* Description panel typography */
.wcp-tabs-section #tab-description {
    font-size: 16px;
    line-height: 1.75;
    color: var(--wcp-text-2);
    max-width: 780px;
}
.wcp-tabs-section #tab-description h2,
.wcp-tabs-section #tab-description h3,
.wcp-tabs-section #tab-description h4 {
    color: var(--wcp-dark);
    font-weight: 800;
    margin: 28px 0 10px;
}
.wcp-tabs-section #tab-description h2 { font-size: 24px; }
.wcp-tabs-section #tab-description h3 { font-size: 20px; }
.wcp-tabs-section #tab-description ul,
.wcp-tabs-section #tab-description ol {
    margin: 10px 0 14px 22px;
}
.wcp-tabs-section #tab-description li { margin-bottom: 6px; }
.wcp-tabs-section #tab-description p { margin: 0 0 14px; }
.wcp-tabs-section #tab-description strong { color: var(--wcp-dark); font-weight: 700; }

/* Reviews panel */
.wcp-tabs-section #tab-reviews { max-width: 780px; }

/* WooCommerce star rating (built-in) */
.wcp-tabs-section .star-rating {
    display: inline-block;
    overflow: hidden;
    position: relative;
    height: 1.2em;
    width: 5.4em;
    font-family: star;
    font-size: 14px;
    color: #f59e0b;
}
.wcp-tabs-section .star-rating::before {
    content: "\73\73\73\73\73";
    letter-spacing: 0.1em;
    opacity: 0.25;
    position: absolute;
    top: 0; left: 0;
}
.wcp-tabs-section .star-rating span {
    overflow: hidden; top: 0; left: 0; position: absolute;
    padding-top: 1.5em;
}
.wcp-tabs-section .star-rating span::before {
    content: "\73\73\73\73\73";
    letter-spacing: 0.1em;
    color: #f59e0b;
    position: absolute;
    top: 0; left: 0;
}

/* Review list */
.wcp-tabs-section #comments ol.commentlist { list-style: none; margin: 0 0 28px; padding: 0; }
.wcp-tabs-section #comments ol.commentlist li.review {
    background: #fff;
    border: 1px solid var(--wcp-border);
    border-radius: var(--wcp-radius);
    padding: 24px;
    margin-bottom: 16px;
    display: flex;
    gap: 16px;
}
.wcp-tabs-section #comments ol.commentlist li.review img.avatar {
    width: 48px; height: 48px; border-radius: 50%;
    border: 2px solid var(--wcp-border);
    flex-shrink: 0;
}
.wcp-tabs-section .comment-text { flex: 1; }
.wcp-tabs-section .woocommerce-review__author { font-weight: 700; color: var(--wcp-dark); font-size: 14px; }
.wcp-tabs-section .woocommerce-review__dash,
.wcp-tabs-section .woocommerce-review__published-date { font-size: 12px; color: var(--wcp-text-3); }
.wcp-tabs-section .description p { font-size: 14.5px; color: var(--wcp-text-2); line-height: 1.65; margin: 8px 0 0; }

/* Review form */
.wcp-tabs-section #review_form_wrapper { margin-top: 32px; }
.wcp-tabs-section #review_form .comment-reply-title {
    font-size: 20px; font-weight: 800; color: var(--wcp-dark);
    margin-bottom: 18px;
}
.wcp-tabs-section #review_form .comment-notes { font-size: 13px; color: var(--wcp-text-3); margin-bottom: 16px; }
.wcp-tabs-section #review_form p { margin-bottom: 14px; }
.wcp-tabs-section #review_form input[type="text"],
.wcp-tabs-section #review_form input[type="email"],
.wcp-tabs-section #review_form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--wcp-border);
    border-radius: 9px;
    font-size: 14px;
    font-family: inherit;
    color: var(--wcp-dark);
    background: #fff;
    transition: border-color .15s;
}
.wcp-tabs-section #review_form input:focus,
.wcp-tabs-section #review_form textarea:focus {
    outline: none;
    border-color: var(--wcp-green);
    box-shadow: 0 0 0 3px rgba(13,150,104,.12);
}
.wcp-tabs-section #review_form #submit {
    background: var(--wcp-green);
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
}
.wcp-tabs-section #review_form #submit:hover { background: var(--wcp-green-d); }

/* Stars selector in review form */
.wcp-tabs-section #respond p.stars a { color: #f59e0b; font-size: 18px; }
.wcp-tabs-section .stars { display: flex; gap: 4px; margin-bottom: 8px; }
.wcp-tabs-section .stars a {
    font-size: 20px; color: #d1d5db;
    text-decoration: none; transition: color .1s;
}
.wcp-tabs-section .stars a.active,
.wcp-tabs-section .stars a:hover { color: #f59e0b; }

/* Additional information table */
.wcp-tabs-section .woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
    font-size: 14.5px;
}
.wcp-tabs-section .woocommerce-product-attributes th,
.wcp-tabs-section .woocommerce-product-attributes td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--wcp-border);
    text-align: left;
    vertical-align: top;
}
.wcp-tabs-section .woocommerce-product-attributes th {
    font-weight: 700;
    color: var(--wcp-dark);
    background: var(--wcp-bg-off);
    width: 180px;
}
.wcp-tabs-section .woocommerce-product-attributes p { margin: 0; }

/* ─── 11. RELATED PRODUCTS ──────────────────────────────────── */
.wcp-related-section {
    padding: 60px 0 88px;
    background: var(--wcp-bg-off);
    border-top: 1px solid var(--wcp-border);
}

/* Section headings */
.wcp-related-section .related > h2,
.wcp-related-section .upsells > h2 {
    font-size: 22px;
    font-weight: 800;
    color: var(--wcp-dark);
    margin: 0 0 28px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.wcp-related-section .related > h2::after,
.wcp-related-section .upsells > h2::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--wcp-border);
}

/* Product grid */
.wcp-related-section ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.wcp-related-section ul.products li.product {
    background: #fff !important;
    border: 1px solid var(--wcp-border) !important;
    border-radius: var(--wcp-radius) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.25,.8,.25,1), box-shadow .3s, border-color .3s !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}
.wcp-related-section ul.products li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.1) !important;
    border-color: #c0e4d0 !important;
}

/* Product image */
.wcp-related-section ul.products li.product a img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .4s !important;
}
.wcp-related-section ul.products li.product:hover a img {
    transform: scale(1.05) !important;
}
.wcp-related-section ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
    overflow: hidden !important;
}

/* Product title and price in grid */
.wcp-related-section ul.products li.product .woocommerce-loop-product__title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: var(--wcp-dark) !important;
    line-height: 1.35 !important;
    padding: 14px 14px 4px !important;
    margin: 0 !important;
}
.wcp-related-section ul.products li.product .price {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: var(--wcp-green) !important;
    padding: 0 14px 12px !important;
    display: block !important;
}
.wcp-related-section ul.products li.product .price del {
    font-size: 13px !important;
    color: #9ca3af !important;
    font-weight: 400 !important;
}
.wcp-related-section ul.products li.product .price ins {
    text-decoration: none !important;
}

/* Add to cart button in grid */
.wcp-related-section ul.products li.product a.add_to_cart_button,
.wcp-related-section ul.products li.product a.button {
    display: block !important;
    margin: 0 14px 14px !important;
    padding: 9px 16px !important;
    background: var(--wcp-green) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    text-align: center !important;
    border: none !important;
    text-decoration: none !important;
    transition: background .15s !important;
    font-family: inherit !important;
}
.wcp-related-section ul.products li.product a.add_to_cart_button:hover {
    background: var(--wcp-green-d) !important;
    color: #fff !important;
}

/* No-image product placeholder in grid */
.wcp-related-section ul.products li.product a:first-child:not(:has(img)) {
    display: block;
    height: 200px;
    background: linear-gradient(145deg, var(--wcp-bg-off), #d1fae5);
}

/* WooCommerce sale/onsale badge in grid */
.wcp-related-section ul.products li.product .onsale {
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 3px 10px !important;
    border-radius: 50px !important;
    top: 10px !important; left: 10px !important;
}

/* WC star rating in grid */
.wcp-related-section .star-rating { font-size: 12px; padding: 0 14px 4px; }

/* ─── 12. WC GLOBAL OVERRIDES (scoped to product page) ──────── */
.wcp-page .woocommerce-message,
.wcp-page .woocommerce-info,
.wcp-page .woocommerce-error {
    border-top-color: var(--wcp-green) !important;
    border-radius: 10px;
    font-size: 14px;
}
.wcp-page .woocommerce-message::before { color: var(--wcp-green) !important; }

/* Remove default WC margins around product page */
.wcp-page .woocommerce div.product { margin: 0 !important; }
.wcp-page .woocommerce .woocommerce-product-gallery { margin: 0 !important; }

/* ─── 13. RESPONSIVE ────────────────────────────────────────── */
@media (max-width: 1100px) {
    .wcp-layout { gap: 40px; }
    .wcp-related-section ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 900px) {
    .wcp-layout { grid-template-columns: 1fr; }
    .wcp-gallery { position: static; }
    .wcp-main-wrap { aspect-ratio: 16 / 9; max-height: 400px; }
    .wcp-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .wcp-trust-item { border-right: none; border-bottom: 1px solid var(--wcp-border); }
    .wcp-trust-item:nth-child(odd)  { border-right: 1px solid var(--wcp-border); }
    .wcp-trust-item:nth-last-child(-n+2) { border-bottom: none; }
    .wcp-related-section ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 640px) {
    .wcp-hero { padding: 32px 0 44px; }
    .wcp-title { font-size: 24px; }
    .wcp-price-box .price .amount { font-size: 30px !important; }
    .wcp-cart .quantity input.qty { width: 60px !important; }
    .wcp-trust-grid { grid-template-columns: 1fr; }
    .wcp-trust-item { border-right: none !important; border-bottom: 1px solid var(--wcp-border); }
    .wcp-trust-item:last-child { border-bottom: none; }
    .wcp-related-section ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    .wcp-tabs-section ul.tabs.wc-tabs li a { padding: 12px 14px; font-size: 13.5px; }
}

@media (max-width: 480px) {
    .wcp-related-section ul.products { grid-template-columns: 1fr !important; }
    .wcp-main-wrap { aspect-ratio: 3 / 4; }
}
