/*
Theme Name: Forcefield Stratum
Author: Forcefield Web Development
Author URI: https://forcefieldnc.com
Version: 9.32
Description: Custom base theme
*/


/* ==========================================================================
   RESET / GLOBAL
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

:target { scroll-margin-top: 210px; } /* clears fixed header */


/* ==========================================================================
   FONTS
   ========================================================================== */

@font-face {
    font-family: 'Karla';
    src: url('fonts/Karla-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Karla';
    src: url('fonts/Karla-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Karla';
    src: url('fonts/Karla-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* ==========================================================================
   TOKENS
   ========================================================================== */

:root {
    --tac-coral:        #FF6B35;
    --tac-coral-dark:   #C84B1A;
    --tac-navy:         #1A3A5C;
    --tac-sand:         #FDF6E3;
    --tac-white:        #ffffff;
    --tac-gray-light:   #F5F5F5;
    --tac-gray-mid:     #CCCCCC;
    --tac-gray-text:    #555555;
    --tac-badge-new:    #2E9E6B;
    --tac-badge-hot:    #E05C00;
    --tac-radius-sm:    6px;
    --tac-radius-md:    12px;
    --tac-radius-lg:    20px;
    --tac-radius-pill:  999px;
    --tac-shadow-card:  0 2px 8px rgba(0,0,0,0.08);
    --tac-shadow-hover: 0 6px 20px rgba(0,0,0,0.13);
}


/* ==========================================================================
   BASE
   ========================================================================== */

body, html {
    font-family: 'Karla', sans-serif;
    background-color: #fff;
    padding-top: 106px;
}

h1, h2 { font-family: 'Poppins', sans-serif; }

@media screen and (max-width: 980px) {
    body { padding-top: 100px; }
}


/* ==========================================================================
   LAYOUT — container + sidebar/main split (.b-main)
   ========================================================================== */

.container {
    width: 95%;
    max-width: 1500px;
    margin: 0 auto !important;
    padding-top: 30px !important;
}

.content-area { margin-top: 0; }

.b-main { display: flex; }

.b-left {
    width: 22.75%;
    margin-right: 3%;
}

.b-right { width: 74.25%; }

.b-inner {
    font-size: 14px;
    background-color: rgba(0, 140, 199, 0.14);
    border-radius: 5px;
    overflow: hidden;
    padding: 20px;
    margin-bottom: 20px;
}

.b-left h3 {
    text-transform: uppercase;
    font-size: 17px;
    line-height: 1.9em;
}

@media screen and (max-width: 1145px) {
    .archive-header-inner { display: block; }
    .archive-logo .alignright { text-align: left !important; float: none !important; width: 100%; }
    .b-left { display: none; }
    .b-right { width: 95%; }
}

@media screen and (max-width: 980px) {
    .b-main { display: block !important; }
    .b-left, .b-right { width: 100% !important; }
    .teams ul.products li.product { width: 40%; float: left; clear: both; margin: 0 0 1em; }
}


/* ==========================================================================
   MASTHEAD — fixed header shell
   ========================================================================== */

#masthead {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999!important;
    box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.1);
}

body.admin-bar #masthead { top: 32px; }

@media screen and (max-width: 980px) {
    body.admin-bar #masthead { top: 46px; }
}


/* ==========================================================================
   STORE INFO STRIP
   ========================================================================== */

.tac-store-strip {
    background: var(--tac-navy);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.tac-store-strip__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.tac-store-strip__item:last-child { border-right: none; }

.tac-store-strip__icon {
    font-size: 1.1rem;
    flex-shrink: 0;
}

@media (max-width: 1018px) {
    .tac-store-strip__item:nth-child(4) { display: none; }
    .tac-store-strip__item:nth-child(2) { display: none; }
    .tac-store-strip__item:nth-child(1) { display: none; }
	.tac-store-strip__item:nth-child(3) {border:0!important}
}

 

 


/* ==========================================================================
   UTILITY BAR (header row 1)
   ========================================================================== */

#header-utility {
    background-color: #008CC7;
    background-image: url('/wp-content/uploads/2022/11/awning-6.webp');
    background-repeat: repeat-x;
    background-size: auto;
    height: 80px;
}

.header-utility-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 95%;
    margin: 0 auto;
    padding: 34px 20px 0;
}

#utility-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 24px;
}

#utility-nav a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

#utility-nav a:hover { text-decoration: underline; }

#header-social {
    display: flex;
    gap: 14px;
    align-items: center;
}

#header-social a {
    color: #fff;
    display: flex;
    align-items: center;
}

#header-social a:hover { opacity: 0.75; }


/* ==========================================================================
   MAIN BAR (header row 2)
   ========================================================================== */

#header-main {
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
}

.header-main-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 0 20px;
    height: 80px;
    width: 95%;
}

#header-left {
    display: flex;
    align-items: center;
    gap: 32px;
}

#site-logo img {
    width: 250px;
    height: auto;
    display: block;
}


/* ==========================================================================
   PRIMARY NAV + MEGA MENUS
   ========================================================================== */
#primary-nav { position: static; }
#primary-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
}
#primary-menu > li > a {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 10px 12px;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    color: #222;
    text-decoration: none;
    white-space: nowrap;
}
#primary-menu > li > a:hover { color: #008CC7; }
.nav-arrow {
    font-size: 10px;
    line-height: 1;
    display: inline-block;
    transition: transform 150ms ease;
}
.has-mega-menu:hover .nav-arrow,
.has-mega-menu:focus-within .nav-arrow {
    transform: rotate(180deg);
}
/* Hover bridge prevents the menu from closing as you cross the gap */
#primary-menu > li.has-mega-menu {
    position: static;
    padding-bottom: 30px;
    margin-bottom: -30px;
}
.mega-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    pointer-events: none;
    transition:
        opacity 150ms ease,
        transform 150ms ease,
        visibility 0s linear 150ms;

    position: fixed;
    left: 0;
    right: 0;
    top: 213px;
    width: 100%;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    z-index: 1000;
    padding: 30px;
    border-top: 2px solid var(--tac-navy);
}
.has-mega-menu:hover .mega-menu,
.has-mega-menu:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition:
        opacity 150ms ease,
        transform 150ms ease,
        visibility 0s linear 0s;
}
.mega-menu ul {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    max-width: 1500px;
}
.mega-menu--age ul {
    grid-template-columns: repeat(4, max-content);
    max-width: none;
    gap: 0 40px;
}
.mega-menu ul li a {
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #222;
    text-decoration: none;
    padding: 8px 12px;
    border-left: 3px solid transparent;
}
.mega-menu ul li a:hover {
    color: #008CC7;
    background: #f8f8f8;
    border-left-color: #008CC7;
}
/* Shop By Age — single-column dropdown anchored to its trigger */
#primary-menu > li.has-mega-menu:has(.mega-menu--age) {
    position: relative; /* anchor the panel to this <li> */
}
.mega-menu--age {
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    width: auto;
    min-width: 240px;
    padding: 10px 0;
    margin-top: -9px;
}
.mega-menu--age ul {
    display: block;
    grid-template-columns: none;
    max-width: none;
    gap: 0;
}
.mega-menu--age ul li a {
    padding: 10px 20px;
}
/* ==========================================================================
   HEADER SEARCH (Algolia widget)
   ========================================================================== */

#header-right { flex-shrink: 0; }

#search {
    position: relative;
    z-index: 999999;
    width: 280px;
}

.aa-Form {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    height: 40px;
    background: #fff;
    border: 2px solid var(--tac-gray-mid) !important;
    border-radius: var(--tac-radius-sm) !important;
    transition: border-color 0.2s;
}

.aa-Form:focus-within { border-color: var(--tac-coral) !important; }

.aa-Input {
    font-family: 'Karla', sans-serif !important;
    font-size: 0.9rem !important;
    color: var(--tac-navy) !important;
}

.aa-Input::placeholder { color: #aaa !important; }

.aa-Label svg,
.aa-LoadingIndicator svg { fill: var(--tac-navy) !important; }

.aa-Panel {
    overflow: visible !important;
    z-index: 999999;
    border: 1px solid var(--tac-gray-mid) !important;
    border-radius: var(--tac-radius-md) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    background: #fff !important;
    margin-top: 6px !important;
}

.aa-PanelLayout {
    max-height: 60vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 0 !important;
}

.aa-Item { padding: 0 !important; }

.aa-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    text-decoration: none;
    color: var(--tac-navy);
    transition: background 0.15s;
}

.aa-Item[aria-selected="true"] .aa-item,
.aa-item:hover { background: var(--tac-gray-light); }

.aa-item img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border-radius: var(--tac-radius-sm);
    background: var(--tac-gray-light);
    flex-shrink: 0;
}

.aa-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.aa-title {
    font-family: 'Karla', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tac-navy);
    overflow: hidden;
    text-overflow: ellipsis;
}

.aa-brand {
    font-size: 0.75rem;
    color: var(--tac-gray-text);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.aa-meta {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tac-coral-dark);
}

.aa-footer {
    border-top: 1px solid var(--tac-gray-mid);
    padding: 10px 16px;
    text-align: center;
}

.aa-footer a {
    font-family: 'Karla', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--tac-coral);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.aa-footer a:hover { color: var(--tac-coral-dark); }

/* Mount-point sizing for desktop vs. mobile */
#search-mount-desktop #search { width: 320px; }
#search-mount-desktop .ais-SearchBox-input {
    height: 38px;
    font-size: 14px;
}

#search-mount-mobile #search {
    width: 100%;
    padding: 20px;
    background-color: #fff;
    border-bottom: 2px solid var(--tac-navy);
}
#search-mount-mobile .ais-SearchBox-input {
    height: 44px;
    font-size: 16px; /* prevents iOS zoom on focus */
    width: 100%;
}


/* ==========================================================================
   MOBILE HEADER + DRAWER
   ========================================================================== */

#mobile-header { display: none; }

