/* Header logo: scale to h-20 (5rem) so logo fits the 6rem header */
.archery-header-logo img,
.archery-header-logo .custom-logo {
    height: 4rem;
    width: auto;
    max-height: 5rem;
    object-fit: contain;
    display: block;
}
@media (min-width: 640px) {
    .archery-header-logo img,
    .archery-header-logo .custom-logo {
        height: 5rem;
    }
}

/* Mobile menu: ensure it opens below header and all items are visible */
#mobile-menu {
    -webkit-overflow-scrolling: touch;
}
@media (max-width: 767px) {
    #mobile-menu {
        max-height: calc(100vh - 5rem);
    }
}

/* Base Styles - Light Theme */
body {
    background-color: #fafafa;
    color: #18181b;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Rounded Tactical Buttons */
.btn-lime {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #8BC34A;
    color: #111111 !important;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.875rem 2.5rem;
    border-radius: 9999px;
    /* Pills/Rounded */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-lime:hover {
    background-color: #7ebd42;
    box-shadow: 0 10px 15px -3px rgba(139, 195, 74, 0.4);
    transform: translateY(-2px);
}

.btn-lime:active {
    transform: translateY(1px);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #18181b;
    background-color: transparent;
    color: #18181b;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.875rem 2.5rem;
    border-radius: 9999px;
    /* Pills/Rounded */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-outline:hover {
    background-color: #18181b;
    color: #fafafa;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Animations */
@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0px);
    }
}

.hero-img-anim {
    animation: float 6s ease-in-out infinite;
}

/* Custom Scrollbar - Light Theme */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f4f4f5;
}

::-webkit-scrollbar-thumb {
    background: #d4d4d8;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a1a1aa;
}

/* Hero section – Light Theme
   --hero-bg-img is overridden via PHP inline style when a custom image is set in Archery Settings */
.hero-section {
    --hero-bg-img: url('../assets/images/hero_sight_1772268206702.png');
    background:
        /* Readability overlay (stronger on left, fades right) */
        linear-gradient(90deg,
            rgba(250, 250, 250, 0.94) 0%,
            rgba(250, 250, 250, 0.78) 42%,
            rgba(250, 250, 250, 0.28) 100%),
        /* Subtle brand glow behind headline */
        radial-gradient(900px circle at 18% 45%,
            rgba(139, 195, 74, 0.14) 0%,
            rgba(139, 195, 74, 0.00) 55%),
        var(--hero-bg-img) no-repeat center center;
    background-size: auto, auto, cover;
}

/* Military Banner Pattern - Light Theme */
.military-pattern {
    background-color: #f4f4f5;
    background-image: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.03) 0px, rgba(0, 0, 0, 0.03) 2px, transparent 2px, transparent 10px);
}

/* Trophy Room - Pure CSS Lightbox (no JS) */
.trophy-lightbox {
    position: relative;
}

.trophy-lb-radio {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

.trophy-lightbox-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.96);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

/* Radio-driven (static HTML) */
#trophy-lb-1:checked ~ .trophy-lightbox-overlay,
#trophy-lb-2:checked ~ .trophy-lightbox-overlay,
#trophy-lb-3:checked ~ .trophy-lightbox-overlay,
#trophy-lb-4:checked ~ .trophy-lightbox-overlay,
#trophy-lb-5:checked ~ .trophy-lightbox-overlay,
#trophy-lb-6:checked ~ .trophy-lightbox-overlay,
#trophy-lb-7:checked ~ .trophy-lightbox-overlay,
#trophy-lb-8:checked ~ .trophy-lightbox-overlay,
#trophy-lb-9:checked ~ .trophy-lightbox-overlay,
#trophy-lb-10:checked ~ .trophy-lightbox-overlay,
#trophy-lb-11:checked ~ .trophy-lightbox-overlay,
#trophy-lb-12:checked ~ .trophy-lightbox-overlay,
#trophy-lb-13:checked ~ .trophy-lightbox-overlay,
#trophy-lb-14:checked ~ .trophy-lightbox-overlay,
#trophy-lb-15:checked ~ .trophy-lightbox-overlay,
#trophy-lb-16:checked ~ .trophy-lightbox-overlay,
/* JS-driven (Trophy Room template) */
.trophy-lightbox-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.trophy-lightbox-backdrop {
    position: absolute;
    inset: 0;
    cursor: default;
}

.trophy-lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.trophy-lightbox-slide {
    display: none;
    align-items: center;
    justify-content: center;
    max-width: 90vw;
    max-height: 90vh;
}

.trophy-lightbox-slide img {
    max-width: 100%;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

#trophy-lb-1:checked ~ .trophy-lightbox-overlay #trophy-slide-1,
#trophy-lb-2:checked ~ .trophy-lightbox-overlay #trophy-slide-2,
#trophy-lb-3:checked ~ .trophy-lightbox-overlay #trophy-slide-3,
#trophy-lb-4:checked ~ .trophy-lightbox-overlay #trophy-slide-4,
#trophy-lb-5:checked ~ .trophy-lightbox-overlay #trophy-slide-5,
#trophy-lb-6:checked ~ .trophy-lightbox-overlay #trophy-slide-6,
#trophy-lb-7:checked ~ .trophy-lightbox-overlay #trophy-slide-7,
#trophy-lb-8:checked ~ .trophy-lightbox-overlay #trophy-slide-8,
#trophy-lb-9:checked ~ .trophy-lightbox-overlay #trophy-slide-9,
#trophy-lb-10:checked ~ .trophy-lightbox-overlay #trophy-slide-10,
#trophy-lb-11:checked ~ .trophy-lightbox-overlay #trophy-slide-11,
#trophy-lb-12:checked ~ .trophy-lightbox-overlay #trophy-slide-12,
#trophy-lb-13:checked ~ .trophy-lightbox-overlay #trophy-slide-13,
#trophy-lb-14:checked ~ .trophy-lightbox-overlay #trophy-slide-14,
#trophy-lb-15:checked ~ .trophy-lightbox-overlay #trophy-slide-15,
#trophy-lb-16:checked ~ .trophy-lightbox-overlay #trophy-slide-16,
.trophy-lightbox-overlay.is-open .trophy-lightbox-slide {
    display: flex;
}

.trophy-lightbox-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 10;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #18181b;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.trophy-lightbox-close:hover {
    background: #8BC34A;
    color: #111;
}

/* Gallery carousel + lightbox + video modal */
.arcgallery-carousel {
    --arcgallery-slide-width: min(85vw, 360px);
}
/* Hide scrollbar; carousel still scrolls via arrows / touch */
.arcgallery-track {
    scrollbar-width: none;
}
.arcgallery-track::-webkit-scrollbar {
    display: none;
}
.arcgallery-lightbox-overlay.is-open,
.arcgallery-video-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Satisfied Customers - Load More Reviews (pure CSS toggle) */
.reviews-toggle-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.reviews-more-wrapper {
    display: none;
}

#load-more-reviews:checked ~ .reviews-container .reviews-more-wrapper {
    display: contents;
}

.reviews-load-more-btn,
.reviews-show-less-btn {
    display: inline-block;
    background-color: #8BC34A;
    color: #111111;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.75rem 2rem;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.reviews-load-more-btn:hover,
.reviews-show-less-btn:hover {
    background-color: #7ebd42;
    box-shadow: 0 4px 14px rgba(139, 195, 74, 0.4);
}

.reviews-show-less-btn {
    display: none;
}

#load-more-reviews:checked ~ .reviews-actions .reviews-load-more-btn {
    display: none;
}

#load-more-reviews:checked ~ .reviews-actions .reviews-show-less-btn,
.archery-satisfied-customers .archery-reviews-toggle:checked ~ .reviews-actions .reviews-show-less-btn {
    display: inline-block;
}

/* Shortcode [satisfied_customers]: same behaviour using class selector (unique ID per instance) */
.archery-satisfied-customers .reviews-more-wrapper {
    display: none;
}
.archery-satisfied-customers .archery-reviews-toggle:checked ~ .reviews-container .reviews-more-wrapper {
    display: contents;
}
.archery-satisfied-customers .archery-reviews-toggle:checked ~ .reviews-actions .reviews-load-more-btn {
    display: none;
}

/* Satisfied customers shortcode – card and grid (satisfied-customers.html) */
.archery-satisfied-customers .archery-testimonial-card {
    border-radius: 1rem;
    padding: 2rem;
    border: 1px solid #e4e4e7;
    background: #fff;
}
.archery-satisfied-customers .archery-testimonial-stars {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 1rem;
    color: #f59e0b;
}
.archery-satisfied-customers .archery-testimonial-content {
    color: #3f3f46;
    font-style: italic;
    margin-bottom: 1.5rem;
    line-height: 1.625;
}
.archery-satisfied-customers .archery-testimonial-content p {
    margin-bottom: 0.75rem;
}
.archery-satisfied-customers .archery-testimonial-content p:last-child {
    margin-bottom: 0;
}
.archery-satisfied-customers .archery-testimonial-author {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    color: #18181b;
}
.archery-satisfied-customers .reviews-container .grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .archery-satisfied-customers .reviews-container .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .archery-satisfied-customers .reviews-container .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* FAQ page – accordion (faq.html) */
.faq-item {
    border: 1px solid #e4e4e7;
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
}
.faq-item summary::-webkit-details-marker,
.faq-item summary::marker {
    display: none;
}
.faq-question {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: #18181b;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
    transition: background-color 0.2s ease;
}
.faq-question:hover {
    background-color: #f4f4f5;
}
.faq-item .faq-icon {
    flex-shrink: 0;
    color: #8BC34A;
    transition: transform 0.25s ease;
}
.faq-item[open] .faq-icon {
    transform: rotate(180deg);
}
.faq-answer {
    padding: 0 1.5rem 1.5rem;
    border-top: 1px solid #e4e4e7;
    color: #52525b;
    line-height: 1.625;
}
.faq-answer p {
    margin-bottom: 0.75rem;
}
.faq-answer p:last-child {
    margin-bottom: 0;
}
.faq-answer a {
    color: #8BC34A;
}
.faq-answer a:hover {
    text-decoration: underline;
}

/* Single product page: no sidebar (full-width product detail) */
body.single-product #secondary,
body.single-product .sidebar,
body.single-product .widget-area.sidebar,
body.single-product aside.sidebar {
    display: none !important;
}

/* Single product page – layout and theme styling */
.single-product-layout .woocommerce-product-gallery {
    margin-bottom: 0;
}

/* Grid: column 1 = gallery wrapper (product-details.html: flex flex-col gap-4), column 2 = summary */
.single-product-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem 4rem;
}
@media (min-width: 1024px) {
    .single-product-layout {
        grid-template-columns: 1fr 1fr;
        gap: 3rem 4rem;
    }
    /* Sale flash (when present) – over gallery */
    .single-product-layout > *:first-child:not(.archery-product-gallery-wrapper) {
        grid-column: 1;
        grid-row: 1;
        z-index: 2;
    }
    /* Gallery wrapper = direct child from product-image.php */
    .single-product-layout .archery-product-gallery-wrapper {
        grid-column: 1;
        grid-row: 1;
    }
    /* Summary = right column (title, price, short desc, key features, add to cart, accordion) */
    .single-product-layout .summary.entry-summary {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        visibility: visible;
        opacity: 1;
    }
}

/* Tabs are now inside summary (right column); upsells and related full width */
.single-product-layout .upsells.products,
.single-product-layout .related.products {
    grid-column: 1 / -1;
}
/* Related products heading: font-heading font-bold text-3xl text-zinc-900 uppercase tracking-tight */
.single-product-layout .related.products h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.875rem;
    color: #18181b;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 1rem;
}

/* Product tabs – clean accordion design (v2) */
.single-product-layout .woocommerce-tabs.archery-tabs-v2 {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e4e4e7;
}
.single-product-layout .archery-tabs-v2 .archery-tab-item {
    border-bottom: 1px solid #e4e4e7;
}
.single-product-layout .archery-tabs-v2 .archery-tab-item:first-of-type {
    border-top: none;
}
.single-product-layout .archery-tabs-v2 .archery-tab-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 0;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
    color: #18181b;
    font-family: 'Oswald', sans-serif;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: none;
    border: none;
    text-align: left;
    transition: color 0.2s ease;
}
.single-product-layout .archery-tabs-v2 .archery-tab-summary::-webkit-details-marker,
.single-product-layout .archery-tabs-v2 .archery-tab-summary::marker {
    display: none;
}
.single-product-layout .archery-tabs-v2 .archery-tab-summary:hover {
    color: #6B9B37;
}
.single-product-layout .archery-tabs-v2 .archery-tab-icon {
    flex-shrink: 0;
    margin-left: 0.75rem;
    color: #71717a;
    transition: transform 0.25s ease, color 0.2s ease;
}
.single-product-layout .archery-tabs-v2 .archery-tab-item[open] .archery-tab-icon {
    transform: rotate(180deg);
    color: #6B9B37;
}
.single-product-layout .archery-tabs-v2 .archery-tab-item[open] .archery-tab-summary {
    color: #6B9B37;
}
.single-product-layout .archery-tabs-v2 .archery-tab-panel {
    padding: 0 0 1.25rem 0;
    color: #52525b;
    font-size: 0.9375rem;
    line-height: 1.7;
}
.single-product-layout .archery-tabs-v2 .archery-tab-panel p {
    margin-bottom: 0.75rem;
}
.single-product-layout .archery-tabs-v2 .archery-tab-panel p:last-child {
    margin-bottom: 0;
}
.single-product-layout .archery-tabs-v2 .archery-tab-panel ul,
.single-product-layout .archery-tabs-v2 .archery-tab-panel ol {
    margin: 0.75rem 0;
    padding-left: 1.25rem;
}
.single-product-layout .archery-tabs-v2 .archery-tab-panel li {
    margin-bottom: 0.25rem;
}

/* product-details.html: title text-4xl sm:text-5xl font-heading font-extrabold uppercase tracking-tight mb-4 leading-tight */
.single-product-layout .summary .product_title {
    font-family: 'Oswald', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    color: #18181b;
    font-size: clamp(1.875rem, 4vw, 3rem);
    line-height: 1.2;
    margin-bottom: 1rem;
}
@media (min-width: 640px) {
    .single-product-layout .summary .product_title {
        font-size: clamp(2rem, 4vw, 3rem);
    }
}

/* product-details.html: price text-3xl font-sans font-bold mb-6 */
.single-product-layout .summary .price {
    font-size: 1.875rem;
    font-weight: 700;
    color: #18181b;
    margin-bottom: 1.5rem;
}

/* product-details.html: Add to Cart – primary green, text black, rounded-full shadow */
.single-product-layout .summary .single_add_to_cart_button {
    background-color: #6B9B37;
    color: #111;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 1rem 2rem;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}

.single-product-layout .summary .single_add_to_cart_button:hover {
    background-color: #5c8830;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
}

/* product-details.html: short description text-zinc-600 text-lg leading-relaxed mb-8 */
.single-product-layout .woocommerce-product-details__short-description {
    color: #52525b;
    font-size: 1.125rem;
    line-height: 1.75;
    margin-bottom: 2rem;
}

/* product-details.html: stock badge – wrapper mb-2, badge mb-4 */
.archery-stock-badge-wrap {
    margin-bottom: 0.5rem;
}
.archery-stock-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    margin-bottom: 1rem;
}
.archery-stock-badge--in-stock {
    background-color: #8BC34A;
    color: #111;
}
.archery-stock-badge--out-of-stock {
    background-color: #e4e4e7;
    color: #52525b;
}

.archery-key-features {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}
.archery-key-features .text-primary,
.single-product-layout .archery-key-features-icon {
    color: #8BC34A;
}

/* Quantity selector: pill with +/- style */
.single-product-layout .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #e4e4e7;
    border-radius: 9999px;
    background: #fff;
    max-width: 140px;
    padding: 0 0.25rem;
}
.single-product-layout .quantity .qty {
    width: 2.5rem;
    text-align: center;
    border: none;
    background: transparent;
    font-weight: 600;
    color: #18181b;
    padding: 0.5rem 0;
    -moz-appearance: textfield;
}
.single-product-layout .quantity .qty::-webkit-outer-spin-button,
.single-product-layout .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Single product gallery: always visible (no flexslider), layout main + thumbnails row */
.archery-product-gallery.woocommerce-product-gallery {
    opacity: 1 !important;
}
.archery-product-gallery-box .woocommerce-product-gallery__wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    height: 100%;
}
/* Main image (first gallery item) fills the box */
.archery-product-gallery-box .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.archery-product-gallery-box .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a,
.archery-product-gallery-box .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* product-details.html: main image w-full h-full object-contain, hover scale */
.archery-product-gallery-box .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
    transition: transform 0.5s ease;
}
.archery-product-gallery-box.group:hover .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img {
    transform: scale(1.05);
}
/* Thumbnails row below main image (product-details.html: flex gap-4) */
.archery-thumbnails-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.archery-thumbnails-row .woocommerce-product-gallery__image {
    flex: 0 0 auto;
    width: 4.5rem;
    height: 4.5rem;
    border: 2px solid #e4e4e7;
    border-radius: 0.5rem;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.archery-thumbnails-row .woocommerce-product-gallery__image:hover,
.archery-thumbnails-row .woocommerce-product-gallery__image.archery-thumb-active {
    border-color: #8BC34A;
    box-shadow: 0 0 0 1px #8BC34A;
}
.archery-thumbnails-row .woocommerce-product-gallery__image a {
    display: block;
    width: 100%;
    height: 100%;
}
.archery-thumbnails-row .woocommerce-product-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* product-details.html: quantity + Add to Cart row – flex gap-4 mb-8 */
.single-product-layout .summary form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-bottom: 2rem;
}
@media (min-width: 640px) {
    .single-product-layout .summary form.cart:not(.variations_form) {
        flex-direction: row;
    }
}
/* Variable product: ensure variation options (dropdowns) are always visible */
body.single-product .summary form.variations_form.cart,
body.single-product .summary form.variations_form.cart table.variations,
body.single-product .summary form.variations_form.cart table.variations tbody,
body.single-product .summary form.variations_form.cart table.variations tr,
body.single-product .summary form.variations_form.cart table.variations td,
body.single-product .summary form.variations_form.cart table.variations th {
    visibility: visible !important;
    opacity: 1 !important;
}
.single-product-layout .summary form.variations_form.cart {
    flex-direction: column;
    align-items: stretch;
}
.single-product-layout .summary form.variations_form.cart table.variations {
    display: table !important;
    width: 100%;
    margin-bottom: 1rem;
    border: 0;
}
.single-product-layout .summary form.variations_form.cart table.variations tbody {
    display: table-row-group !important;
}
.single-product-layout .summary form.variations_form.cart table.variations tr {
    display: table-row !important;
}
.single-product-layout .summary form.variations_form.cart table.variations td,
.single-product-layout .summary form.variations_form.cart table.variations th {
    display: table-cell !important;
    padding: 0.5rem 1rem 0.5rem 0;
    vertical-align: middle;
    border: 0;
    line-height: 1.5;
}
.single-product-layout .summary form.variations_form.cart table.variations th.label {
    font-weight: 600;
    color: #18181b;
    padding-right: 1rem;
    white-space: nowrap;
}
.single-product-layout .summary form.variations_form.cart table.variations td.value select,
body.single-product .summary form.variations_form.cart table.variations td.value select {
    display: block !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    border: 1px solid #e4e4e7;
    border-radius: 0.5rem;
    background-color: #fff;
    color: #18181b;
    font-size: 1rem;
}
/* Select2 (if WooCommerce uses it for variation dropdowns) */
body.single-product .summary form.variations_form .select2-container {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100%;
}
.single-product-layout .summary form.variations_form.cart .single_variation_wrap {
    width: 100%;
    margin-top: 0.5rem;
}
.single-product-layout .summary form.variations_form.cart .single_variation_wrap .single_variation {
    margin-bottom: 1rem;
}
.single-product-layout .summary form.variations_form.cart .single_variation_wrap .variations_button {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}
@media (min-width: 640px) {
    .single-product-layout .summary form.variations_form.cart .single_variation_wrap .variations_button {
        flex-direction: row;
    }
}
.single-product-layout .summary form.variations_form.cart a.reset_variations {
    font-size: 0.875rem;
    color: #52525b;
    margin-left: 0.5rem;
}
.single-product-layout .summary form.variations_form.cart a.reset_variations:hover {
    color: #8BC34A;
}
/* Add to Cart: shopping-bag icon (product-details.html) */
.single-product-layout .summary .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.single-product-layout .summary .single_add_to_cart_button::before {
    content: '';
    width: 1.25rem;
    height: 1.25rem;
    background: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

/* product-details.html: breadcrumb text-sm, zinc-600 links, current page font-medium */
#product nav[aria-label] ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
#product nav a {
    color: #52525b;
}
#product nav a:hover {
    color: #8BC34A;
}
#product nav [aria-current="page"] span {
    color: #18181b;
    font-weight: 500;
}