@media (max-width: 980px) {
    #header-main,
    #header-utility { display: none; }

    #mobile-header {
        display: block;
        background: #fff;
        border-bottom: 1px solid #e8e8e8;
    }

    .mobile-header-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 20px;
    }

    .mobile-header-inner img {
        width: 150px;
        height: auto;
    }

    #mobile-menu-toggle {
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px;
    }
}

.mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(85vw, 360px);
    height: 100dvh;
    background: #fff;
    z-index: 9999;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
}

.mobile-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
	z-index:1000000000;
}

.mobile-drawer__inner { padding: 60px 20px 40px; }

.mobile-drawer__close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: 0;
    padding: 8px;
    cursor: pointer;
    color: #222;
}

.mobile-drawer__nav details { border-bottom: 1px solid #eee; }

.mobile-drawer__nav summary {
    list-style: none;
    cursor: pointer;
    padding: 14px 0;
    font-weight: 600;
    font-size: 17px;
}

.mobile-drawer__nav summary::-webkit-details-marker { display: none; }

.mobile-drawer__nav summary::after {
    content: "+";
    float: right;
    font-weight: 400;
    transition: transform .2s;
}

.mobile-drawer__nav details[open] summary::after { content: "−"; }

.mobile-drawer__nav ul {
    list-style: none;
    padding: 0 0 12px;
    margin: 0;
}

.mobile-drawer__nav ul li a {
    display: block;
    padding: 8px 0 8px 8px;
    color: #333;
    text-decoration: none;
}

.mobile-drawer__utility {
    list-style: none;
    padding: 20px 0 0;
    margin: 20px 0 0;
    border-top: 1px solid #eee;
}

.mobile-drawer__utility li a {
    display: block;
    padding: 10px 0;
    font-weight: 600;
    color: #333;
    text-decoration: none;
}

.mobile-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 9998;
    opacity: 0;
    transition: opacity .3s ease;
}

.mobile-drawer-backdrop.is-visible { opacity: 1; }

body.drawer-open { overflow: hidden; }


/* ==========================================================================
   WOOCOMMERCE ARCHIVE / SHOP LOOP
   ========================================================================== */

.product-archive-hero-section { display: none; }

.archive-header-inner { display: flex; }

.archive-logo {
    text-align: right;
    width: 100%;
}

.term-description {
    max-width: 600px;
    color: #000;
    line-height: 24px;
}

.woocommerce-products-header__title {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 25px;
    color: #333 !important;
    margin-bottom: 0;
}

.woocommerce-result-count { color: #999; }
.woocommerce-ordering { display: none; }

/* Product grid — 4 col by default */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.25rem !important;
    float: none !important;
    clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.woocommerce ul.products.columns-1 { grid-template-columns: repeat(1, 1fr) !important; }

.recent-sidebar ul.products { grid-template-columns: repeat(1, 1fr) !important; }

.woocommerce-loop-product__title { min-height: 40px; }

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del { color: #000 !important; }

.product-category.product {
    text-align: center !important;
    text-transform: uppercase;
}

/* Wishlist / quick-view hover buttons (TI WishList plugin) */
.woocommerce .products .wpb_wl_preview_area { position: relative; }

.woocommerce .products .product-extra-buttons {
    position: absolute;
    right: -50px;
    top: 80px;
    padding: 6px 3px;
    background: #fff;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
    z-index: 30;
    opacity: 0;
    transition: all 0.4s ease;
}

.woocommerce .products .product:hover .product-extra-buttons,
.woocommerce .products .product > a:hover + .product-extra-buttons,
.woocommerce .products .product .product-extra-buttons:hover {
    right: 0;
    opacity: 1;
}

/* Grid breakpoints */
@media screen and (max-width: 1200px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media screen and (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media screen and (max-width: 480px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(1, 1fr) !important; }
}


/* ==========================================================================
   WOOCOMMERCE — BUTTONS + PAGINATION
   ========================================================================== */

/* Global Woo button — excludes Algolia submit/clear which have their own UI */
.woocommerce .button:not(.aa-SubmitButton),
.woocommerce button[type="submit"]:not(.aa-SubmitButton):not(.aa-ClearButton),
.woocommerce input[type="submit"],
.woocommerce a.button,
.bapf_button {
    background: var(--tac-navy) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    font-family: 'Karla', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 10px 24px !important;
    cursor: pointer;
    transition: background 0.2s;
    line-height: 1.4 !important;
}

.woocommerce .button:not(.aa-SubmitButton):hover,
.woocommerce button[type="submit"]:not(.aa-SubmitButton):not(.aa-ClearButton):hover,
.woocommerce input[type="submit"]:hover,
.woocommerce a.button:hover,
.bapf_button:hover {
    background: var(--tac-coral) !important;
    color: #fff !important;
}

/* Pagination */
.woocommerce-pagination {
    margin-bottom: 50px;
}

.woocommerce-pagination li {
    border-radius: 50%;
    margin: 5px !important;
    border: 1px solid #4880c8 !important;
}

.woocommerce-pagination li a { color: #4880c8; }
.page-numbers { border: 0 !important; }


/* ==========================================================================
   TAC PRODUCT CARD — shared across carousels + WC loop
   ========================================================================== */

.tac-product-card {
    background: var(--tac-white);
    border-radius: var(--tac-radius-md);
    box-shadow: var(--tac-shadow-card);
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    transition: box-shadow 0.2s, transform 0.2s;
    padding: 0 !important;
    border: none !important;
}

.tac-product-card:hover {
    box-shadow: var(--tac-shadow-hover);
    transform: translateY(-4px);
}

.tac-product-card__img-wrap {
    position: relative;
    display: block;
    background: var(--tac-gray-light);
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.tac-product-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 4px;          /* fixed: was `padding:34` (missing unit, ignored) */
    border-radius: 10px;
    opacity: 1 !important;
    /*transition: transform 0.3s;*/
}

/*.tac-product-card:hover .tac-product-card__img-wrap img { transform: scale(1.04); }*/

.tac-product-card__body {
    padding: 0.75rem 1rem 1rem;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem;
    flex: 1;
}

.tac-product-card__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--tac-navy);
    text-decoration: none;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tac-product-card__title:hover { color: var(--tac-coral); }

.tac-product-card__brand {
    font-size: 0.78rem;
    color: #999;
    text-decoration: none;
}

.tac-product-card__brand:hover { color: var(--tac-coral); }

.tac-product-card__price {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--tac-coral-dark);
}

.tac-product-card__price del {
    color: var(--tac-gray-text);
    font-weight: 400;
    font-size: 0.8rem;
    margin-right: 4px;
}

.tac-product-card__stock--low {
    font-size: 0.75rem;
    color: #c0392b;
    font-weight: 600;
}

.tac-product-card__stock--high {
    font-size: 0.75rem;
    color: #319142;
    font-weight: 600;
}

/* Add-to-cart inside card overrides the global Woo button */
.tac-product-card .button,
.tac-product-card .add_to_cart_button {
    margin-top: auto;
    display: block !important;
    width: 100% !important;
    text-align: center;
    background: var(--tac-navy) !important;
    color: #fff !important;
    padding: 15px !important;
    border-radius: var(--tac-radius-sm) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
}

.tac-product-card .button:hover,
.tac-product-card .add_to_cart_button:hover {
    background: var(--tac-coral) !important;
    opacity: 1;
}

.tac-product-card .added_to_cart { display: none; }

/* Wishlist button inside card — secondary style */
.tac-product-card .tinvwl_add_to_wishlist_button {
    display: block;
    width: 100%;
    text-align: center;
    background: transparent;
    color: var(--tac-navy);
    border: 2px solid var(--tac-navy);
    border-radius: var(--tac-radius-sm);
    padding: 10px !important;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    margin-top: 0.2rem;
}

.tac-product-card .tinvwl_add_to_wishlist_button:hover {
    background: var(--tac-navy);
    color: #fff;
}

.tac-product-card .tinv-wishlist-clear,
.tac-product-card .tinvwl-tooltip { display: none; }

.tac-product-card .tinv-wraper { padding: 0; }


/* ==========================================================================
   FEATURED PRODUCTS CAROUSEL (Splide)
   ========================================================================== */

.ff-carousel {
    display: flex;
    align-items: center;
    gap: 20px;
}

.ff-featured-products {
    flex: 1;
    overflow: hidden;
}

.ff-featured-products .splide__slide {
    border: 1px solid #e8e8e8;
    padding: 20px;
    border-radius: 10px;
}

.ff-product img {
    width: 100%;
    height: auto;
    max-width: 300px;
}

h3.ff-product-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 1.3;
    min-height: 2em;
    margin-bottom: 0 !important;
    padding-bottom: 5px;
}

.ff-product-price {
    font-weight: 600;
    margin-bottom: 6px;
}

.ff-product-price .woocommerce-Price-amount {
    font-size: 18px;
    font-weight: 800;
}

.ff-product-brand {
    font-size: 13px;
    opacity: .7;
    margin-bottom: 10px;
}

.ff-featured-products .add_to_cart_button {
    font-size: 14px;
    background-color: #29527c;
    border: 1px solid #29527c !important;
    border-radius: 1px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 10px;
}

.ff-arrow {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    color: #fff !important;
    background-color: #008CC7 !important;
    border: 2px solid #008CC7 !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
    flex-shrink: 0;
    padding: 0;
}

.ff-arrow:hover {
    color: #008CC7 !important;
    background-color: #fff !important;
}


/* ==========================================================================
   PRODUCT DETAIL PAGE (PDP)
   ========================================================================== */

.pdp-wrap {
    max-width: 1500px;
    width: 95%;
    margin: 0 auto;
    padding: 20px 0 60px;
}

.pdp-breadcrumb {
    margin-bottom: 24px;
    font-size: 0.8rem;
    color: var(--tac-gray-text);
}

.pdp-breadcrumb .woocommerce-breadcrumb {
    font-size: 0.8rem;
    color: var(--tac-gray-text);
}

.pdp-breadcrumb a {
    color: var(--tac-gray-text);
    text-decoration: none;
}

.pdp-breadcrumb a:hover { color: var(--tac-coral); }

.pdp-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-bottom: 60px;
}

/* Gallery */
.pdp-gallery__primary {
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pdp-gallery__primary img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 1rem;
    display: block;
}

.pdp-gallery__thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.pdp-thumb {
    width: 80px;
    height: 80px;
    border: 2px solid var(--tac-gray-mid);
    border-radius: var(--tac-radius-sm);
    background: var(--tac-gray-light);
    padding: 4px;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s;
    flex-shrink: 0;
}

.pdp-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.pdp-thumb:hover,
.pdp-thumb.is-active { border-color: var(--tac-coral); }

/* Details */
.pdp-brand {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.pdp-brand a {
    color: var(--tac-gray-text);
    text-decoration: none;
}

.pdp-brand a:hover { color: var(--tac-coral); }

.pdp-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--tac-navy);
    line-height: 1.25;
    margin-bottom: 12px;
}

.pdp-price {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--tac-coral-dark);
    margin-bottom: 16px;
}

.pdp-price del {
    color: var(--tac-gray-text);
    font-weight: 400;
    font-size: 1rem;
    margin-right: 6px;
}

.pdp-meta-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.pdp-pill {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--tac-radius-pill);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none;
}

.pdp-pill--instock { background: #e6f7f0; color: #1a7a4a; }
.pdp-pill--low     { background: #fff0ed; color: var(--tac-badge-hot); }
.pdp-pill--oos     { background: #f0f0f0; color: #888; }
.pdp-pill--age     { background: #e8f4fb; color: var(--tac-navy); }

a.pdp-pill--age:hover {
    background: var(--tac-navy);
    color: #fff;
}

.pdp-short-desc {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #444;
    margin-bottom: 24px;
}

/* Add-to-cart */
.pdp-atc-wrap { margin-bottom: 24px; }

.pdp-atc-wrap .cart {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pdp-atc-wrap .quantity { display: flex; align-items: center; }

.pdp-atc-wrap .qty {
    width: 60px;
    height: 48px;
    border: 2px solid var(--tac-gray-mid);
    border-radius: var(--tac-radius-sm);
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Karla', sans-serif;
}

.pdp-atc-btn {
    height: 48px;
    padding: 0 32px !important;
    background: var(--tac-navy) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.pdp-atc-btn:hover { background: var(--tac-coral) !important; }

/* PDP related — uses plain div wrapper (.pdp-related__grid), not ul.products */
.pdp-related__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.25rem;
}

@media (max-width: 1100px) {
    .pdp-related__grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 860px) {
    .pdp-related__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
    .pdp-related__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Gift wrap plugin renders inside .cart */
.pdp-atc-wrap .cart .giftwrap-checkbox-wrap,
.pdp-atc-wrap .cart .gift-wrap-option {
    width: 100%;
    font-size: 0.875rem;
    margin-top: 4px;
}

/* Trust strip */
.pdp-trust {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 20px;
    background: var(--tac-gray-light);
    border-radius: var(--tac-radius-md);
    margin-bottom: 20px;
}

.pdp-trust__item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--tac-navy);
}

.pdp-trust__item svg {
    flex-shrink: 0;
    color: var(--tac-coral);
}

.pdp-sku {
    font-size: 0.78rem;
    color: #aaa;
    display: flex;
    gap: 16px;
    margin-bottom: 10px;
}

.pdp-cats {
    font-size: 0.8rem;
    color: var(--tac-gray-text);
    display: block;
}

.pdp-cats a {
    color: var(--tac-gray-text);
    text-decoration: none;
}

.pdp-cats a:hover { color: var(--tac-coral); }

/* Description + related + recently viewed */
.pdp-description {
    border-top: 1px solid var(--tac-gray-mid);
    padding-top: 40px;
    margin-bottom: 60px;
}

.pdp-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--tac-navy);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 20px;
}

.pdp-description__body {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #444;
    max-width: 800px;
}

.pdp-description__body p  { margin-bottom: 1em; }
.pdp-description__body ul { padding-left: 1.5em; margin-bottom: 1em; }
.pdp-description__body li { margin-bottom: 0.4em; }

.pdp-related {
    border-top: 1px solid var(--tac-gray-mid);
    padding-top: 40px;
    margin-bottom: 60px;
}

.pdp-recently-viewed {
    border-top: 1px solid var(--tac-gray-mid);
    padding-top: 40px;
}

.pdp-recently-viewed h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--tac-navy);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 20px;
}

/* PDP related + recently-viewed grids — 6 cols, override Woo's 4-col default */
.pdp-recently-viewed ul.products,
.pdp-related ul.products {
    grid-template-columns: repeat(6, 1fr) !important;
}

/* PDP responsive */
@media (max-width: 1100px) {
    .pdp-recently-viewed ul.products,
    .pdp-related ul.products { grid-template-columns: repeat(4, 1fr) !important; }
}

@media (max-width: 860px) {
    .pdp-main {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .pdp-recently-viewed ul.products,
    .pdp-related ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 600px) {
    .pdp-title { font-size: 1.3rem; }
    .pdp-atc-wrap .cart { flex-direction: column; align-items: stretch; }
    .pdp-atc-btn { width: 100%; text-align: center; }
    .pdp-recently-viewed ul.products,
    .pdp-related ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}


/* ==========================================================================
   SEARCH RESULTS PAGE
   ========================================================================== */

.search-results-wrap {
    display: grid;
    grid-template-columns: 23% 1fr;
    gap: 40px;
    width: 95%;
    margin: 0 auto;
    padding: 30px 0 60px;
}

/* Sidebar — shares the b-inner aesthetic */
.search-sidebar {
    position: sticky;
    top: 20px;
    align-self: start;
    font-size: 14px;
    background-color: rgba(0, 140, 199, 0.14);
    border-radius: 5px;
    overflow: hidden;
    padding: 20px;
    margin-bottom: 20px;
}

.search-sidebar__heading {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--tac-navy);
    margin: 0 0 10px;
    padding-top: 20px;
}

.search-sidebar__heading:first-child { padding-top: 0; }

.search-sidebar__price-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tac-navy);
    margin-bottom: 10px;
}

.search-sidebar__price-labels span { font-weight: 500; }

.search-sidebar__input {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 2px solid var(--tac-gray-mid);
    border-radius: var(--tac-radius-sm);
    font-family: 'Karla', sans-serif;
    font-size: 0.875rem;
    color: var(--tac-navy);
    background: #fff;
    margin-top: 6px;
    -webkit-appearance: none;
}

.search-sidebar__input:focus {
    border-color: var(--tac-coral);
    outline: none;
}

select.search-sidebar__input { cursor: pointer; }

.search-sidebar__btn {
    display: block;
    width: 100%;
    height: 44px;
    margin-top: 24px;
    background: var(--tac-navy);
    color: #fff;
    border: none;
    border-radius: var(--tac-radius-sm);
    font-family: 'Karla', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s;
}

.search-sidebar__btn:hover { background: var(--tac-coral); }

/* noUiSlider — price range */
#priceSlider.noUi-target {
    height: 3px;
    border: 0;
    background: var(--tac-gray-mid);
    box-shadow: none;
    margin: 0 0 14px;
    padding: 0;
}

#priceSlider .noUi-base { height: 3px; margin: 0; padding: 0; }
#priceSlider .noUi-connect { background: var(--tac-navy); }

#priceSlider .noUi-handle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--tac-navy);
    background: #fff;
    box-shadow: none;
    top: -8px;
    right: -9px;
    cursor: pointer;
}

#priceSlider .noUi-handle:before,
#priceSlider .noUi-handle:after { display: none; }

/* Results grid */
.search-results-main ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.search-results__title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--tac-navy);
    margin: 0 0 8px;
}

.search-results__count {
    font-size: 0.85rem;
    color: var(--tac-gray-text);
    margin: 0 0 20px;
}

.search-results-main .woocommerce-pagination {
    margin-top: 40px;
}

.search-results-main .woocommerce-pagination ul {
    display: flex;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
}

.search-results-main .woocommerce-pagination li a,
.search-results-main .woocommerce-pagination li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: var(--tac-radius-sm);
    font-family: 'Karla', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--tac-navy);
    border: 2px solid var(--tac-gray-mid);
    transition: all 0.2s;
}

.search-results-main .woocommerce-pagination li a:hover {
    border-color: var(--tac-coral);
    color: var(--tac-coral);
}

.search-results-main .woocommerce-pagination li span.current {
    background: var(--tac-navy);
    border-color: var(--tac-navy);
    color: #fff;
}

@media (max-width: 1100px) {
    .search-results-main ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
    .search-results-wrap { grid-template-columns: 1fr; }
    .search-sidebar {
        position: static;
        border-bottom: 1px solid var(--tac-gray-mid);
        padding-bottom: 24px;
        margin-bottom: 24px;
    }
    .search-results-main ul.products { grid-template-columns: repeat(2, 1fr); }
}


/* ==========================================================================
   CART / CHECKOUT / ACCOUNT
   ========================================================================== */

.woocommerce-cart article {
    width: 95%;
    max-width: 1300px;
    margin: 50px auto;
    font-size: 14px !important;
}

.wc-block-components-product-name { font-size: 20px !important; }

.wp-block-woocommerce-checkout {
    width: 95%;
    max-width: 1300px;
    margin: auto;
}

.woocommerce-page #main {
    max-width: 1300px;
    margin: auto;
    width: 95%;
}