/* ── Cart & Checkout: full layout to match cart.html / checkout.html (works with or without Tailwind) ── */

/* WooCommerce template: main content area (when using Template: WooCommerce Pages) */
.archery-woo-main {
    padding: 3rem 0;
    background-color: #f4f4f5;
    flex-grow: 1;
}
@media (min-width: 768px) {
    .archery-woo-main {
        padding: 4rem 0;
    }
}

/* On cart/checkout, main should not add extra padding – our wrap handles it */
body.woocommerce-cart #site-content,
body.woocommerce-checkout #site-content {
    padding: 0;
    max-width: none;
}
body.woocommerce-cart #site-content .section-inner,
body.woocommerce-checkout #site-content .section-inner,
body.woocommerce-cart #site-content .post-inner,
body.woocommerce-checkout #site-content .post-inner,
body.woocommerce-cart #site-content .entry-content,
body.woocommerce-checkout #site-content .entry-content {
    max-width: none;
    width: 100%;
}
/* Cart/checkout: wrap is direct child of main when using default template */
body.woocommerce-cart #site-content > .archery-cart-checkout-wrap,
body.woocommerce-checkout #site-content > .archery-cart-checkout-wrap {
    width: 100%;
}

/* Page header (dark hero) – cart has more top padding than checkout */
.archery-cart-checkout-header {
    background-color: #18181b;
    padding-top: 6rem;
    padding-bottom: 3rem;
    position: relative;
    overflow: hidden;
}
body.woocommerce-checkout .archery-cart-checkout-header {
    padding-top: 4rem;
}
.archery-cart-checkout-header > div {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    position: relative;
    z-index: 10;
    text-align: center;
}
@media (min-width: 640px) {
    .archery-cart-checkout-header > div {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .archery-cart-checkout-header > div {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
.archery-cart-checkout-header h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 2.25rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
    .archery-cart-checkout-header h1 {
        font-size: 3rem;
    }
}
.archery-cart-checkout-header .text-primary {
    color: #8BC34A;
}

/* Main content wrapper – matches cart.html: outer has bg + padding */
.archery-cart-checkout-wrap {
    padding: 3rem 0;
    background-color: #f4f4f5;
    min-height: 40vh;
    flex-grow: 1;
}
@media (min-width: 768px) {
    .archery-cart-checkout-wrap {
        padding: 4rem 0;
    }
}
/* Inner div: max-w-7xl + horizontal padding (matches cart.html) */
.archery-cart-checkout-wrap > div,
.archery-cart-inner {
    width: 100%;
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}
@media (min-width: 640px) {
    .archery-cart-checkout-wrap > div,
    .archery-cart-inner {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .archery-cart-checkout-wrap > div,
    .archery-cart-inner {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* Cart page: two-column row – use class names so layout always applies */
.woocommerce .archery-cart-columns {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100%;
    box-sizing: border-box;
}
@media (min-width: 1024px) {
    .woocommerce .archery-cart-columns {
        flex-direction: row;
        flex-wrap: nowrap;
    }
    .woocommerce .archery-cart-form-column {
        max-width: 66.666667%;
        width: 66.666667%;
        min-width: 0;
        box-sizing: border-box;
    }
    .woocommerce .archery-cart-totals-column {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        width: 33.333333%;
        min-width: 300px;
        box-sizing: border-box;
    }
}
.woocommerce .archery-cart-form-column {
    width: 100%;
    box-sizing: border-box;
}
.woocommerce .archery-cart-totals-column {
    width: 100%;
    box-sizing: border-box;
}
/* Force cart totals block to show (override any WC/theme hide) */
.archery-cart-totals-column .cart-collaterals,
.archery-cart-totals-column .cart_totals {
    display: block !important;
    visibility: visible !important;
}

/* Cart form column: full width so table is visible */
.woocommerce .archery-cart-form-column .woocommerce-cart-form,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border-radius: 1.5rem;
    border: 1px solid #e4e4e7;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

/* Cart table header */
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents thead,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents thead {
    background: #f4f4f5;
    border-bottom: 1px solid #e4e4e7;
}
@media (max-width: 640px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents thead,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents thead {
        display: none;
    }
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents thead th,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents thead th {
    padding: 1rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #18181b;
    font-size: 0.875rem;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td {
    padding: 1rem;
    vertical-align: middle;
}
/* Prevent price/subtotal truncation (e.g. $749.97 showing as $74) */
/* Prevent subtotal/price truncation – give column room so total isn’t cut off */
.woocommerce .woocommerce-cart-form__contents th.product-subtotal,
.woocommerce .woocommerce-cart-form__contents td.product-subtotal,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents th.product-subtotal,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents td.product-subtotal {
    min-width: 6.5rem;
    white-space: nowrap;
    overflow: visible;
}
.woocommerce .woocommerce-cart-form__contents td.product-price,
.woocommerce .woocommerce-cart-form__contents td.product-subtotal {
    white-space: nowrap;
    overflow: visible;
}
.woocommerce .woocommerce-cart-form__contents .woocommerce-Price-amount {
    white-space: nowrap;
}
@media (max-width: 640px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td.product-remove,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td.product-remove {
        position: absolute;
        right: 1rem;
        top: 1rem;
        padding: 0;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td.product-thumbnail,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td.product-thumbnail {
        display: none;
    }
}
@media (min-width: 640px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td.product-thumbnail,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td.product-thumbnail {
        padding: 1rem;
    }
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions {
    padding: 1.5rem;
    background: #f4f4f5;
    border-top: 1px solid #e4e4e7;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions > td,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions > td {
    padding: 1.5rem;
    border: none;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions > td > div,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions > td > div {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
}
@media (min-width: 640px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions > td > div,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions > td > div {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .coupon,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .coupon .input-text,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .coupon .input-text {
    flex: 1;
    min-width: 8rem;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #d4d4d8;
    font-size: 0.875rem;
    background: #fff;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button.bg-zinc-900,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button.bg-zinc-900 {
    background: #18181b;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    font-size: 0.875rem;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button.bg-zinc-900:hover,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button.bg-zinc-900:hover {
    background: #27272a;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart,
.woocommerce .woocommerce-cart-form .actions .button-update-cart {
    background: transparent !important;
    border: 2px solid #d4d4d8 !important;
    color: #3f3f46 !important;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    cursor: not-allowed;
    font-size: 0.875rem;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart:hover,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart:hover {
    background: #f4f4f5;
    border-color: #a1a1aa;
}
/* Update cart button when enabled (JS removes disabled) – matches cart.html */
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart:not([disabled]),
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart:not([disabled]),
.woocommerce .woocommerce-cart-form .actions .button-update-cart:not([disabled]) {
    color: #18181b !important;
    border-color: #18181b !important;
    background: #f4f4f5 !important;
    cursor: pointer;
}
@media (min-width: 640px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart {
        width: auto;
    }
}
@media (max-width: 640px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .actions .button-update-cart {
        width: 100%;
    }
}

/* Cart totals card */
.archery-cart-totals {
    background: #fff !important;
    border-radius: 1.5rem !important;
    border: 1px solid #e4e4e7 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05) !important;
    padding: 1.5rem !important;
}
@media (min-width: 768px) {
    .archery-cart-totals {
        padding: 2rem !important;
    }
}
/* Cart totals heading – cart.html: font-heading font-bold text-2xl text-zinc-900 uppercase tracking-tight */
.archery-cart-totals h2,
.cart_totals.archery-cart-totals h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #18181b;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e4e4e7;
}
@media (min-width: 768px) {
    .archery-cart-totals h2,
    .cart_totals.archery-cart-totals h2 {
        font-size: 1.5rem;
    }
}

/* Cart page: table and form – fixed layout so columns share space and subtotal isn’t clipped */
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents,
.woocommerce .woocommerce-cart-form__contents {
    display: table;
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    table-layout: fixed;
}
/* Column shares so product name and subtotal both have room (matches cart.html) */
.woocommerce .woocommerce-cart-form__contents th.product-remove,
.woocommerce .woocommerce-cart-form__contents td.product-remove { width: 4%; }
.woocommerce .woocommerce-cart-form__contents th.product-thumbnail,
.woocommerce .woocommerce-cart-form__contents td.product-thumbnail { width: 10%; }
.woocommerce .woocommerce-cart-form__contents th.product-name,
.woocommerce .woocommerce-cart-form__contents td.product-name { width: 32%; }
.woocommerce .woocommerce-cart-form__contents th.product-price,
.woocommerce .woocommerce-cart-form__contents td.product-price { width: 12%; }
.woocommerce .woocommerce-cart-form__contents th.product-quantity,
.woocommerce .woocommerce-cart-form__contents td.product-quantity { width: 22%; }
.woocommerce .woocommerce-cart-form__contents th.product-subtotal,
.woocommerce .woocommerce-cart-form__contents td.product-subtotal { width: 20%; }
@media (min-width: 769px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody tr,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody tr {
        display: table-row;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td {
        display: table-cell;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td::before,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td::before {
        display: none;
    }
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents thead th,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents thead th {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #18181b;
}
/* Product thumbnail – cart.html: visible on sm+, w-16 h-16, rounded-lg, bg-zinc-50 */
@media (min-width: 641px) {
    .woocommerce .woocommerce-cart-form__contents td.product-thumbnail {
        display: table-cell !important;
        vertical-align: middle;
    }
}
.woocommerce .woocommerce-cart-form__contents .product-thumbnail img,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .product-thumbnail img,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .product-thumbnail img {
    width: 4rem;
    height: 4rem;
    min-width: 4rem;
    object-fit: contain;
    background: #f4f4f5;
    border-radius: 0.5rem;
    display: block;
}
/* Product name link – cart.html: green accent */
/* Product title – cart.html: font-heading font-bold text-lg text-zinc-900 hover:text-primary */
.woocommerce .woocommerce-cart-form__contents .product-name a,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .product-name a,
body.woocommerce-cart .archery-woo-main .woocommerce .product-name a {
    color: #18181b;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    transition: color 0.2s ease;
}
.woocommerce .woocommerce-cart-form__contents .product-name a:hover,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .product-name a:hover,
body.woocommerce-cart .archery-woo-main .woocommerce .product-name a:hover {
    color: #8BC34A;
}
/* Price cell – cart.html: text-zinc-600 font-medium */
.woocommerce .woocommerce-cart-form__contents td.product-price .woocommerce-Price-amount,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents td.product-price .woocommerce-Price-amount {
    color: #52525b;
    font-weight: 500;
}
/* Subtotal cell – cart.html: text-zinc-900 font-bold text-lg */
.woocommerce .woocommerce-cart-form__contents td.product-subtotal .woocommerce-Price-amount,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents td.product-subtotal .woocommerce-Price-amount {
    color: #18181b;
    font-weight: 700;
    font-size: 1.125rem;
}
/* Hide subtotal column on small screens (match reference hidden md:table-cell) */
@media (max-width: 768px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents th.product-subtotal,
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents td.product-subtotal,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents th.product-subtotal,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents td.product-subtotal {
        display: none !important;
    }
}
/* Remove link: red pill style from reference */
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .product-remove .remove,
body.woocommerce-cart .archery-woo-main .woocommerce .product-remove .remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: 9999px;
    background: #fef2f2;
    color: #ef4444;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .product-remove .remove:hover,
body.woocommerce-cart .archery-woo-main .woocommerce .product-remove .remove:hover {
    background: #fee2e2;
    color: #b91c1c;
}
/* Cart quantity pill */
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #e4e4e7;
    border-radius: 9999px;
    background: #f4f4f5;
    max-width: 120px;
    padding: 0 0.25rem;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .qty,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .qty {
    width: 2rem;
    text-align: center;
    border: none;
    background: transparent;
    font-weight: 600;
    color: #18181b;
    padding: 0.5rem 0;
    -moz-appearance: textfield;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .qty::-webkit-outer-spin-button,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .qty::-webkit-inner-spin-button,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .qty::-webkit-outer-spin-button,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .minus,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .plus,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .minus,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .plus {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #71717a;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 1rem;
}
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .minus:hover,
body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .quantity .plus:hover,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .minus:hover,
body.woocommerce-cart .archery-woo-main .woocommerce .quantity .plus:hover {
    color: #18181b;
}

/* Cart totals: proceed button full width */
/* Proceed to checkout – cart.html: bg-primary text-black rounded-full shadow-lg hover:shadow-xl hover:-translate-y-0.5 */
.archery-cart-totals .wc-proceed-to-checkout .checkout-button {
    display: flex !important;
    width: 100%;
    align-items: center;
    justify-content: center;
    background-color: #8BC34A !important;
    color: #111 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 1rem 2rem !important;
    border-radius: 9999px !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.archery-cart-totals .wc-proceed-to-checkout .checkout-button:hover {
    background-color: #7ebd42 !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
}
/* Cart totals links (e.g. Calculate shipping) – cart.html: green */
.archery-cart-totals a:not(.checkout-button) {
    color: #8BC34A;
    text-decoration: none;
}
.archery-cart-totals a:not(.checkout-button):hover {
    color: #7ebd42;
    text-decoration: underline;
}

/* Cart totals: table rows */
.archery-cart-totals .shop_table {
    width: 100%;
    margin-bottom: 2rem;
    border-collapse: collapse;
}
.archery-cart-totals .shop_table tr.cart-subtotal,
.archery-cart-totals .shop_table tr.shipping,
.archery-cart-totals .shop_table tr.fee,
.archery-cart-totals .shop_table tr.tax-rate {
    border-bottom: 1px solid #f4f4f5;
}
.archery-cart-totals .shop_table th {
    padding: 1rem 0;
    text-align: left;
    font-weight: 500;
    color: #3f3f46;
}
.archery-cart-totals .shop_table td {
    padding: 1rem 0;
    text-align: right;
    color: #18181b;
}
.archery-cart-totals .shop_table tr.cart-subtotal td {
    font-weight: 600;
}
.archery-cart-totals .shop_table tr.order-total th {
    padding: 1.5rem 0;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: uppercase;
    color: #18181b;
}
.archery-cart-totals .shop_table tr.order-total td {
    padding: 1.5rem 0;
    font-size: 1.875rem;
    font-weight: 700;
    color: #18181b;
}
.archery-cart-totals tr.shipping th,
.archery-cart-totals tr.shipping td {
    vertical-align: top;
}
.archery-cart-totals .woocommerce-shipping-destination {
    font-size: 0.875rem;
    color: #71717a;
    margin-top: 0.5rem;
}
/* Shipping methods list – cart.html: text-sm text-zinc-600 */
.archery-cart-totals .woocommerce-shipping-methods {
    font-size: 0.875rem;
    color: #52525b;
    list-style: none;
    padding: 0;
    margin: 0 0 0.5rem 0;
}
.archery-cart-totals .woocommerce-shipping-methods li {
    margin-bottom: 0.25rem;
}
.archery-cart-totals .shipping_method:checked + label {
    font-weight: 500;
}

/* Cart page: shipping calculator – Calculate shipping link, Country/State/City/Postcode, Update button */
body.woocommerce-cart .archery-cart-totals .woocommerce-shipping-calculator,
.archery-cart-totals .woocommerce-shipping-calculator {
    margin-top: 0.5rem;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-button,
.archery-cart-totals .shipping-calculator-button {
    color: #8BC34A;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-button:hover,
.archery-cart-totals .shipping-calculator-button:hover {
    color: #7ebd42;
    text-decoration: underline;
    text-underline-offset: 2px;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form,
.archery-cart-totals .shipping-calculator-form {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e4e4e7;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .form-row,
.archery-cart-totals .shipping-calculator-form .form-row {
    margin-bottom: 1rem;
    padding: 0;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .form-row-wide,
.archery-cart-totals .shipping-calculator-form .form-row-wide {
    width: 100%;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form label,
.archery-cart-totals .shipping-calculator-form label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #3f3f46;
    margin-bottom: 0.375rem;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .country_select,
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .state_select,
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .input-text,
.archery-cart-totals .shipping-calculator-form .country_select,
.archery-cart-totals .shipping-calculator-form .state_select,
.archery-cart-totals .shipping-calculator-form .input-text {
    width: 100%;
    max-width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid #d4d4d8;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    background: #fff;
    color: #18181b;
    box-sizing: border-box;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .country_select:focus,
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .state_select:focus,
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form .input-text:focus,
.archery-cart-totals .shipping-calculator-form .country_select:focus,
.archery-cart-totals .shipping-calculator-form .state_select:focus,
.archery-cart-totals .shipping-calculator-form .input-text:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.25);
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form button[type="submit"][name="calc_shipping"],
.archery-cart-totals .shipping-calculator-form button[type="submit"][name="calc_shipping"] {
    margin-top: 0.25rem;
    padding: 0.625rem 1.25rem;
    border-radius: 0.5rem;
    border: none;
    background: #18181b;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background-color 0.2s;
}
body.woocommerce-cart .archery-cart-totals .shipping-calculator-form button[type="submit"][name="calc_shipping"]:hover,
.archery-cart-totals .shipping-calculator-form button[type="submit"][name="calc_shipping"]:hover {
    background: #27272a;
}

/* Checkout "Returning customer? Click here to login" toggle */
.woocommerce-form-login-toggle {
    margin-bottom: 1rem;
}
.woocommerce-form-login-toggle .woocommerce-info {
    padding: 0.875rem 1rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    color: #3f3f46;
    list-style: none;
    margin: 0;
}
.woocommerce-form-login-toggle .woocommerce-info a.showlogin {
    color: #8BC34A;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}
.woocommerce-form-login-toggle .woocommerce-info a.showlogin:hover {
    color: #7ebd42;
}

/* Checkout / WooCommerce login form (returning customer) – theme styles when WooCommerce CSS not loaded */
.woocommerce-form-login.login,
.woocommerce .woocommerce-form-login.login {
    margin-bottom: 1.5rem;
    padding: 1.5rem;
    background: #fafafa;
    border: 1px solid #e4e4e7;
    border-radius: 1rem;
    box-sizing: border-box;
}
/* Intro message (e.g. "If you have shopped with us before...") */
.woocommerce-form-login.login > p:first-of-type,
.woocommerce .woocommerce-form-login.login > p:first-of-type {
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #52525b;
}
.woocommerce-form-login.login .form-row,
.woocommerce .woocommerce-form-login.login .form-row {
    margin-bottom: 1rem;
    padding: 0;
    border: none;
}
.woocommerce-form-login.login .form-row-first,
.woocommerce-form-login.login .form-row-last,
.woocommerce .woocommerce-form-login.login .form-row-first,
.woocommerce .woocommerce-form-login.login .form-row-last {
    width: 100%;
    float: none;
}
@media (min-width: 640px) {
    .woocommerce-form-login.login .form-row-first,
    .woocommerce .woocommerce-form-login.login .form-row-first {
        width: 48%;
        float: left;
        margin-right: 4%;
    }
    .woocommerce-form-login.login .form-row-last,
    .woocommerce .woocommerce-form-login.login .form-row-last {
        width: 48%;
        float: left;
    }
}
.woocommerce-form-login.login label:not(.woocommerce-form__label-for-checkbox),
.woocommerce .woocommerce-form-login.login label:not(.woocommerce-form__label-for-checkbox) {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #3f3f46;
    margin-bottom: 0.375rem;
}
.woocommerce-form-login.login .input-text,
.woocommerce .woocommerce-form-login.login .input-text {
    width: 100%;
    max-width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d4d4d8;
    border-radius: 0.5rem;
    font-size: 1rem;
    background: #fff;
    color: #18181b;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce-form-login.login .input-text:focus,
.woocommerce .woocommerce-form-login.login .input-text:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.25);
}
/* Password field wrapper with "Show password" button */
.woocommerce-form-login.login .password-input,
.woocommerce .woocommerce-form-login.login .password-input {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid #d4d4d8;
    border-radius: 0.5rem;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce-form-login.login .password-input:focus-within,
.woocommerce .woocommerce-form-login.login .password-input:focus-within {
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.25);
}
.woocommerce-form-login.login .password-input .input-text,
.woocommerce .woocommerce-form-login.login .password-input .input-text {
    flex: 1;
    min-width: 0;
    border: none;
    border-radius: 0;
    padding-right: 0.5rem;
    box-shadow: none;
}
.woocommerce-form-login.login .password-input .input-text:focus,
.woocommerce .woocommerce-form-login.login .password-input .input-text:focus {
    box-shadow: none;
}
.woocommerce-form-login.login .password-input .show-password-input,
.woocommerce .woocommerce-form-login.login .password-input .show-password-input {
    flex-shrink: 0;
    width: 2.75rem;
    padding: 0 0.5rem;
    border: none;
    border-left: 1px solid #e4e4e7;
    background: #f4f4f5;
    color: #52525b;
    cursor: pointer;
    font-size: 0.875rem;
    transition: background-color 0.2s, color 0.2s;
}
.woocommerce-form-login.login .password-input .show-password-input:hover,
.woocommerce .woocommerce-form-login.login .password-input .show-password-input:hover {
    background: #e4e4e7;
    color: #18181b;
}
/* Form row with Remember me + Login button */
.woocommerce-form-login.login .form-row:has(.woocommerce-form-login__submit),
.woocommerce .woocommerce-form-login.login .form-row:has(.woocommerce-form-login__submit) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.5rem;
}
.woocommerce-form-login.login .woocommerce-form__label-for-checkbox,
.woocommerce .woocommerce-form-login.login .woocommerce-form__label-for-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #52525b;
    cursor: pointer;
    margin: 0;
}
.woocommerce-form-login.login .woocommerce-form__input-checkbox,
.woocommerce .woocommerce-form-login.login .woocommerce-form__input-checkbox {
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    border: 1px solid #d4d4d8;
    accent-color: #8BC34A;
}
.woocommerce-form-login.login .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-login.login .woocommerce-form-login__submit {
    margin-top: 0.5rem;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 9999px;
    background: #8BC34A;
    color: #111;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.2s;
}
.woocommerce-form-login.login .woocommerce-form-login__submit:hover,
.woocommerce .woocommerce-form-login.login .woocommerce-form-login__submit:hover {
    background: #7ebd42;
}

/* WooCommerce register form (my-account when logged out): Register button */
.woocommerce-form-register .woocommerce-form-register__submit,
.woocommerce .woocommerce-form-register .woocommerce-form-register__submit {
    margin-top: 0.5rem;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 9999px;
    background: #8BC34A;
    color: #111;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.2s;
}
.woocommerce-form-register .woocommerce-form-register__submit:hover,
.woocommerce .woocommerce-form-register .woocommerce-form-register__submit:hover {
    background: #7ebd42;
}

.woocommerce-form-login.login .lost_password,
.woocommerce .woocommerce-form-login.login .lost_password {
    margin-top: 0.75rem;
    font-size: 0.875rem;
}
.woocommerce-form-login.login .lost_password a,
.woocommerce .woocommerce-form-login.login .lost_password a {
    color: #52525b;
    text-decoration: none;
    transition: color 0.2s;
}
.woocommerce-form-login.login .lost_password a:hover,
.woocommerce .woocommerce-form-login.login .lost_password a:hover {
    color: #8BC34A;
}
.woocommerce-form-login.login .required,
.woocommerce .woocommerce-form-login.login .required {
    color: #b91c1c;
}
.woocommerce-form-login.login .clear,
.woocommerce .woocommerce-form-login.login .clear {
    clear: both;
    height: 0;
    overflow: hidden;
}

/* ── Order received / Thank you page (.woocommerce-order) ───────────────── */
.woocommerce-order {
    max-width: 56rem;
    margin: 0 auto;
}
.woocommerce-order .woocommerce-notice--success {
    padding: 1rem 1.25rem;
    margin: 0 0 1.5rem;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 0.75rem;
    font-size: 1rem;
    color: #166534;
    font-weight: 500;
}
.woocommerce-order .woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    list-style: none;
    margin: 0 0 2rem;
    padding: 1.25rem 1.5rem;
    background: #fafafa;
    border: 1px solid #e4e4e7;
    border-radius: 0.75rem;
}
.woocommerce-order .woocommerce-order-overview li {
    margin: 0;
    padding: 0;
    font-size: 0.9375rem;
    color: #52525b;
}
.woocommerce-order .woocommerce-order-overview li strong {
    color: #18181b;
    font-weight: 600;
}
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #18181b;
    margin: 0 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #8BC34A;
}
.woocommerce-order .woocommerce-order-details {
    margin-bottom: 2rem;
}
.woocommerce-order .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 0 0 1rem;
}
.woocommerce-order .woocommerce-table--order-details thead th {
    text-align: left;
    padding: 0.75rem 1rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #3f3f46;
}
.woocommerce-order .woocommerce-table--order-details thead th:first-child {
    border-radius: 0.5rem 0 0 0;
}
.woocommerce-order .woocommerce-table--order-details thead th:last-child {
    border-radius: 0 0.5rem 0 0;
    text-align: right;
}
.woocommerce-order .woocommerce-table--order-details tbody td {
    padding: 1rem;
    border: 1px solid #e4e4e7;
    border-top: none;
    color: #18181b;
    vertical-align: top;
}
.woocommerce-order .woocommerce-table--order-details tbody td.product-name a {
    color: #18181b;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}
.woocommerce-order .woocommerce-table--order-details tbody td.product-name a:hover {
    color: #8BC34A;
}
.woocommerce-order .woocommerce-table--order-details tbody td.product-total {
    text-align: right;
    font-weight: 600;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr {
    border: 1px solid #e4e4e7;
    border-top: none;
}
.woocommerce-order .woocommerce-table--order-details tfoot th {
    padding: 0.625rem 1rem;
    background: #fafafa;
    font-weight: 500;
    color: #52525b;
    font-size: 0.875rem;
    text-align: left;
}
.woocommerce-order .woocommerce-table--order-details tfoot td {
    padding: 0.625rem 1rem;
    text-align: right;
    font-weight: 600;
    color: #18181b;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: 1px solid #e4e4e7;
    padding-bottom: 1rem;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th:first-child {
    border-radius: 0 0 0 0.5rem;
}
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td:last-child {
    border-radius: 0 0 0.5rem 0;
}
.woocommerce-order .woocommerce-table--order-details .product-quantity {
    font-weight: 400;
    color: #71717a;
}
.woocommerce-order .woocommerce-table--order-details small.shipped_via {
    font-weight: 400;
    color: #71717a;
}
.woocommerce-order .woocommerce-customer-details {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e4e4e7;
}
.woocommerce-order .woocommerce-columns--addresses {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 1rem;
}
@media (min-width: 640px) {
    .woocommerce-order .woocommerce-columns--addresses {
        grid-template-columns: 1fr 1fr;
    }
}
.woocommerce-order .woocommerce-column--billing-address,
.woocommerce-order .woocommerce-column--shipping-address {
    padding: 1.25rem;
    background: #fafafa;
    border: 1px solid #e4e4e7;
    border-radius: 0.75rem;
}
.woocommerce-order .woocommerce-column__title {
    margin-bottom: 0.75rem;
    border-bottom: none;
    padding-bottom: 0;
}
.woocommerce-order address {
    font-style: normal;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #52525b;
    margin: 0;
}
.woocommerce-order address p {
    margin: 0.25rem 0 0;
}
.woocommerce-order .woocommerce-customer-details--phone,
.woocommerce-order .woocommerce-customer-details--email {
    margin-top: 0.5rem;
}
.woocommerce-order > p {
    margin: 0 0 1.5rem;
    font-size: 0.9375rem;
    color: #52525b;
}

/* ── My Account (Dashboard, Orders, Downloads, Addresses, Payment methods, Account details, Log out) ── */
body.woocommerce-account .archery-woo-main .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation {
    width: 100%;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 0.75rem;
    padding: 0.5rem 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
@media (min-width: 768px) {
    body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation {
        width: 14rem;
        min-width: 14rem;
    }
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #f4f4f5;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 0.75rem 1.25rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #52525b;
    text-decoration: none;
    transition: color 0.2s, background-color 0.2s;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation a:hover {
    color: #8BC34A;
    background: #fafafa;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-navigation a[aria-current="page"] {
    color: #18181b;
    background: #f0fdf4;
    border-left: 3px solid #8BC34A;
    padding-left: calc(1.25rem - 3px);
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
@media (min-width: 768px) {
    body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content {
        padding: 2rem;
    }
}
/* Dashboard intro text */
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content > p {
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #52525b;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content > p a {
    color: #8BC34A;
    text-decoration: none;
    font-weight: 600;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content > p a:hover {
    text-decoration: underline;
}
/* Orders table */
body.woocommerce-account .archery-woo-main .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 0 0 1.5rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-orders-table thead th {
    text-align: left;
    padding: 0.75rem 1rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #3f3f46;
}
body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody td,
body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody th {
    padding: 1rem;
    border: 1px solid #e4e4e7;
    border-top: none;
    color: #18181b;
}
body.woocommerce-account .archery-woo-main .woocommerce-orders-table a {
    color: #18181b;
    font-weight: 600;
    text-decoration: none;
}
body.woocommerce-account .archery-woo-main .woocommerce-orders-table a:hover {
    color: #8BC34A;
}
body.woocommerce-account .archery-woo-main .woocommerce-orders-table .woocommerce-button {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #8BC34A;
    color: #111;
    border: none;
    border-radius: 9999px;
    text-decoration: none;
    transition: background-color 0.2s;
}
body.woocommerce-account .archery-woo-main .woocommerce-orders-table .woocommerce-button:hover {
    background: #7ebd42;
    color: #111;
}
/* Orders pagination */
body.woocommerce-account .archery-woo-main .woocommerce-pagination {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-pagination .woocommerce-button {
    padding: 0.5rem 1.25rem;
    font-size: 0.875rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #f4f4f5;
    color: #18181b;
    border: 1px solid #e4e4e7;
    border-radius: 9999px;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s;
}
body.woocommerce-account .archery-woo-main .woocommerce-pagination .woocommerce-button:hover {
    background: #e4e4e7;
    border-color: #d4d4d8;
}
/* No orders / empty state notice */
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-notice {
    padding: 1rem 1.25rem;
    margin: 0 0 1rem;
    border-radius: 0.5rem;
    border: 1px solid #e4e4e7;
    background: #fafafa;
    font-size: 0.9375rem;
    color: #52525b;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-info a,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-message a {
    color: #8BC34A;
    font-weight: 600;
}
/* Downloads list */
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-Downloads,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .digital-downloads {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-Downloads li,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .digital-downloads li {
    padding: 0.75rem 0;
    border-bottom: 1px solid #f4f4f5;
    font-size: 0.9375rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-Downloads a,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .digital-downloads a {
    color: #8BC34A;
    font-weight: 600;
    text-decoration: none;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .woocommerce-Downloads a:hover,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .digital-downloads a:hover {
    text-decoration: underline;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #18181b;
    margin: 0 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #8BC34A;
}
/* Addresses (col2-set, woocommerce-Address) */
body.woocommerce-account .archery-woo-main .woocommerce-Addresses.col2-set {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 1rem;
}
@media (min-width: 640px) {
    body.woocommerce-account .archery-woo-main .woocommerce-Addresses.col2-set {
        grid-template-columns: 1fr 1fr;
    }
}
body.woocommerce-account .archery-woo-main .woocommerce-Address {
    background: #fafafa;
    border: 1px solid #e4e4e7;
    border-radius: 0.75rem;
    padding: 1.25rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-Address-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e4e4e7;
}
body.woocommerce-account .archery-woo-main .woocommerce-Address-title h2 {
    margin: 0;
    border: none;
    padding: 0;
    font-size: 1.125rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-Address-title .edit {
    font-size: 0.875rem;
    font-weight: 600;
    color: #8BC34A;
    text-decoration: none;
}
body.woocommerce-account .archery-woo-main .woocommerce-Address-title .edit:hover {
    text-decoration: underline;
}
body.woocommerce-account .archery-woo-main .woocommerce-Address address {
    font-style: normal;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #52525b;
    margin: 0;
}
/* Payment methods table */
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-paymentMethods,
body.woocommerce-account .archery-woo-main .account-payment-methods-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
    margin: 0 0 1rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-paymentMethods thead th,
body.woocommerce-account .archery-woo-main .account-payment-methods-table thead th {
    text-align: left;
    padding: 0.75rem 1rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #3f3f46;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-paymentMethods td,
body.woocommerce-account .archery-woo-main .account-payment-methods-table td {
    padding: 1rem;
    border: 1px solid #e4e4e7;
    border-top: none;
    color: #18181b;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .button {
    display: inline-block;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #8BC34A;
    color: #111;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.2s;
}
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content .button:hover {
    background: #7ebd42;
    color: #111;
}
/* Account details form (edit-account) */
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm.edit-account,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account {
    max-width: 36rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm .form-row,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account .form-row {
    margin-bottom: 1rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm label,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #3f3f46;
    margin-bottom: 0.375rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm .input-text,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account .input-text {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #e4e4e7;
    border-radius: 0.5rem;
    background: #fff;
    font-size: 0.9375rem;
    color: #18181b;
    box-sizing: border-box;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm .input-text:focus,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account .input-text:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.25);
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm fieldset,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account fieldset {
    margin: 1.5rem 0;
    padding: 1.25rem;
    border: 1px solid #e4e4e7;
    border-radius: 0.5rem;
    background: #fafafa;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm fieldset legend,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account fieldset legend {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #18181b;
    padding: 0 0.5rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm .woocommerce-Button,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account .woocommerce-Button {
    margin-top: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #8BC34A;
    color: #111;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: background-color 0.2s;
}
body.woocommerce-account .archery-woo-main .woocommerce-EditAccountForm .woocommerce-Button:hover,
body.woocommerce-account .archery-woo-main .woocommerce-MyAccount-content form.edit-account .woocommerce-Button:hover {
    background: #7ebd42;
}
/* Edit address form (billing/shipping) */
body.woocommerce-account .archery-woo-main .woocommerce-address-fields .form-row {
    margin-bottom: 1rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-address-fields label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #3f3f46;
    margin-bottom: 0.375rem;
}
body.woocommerce-account .archery-woo-main .woocommerce-address-fields .input-text,
body.woocommerce-account .archery-woo-main .woocommerce-address-fields select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #e4e4e7;
    border-radius: 0.5rem;
    background: #fff;
    font-size: 0.9375rem;
    color: #18181b;
    box-sizing: border-box;
}
body.woocommerce-account .archery-woo-main .woocommerce-address-fields .input-text:focus,
body.woocommerce-account .archery-woo-main .woocommerce-address-fields select:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.25);
}
body.woocommerce-account .archery-woo-main .woocommerce-address-fields .button {
    margin-top: 0.5rem;
}
/* Responsive: orders table on small screens */
@media (max-width: 767px) {
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table thead {
        display: none;
    }
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody tr {
        display: block;
        border: 1px solid #e4e4e7;
        border-radius: 0.5rem;
        margin-bottom: 1rem;
        overflow: hidden;
    }
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody td,
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody th {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
        border: none;
        border-bottom: 1px solid #f4f4f5;
    }
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody td:last-child,
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody th:last-child {
        border-bottom: none;
    }
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody td::before,
    body.woocommerce-account .archery-woo-main .woocommerce-orders-table tbody th::before {
        content: attr(data-title);
        font-weight: 600;
        color: #71717a;
        min-width: 6rem;
    }
}

/* Checkout: two-column layout */
.checkout.woocommerce-checkout {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
@media (min-width: 1024px) {
    .checkout.woocommerce-checkout {
        flex-direction: row;
    }
}
.archery-cart-checkout-wrap .checkout.woocommerce-checkout > #customer_details {
    width: 100%;
}
@media (min-width: 1024px) {
    .archery-cart-checkout-wrap .checkout.woocommerce-checkout > #customer_details {
        width: 60%;
    }
}
.archery-cart-checkout-wrap .checkout.woocommerce-checkout > .lg\\:w-2\\/5,
.archery-cart-checkout-wrap .checkout.woocommerce-checkout > div:last-of-type {
    width: 100%;
}
@media (min-width: 1024px) {
    .archery-cart-checkout-wrap .checkout.woocommerce-checkout > div:last-of-type {
        width: 40%;
    }
}
.archery-cart-checkout-wrap .checkout.woocommerce-checkout #customer_details > div {
    background: #fff;
    border-radius: 1.5rem;
    border: 1px solid #e4e4e7;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
    padding: 1.5rem;
}
@media (min-width: 768px) {
    .archery-cart-checkout-wrap .checkout.woocommerce-checkout #customer_details > div {
        padding: 2rem;
    }
}
.archery-cart-checkout-wrap .checkout.woocommerce-checkout #customer_details h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #18181b;
    text-transform: uppercase;
    letter-spacing: -0.025em;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e4e4e7;
}
.archery-checkout-order-wrapper {
    background: #18181b !important;
    color: #fff !important;
    border-radius: 1.5rem !important;
    padding: 1.5rem !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}
@media (min-width: 768px) {
    .archery-checkout-order-wrapper {
        padding: 2rem !important;
    }
}
@media (min-width: 1024px) {
    .archery-checkout-order-wrapper {
        position: sticky;
        top: 6rem;
    }
}

/* Checkout: blockUI overlay (when checkbox/update triggers loading on "Your order") – professional subtle style */
.woocommerce-checkout .blockUI.blockOverlay,
.archery-cart-checkout-wrap .blockUI.blockOverlay,
.woocommerce-checkout .blockOverlay,
.archery-cart-checkout-wrap .blockOverlay {
    background: rgba(0, 0, 0, 0.06) !important;
    opacity: 1 !important;
    border-radius: 1.5rem;
    cursor: wait !important;
}
/* Overlay inside the dark order box – slightly stronger so it’s visible on dark background */
.archery-checkout-order-wrapper .blockUI.blockOverlay,
.archery-checkout-order-wrapper .blockOverlay {
    background: rgba(0, 0, 0, 0.25) !important;
    border-radius: 1.5rem;
}

/* Checkout: billing/shipping form – grid and inputs */
.checkout.woocommerce-checkout .woocommerce-billing-fields .form-row label,
.checkout.woocommerce-checkout .woocommerce-shipping-fields .form-row label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #3f3f46;
    margin-bottom: 0.25rem;
}
.checkout.woocommerce-checkout .input-text,
.checkout.woocommerce-checkout select,
.checkout.woocommerce-checkout textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d4d4d8;
    border-radius: 0.5rem;
    font-size: 1rem;
    color: #18181b;
    background: #f4f4f5;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.checkout.woocommerce-checkout .input-text:focus,
.checkout.woocommerce-checkout select:focus,
.checkout.woocommerce-checkout textarea:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.2);
    background: #fff;
}
.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.5rem;
}
.checkout.woocommerce-checkout .form-row.form-row-wide {
    grid-column: 1 / -1;
}
.checkout.woocommerce-checkout .form-row.form-row-first { grid-column: 1; }
.checkout.woocommerce-checkout .form-row.form-row-last { grid-column: 2; }
@media (max-width: 768px) {
    .checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    .checkout.woocommerce-checkout .form-row.form-row-first,
    .checkout.woocommerce-checkout .form-row.form-row-last {
        grid-column: 1;
    }
}

/* Checkout: dark order review card */
.archery-checkout-order-wrapper .shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    margin-bottom: 2rem;
    font-size: 0.875rem;
}
.archery-checkout-order-wrapper .shop_table thead tr {
    border-bottom: 1px solid #3f3f46;
}
.archery-checkout-order-wrapper .shop_table th {
    padding: 0.75rem 0;
    text-align: left;
    font-weight: 500;
    color: #a1a1aa;
}
.archery-checkout-order-wrapper .shop_table td {
    padding: 0.75rem 0;
    text-align: right;
    color: #fff;
}
.archery-checkout-order-wrapper .shop_table tbody tr {
    border-bottom: 1px solid #27272a;
}
.archery-checkout-order-wrapper .shop_table tfoot tr.cart-subtotal,
.archery-checkout-order-wrapper .shop_table tfoot tr.shipping {
    border-bottom: 1px solid #27272a;
}
.archery-checkout-order-wrapper .shop_table tfoot tr.order-total th,
.archery-checkout-order-wrapper .shop_table tfoot tr.order-total td {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    text-transform: uppercase;
    color: #fff;
}
.archery-checkout-order-wrapper .shop_table tfoot tr.order-total td {
    font-size: 1.875rem;
    color: #8BC34A;
}
.archery-checkout-order-wrapper .woocommerce-Price-amount {
    color: #8BC34A;
}
.archery-checkout-order-wrapper .product-name .product-quantity {
    color: #a1a1aa;
    font-weight: normal;
}
/* Payment methods in dark card */
.archery-checkout-order-wrapper .wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}
.archery-checkout-order-wrapper .wc_payment_method {
    background: #27272a;
    border: 1px solid #3f3f46;
    border-radius: 0.75rem;
    padding: 1rem;
    margin-bottom: 1rem;
}
.archery-checkout-order-wrapper .wc_payment_method label {
    color: #fff;
    cursor: pointer;
    font-weight: 500;
    margin-left: 0.5rem;
}
.archery-checkout-order-wrapper .payment_box {
    color: #a1a1aa;
    font-size: 0.875rem;
    margin-top: 0.75rem;
    padding-left: 1.5rem;
}
.archery-checkout-order-wrapper .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 1.5rem;
}
.archery-checkout-order-wrapper .woocommerce-form__label-for-checkbox {
    color: #a1a1aa;
    font-size: 0.875rem;
}
.archery-checkout-order-wrapper .woocommerce-terms-and-conditions-link {
    color: #fff;
    text-decoration: underline;
}
.archery-checkout-order-wrapper .woocommerce-terms-and-conditions-link:hover {
    color: #8BC34A;
}
.archery-checkout-order-wrapper #place_order {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background-color: #8BC34A !important;
    color: #111 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 1rem 2rem !important;
    border-radius: 9999px !important;
    border: none !important;
    cursor: pointer;
    font-size: 1.125rem;
    transition: all 0.3s ease;
}
.archery-checkout-order-wrapper #place_order:hover {
    background-color: #7ebd42 !important;
    box-shadow: 0 10px 15px -3px rgba(139, 195, 74, 0.4);
    transform: translateY(-2px);
}

/* Checkout: info notices (returning customer, coupon) */
/* WooCommerce info notices (e.g. "Have a coupon?", returning customer) */
.woocommerce-info,
.archery-cart-checkout-wrap .woocommerce-info {
    background: #fff;
    border: none;
    border-left: 4px solid #8BC34A;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    padding: 1rem 1.25rem;
    color: #3f3f46;
    margin-bottom: 1rem;
    list-style: none;
    font-size: 0.9375rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
}
.woocommerce-info::before,
.archery-cart-checkout-wrap .woocommerce-info::before {
    color: #8BC34A;
}
.woocommerce-info a,
.archery-cart-checkout-wrap .woocommerce-info a {
    font-weight: 600;
    color: #18181b;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.woocommerce-info a:hover,
.archery-cart-checkout-wrap .woocommerce-info a:hover {
    color: #8BC34A;
}

/* Coupon: "Have a coupon? Click here to enter your code" (checkout toggle) */
.woocommerce-form-coupon-toggle,
.archery-cart-checkout-wrap .woocommerce-form-coupon-toggle {
    margin-bottom: 1rem;
}
.woocommerce-form-coupon-toggle .woocommerce-info,
.archery-cart-checkout-wrap .woocommerce-form-coupon-toggle .woocommerce-info {
    margin-bottom: 0;
}
.woocommerce-form-coupon-toggle a.showcoupon,
.archery-cart-checkout-wrap .woocommerce-form-coupon-toggle a.showcoupon {
    font-weight: 600;
    color: #8BC34A;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.woocommerce-form-coupon-toggle a.showcoupon:hover,
.archery-cart-checkout-wrap .woocommerce-form-coupon-toggle a.showcoupon:hover {
    color: #7ebd42;
}

/* Coupon form: label "Coupon:", input "Coupon code", button "Apply coupon" (checkout) */
.woocommerce-form-coupon.checkout_coupon,
.archery-cart-checkout-wrap .woocommerce-form-coupon.checkout_coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 1.5rem;
    padding: 1rem 0;
}
.woocommerce-form-coupon .form-row-first,
.woocommerce-form-coupon .form-row-last,
.archery-cart-checkout-wrap .woocommerce-form-coupon .form-row-first,
.archery-cart-checkout-wrap .woocommerce-form-coupon .form-row-last {
    margin: 0;
    padding: 0;
}
.woocommerce-form-coupon label[for="coupon_code"],
.archery-cart-checkout-wrap .woocommerce-form-coupon label[for="coupon_code"] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #3f3f46;
}
.woocommerce-form-coupon .screen-reader-text,
.archery-cart-checkout-wrap .woocommerce-form-coupon .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.woocommerce-form-coupon #coupon_code,
.woocommerce-form-coupon .input-text[name="coupon_code"],
.archery-cart-checkout-wrap .woocommerce-form-coupon #coupon_code,
.archery-cart-checkout-wrap .woocommerce-form-coupon .input-text[name="coupon_code"] {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #d4d4d8;
    font-size: 0.875rem;
    background: #fff;
    min-width: 12rem;
}
.woocommerce-form-coupon #coupon_code:focus,
.archery-cart-checkout-wrap .woocommerce-form-coupon #coupon_code:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.25);
}
.woocommerce-form-coupon button[name="apply_coupon"],
.archery-cart-checkout-wrap .woocommerce-form-coupon button[name="apply_coupon"] {
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    border: none;
    background: #18181b;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background-color 0.2s;
}
.woocommerce-form-coupon button[name="apply_coupon"]:hover,
.archery-cart-checkout-wrap .woocommerce-form-coupon button[name="apply_coupon"]:hover {
    background: #27272a;
}

/* Cart page: coupon label (sr-only) and placeholder consistency */
.woocommerce-cart-form .actions .coupon label[for="coupon_code"],
.woocommerce .woocommerce-cart-form .actions .coupon label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #3f3f46;
}
.woocommerce-cart-form .actions #coupon_code::placeholder {
    color: #71717a;
}

/* ========== All WooCommerce notice types ========== */
/* Notices wrapper – resets list and spacing */
.woocommerce-notices-wrapper,
.archery-cart-checkout-wrap .woocommerce-notices-wrapper {
    margin-bottom: 1.5rem;
}
.woocommerce-notices-wrapper ul,
.archery-cart-checkout-wrap .woocommerce-notices-wrapper ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 1. Success (woocommerce-message) – e.g. "Cart updated.", "Coupon applied." */
.woocommerce-message,
.archery-cart-checkout-wrap .woocommerce-message {
    background: #aeff8e61;
    border: none;
    border-left: 4px solid #51ff0d;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    padding: 10px 20px;
    color: #3f3f46;
    margin-bottom: 1rem;
    margin-left: 56px;
    list-style: none;
    font-size: 0.9375rem;
    width: 680px;
}
.woocommerce-message::before,
.archery-cart-checkout-wrap .woocommerce-message::before {
    color: #8BC34A;
}
.woocommerce-message a,
.archery-cart-checkout-wrap .woocommerce-message a {
    font-weight: 600;
    color: #18181b;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.woocommerce-message a:hover,
.archery-cart-checkout-wrap .woocommerce-message a:hover {
    color: #8BC34A;
}

/* 2. Error (woocommerce-error) – e.g. "Invalid coupon.", validation errors */
.woocommerce-error,
.archery-cart-checkout-wrap .woocommerce-error {
    background: #fef2f2;
    border: none;
    border-left: 4px solid #dc2626;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    padding: 1rem 1.25rem;
    color: #3f3f46;
    margin-bottom: 1rem;
    list-style: none;
    font-size: 0.9375rem;
}
.woocommerce-error::before,
.archery-cart-checkout-wrap .woocommerce-error::before {
    color: #dc2626;
}
.woocommerce-error a,
.archery-cart-checkout-wrap .woocommerce-error a {
    font-weight: 600;
    color: #b91c1c;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.woocommerce-error a:hover,
.archery-cart-checkout-wrap .woocommerce-error a:hover {
    color: #991b1b;
}

/* 3. Info (woocommerce-info) – see separate block above (Have a coupon?, Returning customer?) */

/* WooCommerce forward links (e.g. "View cart", "Proceed to checkout" in messages) */
a.wc-forward,
.woocommerce a.wc-forward {
    display: inline-block;
    background: #8BC34A;
    color: #18181b !important;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: none;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
a.wc-forward:hover,
.woocommerce a.wc-forward:hover {
    background: #7ebd42;
    color: #18181b !important;
    box-shadow: 0 2px 8px rgba(139, 195, 74, 0.35);
}

/* Mini cart (header drawer) */
/* Cart drawer: when admin bar is visible (logged in), start below it so heading/close aren't cut off */
body.admin-bar #cart-drawer {
    top: 32px;
    height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
    body.admin-bar #cart-drawer {
        top: 46px;
        height: calc(100vh - 46px);
    }
}

#cart-drawer .woocommerce-mini-cart__buttons a {
    display: block;
    text-align: center;
    padding: 0.625rem 1.25rem;
    border-radius: 9999px;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all 0.3s ease;
}
#cart-drawer .woocommerce-mini-cart__buttons a.wc-forward:not(.checkout) {
    border: 2px solid #18181b;
    background: transparent;
    color: #18181b;
}
#cart-drawer .woocommerce-mini-cart__buttons a.wc-forward:not(.checkout):hover {
    background: #18181b;
    color: #fafafa;
}
#cart-drawer .woocommerce-mini-cart__buttons a.checkout {
    background-color: #8BC34A;
    color: #111;
}
#cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover {
    background-color: #7ebd42;
    box-shadow: 0 4px 14px rgba(139, 195, 74, 0.4);
}
#cart-drawer .woocommerce-mini-cart .woocommerce-mini-cart-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shop archive: ordering dropdown */
.woocommerce-ordering select,
#shop .woocommerce-ordering select {
    background-color: #f4f4f5;
    border: 1px solid #e4e4e7;
    color: #18181b;
    font-size: 0.875rem;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    border-radius: 0.5rem;
    min-width: 180px;
}
.woocommerce-ordering select:focus {
    outline: none;
    border-color: #8BC34A;
    box-shadow: 0 0 0 2px rgba(139, 195, 74, 0.2);
}

/* Global CMS template (anchor-sight style content) */
.archery-cms-content {
    font-size: 1rem;
    line-height: 1.75;
}
.archery-cms-content h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #8BC34A;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
    margin-top: 0;
}
.archery-cms-content h2:not(:first-child) {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid #e4e4e7;
}
@media (min-width: 768px) {
    .archery-cms-content h2 {
        font-size: 1.875rem;
    }
}
.archery-cms-content p {
    color: #52525b;
    line-height: 1.75;
    margin-bottom: 1.5rem;
}
.archery-cms-content p:last-child {
    margin-bottom: 0;
}
.archery-cms-content ul,
.archery-cms-content ol {
    color: #52525b;
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}
.archery-cms-content a {
    color: #8BC34A;
    text-decoration: none;
}
.archery-cms-content a:hover {
    text-decoration: underline;
}

/* Responsive: cart table on small screens */
@media (max-width: 768px) {
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents thead,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents thead {
        display: none;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody tr,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody tr {
        display: block;
        border: 1px solid #e4e4e7;
        border-radius: 1rem;
        padding: 1rem;
        margin-bottom: 1rem;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td,
body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: none;
        padding: 0.5rem 0;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents tbody td::before,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents tbody td::before {
        content: attr(data-title);
        font-weight: 600;
        margin-right: 0.5rem;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .product-thumbnail,
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .product-remove,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .product-thumbnail,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .product-remove {
        justify-content: flex-start;
    }
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .product-thumbnail::before,
    body.woocommerce-cart .archery-cart-checkout-wrap .woocommerce .woocommerce-cart-form__contents .product-remove::before,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .product-thumbnail::before,
    body.woocommerce-cart .archery-woo-main .woocommerce .woocommerce-cart-form__contents .product-remove::before {
        display: none;
    }
}