/* Side-cart (xoo) buttons */
.xoo-wsc-ft-buttons-cont {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.xoo-wsc-ft-btn,
a.xoo-wsc-ft-btn {
    display: block !important;
    width: 100% !important;
    text-align: center;
    background: var(--tac-navy) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 15px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    transition: background 0.2s;
}

.xoo-wsc-ft-btn:hover,
a.xoo-wsc-ft-btn:hover {
    background: var(--tac-coral) !important;
    color: #fff !important;
}

/* Checkout = primary action; coral by default */
.xoo-wsc-ft-btn-checkout,
a.xoo-wsc-ft-btn-checkout { background: var(--tac-coral) !important; }

.xoo-wsc-ft-btn-checkout:hover,
a.xoo-wsc-ft-btn-checkout:hover { background: var(--tac-coral-dark) !important; }


/* ==========================================================================
   LOCAL PICKUP BLOCK
   ========================================================================== */

.local-content {
    display: flex;
    gap: 2rem;
    max-width: 1300px;
    margin: 50px auto 0;
}

.local-content div { width: 50%; }

.local-content div:first-child {
    display: flex;
    align-items: flex-end;
}

.local-content img {
    display: block;
    width: 100%;
}

.local-content div:nth-child(2) { padding: 40px; }

.local-content p {
    font-size: 18px;
    line-height: 28px;
}

@media screen and (max-width: 980px) {
    .local-content { display: block !important; }
    .local-content div { width: 100% !important; }
}


/* ==========================================================================
   HERO (homepage)
   ========================================================================== */

.tac-hero__content {
    background-color: #008CC7;
    opacity: 0.75;
	padding:40px;
}


/* ==========================================================================
   INFO PAGE TEMPLATE (about / faqs / safety / etc.)
   ========================================================================== */

.info-hero {
    background: var(--tac-navy);
    padding: 60px 40px 50px;
    text-align: center;
}

.info-hero__label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--tac-coral);
    font-weight: 700;
    margin: 0 0 8px;
}

.info-hero__title {
    font-family: 'Poppins', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 10px;
}

.info-hero__subtitle {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 auto;
    max-width: 500px;
    line-height: 1.6;
}

.info-body {
    background: var(--tac-sand);
    padding: 50px 20px 80px;
}

.info-content {
    max-width: 780px;
    margin: 0 auto;
}

.info-content h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--tac-navy);
    border-left: 4px solid var(--tac-coral);
    padding-left: 16px;
    margin: 2.5rem 0 1rem;
}

.info-content h2:first-child { margin-top: 0; }

.info-content h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--tac-navy);
    margin: 2rem 0 0.75rem;
}

.info-content p {
    font-size: 0.95rem;
    line-height: 1.75;
    color: var(--tac-gray-text);
    margin: 0 0 1em;
}

.info-content ul,
.info-content ol {
    padding-left: 1.25rem;
    margin: 0 0 1.25em;
}

.info-content li {
    font-size: 0.95rem;
    line-height: 1.75;
    color: var(--tac-gray-text);
    margin-bottom: 0.5em;
}

.info-content ul li::marker { color: var(--tac-coral); }

.info-content a {
    color: var(--tac-coral-dark);
    text-decoration: underline;
    text-decoration-color: rgba(200, 75, 26, 0.3);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.2s;
}

.info-content a:hover { text-decoration-color: var(--tac-coral-dark); }

.info-content blockquote {
    background: #e8f4fb;
    border: none;
    border-left: 4px solid var(--tac-navy);
    border-radius: var(--tac-radius-md);
    padding: 20px 24px;
    margin: 2rem 0;
}

.info-content blockquote p {
    color: var(--tac-navy);
    font-size: 0.9rem;
    margin: 0;
}

.info-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--tac-radius-md);
    margin: 1.5rem 0;
}

@media (max-width: 600px) {
    .info-hero { padding: 40px 24px 36px; }
    .info-hero__title { font-size: 1.5rem; }
    .info-body { padding: 36px 16px 60px; }
}

/* Page-specific override — full-width content on page ID 178712 */
.page-id-178712 .info-content { max-width: 1300px !important; }
.page-id-178712 .info-body { background-color: #fff; }


@media (max-width: 768px) {
    .tac-hero {
        display: flex;
        flex-direction: column;
        position: static; /* in case it's positioned for overlay desktop */
    }
    .tac-hero__art {
        position: static;
        width: 100%;
        height: auto;
    }
    .tac-hero__img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 10; /* tweak to taste — 16/9, 4/3, etc. */
        object-fit: cover;
    }
    .tac-hero_content-wrapper {
        position: static;
        width: 100%;
    }
    .tac-hero__content {
        padding: 1.5rem 1rem;
        text-align: left; /* or center, your call */
    }
    .tac-hero__headline {
        font-size: 1.5rem;
        margin: 0.25rem 0 0.75rem;
    }
    .tac-hero__sub {
        font-size: 0.95rem;
        margin: 0 0 1rem;
    }
    .tac-hero__eyebrow {
        font-size: 0.75rem;
    }
    .tac-btn--primary {
        display: inline-block;
        width: auto;
    }
}


/* ==========================================================================
   MISC BUTTONS
   ========================================================================== */

.turq_button {
    margin-top: 20px;
    padding: 8px 30px;
    border: 0;
    line-height: 28px;
    font-size: 14px;
    font-weight: 800;
    display: inline-block;
    color: #fff;
    background-color: #29bb96 !important;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
}

.turq_button:hover {
    cursor: pointer;
    background-color: #fff !important;
    color: #29bb96;
}


/* ==========================================================================
   FOOTER
   ========================================================================== */

#tac-footer {
    background: var(--tac-navy);
    color: #fff;
    padding: 60px 0 40px;
}

.tac-footer__inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    max-width: 1500px;
    width: 95%;
    margin: 0 auto;
}

.tac-footer__heading {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 16px;
    color: #fff;
}

.tac-footer__heading--hours { margin-top: 24px; }

.tac-footer__address {
    font-style: normal;
    font-size: 0.9rem;
    line-height: 1.7;
}

.tac-footer__address a {
    color: #fff;
    text-decoration: none;
}

.tac-footer__address a:hover { color: var(--tac-coral); }

#tac-footer p {
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 0 0 8px;
}

.tac-footer__copy {
    margin-top: 24px !important;
    font-size: 0.78rem !important;
    opacity: 0.6;
}

.tac-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tac-footer__links li { margin-bottom: 10px; }

.tac-footer__links a {
    color: #fff;
    text-decoration: none;
    font-size: 0.9rem;
}

.tac-footer__links a:hover { color: var(--tac-coral); }

.tac-footer__col--logo {
    display: flex;
    justify-content: center;
}

.tac-footer__col--logo img {
    width: 100%;
    height: auto;
    opacity: 0.9;
}

.tac-footer__social {
    display: flex;
    gap: 16px;
}

.tac-footer__social a {
    color: #fff;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.tac-footer__social a:hover { color: var(--tac-coral); }

@media (max-width: 860px) {
    .tac-footer__inner { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 500px) {
    .tac-footer__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .tac-footer__social,
    .tac-footer__col--logo { justify-content: center; }
}

 
    .brands-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .brand-item { padding: 20px; border: 1px solid #ccc; text-align: center; border-radius: 15px; display: flex; align-items: center; justify-content: center; }
    .brand-item:hover { border-color: #008CC7; }
    .brand-item a { display: block; text-align: center; }
    .brand-item img { width: 150px; height: auto; display: block; margin: auto; }
    @media (max-width: 768px) { .brands-grid { grid-template-columns: repeat(2, 1fr); } }


.tac-carousel {
    margin-inline: 1rem;
}
  


/* ───── Wishlist heart button ───── */
.tac-product-card {
    position: relative;
}

.tac-wishlist-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    color: #666;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease, transform 0.15s ease;
}

.tac-wishlist-btn:hover {
    color: #e53935;
 }

.tac-wishlist-btn:focus-visible {
    outline: 2px solid #008cc7;
    outline-offset: 2px;
}

.tac-wishlist-btn__icon {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linejoin: round;
}

.tac-wishlist-btn.is-active {
    color: #e53935;
}
.tac-wishlist-btn.is-active .tac-wishlist-btn__icon {
    fill: currentColor;
}

/* ───── Wishlist page ───── */
.tac-wishlist-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1rem 4rem;
}

.tac-wishlist-page__header {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
}
.tac-wishlist-page__header h1 {
    margin: 0;
}

.tac-wishlist-empty {
    text-align: center;
    padding: 4rem 1rem;
}

.tac-wishlist-count-text {
    margin: 0 0 1.5rem;
    color: #666;
    font-size: 0.95rem;
}
.tac-wishlist-count {
    font-weight: 700;
    color: var(--tac-navy);
}

.tac-wishlist-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tac-wishlist-item {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 1.5rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid #eee;
    align-items: center;
    transition: opacity 0.3s, transform 0.3s;
}

.tac-wishlist-item.is-removing {
    opacity: 0;
    transform: translateX(20px);
}

.tac-wishlist-item__img img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    display: block;
    background: var(--tac-gray-light);
    border-radius: var(--tac-radius-sm);
}

.tac-wishlist-item__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--tac-navy);
    text-decoration: none;
    display: block;
    margin-bottom: 0.25rem;
}
.tac-wishlist-item__title:hover {
    color: var(--tac-coral);
}

.tac-wishlist-item__sku {
    color: #999;
    font-size: 0.8rem;
    margin: 0 0 0.4rem;
}

.tac-wishlist-item__price {
    margin: 0;
    font-size: 1rem;
    color: var(--tac-coral-dark);
    font-weight: 700;
}

.tac-wishlist-item__stock {
    margin-left: 0.5rem;
    color: #c0392b;
    font-size: 0.8rem;
    font-weight: 600;
}

.tac-wishlist-item__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
    min-width: 140px;
}

/* Heart sits inline here, not as a corner badge — override the absolute positioning */
.tac-wishlist-item__actions .tac-wishlist-btn {
    position: static;
    width: 100%;
    height: auto;
    border-radius: var(--tac-radius-sm);
    box-shadow: none;
    border: 2px solid #ddd;
    padding: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
}
.tac-wishlist-item__actions .tac-wishlist-btn:hover {
    color: #c0392b;
    border-color: #c0392b;
    transform: none;
}
.tac-wishlist-item__actions .tac-wishlist-btn::after {
    content: 'Remove';
    margin-left: 0.4rem;
}
.tac-wishlist-item__actions .tac-wishlist-btn__icon {
    width: 16px;
    height: 16px;
}

@media (max-width: 600px) {
    .tac-wishlist-item {
        grid-template-columns: 80px 1fr;
        gap: 1rem;
    }
    .tac-wishlist-item__img img {
        width: 80px;
        height: 80px;
    }
    .tac-wishlist-item__actions {
        grid-column: 1 / -1;
        flex-direction: row;
        min-width: 0;
    }
    .tac-wishlist-item__actions .tac-wishlist-btn {
        flex: 1;
    }
}


/* ───── Wishlist toolbar ───── */
.tac-wishlist-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.tac-wishlist-actions-bar {
    display: flex;
    gap: 0.5rem;
}

.tac-btn--ghost {
    background: transparent;
    border: 1px solid #ccc;
    padding: 0.5rem 1rem;
    cursor: pointer;
    border-radius: var(--tac-radius-sm);
    font: inherit;
    color: var(--tac-navy);
    font-weight: 600;
    transition: background 0.2s, border-color 0.2s;
}
.tac-btn--ghost:hover {
    background: #f5f5f5;
    border-color: #999;
}

/* ───── Print: visibility toggles ───── */
.print-only { display: none; }

@media print {
    /* Hide everything except the wishlist */
    body > *:not(main),
    .site-header, .site-footer,
    header.site-header, footer.site-footer,
    #wpadminbar,
    .no-print {
        display: none !important;
    }

    .print-only { display: block !important; }

    body {
        background: #fff;
        color: #000;
        font-size: 11pt;
        line-height: 1.4;
    }

    .tac-wishlist-page {
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .tac-wishlist-page__header {
        display: none;
    }

    /* Print header */
    .tac-print-header {
        text-align: center;
        margin-bottom: 1.5rem;
        padding-bottom: 0.75rem;
        border-bottom: 2px solid #000;
    }
    .tac-print-header h2 {
        margin: 0 0 0.25rem;
        font-size: 18pt;
    }
    .tac-print-meta {
        margin: 0.25rem 0;
        font-size: 10pt;
    }
    .tac-print-store {
        margin: 0.25rem 0;
        font-size: 9pt;
        color: #555;
    }

    /* List items */
    .tac-wishlist-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .tac-wishlist-item {
        page-break-inside: avoid;
        grid-template-columns: 80px 1fr !important;
        gap: 1rem !important;
        padding: 0.5rem 0 !important;
        border-bottom: 1px solid #ccc !important;
        background: transparent !important;
    }

    .tac-wishlist-item__img img {
        width: 80px !important;
        height: 80px !important;
    }

    .tac-wishlist-item__title {
        font-size: 12pt;
        color: #000 !important;
    }

    .tac-wishlist-item__sku,
    .tac-wishlist-item__price {
        color: #000 !important;
    }

    /* Note line for handwriting */
    .tac-wishlist-item__note {
        grid-column: 1 / -1;
        margin-top: 0.5rem;
    }
    .tac-print-note-line {
        border-bottom: 1px solid #999;
        height: 1.25rem;
    }

    /* Make sure images print at full quality */
    img {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Don't append URLs after links */
    a[href]::after {
        content: none !important;
    }

    /* Backgrounds and shadows off */
    * {
        box-shadow: none !important;
    }
}

.tac-product-card .button,
.tac-product-card .add_to_cart_button,
.tac-wishlist-item .button,
.tac-wishlist-item .add_to_cart_button {
    margin-top: auto;
    display: block !important;
    width: 100% !important;
    text-align: center;
    background: var(--tac-navy) !important;
    color: #fff !important;
    padding: 15px !important;
    border-radius: var(--tac-radius-sm) !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
}
.tac-product-card .button:hover,
.tac-product-card .add_to_cart_button:hover,
.tac-wishlist-item .button:hover,
.tac-wishlist-item .add_to_cart_button:hover {
    background: var(--tac-coral) !important;
    opacity: 1;
}


/* ───── Header wishlist count badge ───── */
.header-wishlist-link {
    position: relative;
    display: inline-block;
}

.header-wishlist-count {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #f14541;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-sizing: border-box;
}

.header-wishlist-count[hidden] {
    display: none;
}

.woocommerce-info:has(.fs-free-shipping-notice-and-button-wrapper)::before {
    font-family: initial !important;
    content: "" !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008cc7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10 17h4V5H2v12h3'/><path d='M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5v8h1'/><circle cx='7.5' cy='17.5' r='2.5'/><circle cx='17.5' cy='17.5' r='2.5'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 22px !important;
    height: 22px !important;
    background-color: transparent !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* remove the wrapper override — it's not needed */
.fs-free-shipping-notice-and-button-wrapper::before {
    content: none !important;
}


.woocommerce-info:has(.showcoupon)::before {
    font-family: initial !important;
    content: "" !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008cc7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 22px !important;
    height: 22px !important;
    background-color: transparent !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.woocommerce-info:has(.showlogin)::before {
    font-family: initial !important;
    content: "" !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008cc7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 22px !important;
    height: 22px !important;
    background-color: transparent !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.woocommerce {
	margin:0px 0px;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    padding: 1em 2em 1em 3.5em;
 
    border-top: 3px solid #008CC7;
     
}
 

/* ───── PDP wishlist button ───── */
.pdp-wishlist-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.75rem;
    padding: 14px;
    background: transparent;
    border: 2px solid var(--tac-navy);
    border-radius: var(--tac-radius-sm);
    color: var(--tac-navy);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    /* Override the absolute positioning + circular bg from card variant */
    position: static;
    height: auto;
    box-shadow: none;
}

.pdp-wishlist-btn:hover {
    background: var(--tac-navy);
    color: #fff;
    transform: none;
}

.pdp-wishlist-btn.is-active {
    border-color: #e53935;
    color: #e53935;
}
.pdp-wishlist-btn.is-active:hover {
    background: #e53935;
    color: #fff;
}
.pdp-wishlist-btn.is-active .tac-wishlist-btn__icon {
    fill: currentColor;
}

.pdp-wishlist-btn .tac-wishlist-btn__icon {
    stroke: currentColor;
    stroke-width: 2;
    fill: none;
    transition: fill 0.15s;
}

.woocommerce-form-coupon-toggle {
	display:none
}

/* ════════════════════════════════════════════════════════════════════
   CHECKOUT — polish pass
════════════════════════════════════════════════════════════════════ */

.woocommerce-checkout {
	--tac-checkout-border: #e5e7eb;
	--tac-checkout-bg: #fff;
	--tac-checkout-muted: #6b7280;
	--tac-checkout-text: #1f2937;
	--tac-checkout-radius: 8px;
	--tac-checkout-accent: var(--accent, #008cc7);
}

/* Page width + spacing */
.woocommerce-checkout .entry-content > .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 1rem 4rem;
}

/* Page title */
.woocommerce-products-header__title {
	font-size: 2rem;
	margin: 0 0 1.5rem;
	color: var(--tac-checkout-text);
}

/* ─── Notices (free shipping, login, coupon) ─── */
.woocommerce-checkout .woocommerce-info {
	background: #f9fafb;
	border: 1px solid var(--tac-checkout-border);
	border-left: 3px solid var(--tac-checkout-accent);
	border-radius: var(--tac-checkout-radius);
	padding: 0.875rem 1rem;
	margin-bottom: 1rem;
	color: var(--tac-checkout-text);
	font-size: 0.95rem;
}
.woocommerce-checkout .woocommerce-info::before { display: none; } /* Woo's icon */
.woocommerce-checkout .woocommerce-info a { color: var(--tac-checkout-accent); font-weight: 600; }

/* Free shipping notice — slightly different treatment */
.fs-free-shipping-notice-and-button-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.fs-free-shipping-notice-text { font-weight: 500; }
.flexible-shipping-free-shipping-button {
	font-size: 0.85rem;
	padding: 0.4rem 0.9rem !important;
}

/* ─── Two-column layout ─── */
.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-bottom: 2rem;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100%;
	max-width: none;
	float: none;
}

@media (max-width: 768px) {
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* ─── Field group cards ─── */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	background: var(--tac-checkout-bg);
	border: 1px solid var(--tac-checkout-border);
	border-radius: var(--tac-checkout-radius);
	padding: 1.5rem;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
	margin: 0 0 1.25rem;
	font-size: 1.15rem;
	font-weight: 600;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--tac-checkout-border);
}

/* ─── Form rows + inputs ─── */
.woocommerce-checkout .form-row {
	margin-bottom: 1rem;
	padding: 0;
}
.woocommerce-checkout .form-row label {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--tac-checkout-text);
	margin-bottom: 0.35rem;
}
.woocommerce-checkout .form-row label .optional { color: var(--tac-checkout-muted); font-weight: 400; }
.woocommerce-checkout .form-row label .required { color: #dc2626; }

.woocommerce-checkout .input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-selection {
	width: 100%;
	font-size: 16px; /* prevent iOS zoom — matches your search input fix */
	padding: 0.65rem 0.75rem !important;
	border: 1px solid var(--tac-checkout-border) !important;
	border-radius: 6px !important;
	background: #fff;
	color: var(--tac-checkout-text);
	transition: border-color 0.15s, box-shadow 0.15s;
	box-shadow: none;
	height: auto !important;
	line-height: 1.4;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection {
	border-color: var(--tac-checkout-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tac-checkout-accent) 20%, transparent);
	outline: 0;
}

/* Select2 height match */
.woocommerce-checkout .select2-selection--single { height: auto !important; }
.woocommerce-checkout .select2-selection__rendered { line-height: 1.4 !important; padding: 0 !important; }
.woocommerce-checkout .select2-selection__arrow { height: 100% !important; }

/* ─── Order review (right side, but in this template it's full-width below) ─── */
#order_review_heading {
	margin-top: 1rem;
	font-size: 1.25rem;
}
.woocommerce-checkout-review-order {
	background: #f9fafb;
	border: 1px solid var(--tac-checkout-border);
	border-radius: var(--tac-checkout-radius);
	padding: 1.5rem;
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
	background: transparent;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--tac-checkout-border);
	text-align: left;
	font-size: 0.95rem;
}
.woocommerce-checkout-review-order-table thead th {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--tac-checkout-muted);
	font-weight: 600;
}
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table th.product-total { text-align: right; }
.woocommerce-checkout-review-order-table .product-quantity {
	font-weight: 400;
	color: var(--tac-checkout-muted);
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: 1.1rem;
	font-weight: 700;
	padding-top: 1rem;
	border-bottom: 0;
	border-top: 2px solid var(--tac-checkout-text);
}

/* ─── Shipping method radios ─── */
#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}
#shipping_method li {
	display: block;
	padding: 0.6rem 0;
	border-bottom: 1px dashed var(--tac-checkout-border);
}
#shipping_method li:last-child { border-bottom: 0; }
#shipping_method label { font-weight: 500; cursor: pointer; }
#shipping_method input[type="radio"] { margin-right: 0.5rem; }
.shipping-method-description {
	font-size: 0.85rem;
	color: var(--tac-checkout-muted);
	margin: 0.25rem 0 0 1.5rem;
	line-height: 1.4;
}

/* ─── Payment box ─── */
.woocommerce-checkout-payment {
	margin-top: 1.5rem;
	background: #fff;
	border: 1px solid var(--tac-checkout-border);
	border-radius: var(--tac-checkout-radius);
	padding: 1.25rem;
}
.wc_payment_methods {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}
.wc_payment_method {
	border: 1px solid var(--tac-checkout-border);
	border-radius: 6px;
	padding: 0.85rem 1rem;
	margin-bottom: 0.5rem;
	background: #fff;
}
.wc_payment_method > label {
	font-weight: 500;
	cursor: pointer;
}
.wc_payment_method input[type="radio"]:checked + label { color: var(--tac-checkout-accent); }
.payment_box {
	margin-top: 0.75rem;
	padding: 1rem;
	background: #f9fafb;
	border-radius: 6px;
	font-size: 0.9rem;
}
.payment_box p:last-child { margin-bottom: 0; }

/* ─── Place order button ─── */
#place_order {
	width: 100%;
	padding: 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	background: var(--tac-checkout-accent);
	color: #fff;
	border: 0;
	border-radius: var(--tac-checkout-radius);
	cursor: pointer;
	transition: filter 0.15s, transform 0.05s;
	margin-top: 1rem;
}
#place_order:hover { filter: brightness(0.92); }
#place_order:active { transform: translateY(1px); }

/* Privacy policy text */
.woocommerce-privacy-policy-text {
	font-size: 0.8rem;
	color: var(--tac-checkout-muted);
	margin: 1rem 0;
}
.woocommerce-privacy-policy-text p { margin: 0; }

.woocommerce-checkout form.checkout .col2-set > .col-1 {
	grid-column: 1 !important;
}
.woocommerce-checkout form.checkout .col2-set > .col-2 {
	grid-column: 2 !important;
}

body.woocommerce-checkout {
	background: #f3f4f6;
}
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-checkout-payment {
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

/* ════════════════════════════════════════════════════════════════════
   CART — polish pass (matches checkout treatment)
════════════════════════════════════════════════════════════════════ */

body.woocommerce-cart {
	background: #f3f4f6;
}

.woocommerce-cart .entry-content > .woocommerce {
	--tac-cart-border: #e5e7eb;
	--tac-cart-muted: #6b7280;
	--tac-cart-text: #1f2937;
	--tac-cart-radius: 8px;
	--tac-cart-accent: var(--accent, #008cc7);
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 1rem 4rem;
}

/* Page title — already uses pdp-section-title, just ensure consistent margin */
.woocommerce-cart h1.pdp-section-title {
	margin-bottom: 1.5rem !important;
}

/* ─── Free shipping notice (matches checkout) ─── */
.woocommerce-cart .woocommerce-info {
	background: #fff;
	border: 1px solid var(--tac-cart-border);
	border-left: 3px solid var(--tac-cart-accent);
	border-radius: var(--tac-cart-radius);
	padding: 0.875rem 1rem;
	margin-bottom: 1rem;
	color: var(--tac-cart-text);
	font-size: 0.95rem;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.woocommerce-cart .woocommerce-info::before { display: none; }
.woocommerce-cart .woocommerce-info a { color: var(--tac-cart-accent); font-weight: 600; }

.fs-free-shipping-notice-and-button-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.fs-free-shipping-notice-text { font-weight: 500; }
.flexible-shipping-free-shipping-button {
	font-size: 0.85rem;
	padding: 0.4rem 0.9rem !important;
}

/* ─── Cart form card ─── */
.woocommerce-cart .woocommerce-cart-form {
	background: #fff;
	border: 1px solid var(--tac-cart-border);
	border-radius: var(--tac-cart-radius);
	padding: 1.5rem;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	margin-bottom: 2rem;
}

/* ─── Cart table ─── */
.woocommerce-cart table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	background: transparent;
	margin: 0;
}
.woocommerce-cart table.shop_table thead th {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--tac-cart-muted);
	font-weight: 600;
	padding: 0 0.5rem 0.75rem;
	border-bottom: 1px solid var(--tac-cart-border);
	background: transparent;
	text-align: left;
}
.woocommerce-cart table.shop_table tbody td {
	padding: 1rem 0.5rem;
	border-bottom: 1px solid var(--tac-cart-border);
	vertical-align: middle;
	background: transparent;
}

/* Thumbnail */
.woocommerce-cart table.shop_table td.product-thumbnail {
	width: 80px;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border-radius: 6px;
	border: 1px solid var(--tac-cart-border);
	background: #fff;
	display: block;
}

/* Product name */
.woocommerce-cart table.shop_table td.product-name a {
	color: var(--tac-cart-text);
	font-weight: 500;
	text-decoration: none;
}
.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--tac-cart-accent);
}

/* Price / subtotal */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
	color: var(--tac-cart-text);
	font-weight: 500;
}

/* Remove × button */
.woocommerce-cart table.shop_table td.product-remove { width: 36px; }
.woocommerce-cart .product-remove a.remove {
	color: var(--tac-cart-muted) !important;
	font-size: 1.25rem;
	width: 24px;
	height: 24px;
	line-height: 22px;
	border-radius: 50%;
	background: transparent !important;
	transition: background 0.15s, color 0.15s;
	text-align: center;
	display: inline-block;
}
.woocommerce-cart .product-remove a.remove:hover {
	color: #dc2626 !important;
	background: #fef2f2 !important;
}

/* Quantity input — matches checkout input style */
.woocommerce-cart .quantity .qty {
	width: 64px;
	padding: 0.5rem;
	font-size: 16px; /* iOS zoom kill */
	border: 1px solid var(--tac-cart-border);
	border-radius: 6px;
	text-align: center;
	color: var(--tac-cart-text);
}
.woocommerce-cart .quantity .qty:focus {
	border-color: var(--tac-cart-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tac-cart-accent) 20%, transparent);
	outline: 0;
}

/* ─── Actions row (coupon + update cart) ─── */
.woocommerce-cart table.shop_table td.actions {
	padding: 1.25rem 0 0.5rem;
	border-bottom: 0;
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	align-items: center;
}
.woocommerce-cart .coupon {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	flex: 1;
	max-width: 360px;
}
.woocommerce-cart .coupon input.input-text {
	padding: 0.6rem 0.75rem;
	font-size: 16px;
	border: 1px solid var(--tac-cart-border);
	border-radius: 6px;
	flex: 1;
	color: var(--tac-cart-text);
}
.woocommerce-cart .coupon input.input-text:focus {
	border-color: var(--tac-cart-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tac-cart-accent) 20%, transparent);
	outline: 0;
}

/* Secondary buttons (apply coupon, update cart) */
.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"] {
	padding: 0.6rem 1rem;
	font-size: 0.9rem;
	font-weight: 500;
	background: #fff;
	color: var(--tac-cart-text);
	border: 1px solid var(--tac-cart-border);
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}
.woocommerce-cart .coupon button:hover,
.woocommerce-cart button[name="update_cart"]:not(:disabled):hover {
	background: #f9fafb;
	border-color: var(--tac-cart-muted);
}
.woocommerce-cart button[name="update_cart"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ─── Gift wrap button (after the form) ─── */
.gtw-add-order-gift-wrapper-content {
	margin: 1.5rem 0 0;
}
.gtw-order-gift-wrapper.button {
	background: #fff;
	color: var(--tac-cart-text);
	border: 1px dashed var(--tac-cart-border);
	border-radius: var(--tac-cart-radius);
	padding: 0.75rem 1.25rem;
	font-weight: 500;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
}
.gtw-order-gift-wrapper.button:hover {
	border-color: var(--tac-cart-accent);
	border-style: solid;
	background: #f9fafb;
	color: var(--tac-cart-accent);
}
.gtw-order-gift-wrapper.button::before {
	content: "🎁";
	margin-right: 0.5rem;
}

/* ─── Cart totals card ─── */
.woocommerce-cart .cart-collaterals {
	display: block;
}
.woocommerce-cart .cart_totals {
	background: #fff;
	border: 1px solid var(--tac-cart-border);
	border-radius: var(--tac-cart-radius);
	padding: 1.5rem;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	float: none;
	width: 100%;
	max-width: 480px;
	margin: 0 0 0 auto; /* right-aligned, matches typical e-comm cart */
}
.woocommerce-cart .cart_totals h2 {
	margin: 0 0 1rem;
	font-size: 1.15rem;
	font-weight: 600;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--tac-cart-border);
	color: var(--tac-cart-text);
}

/* Totals table */
.woocommerce-cart .cart_totals table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1rem;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 0.75rem 0;
	border: 0;
	border-bottom: 1px solid var(--tac-cart-border);
	background: transparent;
	font-size: 0.95rem;
	vertical-align: top;
}
.woocommerce-cart .cart_totals table th {
	text-align: left;
	font-weight: 500;
	color: var(--tac-cart-text);
	width: 40%;
}
.woocommerce-cart .cart_totals table td {
	text-align: right;
	color: var(--tac-cart-text);
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-size: 1.15rem;
	font-weight: 700;
	padding-top: 1rem;
	border-bottom: 0;
	border-top: 2px solid var(--tac-cart-text);
}

/* Shipping row needs left-aligned content (radios + descriptions) */
.woocommerce-cart .woocommerce-shipping-totals td {
	text-align: left !important;
}

/* Shipping method radios */
.woocommerce-cart #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-cart #shipping_method li {
	padding: 0.4rem 0;
}
.woocommerce-cart #shipping_method label {
	font-weight: 500;
	cursor: pointer;
	color: var(--tac-cart-text);
}
.woocommerce-cart #shipping_method input[type="radio"] {
	margin-right: 0.4rem;
}
.woocommerce-cart .shipping-method-description {
	font-size: 0.85rem;
	color: var(--tac-cart-muted);
	margin: 0.25rem 0 0 1.5rem;
	line-height: 1.4;
}

/* Shipping destination + change address */
.woocommerce-cart .woocommerce-shipping-destination {
	font-size: 0.85rem;
	color: var(--tac-cart-muted);
	margin: 0.75rem 0 0.25rem;
}
.woocommerce-cart .shipping-calculator-button {
	font-size: 0.85rem;
	color: var(--tac-cart-accent);
	font-weight: 500;
}

/* Shipping calculator form */
.woocommerce-cart .shipping-calculator-form {
	margin-top: 0.75rem;
	padding: 1rem;
	background: #f9fafb;
	border: 1px solid var(--tac-cart-border);
	border-radius: 6px;
}
.woocommerce-cart .shipping-calculator-form .form-row {
	margin-bottom: 0.75rem;
}
.woocommerce-cart .shipping-calculator-form label {
	display: block;
	font-size: 0.85rem;
	font-weight: 500;
	margin-bottom: 0.25rem;
	color: var(--tac-cart-text);
}
.woocommerce-cart .shipping-calculator-form select,
.woocommerce-cart .shipping-calculator-form input.input-text {
	width: 100%;
	padding: 0.6rem 0.75rem;
	font-size: 16px;
	border: 1px solid var(--tac-cart-border);
	border-radius: 6px;
	background: #fff;
}
.woocommerce-cart .shipping-calculator-form button[name="calc_shipping"] {
	padding: 0.6rem 1rem;
	font-size: 0.9rem;
	font-weight: 500;
	background: #fff;
	color: var(--tac-cart-text);
	border: 1px solid var(--tac-cart-border);
	border-radius: 6px;
	cursor: pointer;
}
.woocommerce-cart .shipping-calculator-form button[name="calc_shipping"]:hover {
	background: #f9fafb;
}

/* ─── Proceed to checkout (primary CTA, matches Place order button) ─── */
.woocommerce-cart .wc-proceed-to-checkout {
	margin-top: 1rem;
	padding: 0;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	padding: 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	background: var(--tac-cart-accent);
	color: #fff;
	border: 0;
	border-radius: var(--tac-cart-radius);
	text-align: center;
	text-decoration: none;
	transition: filter 0.15s, transform 0.05s;
	box-sizing: border-box;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	filter: brightness(0.92);
	color: #fff;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:active {
	transform: translateY(1px);
}

/* ─── Empty cart state ─── */
.woocommerce-cart .cart-empty.woocommerce-info {
	background: #fff;
	border: 1px solid var(--tac-cart-border);
	border-left: 1px solid var(--tac-cart-border);
	border-radius: var(--tac-cart-radius);
	padding: 3rem 2rem;
	text-align: center;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	font-size: 1rem;
}
.woocommerce-cart .return-to-shop {
	text-align: center;
	margin-top: 1rem;
}
.woocommerce-cart .return-to-shop .button {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background: var(--tac-cart-accent);
	color: #fff;
	border-radius: var(--tac-cart-radius);
	text-decoration: none;
	font-weight: 500;
}

/* ─── Mobile ─── */
@media (max-width: 768px) {
	.woocommerce-cart table.shop_table thead {
		display: none;
	}
	.woocommerce-cart table.shop_table tbody tr.cart_item {
		display: grid;
		grid-template-columns: 64px 1fr auto;
		grid-template-areas:
			"thumb name remove"
			"thumb price price"
			"thumb qty subtotal";
		gap: 0.5rem 0.75rem;
		padding: 1rem 0;
		border-bottom: 1px solid var(--tac-cart-border);
		align-items: center;
	}
	.woocommerce-cart table.shop_table tbody td {
		border: 0;
		padding: 0;
	}
	.woocommerce-cart td.product-thumbnail { grid-area: thumb; }
	.woocommerce-cart td.product-name { grid-area: name; }
	.woocommerce-cart td.product-remove { grid-area: remove; text-align: right; }
	.woocommerce-cart td.product-price {
		grid-area: price;
		font-size: 0.9rem;
		color: var(--tac-cart-muted);
	}
	.woocommerce-cart td.product-price::before { content: "Price: "; }
	.woocommerce-cart td.product-quantity { grid-area: qty; }
	.woocommerce-cart td.product-subtotal {
		grid-area: subtotal;
		text-align: right;
		font-weight: 600;
	}

	.woocommerce-cart table.shop_table tbody tr:has(td.actions) {
		display: block;
	}
	.woocommerce-cart table.shop_table td.actions {
		flex-direction: column;
		align-items: stretch;
	}
	.woocommerce-cart .coupon { max-width: 100%; }
	.woocommerce-cart .cart_totals { max-width: 100%; }
}


.woocommerce-cart .coupon {
	max-width: 480px;
	flex-wrap: nowrap;
}
.woocommerce-cart .coupon input.input-text {
	min-width: 0; /* lets flex item shrink properly */
	flex: 1;
}
.woocommerce-cart .coupon button {
	white-space: nowrap;
	flex-shrink: 0;
	padding: 0.6rem 1.25rem;
}

.woocommerce-cart .coupon {
	flex-wrap: wrap; /* allow the error to drop below */
}
.woocommerce-cart .coupon .coupon-error-notice {
	flex-basis: 100%;
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	color: #dc2626;
}

#lightcase-case{
	    z-index: 1000000!important;
    border: 1px solid black;
}

.gtw-popup-select-order-gift-wrapper.button {
	display: inline-block;
	padding: 0.85rem 1.75rem;
	font-size: 1rem;
	font-weight: 600;
	background: #008cc7;
	color: #fff;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	transition: filter 0.15s, transform 0.05s;
	-webkit-appearance: none;
	appearance: none;
}
.gtw-popup-select-order-gift-wrapper.button:hover {
	filter: brightness(0.92);
	color: #fff;
}
.gtw-popup-select-order-gift-wrapper.button:active {
	transform: translateY(1px);
}

/* ════════════════════════════════════════════════════════════════════
   GIFT WRAP MODAL (gtw)
════════════════════════════════════════════════════════════════════ */

.gtw-popup-order-gift-wrapper-modal {
	--gtw-border: #e5e7eb;
	--gtw-muted: #6b7280;
	--gtw-text: #1f2937;
	--gtw-radius: 8px;
	--gtw-accent: var(--accent, #008cc7);
	font-family: inherit;
	color: var(--gtw-text);
	background: #fff;
	padding: 0;
}

/* ─── Header ─── */
.gtw-popup-order-gift-wrapper-header {
	padding: 1.5rem 1.5rem 1rem;
	border-bottom: 1px solid var(--gtw-border);
}
.gtw-popup-order-gift-wrapper-header h4 {
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--gtw-text);
}
.gtw-popup-order-gift-wrapper-header p {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--gtw-muted);
}
.gtw-popup-order-gift-wrapper-header p:empty { display: none; }

/* ─── Content ─── */
.gtw-popup-order-gift-wrapper-content {
	padding: 1.25rem 1.5rem;
}

/* Selected wrap name + price */
.gtw-product-gift-wrapper-description {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: #f9fafb;
	border: 1px solid var(--gtw-border);
	border-radius: var(--gtw-radius);
	font-size: 0.95rem;
}
.gtw-product-gift-wrapper-name {
	font-weight: 600;
	color: var(--gtw-text);
}
.gtw-product-gift-wrapper-price {
	color: var(--gtw-muted);
	font-size: 0.9rem;
}
.gtw-product-gift-wrapper-price strong { font-weight: 400; }

/* ─── Wrap option grid ─── */
.gtw-popup-order-gift-wrapper-item-lists {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 0.75rem;
}
.gtw-popup-order-gift-wrapper-item {
	margin: 0;
	padding: 4px;
	border: 2px solid var(--gtw-border);
	border-radius: var(--gtw-radius);
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s, transform 0.05s;
	overflow: hidden;
}
.gtw-popup-order-gift-wrapper-item:hover {
	border-color: var(--gtw-accent);
}
.gtw-popup-order-gift-wrapper-item.gtw_current {
	border-color: var(--gtw-accent);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--gtw-accent) 30%, transparent);
}
.gtw_popup_item_image {
	display: block;
	width: 100%;
	height: 120px;
	object-fit: cover;
	border-radius: 4px;
}

 
 
.gtw-popup-order-gift-wrapper-pagination .gtw-pagination {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 0.5rem;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--gtw-text);
	background: #fff;
	border: 1px solid var(--gtw-border);
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
 
 

/* ─── To/From/Message fields ─── */
.gtw-popup-product-gift-wrapper-fields {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--gtw-border);
}
.gtw-popup-product-gift-wrapper-fields-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem 1rem;
}
.gtw-product-gift-wrapper-field-message {
	grid-column: 1 / -1;
}
.gtw-gift-wrapper-field label {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--gtw-muted);
	margin-bottom: 0.35rem;
}
.gtw-gift-wrapper-fields {
	width: 100%;
	padding: 0.6rem 0.75rem;
	font-size: 16px;
	font-family: inherit;
	color: var(--gtw-text);
	background: #fff;
	border: 1px solid var(--gtw-border);
	border-radius: 6px;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.gtw-gift-wrapper-fields:focus {
	border-color: var(--gtw-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gtw-accent) 20%, transparent);
	outline: 0;
}
.gtw-gift-wrapper-message {
	min-height: 80px;
	resize: vertical;
}
.gtw-gift-wrapper-description {
	display: block;
	font-size: 0.8rem;
	color: var(--gtw-muted);
	margin-top: 0.35rem;
}

/* ─── Footer / Select button ─── */
.gtw-popup-order-gift-wrapper-footer {
	padding: 1rem 1.5rem 1.5rem;
	border-top: 1px solid var(--gtw-border);
	background: #f9fafb;
	text-align: right;
}
.gtw-popup-select-order-gift-wrapper.button {
	display: inline-block;
	padding: 0.75rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background: var(--gtw-accent);
	border: 0;
	border-radius: var(--gtw-radius);
	cursor: pointer;
	transition: filter 0.15s, transform 0.05s;
	-webkit-appearance: none;
	appearance: none;
}
.gtw-popup-select-order-gift-wrapper.button:hover {
	filter: brightness(0.92);
}
.gtw-popup-select-order-gift-wrapper.button:active {
	transform: translateY(1px);
}

/* ─── Lightcase container reset ─── */
.lightcase-inlineWrap {
	border-radius: var(--gtw-radius);
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

/* ─── Mobile ─── */
@media (max-width: 600px) {
	.gtw-popup-order-gift-wrapper-header,
	.gtw-popup-order-gift-wrapper-content,
	.gtw-popup-order-gift-wrapper-footer {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.gtw-popup-order-gift-wrapper-item-lists {
		grid-template-columns: repeat(2, 1fr);
	}
	.gtw-popup-product-gift-wrapper-fields-content {
		grid-template-columns: 1fr;
	}
}

input[type="button"].gtw-popup-select-order-gift-wrapper.button {
	background: var(--tac-navy) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--tac-radius-sm) !important;
	font-family: 'Karla', sans-serif !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 10px 24px !important;
	cursor: pointer;
	transition: background 0.2s;
	line-height: 1.4 !important;
	-webkit-appearance: none;
	appearance: none;
}

.page-id-178929 #main {
 	width:90%;
	margin:50px auto
}

.page-id-178929  h1 {
	color:#1A3A5C;
margin-bottom:50px
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout .col2-set {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}
	.woocommerce-checkout form.checkout .col2-set > .col-1,
	.woocommerce-checkout form.checkout .col2-set > .col-2 {
		grid-column: 1 !important;
	}
}

@media (max-width: 900px) {
	.woocommerce-checkout .entry-content > .woocommerce {
		padding: 1rem 0.75rem 2rem;
	}
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields,
	.woocommerce-checkout-review-order,
	.woocommerce-checkout-payment {
		padding: 1rem;
	}
}

/* Kill the outer purple wrapper background entirely */
.woocommerce-checkout #payment,
.woocommerce-cart #payment,
#add_payment_method #payment {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* Flatten the inner payment box — no second background, just spacing */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
#add_payment_method #payment div.payment_box {
	background: transparent !important;
	color: var(--tac-checkout-text, #1f2937) !important;
	padding: 0.75rem 0 0 !important;
	margin: 0.5rem 0 0 !important;
	border-radius: 0 !important;
	font-size: 0.9rem;
}

/* Kill the lavender pointer triangle */
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before {
	display: none !important;
}

/* The whole payment area sits inside the review-order card already, no need for nested chrome */
.woocommerce-checkout-payment {
	background: transparent;
	border: 0;
	padding: 0;
	margin-top: 1.5rem;
}

/* ─── Shipping method as bordered options ─── */
#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid black!important;
	border-radius: 6px;
	background: #fff;
	transition: border-color 0.15s, background 0.15s;
	flex-wrap: wrap;
	margin-bottom:20px!important
}
#shipping_method li:hover {
	border-color: var(--tac-checkout-accent, #008cc7);
}
#shipping_method li:has(input[type="radio"]:checked) {
	border-color: var(--tac-checkout-accent, #008cc7);
	background: color-mix(in srgb, var(--tac-checkout-accent, #008cc7) 4%, #fff);
}

#shipping_method input[type="radio"] {
	margin: 3px 0 0 0;
	accent-color: var(--tac-checkout-accent, #008cc7);
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
#shipping_method label {
	flex: 1;
	font-weight: 500;
	cursor: pointer;
	margin: 0;
	line-height: 1.4;
}
.shipping-method-description {
	flex-basis: 100%;
	margin: 0.25rem 0 0 1.75rem;
	font-size: 0.85rem;
	color: var(--tac-checkout-muted, #6b7280);
	line-height: 1.4;
}
.shipping-method-description b[style*="red"] {
	color: var(--tac-checkout-accent, #008cc7) !important;
	font-weight: 600;
}

/* Shipping row in totals table — top-aligned, no inherited center align */
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
	vertical-align: top;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

/* Cart page version */
.woocommerce-cart .woocommerce-shipping-totals th,
.woocommerce-cart .woocommerce-shipping-totals td {
	vertical-align: top;
}
.woocommerce-cart .woocommerce-shipping-totals td {
	text-align: left !important;
}

ul#shipping_method li {
	padding:10px!important
}


/* ════════════════════════════════════════════════════════════════════
   404 PAGE
════════════════════════════════════════════════════════════════════ */

.tac-404 {
	max-width: 720px;
	margin: 0 auto;
	padding: 4rem 1.25rem;
}

.tac-404__inner {
	text-align: center;
}

.tac-404__art {
	margin-bottom: 1.5rem;
}

.tac-404__code {
	display: inline-block;
	font-family: 'Karla', sans-serif;
	font-size: clamp(5rem, 18vw, 9rem);
	font-weight: 700;
	line-height: 1;
	color: var(--tac-navy, #1A3A5C);
	letter-spacing: -0.04em;
	opacity: 0.15;
}

.tac-404__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--tac-navy, #1A3A5C);
}

.tac-404__lede {
	font-size: 1.1rem;
	line-height: 1.5;
	color: #4b5563;
	margin: 0 auto 2rem;
	max-width: 480px;
}

.tac-404__actions {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 3rem;
}

.tac-404__actions .tac-btn {
	display: inline-block;
	padding: 0.85rem 1.75rem;
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
	border-radius: 6px;
	transition: filter 0.15s, background 0.15s;
}
.tac-404__actions .tac-btn--primary {
	background: var(--tac-navy, #1A3A5C);
	color: #fff;
}
.tac-404__actions .tac-btn--primary:hover {
	filter: brightness(1.1);
}
.tac-404__actions .tac-btn--secondary {
	background: #fff;
	color: var(--tac-navy, #1A3A5C);
	border: 1px solid var(--tac-navy, #1A3A5C);
}
.tac-404__actions .tac-btn--secondary:hover {
	background: #f3f4f6;
}

.tac-404__search {
	margin-bottom: 3rem;
}
.tac-404__search label {
	display: block;
	font-size: 0.95rem;
	color: #4b5563;
	margin-bottom: 0.5rem;
}
.tac-404__search form {
	max-width: 420px;
	margin: 0 auto;
}

.tac-404__links {
	background: #f9fafb;
	border-radius: 8px;
	padding: 2rem 1.5rem;
	margin-bottom: 2rem;
	text-align: left;
}
.tac-404__links h2 {
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6b7280;
	margin: 0 0 1rem;
	text-align: center;
}
.tac-404__links ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem 1.5rem;
}
.tac-404__links a {
	color: var(--accent, #008cc7);
	text-decoration: none;
	font-weight: 500;
	display: block;
	padding: 0.4rem 0;
}
.tac-404__links a:hover {
	text-decoration: underline;
}

.tac-404__store {
	font-size: 0.95rem;
	color: #6b7280;
	margin: 0;
}
.tac-404__store a {
	color: var(--accent, #008cc7);
	font-weight: 600;
}

@media (max-width: 600px) {
	.tac-404__links ul {
		grid-template-columns: 1fr;
	}
}


.tac-cat-index {
    max-width: 1100px;
    margin: 0 auto;
    padding: 3rem 1rem 4rem;
}
.tac-cat-index__header {
    text-align: center;
    margin-bottom: 3rem;
}
.tac-cat-index__header h1 {
    margin: 0 0 0.5rem;
}
.tac-cat-index__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}
.tac-cat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
    color: inherit;
    padding: 1.25rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    transition: border-color 0.15s, transform 0.05s, background 0.15s;
    min-height: 80px;
    text-align: center;
}
.tac-cat-card:hover {
    border-color: var(--accent, #008cc7);
    background: #f9fafb;
    transform: translateY(-1px);
}
.tac-cat-card__name {
    font-weight: 600;
    color: var(--tac-navy, #1A3A5C);
    margin-bottom: 0.25rem;
}
.tac-cat-card__count {
    font-size: 0.85rem;
    color: #6b7280;
}

@media screen and (max-width: 980px) {
    .archive-header-inner {
        display: flex !important;
        flex-direction: column-reverse;
    }
    .archive-logo {
        text-align: left;
    }
    .archive-logo img {
        float: none !important;
        height: auto !important;
        max-width: 250px;
        margin: 0;
    }
    .b-left { display: none; }
    .b-right { width: 95%; }
}