/*
Theme Name: Tirnan Confectionery WooCommerce
Theme URI: https://tirnanconfectionery.com/
Author: OpenAI
Description: A polished WooCommerce theme for Tirnan Confectionery, a wholesale confectionery supplier. Includes homepage, product grids, category sections, trade account CTAs, WooCommerce styling, responsive navigation, and brand-led colour system.
Version: 1.0.7
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: tirnan
Tags: e-commerce, woocommerce, responsive, custom-logo, wholesale
*/
:root{--tirnan-red:#e31d23;--tirnan-navy:#06142b;--tirnan-slate:#4b5563;--tirnan-silver:#e1e4ea;--tirnan-white:#fff;--tirnan-pink:#ff4d6d;--radius:14px;--shadow:0 18px 45px rgba(6,20,43,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tirnan-navy);background:#fff;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.btn,.button,button,input[type=submit],.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:7px;border:0;background:var(--tirnan-red);color:#fff!important;font-weight:800;padding:13px 20px;line-height:1;cursor:pointer;transition:.2s}.btn:hover,.button:hover,.woocommerce a.button:hover{transform:translateY(-1px);filter:brightness(.96)}.btn-navy{background:var(--tirnan-navy)!important}.btn-outline{background:transparent!important;border:2px solid rgba(255,255,255,.85)!important;color:#fff!important}.top-header{background:#fff;border-bottom:1px solid #eef0f5}.site-header__row{height:104px;display:flex;align-items:center;gap:28px}.site-logo img{width:194px;display:block}.main-nav{display:flex;gap:28px;align-items:center;margin-left:auto;font-weight:600}.main-nav ul{display:flex;gap:25px;list-style:none;margin:0;padding:0}.main-nav a{font-size:15px}.header-actions{display:flex;align-items:center;gap:14px;margin-left:20px}.trade-login{font-weight:850;display:flex;gap:8px}.mobile-menu-toggle{display:none}.search-strip{background:linear-gradient(90deg,var(--tirnan-navy),#092551);color:#fff}.search-strip__row{height:70px;display:grid;grid-template-columns:200px 1fr auto;gap:22px;align-items:center}.cat-toggle{font-weight:850;display:flex;gap:10px;align-items:center}.product-search{display:grid;grid-template-columns:1fr 180px 58px;background:#fff;border-radius:5px;overflow:hidden;box-shadow:inset 0 0 0 1px #dfe5ef}.product-search input,.product-search select{border:0;padding:15px 18px;font:inherit;outline:0}.product-search select{border-left:1px solid #e4e8ef}.product-search button{border-radius:0;padding:0;background:var(--tirnan-red)}.mini-cart{display:flex;gap:9px;align-items:center;font-weight:850}.cart-count{background:var(--tirnan-red);border-radius:999px;min-width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 72% 24%,#ff4a4f 0,#e31d23 39%,#b90008 100%);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(227,29,35,.95),rgba(227,29,35,.3)),radial-gradient(circle at 70% 35%,rgba(255,255,255,.22),transparent 30%)}.hero__row{position:relative;min-height:470px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:30px;padding:44px 0 92px}.hero h1{font-size:clamp(44px,6vw,72px);line-height:.95;margin:0 0 8px;text-transform:uppercase;letter-spacing:-1px}.hero .script{display:block;font-family:Georgia,serif;font-style:italic;font-weight:500;text-transform:none;font-size:clamp(34px,4vw,50px)}.hero p{font-size:19px;max-width:520px}.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:4}.hero__products{min-height:330px;position:relative}.sweet-card{position:absolute;border-radius:16px;background:#fff;box-shadow:0 25px 55px rgba(0,0,0,.22);display:grid;place-items:center;font-weight:950;color:#fff;text-align:center;text-shadow:0 2px 2px rgba(0,0,0,.25);transform:rotate(var(--r));padding:18px}.sweet-card:nth-child(1){right:330px;top:50px;width:155px;height:210px;background:#4b288e;--r:-9deg}.sweet-card:nth-child(2){right:175px;top:30px;width:180px;height:220px;background:#f4c64e;color:#1b1b1b;text-shadow:none;--r:5deg}.sweet-card:nth-child(3){right:18px;top:60px;width:170px;height:230px;background:#158bd0;--r:10deg}.sweet-card:nth-child(4){right:385px;bottom:30px;width:230px;height:82px;background:#fff;color:#b33;text-shadow:none;--r:-4deg}.sweet-card:nth-child(5){right:150px;bottom:42px;width:245px;height:82px;background:#d51119;--r:4deg}.sweet-card:nth-child(6){right:0;bottom:18px;width:155px;height:150px;background:#6ecd3d;--r:9deg}.benefits{margin-top:-44px;position:relative;z-index:3}.benefits__grid{background:#fff;border-radius:13px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);padding:22px}.benefit{display:flex;gap:16px;padding:0 20px;border-right:1px solid #e8ebf1}.benefit:last-child{border-right:0}.benefit__icon{font-size:30px;color:var(--tirnan-red)}.benefit h3{font-size:13px;margin:0 0 5px;text-transform:uppercase}.benefit p{font-size:13px;color:#4b5563;margin:0}.section{padding:44px 0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section h2{font-size:25px;margin:0;text-transform:uppercase;letter-spacing:.02em}.view-link{color:var(--tirnan-red);font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.category-card{border:1px solid #e5eaf2;border-radius:9px;background:#fff;text-align:center;padding:18px 12px;font-weight:800;min-height:135px;display:grid;place-items:center;box-shadow:0 5px 20px rgba(6,20,43,.04)}.category-card .emoji{font-size:50px;line-height:1}.products-grid,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(5,1fr);gap:20px!important;list-style:none;padding:0;margin:0}.product-card,.woocommerce ul.products li.product{border:1px solid #e5eaf2!important;border-radius:10px;background:#fff;padding:16px!important;box-shadow:0 5px 20px rgba(6,20,43,.04);position:relative;float:none!important;width:auto!important;margin:0!important}.product-card__image,.woocommerce-loop-product__link img{background:#f8fafc;border-radius:7px;aspect-ratio:1/1;object-fit:contain;padding:12px}.product-card h3,.woocommerce-loop-product__title{font-size:15px!important;margin:12px 0 5px!important}.pack{color:#6b7280;font-size:13px}.price,.woocommerce-Price-amount{font-weight:950;color:var(--tirnan-navy)!important;font-size:18px}.was{color:#9aa3b2;text-decoration:line-through;margin-left:8px;font-size:14px}.product-card .btn{width:100%;margin-top:12px}.trust-band{background:linear-gradient(90deg,var(--tirnan-navy),#092551);color:#fff;padding:42px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.trust-item{display:flex;gap:14px}.trust-icon{font-size:34px}.trust-item h3{font-size:15px;margin:0 0 4px}.trust-item p{font-size:14px;margin:0;color:#d8e2f0}.brand-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px}.brand-tile{border-radius:8px;background:#f3f5f8;height:64px;display:grid;place-items:center;font-weight:950;font-size:24px}.newsletter{background:var(--tirnan-red);color:#fff;padding:28px 0}.newsletter__row{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.newsletter h2{margin:0 0 4px}.newsletter form{display:grid;grid-template-columns:1fr auto}.newsletter input{border:0;border-radius:6px 0 0 6px;padding:15px;font:inherit}.newsletter button{border-radius:0 6px 6px 0;background:var(--tirnan-navy)}.site-footer{background:#f6f7fa;padding:38px 0 22px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.25fr;gap:40px}.footer-logo{width:150px}.footer-col h3{font-size:13px;text-transform:uppercase;margin:0 0 12px}.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.copyright{border-top:1px solid #dfe3eb;margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;color:#697386;font-size:13px}.page-hero{background:linear-gradient(90deg,var(--tirnan-navy),#092551);color:#fff;padding:60px 0}.page-hero h1{font-size:46px;margin:0}.content-wrap{padding:48px 0}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.info-card{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:28px;box-shadow:0 10px 30px rgba(6,20,43,.06)}.woocommerce div.product{padding:44px 0}.woocommerce div.product div.summary .product_title{font-size:42px}.woocommerce div.product form.cart .button{background:var(--tirnan-red)}.woocommerce-message,.woocommerce-info{border-top-color:var(--tirnan-red)}.woocommerce-message::before,.woocommerce-info::before{color:var(--tirnan-red)}
/* Hero bulk sweets image */
.hero__content{position:relative;z-index:2}
.hero__image-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;min-height:330px}
.hero__image{width:min(100%,680px);max-height:350px;object-fit:contain;filter:drop-shadow(0 26px 38px rgba(0,0,0,.28));transform:translateY(8px)}
@media(max-width:900px){.hero__image-wrap{display:none}}
@media(max-width:900px){.main-nav,.header-actions{display:none}.mobile-menu-toggle{display:block;margin-left:auto;background:var(--tirnan-navy)}.search-strip__row{grid-template-columns:1fr}.search-strip__row{height:auto;padding:18px 0}.product-search{grid-template-columns:1fr 54px}.product-search select{display:none}.hero__row{grid-template-columns:1fr;min-height:auto;padding:50px 0 70px}.hero__products{display:none}.benefits{margin-top:0}.benefits__grid,.trust-grid,.newsletter__row,.footer-grid,.cards-3{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid #e8ebf1;padding:16px}.category-grid{grid-template-columns:repeat(2,1fr)}.products-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.brand-grid{grid-template-columns:repeat(2,1fr)}.copyright{display:block}.site-header__row{height:82px}.site-logo img{width:150px}}

/* Search bar layout fix */
.search-strip__row{grid-template-columns:210px minmax(0,1fr) max-content}.product-search{width:100%;min-width:0;display:grid;grid-template-columns:minmax(260px,1fr) 230px 64px;align-items:stretch;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px #dfe5ef}.product-search input[type=search],.product-search select,.product-search button{height:52px;min-height:52px}.product-search input[type=search]{width:100%;min-width:0;color:var(--tirnan-navy);background:#fff}.product-search select{width:100%;appearance:auto;color:var(--tirnan-navy);background:#fff;border-left:1px solid #e4e8ef}.product-search button{width:64px;border-radius:0;background:var(--tirnan-red);font-size:20px;color:#fff}.mini-cart{white-space:nowrap;color:#fff}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Hero bulk sweets image */
.hero__content{position:relative;z-index:2}
.hero__image-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;min-height:330px}
.hero__image{width:min(100%,680px);max-height:350px;object-fit:contain;filter:drop-shadow(0 26px 38px rgba(0,0,0,.28));transform:translateY(8px)}
@media(max-width:900px){.hero__image-wrap{display:none}}
@media(max-width:900px){.product-search{grid-template-columns:1fr 54px}.product-search button{width:54px}.product-search input[type=search],.product-search button{height:50px;min-height:50px}}

/* Working shop category dropdown */
.cat-menu-wrap{position:relative;z-index:50}.cat-toggle{appearance:none;border:0;background:transparent!important;color:#fff!important;padding:0;font:inherit;font-weight:850;display:flex;gap:10px;align-items:center;box-shadow:none}.cat-toggle:hover{transform:none;filter:none}.cat-dropdown{position:absolute;top:calc(100% + 18px);left:0;width:260px;background:#fff;color:var(--tirnan-navy);border-radius:10px;box-shadow:0 18px 45px rgba(6,20,43,.2);padding:10px;z-index:1000}.cat-dropdown[hidden]{display:none!important}.cat-dropdown:before{content:"";position:absolute;top:-8px;left:24px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff}.cat-dropdown a{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:7px;font-weight:750;color:var(--tirnan-navy)}.cat-dropdown a:hover{background:#f3f5f8;color:var(--tirnan-red)}.cat-dropdown a:after{content:"›";opacity:.45}.main-nav.is-open{display:flex!important;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;z-index:100}.main-nav.is-open ul{flex-direction:column}
/* Hero bulk sweets image */
.hero__content{position:relative;z-index:2}
.hero__image-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;min-height:330px}
.hero__image{width:min(100%,680px);max-height:350px;object-fit:contain;filter:drop-shadow(0 26px 38px rgba(0,0,0,.28));transform:translateY(8px)}
@media(max-width:900px){.hero__image-wrap{display:none}}
@media(max-width:900px){.cat-dropdown{position:static;width:100%;margin-top:12px}.cat-dropdown:before{display:none}.cat-menu-wrap{width:100%}}

/* v1.0.4: force header cart total to white inside the navy search bar */
.search-strip .mini-cart,
.search-strip .mini-cart *,
.search-strip .mini-cart span,
.search-strip .mini-cart .amount,
.search-strip .mini-cart .woocommerce-Price-amount,
.search-strip .mini-cart .woocommerce-Price-currencySymbol,
.search-strip a.mini-cart,
.search-strip a.mini-cart:visited {
    color: #ffffff !important;
}
.search-strip .mini-cart:hover,
.search-strip .mini-cart:hover *,
.search-strip a.mini-cart:hover {
    color: var(--tirnan-red) !important;
}
.search-strip .mini-cart .cart-count,
.search-strip .mini-cart:hover .cart-count {
    background: var(--tirnan-red) !important;
    color: #ffffff !important;
}


/* v1.0.5: B2B-style single product layout with reduced product image */
.single-product.woocommerce div.product,
.woocommerce.single-product div.product {
    display: grid;
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
    gap: 56px;
    align-items: start;
    padding: 44px 0;
}

.single-product div.product .woocommerce-product-gallery,
.woocommerce div.product div.images {
    width: 100% !important;
    max-width: 420px !important;
    float: none !important;
    margin: 0 !important;
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(6,20,43,.06);
}

.single-product div.product .woocommerce-product-gallery img,
.woocommerce div.product div.images img {
    width: 100% !important;
    max-height: 480px;
    object-fit: contain;
}

.single-product div.product .summary,
.woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(6,20,43,.06);
}

.woocommerce div.product div.summary .product_title {
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.15;
    margin-bottom: 16px;
}

.single-product .summary .price {
    font-size: 24px;
    margin: 0 0 20px;
}

.single-product .summary form.cart {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0;
}

.single-product .summary form.cart .qty {
    width: 72px;
    height: 42px;
    border: 1px solid #cfd6e2;
    border-radius: 7px;
    padding: 8px;
    font-weight: 700;
}

.single-product .product_meta {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #e5eaf2;
    color: var(--tirnan-navy);
}

.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products {
    grid-column: 1 / -1;
}

.single-product .woocommerce-tabs {
    margin-top: 28px;
    border: 1px solid #e5eaf2;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(6,20,43,.04);
}

.single-product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 0 0 20px !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    border-radius: 8px !important;
}


/* Hero bulk sweets image */
.hero__content{position:relative;z-index:2}
.hero__image-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;min-height:330px}
.hero__image{width:min(100%,680px);max-height:350px;object-fit:contain;filter:drop-shadow(0 26px 38px rgba(0,0,0,.28));transform:translateY(8px)}
@media(max-width:900px){.hero__image-wrap{display:none}}
@media(max-width:900px){
    .single-product.woocommerce div.product,
    .woocommerce.single-product div.product {
        display: block;
        padding: 28px 0;
    }
    .single-product div.product .woocommerce-product-gallery,
    .woocommerce div.product div.images {
        max-width: 100% !important;
        margin-bottom: 24px !important;
    }
    .single-product div.product .summary,
    .woocommerce div.product div.summary {
        padding: 22px;
    }
}

/* v1.0.6: force WooCommerce shop/category products to align from the left of the page */
.post-type-archive-product .content-wrap .container,
.tax-product_cat .content-wrap .container,
.tax-product_tag .content-wrap .container,
.woocommerce-shop .content-wrap .container,
.woocommerce.archive .content-wrap .container {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products,
.tax-product_tag .woocommerce ul.products,
.woocommerce-shop .woocommerce ul.products,
.woocommerce.archive ul.products {
    clear: both !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 220px)) !important;
    justify-content: start !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 24px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.post-type-archive-product .woocommerce ul.products::before,
.post-type-archive-product .woocommerce ul.products::after,
.tax-product_cat .woocommerce ul.products::before,
.tax-product_cat .woocommerce ul.products::after,
.woocommerce-shop .woocommerce ul.products::before,
.woocommerce-shop .woocommerce ul.products::after,
.woocommerce.archive ul.products::before,
.woocommerce.archive ul.products::after {
    display: none !important;
    content: none !important;
}

.post-type-archive-product .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product,
.tax-product_tag .woocommerce ul.products li.product,
.woocommerce-shop .woocommerce ul.products li.product,
.woocommerce.archive ul.products li.product {
    float: none !important;
    clear: none !important;
    width: 220px !important;
    max-width: 220px !important;
    margin: 0 !important;
}

@media (min-width: 1200px) {
    .post-type-archive-product .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products,
    .woocommerce-shop .woocommerce ul.products,
    .woocommerce.archive ul.products {
        grid-template-columns: repeat(5, 220px) !important;
    }
}

@media (max-width: 700px) {
    .post-type-archive-product .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products,
    .woocommerce-shop .woocommerce ul.products,
    .woocommerce.archive ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
    .post-type-archive-product .woocommerce ul.products li.product,
    .tax-product_cat .woocommerce ul.products li.product,
    .tax-product_tag .woocommerce ul.products li.product,
    .woocommerce-shop .woocommerce ul.products li.product,
    .woocommerce.archive ul.products li.product {
        width: auto !important;
        max-width: none !important;
    }
}

@media (max-width: 430px) {
    .post-type-archive-product .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products,
    .woocommerce-shop .woocommerce ul.products,
    .woocommerce.archive ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* v1.0.7: homepage random products carousel */
.featured-products-section { padding-top: 36px; }
.carousel-controls { display: flex; gap: 8px; align-items: center; }
.carousel-btn {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #dfe5ef !important;
    color: var(--tirnan-navy) !important;
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
    box-shadow: 0 4px 14px rgba(6,20,43,.08);
}
.carousel-btn:hover { background: var(--tirnan-red) !important; color: #fff !important; }
.tirnan-product-carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 220px;
    gap: 20px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scroll-behavior: smooth;
    padding: 4px 2px 18px;
    scrollbar-width: thin;
}
.tirnan-carousel-card {
    scroll-snap-align: start;
    border: 1px solid #e5eaf2;
    border-radius: 10px;
    background: #fff;
    padding: 16px;
    box-shadow: 0 5px 20px rgba(6,20,43,.04);
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
.tirnan-carousel-image {
    display: block;
    background: #f8fafc;
    border-radius: 7px;
    aspect-ratio: 1 / 1;
    padding: 12px;
    margin-bottom: 12px;
}
.tirnan-carousel-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.tirnan-carousel-card h3 {
    font-size: 15px;
    line-height: 1.35;
    margin: 0 0 10px;
    font-weight: 850;
}
.tirnan-carousel-price {
    margin-top: auto;
    margin-bottom: 14px;
    font-size: 18px;
    font-weight: 950;
    color: var(--tirnan-navy);
}
.tirnan-carousel-card .button,
.tirnan-carousel-card a.button {
    width: 100%;
    min-height: 42px;
}
.muted { color: #697386; }
@media (max-width: 900px) {
    .tirnan-product-carousel { grid-auto-columns: 205px; }
}
@media (max-width: 520px) {
    .featured-products-section .section-head { align-items: flex-start; gap: 12px; }
    .tirnan-product-carousel { grid-auto-columns: 78%; }
}

/* Trade login red padlock */
.trade-login{align-items:center;color:var(--tirnan-navy);}
.trade-lock{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--tirnan-red);flex:0 0 18px;}
.trade-lock svg{display:block;width:18px;height:18px;fill:currentColor;}
.trade-login:hover .trade-lock{color:#c91419;}

/* Related products: align from the left */
.single-product .related.products {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: both;
}

.single-product .related.products ul.products,
.single-product .related.products ul.products.columns-2,
.single-product .related.products ul.products.columns-3,
.single-product .related.products ul.products.columns-4,
.woocommerce .related.products ul.products,
.woocommerce-page .related.products ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.single-product .related.products ul.products li.product,
.woocommerce .related.products ul.products li.product,
.woocommerce-page .related.products ul.products li.product {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    width: 220px !important;
    max-width: 220px !important;
}

@media (max-width: 768px) {
    .single-product .related.products ul.products li.product,
    .woocommerce .related.products ul.products li.product,
    .woocommerce-page .related.products ul.products li.product {
        width: calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;
    }
}

@media (max-width: 480px) {
    .single-product .related.products ul.products li.product,
    .woocommerce .related.products ul.products li.product,
    .woocommerce-page .related.products ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* Tirnan trade pricing */
.trade-login .trade-lock svg { width: 16px; height: 16px; fill: #E31D23; display: inline-block; vertical-align: -2px; margin-right: 6px; }
.tirnan-trade-price-label {
  display: inline-flex;
  align-items: center;
  background: #E31D23;
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  padding: 6px 9px;
  margin-right: 8px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.tirnan-public-price { color: #6b7280; margin-right: 8px; }
.tirnan-trade-price { color: #06142B; text-decoration: none; font-weight: 900; }
.tirnan-trade-notice { border-radius: 10px; }
.single-product h1.product_title,
.single-product .product_title {
  font-size: 30px !important;
  line-height: 1.18 !important;
}
@media (max-width: 768px) {
  .single-product h1.product_title,
  .single-product .product_title { font-size: 24px !important; }
}


/* v1.0.13: Single product/category hero title + breadcrumb trail */
.tirnan-shop-hero.page-hero {
    padding: 34px 0 !important;
    min-height: 112px !important;
    display: flex;
    align-items: center;
}
.tirnan-shop-hero.page-hero h1 {
    font-size: 42px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}
.tirnan-breadcrumb-bar {
    background: #ffffff;
    border-bottom: 1px solid #e5eaf2;
    padding: 14px 0;
}
.tirnan-breadcrumb,
.woocommerce .tirnan-breadcrumb,
.woocommerce .woocommerce-breadcrumb.tirnan-breadcrumb {
    margin: 0 !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    font-weight: 600;
}
.tirnan-breadcrumb a,
.woocommerce .tirnan-breadcrumb a {
    color: #06142B !important;
    font-weight: 700;
}
.tirnan-breadcrumb a:hover {
    color: #E31D23 !important;
}
.breadcrumb-sep {
    color: #9aa3b2;
    padding: 0 6px;
}
@media (max-width: 768px) {
    .tirnan-shop-hero.page-hero {
        padding: 26px 0 !important;
        min-height: 90px !important;
    }
    .tirnan-shop-hero.page-hero h1 {
        font-size: 30px !important;
    }
}


/* Tirnan Trade Portal Styling */
.woocommerce-account .woocommerce{
    display:flex;
    gap:30px;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
    width:260px;
    background:#06142B;
    border-radius:12px;
    padding:20px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
    list-style:none;
    padding:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
    padding:12px;
    border-bottom:1px solid rgba(255,255,255,.1);
}
.woocommerce-account .woocommerce-MyAccount-content{
    flex:1;
    background:#fff;
    border-radius:12px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.woocommerce-account .woocommerce-info{
    border-top:4px solid #E31D23;
    border-radius:10px;
}


/* Enhanced Tirnan Trade Customer Portal */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(2){
    display:none;
}
.tirnan-account-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding:28px;
    background:linear-gradient(135deg,#06142B 0%,#0b2a56 100%);
    color:#fff;
    border-radius:18px;
    margin-bottom:24px;
}
.tirnan-account-kicker{
    display:block!important;
    margin:0 0 6px!important;
    color:#ff4d6d;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:13px;
}
.tirnan-account-hero h2{
    margin:0 0 8px;
    color:#fff;
    font-size:30px;
    line-height:1.1;
}
.tirnan-account-hero p{
    color:rgba(255,255,255,.86);
    margin:0;
}
.tirnan-status-badge{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    padding:10px 14px;
    border-radius:999px;
    font-weight:800;
    font-size:13px;
    background:#fff;
    color:#06142B;
}
.tirnan-status-badge.approved{
    background:#e8fff0;
    color:#126b32;
}
.tirnan-status-badge.pending{
    background:#fff5e6;
    color:#a45b00;
}
.tirnan-dashboard-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:24px;
}
.tirnan-dashboard-card{
    background:#fff;
    border:1px solid #e5e9f2;
    border-radius:16px;
    padding:20px;
    box-shadow:0 10px 25px rgba(6,20,43,.06);
}
.tirnan-dashboard-card .card-icon{
    display:inline-flex;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    background:#fff0f1;
    border-radius:12px;
    margin-bottom:12px;
}
.tirnan-dashboard-card small{
    display:block;
    color:#5e6b7d;
    font-weight:700;
    margin-bottom:6px;
}
.tirnan-dashboard-card strong{
    display:block;
    color:#06142B;
    font-size:22px;
    line-height:1.15;
}
.tirnan-benefits-panel{
    background:#f7f8fb;
    border:1px solid #e5e9f2;
    border-left:5px solid #E31D23;
    border-radius:16px;
    padding:24px;
    margin-bottom:24px;
}
.tirnan-benefits-panel h3{
    margin:0 0 14px;
    color:#06142B;
}
.tirnan-benefits-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 20px;
    font-weight:700;
    color:#06142B;
}
.tirnan-quick-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.tirnan-quick-actions .button{
    border-radius:10px!important;
    padding:13px 18px!important;
    font-weight:800!important;
    text-decoration:none!important;
}
.tirnan-quick-actions .tirnan-primary-action{
    background:#E31D23!important;
    color:#fff!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active{
    background:#E31D23;
    border-radius:10px;
}
@media(max-width:900px){
    .woocommerce-account .woocommerce{
        flex-direction:column;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation{
        width:100%;
    }
    .tirnan-dashboard-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tirnan-account-hero{
        flex-direction:column;
    }
}
@media(max-width:600px){
    .tirnan-dashboard-cards,
    .tirnan-benefits-grid{
        grid-template-columns:1fr;
    }
    .tirnan-account-hero h2{
        font-size:24px;
    }
}


/* Tirnan role-aware trade notice */
.woocommerce-account .woocommerce-info:has(strong){
    display:none;
}
.tirnan-trade-role-notice{
    margin-top:18px;
    padding:20px 22px;
    border-radius:14px;
    display:flex;
    gap:10px;
    flex-direction:column;
    font-size:16px;
    line-height:1.45;
    border-top:4px solid #E31D23;
}
.tirnan-trade-role-notice strong{
    font-size:18px;
    color:#06142B;
}
.tirnan-trade-role-notice.pending{
    background:#fff7f7;
    border-color:#E31D23;
}
.tirnan-trade-role-notice.approved{
    background:#ecfff3;
    border-color:#16a34a;
}
.tirnan-trade-role-notice.approved strong{
    color:#126b32;
}


/* Hide old duplicate trade notices and keep only the final role-aware notice */
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content > .tirnan-trade-notice:not(.tirnan-final-trade-notice),
.woocommerce-account .woocommerce-MyAccount-content > .tirnan-trade-role-notice:not(.tirnan-final-trade-notice){
    display:none !important;
}
.woocommerce-account .woocommerce-MyAccount-content > .tirnan-final-trade-notice{
    display:flex !important;
}
.tirnan-final-trade-notice.approved{
    background:#ecfff3 !important;
    border-top-color:#16a34a !important;
}
.tirnan-final-trade-notice.approved strong{
    color:#126b32 !important;
}
.tirnan-final-trade-notice.pending{
    background:#fff7f7 !important;
    border-top-color:#E31D23 !important;
}


/* Tirnan sexy My Account login/register page */
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) .entry-content{
    background:linear-gradient(135deg,#06142B 0%,#0b2a56 55%,#E31D23 55%,#E31D23 100%);
    padding:70px 20px!important;
    min-height:620px;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
    max-width:1180px;
    margin:0 auto!important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    align-items:stretch;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before{
    content:"Tirnan Trade Portal";
    display:flex;
    align-items:flex-end;
    min-height:520px;
    padding:42px;
    border-radius:24px;
    background:
        linear-gradient(180deg,rgba(6,20,43,.1),rgba(6,20,43,.9)),
        radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 30%),
        #06142B;
    color:#fff;
    font-size:46px;
    line-height:1.05;
    font-weight:900;
    box-shadow:0 25px 70px rgba(0,0,0,.24);
}

body.woocommerce-account:not(.logged-in) .woocommerce h2{
    color:#06142B;
    font-size:34px;
    line-height:1.1;
    margin:0 0 22px;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register{
    background:#fff;
    border:0!important;
    border-radius:24px!important;
    padding:38px!important;
    box-shadow:0 25px 70px rgba(0,0,0,.20);
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) .form-row{
    margin-bottom:18px!important;
}

body.woocommerce-account:not(.logged-in) label{
    color:#06142B;
    font-weight:800;
    margin-bottom:7px;
}

body.woocommerce-account:not(.logged-in) input.input-text,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
    width:100%;
    border:1px solid #dfe6f1!important;
    border-radius:12px!important;
    padding:14px 15px!important;
    font-size:16px;
    background:#f8fafc;
    color:#06142B;
}

body.woocommerce-account:not(.logged-in) input:focus{
    outline:none;
    border-color:#E31D23!important;
    box-shadow:0 0 0 4px rgba(227,29,35,.12);
    background:#fff;
}

body.woocommerce-account:not(.logged-in) .button,
body.woocommerce-account:not(.logged-in) button.button{
    background:#E31D23!important;
    color:#fff!important;
    border:0!important;
    border-radius:12px!important;
    padding:14px 24px!important;
    font-weight:900!important;
    font-size:16px!important;
    transition:transform .18s ease, box-shadow .18s ease;
}

body.woocommerce-account:not(.logged-in) .button:hover,
body.woocommerce-account:not(.logged-in) button.button:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(227,29,35,.28);
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a,
body.woocommerce-account:not(.logged-in) a{
    color:#E31D23;
    font-weight:800;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
    display:flex!important;
    align-items:center;
    gap:8px;
    font-weight:700;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input{
    accent-color:#E31D23;
}

body.woocommerce-account:not(.logged-in) .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-info{
    max-width:1180px;
    margin:0 auto 20px!important;
    border-radius:14px;
    border-top-color:#E31D23;
}

body.woocommerce-account:not(.logged-in) .u-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    grid-column:2;
}

body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2{
    width:100%!important;
    float:none!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after{
    content:"Exclusive trade pricing • Fast repeat ordering • Wholesale support";
    grid-column:1 / -1;
    color:#fff;
    text-align:center;
    font-weight:800;
    letter-spacing:.02em;
    margin-top:8px;
}

@media(max-width:980px){
    body.woocommerce-account:not(.logged-in) .woocommerce{
        grid-template-columns:1fr;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        min-height:260px;
        font-size:36px;
    }
    body.woocommerce-account:not(.logged-in) .u-columns{
        grid-column:auto;
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    body.woocommerce-account:not(.logged-in) .site-main,
    body.woocommerce-account:not(.logged-in) main,
    body.woocommerce-account:not(.logged-in) .entry-content{
        padding:35px 14px!important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) form.register{
        padding:26px!important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        font-size:30px;
        padding:28px;
    }
}


/* Fix My Account login page alignment */
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) .entry-content{
    background:#f5f7fb !important;
    padding:55px 20px !important;
    min-height:auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
    max-width:1120px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(320px, 0.9fr) minmax(360px, 1.1fr) !important;
    gap:34px !important;
    align-items:center !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before{
    content:"Tirnan Trade Portal\A\A Login to access trade pricing, repeat ordering and wholesale account tools.";
    white-space:pre-line;
    display:flex !important;
    flex-direction:column;
    justify-content:flex-end;
    min-height:460px !important;
    padding:42px !important;
    border-radius:26px !important;
    background:
        linear-gradient(180deg,rgba(6,20,43,.20),rgba(6,20,43,.90)),
        linear-gradient(135deg,#06142B 0%,#0b2a56 58%,#E31D23 58%,#E31D23 100%) !important;
    color:#fff !important;
    font-size:42px !important;
    line-height:1.08 !important;
    font-weight:900 !important;
    box-shadow:0 22px 55px rgba(6,20,43,.20) !important;
    box-sizing:border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after{
    display:none !important;
}

body.woocommerce-account:not(.logged-in) .u-columns{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    grid-column:auto !important;
    width:100% !important;
}

body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2{
    width:100% !important;
    float:none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce h2{
    color:#06142B !important;
    font-size:30px !important;
    line-height:1.1 !important;
    margin:0 0 16px !important;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register{
    width:100% !important;
    max-width:560px !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #e3e8f2 !important;
    border-radius:24px !important;
    padding:36px !important;
    box-shadow:0 22px 55px rgba(6,20,43,.14) !important;
    box-sizing:border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) .form-row{
    margin-bottom:18px !important;
}

body.woocommerce-account:not(.logged-in) label{
    color:#06142B !important;
    font-weight:800 !important;
    margin-bottom:7px !important;
}

body.woocommerce-account:not(.logged-in) input.input-text,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
    width:100% !important;
    border:1px solid #dfe6f1 !important;
    border-radius:12px !important;
    padding:14px 15px !important;
    font-size:16px !important;
    background:#f8fafc !important;
    color:#06142B !important;
    box-sizing:border-box !important;
}

body.woocommerce-account:not(.logged-in) .button,
body.woocommerce-account:not(.logged-in) button.button{
    background:#E31D23 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:12px !important;
    padding:14px 24px !important;
    font-weight:900 !important;
    font-size:16px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
    margin-top:14px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a,
body.woocommerce-account:not(.logged-in) a{
    color:#E31D23 !important;
    font-weight:800 !important;
}

@media(max-width:900px){
    body.woocommerce-account:not(.logged-in) .woocommerce{
        grid-template-columns:1fr !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        min-height:260px !important;
        font-size:32px !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) form.register{
        max-width:100% !important;
    }
}
@media(max-width:600px){
    body.woocommerce-account:not(.logged-in) .site-main,
    body.woocommerce-account:not(.logged-in) main,
    body.woocommerce-account:not(.logged-in) .entry-content{
        padding:28px 14px !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) form.register{
        padding:24px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        font-size:28px !important;
        padding:28px !important;
    }
}


/* FINAL FIX: Trade login page layout */
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) .entry-content{
    background:#f4f6fa !important;
    padding:60px 20px !important;
    min-height:auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
    max-width:1180px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:520px minmax(420px, 560px) !important;
    grid-template-rows:auto !important;
    gap:60px !important;
    align-items:center !important;
    justify-content:center !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before{
    grid-column:1 !important;
    grid-row:1 !important;
    content:"Tirnan Trade Portal\A\AAccess trade pricing, repeat ordering and wholesale account tools.";
    white-space:pre-line !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    height:520px !important;
    min-height:0 !important;
    width:100% !important;
    padding:48px !important;
    border-radius:28px !important;
    box-sizing:border-box !important;
    background:linear-gradient(135deg,#06142B 0%,#0b2a56 58%,#E31D23 58%,#E31D23 100%) !important;
    color:#fff !important;
    font-size:42px !important;
    line-height:1.08 !important;
    font-weight:900 !important;
    box-shadow:0 24px 60px rgba(6,20,43,.18) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after{
    display:none !important;
    content:none !important;
}

/* Hide the default WooCommerce "Login" heading so it does not break alignment */
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .u-column1 > h2,
body.woocommerce-account:not(.logged-in) .u-column2 > h2{
    display:none !important;
}

/* Place the login/register area in the right column */
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > form.register,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:stretch !important;
    width:100% !important;
    margin:0 !important;
}

body.woocommerce-account:not(.logged-in) .u-columns{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
}

body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register{
    width:100% !important;
    max-width:560px !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #e1e8f2 !important;
    border-radius:26px !important;
    padding:42px !important;
    box-shadow:0 24px 60px rgba(6,20,43,.14) !important;
    box-sizing:border-box !important;
}

/* Add a clean title inside the form area */
body.woocommerce-account:not(.logged-in) form.login:before,
body.woocommerce-account:not(.logged-in) form.register:before{
    content:"Login";
    display:block;
    color:#06142B;
    font-size:32px;
    line-height:1.1;
    font-weight:900;
    margin-bottom:24px;
}

body.woocommerce-account:not(.logged-in) form.register:before{
    content:"Create Trade Account";
}

body.woocommerce-account:not(.logged-in) input.input-text,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
    width:100% !important;
    height:54px !important;
    border:1px solid #dce4ef !important;
    border-radius:12px !important;
    padding:12px 15px !important;
    background:#f8fafc !important;
    box-sizing:border-box !important;
}

body.woocommerce-account:not(.logged-in) label{
    color:#06142B !important;
    font-weight:800 !important;
}

body.woocommerce-account:not(.logged-in) button.button,
body.woocommerce-account:not(.logged-in) .button{
    background:#E31D23 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:12px !important;
    padding:14px 24px !important;
    font-weight:900 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a,
body.woocommerce-account:not(.logged-in) a{
    color:#E31D23 !important;
    font-weight:800 !important;
}

@media(max-width:1050px){
    body.woocommerce-account:not(.logged-in) .woocommerce{
        grid-template-columns:1fr !important;
        gap:28px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before,
    body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
    body.woocommerce-account:not(.logged-in) .woocommerce > form.register,
    body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns{
        grid-column:1 !important;
        grid-row:auto !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        height:auto !important;
        min-height:260px !important;
        font-size:34px !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) form.register{
        max-width:100% !important;
    }
}

@media(max-width:600px){
    body.woocommerce-account:not(.logged-in) .site-main,
    body.woocommerce-account:not(.logged-in) main,
    body.woocommerce-account:not(.logged-in) .entry-content{
        padding:30px 14px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        font-size:28px !important;
        padding:28px !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) form.register{
        padding:28px !important;
    }
}


/* CLEAN LOGIN OVERRIDE */
body.woocommerce-account:not(.logged-in) .woocommerce:before,
body.woocommerce-account:not(.logged-in) .woocommerce:after{display:none!important;content:none!important;}
body.woocommerce-account:not(.logged-in) .woocommerce{
max-width:600px!important;margin:60px auto!important;display:block!important;
}
body.woocommerce-account:not(.logged-in) .u-column2{display:none!important;}
body.woocommerce-account:not(.logged-in) .u-columns,
body.woocommerce-account:not(.logged-in) .u-column1{width:100%!important;float:none!important;}
body.woocommerce-account:not(.logged-in) .u-column1>h2,
body.woocommerce-account:not(.logged-in) .woocommerce>h2{display:none!important;}
body.woocommerce-account:not(.logged-in) form.login{
max-width:560px!important;margin:0 auto!important;background:#fff!important;padding:40px!important;border-radius:20px!important;
}



/* Green success notices for add-to-cart */
.woocommerce-message{
    border-top-color:#16a34a !important;
    background:#ecfff3 !important;
    color:#064e3b !important;
}
.woocommerce-message::before{
    color:#16a34a !important;
}
.woocommerce-message .button,
.woocommerce-message a.button{
    background:#16a34a !important;
    color:#fff !important;
}
.woocommerce-message .button:hover,
.woocommerce-message a.button:hover{
    background:#12813b !important;
}


/* Tirnan My Account endpoint polish - Orders / Downloads */
.woocommerce-account .woocommerce-MyAccount-content{
    min-height:360px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info{
    background:#f7f8fb !important;
    border-top:4px solid #E31D23 !important;
    border-radius:16px !important;
    padding:22px 24px !important;
    color:#06142B !important;
    font-weight:700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button{
    background:#E31D23 !important;
    color:#fff !important;
    border-radius:12px !important;
    font-weight:900 !important;
    padding:12px 18px !important;
}

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table{
    border:1px solid #e5e9f2 !important;
    border-radius:16px !important;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(6,20,43,.06);
}

.woocommerce-account table.shop_table thead{
    background:#06142B;
    color:#fff;
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td{
    padding:16px !important;
    border-color:#e5e9f2 !important;
}

.woocommerce-account table.shop_table .button{
    background:#E31D23 !important;
    color:#fff !important;
    border-radius:10px !important;
    font-weight:800 !important;
}


/* Tirnan endpoint hero cards */
.tirnan-endpoint-hero{
    display:flex;
    align-items:center;
    gap:20px;
    background:linear-gradient(135deg,#06142B 0%,#0b2a56 100%);
    color:#fff;
    border-radius:18px;
    padding:28px;
    margin-bottom:24px;
}
.tirnan-endpoint-icon{
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff0f1;
    border-radius:18px;
    font-size:28px;
    flex:0 0 64px;
}
.tirnan-endpoint-hero h2{
    color:#fff;
    margin:0 0 8px;
    font-size:30px;
    line-height:1.1;
}
.tirnan-endpoint-hero p{
    margin:0;
    color:rgba(255,255,255,.88);
}
.tirnan-endpoint-hero .tirnan-account-kicker{
    color:#ffb3b7 !important;
    margin:0 0 6px !important;
}
@media(max-width:700px){
    .tirnan-endpoint-hero{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* Tirnan Trade Registration Form */
.tirnan-register-wrap{
    max-width:980px;
    margin:50px auto;
    padding:0 18px;
}
.tirnan-register-card{
    background:#fff;
    border:1px solid #e5e9f2;
    border-radius:24px;
    box-shadow:0 22px 60px rgba(6,20,43,.10);
    overflow:hidden;
}
.tirnan-register-header{
    background:linear-gradient(135deg,#06142B 0%,#0b2a56 100%);
    color:#fff;
    padding:34px 38px;
}
.tirnan-register-kicker{
    color:#ffb3b7;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:13px;
}
.tirnan-register-header h2{
    color:#fff;
    font-size:36px;
    line-height:1.1;
    margin:8px 0 10px;
}
.tirnan-register-header p{
    color:rgba(255,255,255,.88);
    margin:0;
    max-width:720px;
}
.tirnan-trade-register-form{
    padding:34px 38px 38px;
}
.tirnan-trade-register-form h3{
    color:#06142B;
    margin:0 0 18px;
    padding-bottom:10px;
    border-bottom:2px solid #f0f3f8;
}
.tirnan-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 20px;
    margin-bottom:30px;
}
.tirnan-form-grid p{
    margin:0;
}
.tirnan-form-grid .full{
    grid-column:1 / -1;
}
.tirnan-trade-register-form label{
    display:block;
    color:#06142B;
    font-weight:800;
    margin-bottom:7px;
}
.tirnan-trade-register-form label span{
    color:#E31D23;
}
.tirnan-trade-register-form small{
    color:#667085;
    font-weight:600;
}
.tirnan-trade-register-form input,
.tirnan-trade-register-form textarea{
    width:100%;
    border:1px solid #dfe6f1;
    border-radius:12px;
    padding:14px 15px;
    background:#f8fafc;
    color:#06142B;
    box-sizing:border-box;
    font-size:16px;
}
.tirnan-trade-register-form input:focus,
.tirnan-trade-register-form textarea:focus{
    outline:none;
    border-color:#E31D23;
    background:#fff;
    box-shadow:0 0 0 4px rgba(227,29,35,.10);
}
.tirnan-register-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#E31D23 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:12px !important;
    padding:15px 24px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    cursor:pointer;
}
.tirnan-register-button:hover{
    background:#c9151a !important;
}
.tirnan-login-link{
    margin:18px 0 0;
    color:#344054;
}
.tirnan-login-link a{
    color:#E31D23;
    font-weight:800;
}
.tirnan-register-errors{
    max-width:980px;
    margin:30px auto 0;
    padding:18px 22px;
    background:#fff3f3;
    border-top:4px solid #E31D23;
    border-radius:14px;
    color:#7f1d1d;
    font-weight:700;
}
.tirnan-register-errors p{
    margin:6px 0;
}
@media(max-width:760px){
    .tirnan-form-grid{
        grid-template-columns:1fr;
    }
    .tirnan-register-header,
    .tirnan-trade-register-form{
        padding:26px;
    }
    .tirnan-register-header h2{
        font-size:28px;
    }
}


/* Real Apply for Trade Account link on login page */
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword::after,
body.woocommerce-account:not(.logged-in) form.login:after{
    display:none !important;
    content:none !important;
}

.tirnan-login-apply-wrap{
    margin-top:22px;
}

.tirnan-login-apply-button{
    display:block;
    width:100%;
    text-align:center;
    background:#06142B;
    color:#fff !important;
    padding:15px 18px;
    border-radius:12px;
    font-weight:900;
    text-decoration:none !important;
    box-sizing:border-box;
}

.tirnan-login-apply-button:hover{
    background:#0b2a56;
    color:#fff !important;
}


/* Tirnan final product card layout - spacing + one-line buttons */
.woocommerce ul.products,
.woocommerce-page ul.products{
    display:grid !important;
    grid-template-columns:repeat(auto-fill, minmax(330px, 330px)) !important;
    gap:36px !important;
    justify-content:start !important;
    align-items:stretch !important;
    margin:30px 0 50px !important;
    padding:0 !important;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
    width:330px !important;
    min-width:330px !important;
    max-width:330px !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:1px solid #e4e9f2 !important;
    border-radius:18px !important;
    box-shadow:0 14px 40px rgba(6,20,43,.08) !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
    transition:transform .2s ease, box-shadow .2s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 55px rgba(6,20,43,.14) !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    padding:24px 24px 0 !important;
    box-sizing:border-box !important;
    text-decoration:none !important;
}

.woocommerce ul.products li.product img{
    width:100% !important;
    height:260px !important;
    object-fit:contain !important;
    background:#f8fafc !important;
    border-radius:14px !important;
    padding:16px !important;
    margin:0 0 22px !important;
    box-sizing:border-box !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
    color:#06142B !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    min-height:75px !important;
    margin:0 0 16px !important;
    padding:0 !important;
}

.woocommerce ul.products li.product .price{
    color:#06142B !important;
    display:block !important;
    font-size:26px !important;
    line-height:1 !important;
    font-weight:900 !important;
    margin:0 24px 24px !important;
    text-align:left !important;
}

.woocommerce ul.products li.product .price .amount{
    color:#06142B !important;
}

.tirnan-loop-cart-row{
    display:grid !important;
    grid-template-columns:145px 145px !important;
    gap:16px !important;
    padding:0 24px 28px !important;
    align-items:center !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin-top:auto !important;
}

.tirnan-loop-qty{
    display:grid !important;
    grid-template-columns:44px 57px 44px !important;
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    height:52px !important;
    background:#f8fafc !important;
    border:1px solid #e4e9f2 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.tirnan-loop-qty button{
    width:44px !important;
    height:52px !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06142B !important;
    font-size:20px !important;
    font-weight:900 !important;
    cursor:pointer !important;
    padding:0 !important;
}

.tirnan-loop-qty-input{
    width:57px !important;
    min-width:57px !important;
    max-width:57px !important;
    height:52px !important;
    border:0 !important;
    border-left:1px solid #e4e9f2 !important;
    border-right:1px solid #e4e9f2 !important;
    background:#fff !important;
    text-align:center !important;
    color:#06142B !important;
    font-weight:900 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    -moz-appearance:textfield;
}

.tirnan-loop-qty-input::-webkit-outer-spin-button,
.tirnan-loop-qty-input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button{
    background:#E31D23 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:10px !important;
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    height:52px !important;
    padding:0 15px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-align:center !important;
    text-decoration:none !important;
}

.woocommerce ul.products li.product .add_to_cart_button::before{
    content:"🛒";
    margin-right:7px;
    font-size:15px;
    line-height:1;
}

.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover{
    background:#c9151a !important;
    color:#fff !important;
}

.woocommerce-result-count{
    color:#06142B;
    font-weight:800;
    background:#fff;
    border:1px solid #e4e9f2;
    border-radius:14px;
    padding:15px 18px;
    margin:0 0 22px !important;
}

.woocommerce-ordering{
    margin:0 0 22px !important;
}

.woocommerce-ordering select{
    border:1px solid #dfe6f1 !important;
    border-radius:10px !important;
    padding:12px 42px 12px 14px !important;
    min-width:220px;
    background-color:#fff;
    color:#06142B;
    font-weight:700;
}

@media(max-width:760px){
    .woocommerce ul.products,
    .woocommerce-page ul.products{
        grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)) !important;
        gap:24px !important;
    }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }
}

@media(max-width:520px){
    .tirnan-loop-cart-row{
        grid-template-columns:1fr !important;
    }
    .tirnan-loop-qty,
    .woocommerce ul.products li.product .add_to_cart_button,
    .woocommerce ul.products li.product a.button,
    .woocommerce ul.products li.product .button{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
    .tirnan-loop-qty{
        grid-template-columns:52px 1fr 52px !important;
    }
    .tirnan-loop-qty-input{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
}


/* ABSOLUTE FINAL FIX: prevent product card overlap + force one-line Add to cart */
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
.woocommerce-page ul.products.products,
.woocommerce ul.products.products{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
    column-gap:36px !important;
    row-gap:36px !important;
    gap:36px !important;
    margin:30px 0 50px 0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    clear:both !important;
}

body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
.woocommerce ul.products.products::before,
.woocommerce ul.products.products::after{
    display:none !important;
    content:none !important;
}

body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product,
.woocommerce-page ul.products.products li.product,
.woocommerce ul.products.products li.product{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    flex:0 0 330px !important;
    width:330px !important;
    min-width:330px !important;
    max-width:330px !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:0 !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none;
    box-sizing:border-box !important;
    overflow:hidden !important;
    z-index:auto !important;
}

body.woocommerce-shop ul.products li.product + li.product,
body.tax-product_cat ul.products li.product + li.product,
.woocommerce ul.products.products li.product + li.product{
    margin-left:0 !important;
}

.woocommerce ul.products.products li.product a.woocommerce-LoopProduct-link{
    display:block !important;
    width:100% !important;
    padding:24px 24px 0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.woocommerce ul.products.products li.product img{
    display:block !important;
    width:100% !important;
    height:250px !important;
    object-fit:contain !important;
    background:#f8fafc !important;
    border-radius:14px !important;
    padding:16px !important;
    margin:0 0 22px !important;
    box-sizing:border-box !important;
}

.woocommerce ul.products.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products.products li.product h2{
    font-size:19px !important;
    line-height:1.25 !important;
    min-height:72px !important;
    margin:0 0 16px !important;
    padding:0 !important;
    overflow:hidden !important;
}

.woocommerce ul.products.products li.product .price{
    margin:0 24px 22px !important;
    font-size:25px !important;
    line-height:1 !important;
    text-align:left !important;
}

.woocommerce ul.products.products li.product .tirnan-loop-cart-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    width:100% !important;
    padding:0 24px 28px !important;
    margin:0 !important;
    box-sizing:border-box !important;
}

.woocommerce ul.products.products li.product .tirnan-loop-qty{
    flex:0 0 140px !important;
    width:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    height:50px !important;
    display:grid !important;
    grid-template-columns:42px 56px 42px !important;
    box-sizing:border-box !important;
}

.woocommerce ul.products.products li.product .tirnan-loop-qty button{
    width:42px !important;
    height:50px !important;
    min-width:42px !important;
    max-width:42px !important;
    padding:0 !important;
    color:#06142B !important;
}

.woocommerce ul.products.products li.product .tirnan-loop-qty-input{
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    height:50px !important;
    padding:0 !important;
    color:#06142B !important;
}

.woocommerce ul.products.products li.product a.add_to_cart_button,
.woocommerce ul.products.products li.product a.button,
.woocommerce ul.products.products li.product .button{
    flex:0 0 126px !important;
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 10px !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    line-height:1 !important;
    font-size:14px !important;
    font-weight:900 !important;
}

.woocommerce ul.products.products li.product a.add_to_cart_button::before{
    content:"🛒";
    display:inline-block;
    margin-right:6px;
    font-size:14px;
    line-height:1;
}

@media(max-width:760px){
    body.woocommerce-shop ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.post-type-archive-product ul.products li.product,
    .woocommerce-page ul.products.products li.product,
    .woocommerce ul.products.products li.product{
        flex:1 1 280px !important;
        width:auto !important;
        min-width:280px !important;
        max-width:100% !important;
    }
}

@media(max-width:520px){
    body.woocommerce-shop ul.products,
    body.tax-product_cat ul.products,
    .woocommerce ul.products.products{
        gap:22px !important;
    }

    body.woocommerce-shop ul.products li.product,
    body.tax-product_cat ul.products li.product,
    .woocommerce ul.products.products li.product{
        flex:1 1 100% !important;
        min-width:0 !important;
        width:100% !important;
    }

    .woocommerce ul.products.products li.product .tirnan-loop-cart-row{
        flex-direction:column !important;
        align-items:stretch !important;
    }

    .woocommerce ul.products.products li.product .tirnan-loop-qty,
    .woocommerce ul.products.products li.product a.add_to_cart_button,
    .woocommerce ul.products.products li.product a.button,
    .woocommerce ul.products.products li.product .button{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        flex:0 0 auto !important;
    }

    .woocommerce ul.products.products li.product .tirnan-loop-qty{
        grid-template-columns:50px 1fr 50px !important;
    }

    .woocommerce ul.products.products li.product .tirnan-loop-qty-input{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }
}


/* FORCE SHOP CONTAINER WIDER + TRUE 4 COLUMN GRID */
.woocommerce-page .site-main,
.woocommerce .site-main,
.post-type-archive-product .site-main,
.tax-product_cat .site-main{
    max-width:1400px !important;
    width:100% !important;
}

.woocommerce ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
}

.woocommerce ul.products li.product{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    float:none !important;
    margin:0 !important;
}

@media(max-width:1200px){
 .woocommerce ul.products{
   grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 }
}


/* === TIRNAN DEFINITIVE 4-COLUMN SHOP GRID FIX === */
/* Widen only WooCommerce catalogue pages, overriding the theme's 1180px .container */
body.post-type-archive-product .content-wrap > .container,
body.tax-product_cat .content-wrap > .container,
body.tax-product_tag .content-wrap > .container,
body.woocommerce-shop .content-wrap > .container,
body.archive.woocommerce .content-wrap > .container {
    width: min(1440px, calc(100% - 48px)) !important;
    max-width: 1440px !important;
}

/* Force product loop to grid, not flex/floats */
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.archive.woocommerce .woocommerce ul.products,
.woocommerce-page.archive ul.products.products,
.woocommerce.archive ul.products.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    margin: 28px 0 50px !important;
    padding: 0 !important;
}

/* Kill WooCommerce float clearfix behaviour */
body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after,
body.woocommerce-shop .woocommerce ul.products::before,
body.woocommerce-shop .woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

/* This is the important part: override the previous fixed 330px flex-basis */
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product,
body.woocommerce-shop .woocommerce ul.products li.product,
body.archive.woocommerce .woocommerce ul.products li.product,
.woocommerce-page.archive ul.products.products li.product,
.woocommerce.archive ul.products.products li.product {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    flex: none !important;
    flex-basis: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Compact card internals so 4 cards look balanced */
body.archive.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    padding: 18px 18px 0 !important;
}

body.archive.woocommerce ul.products li.product img,
body.post-type-archive-product .woocommerce ul.products li.product img,
body.tax-product_cat .woocommerce ul.products li.product img {
    height: 200px !important;
    width: 100% !important;
    object-fit: contain !important;
    padding: 14px !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
}

body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
    line-height: 1.25 !important;
    min-height: 58px !important;
    margin-bottom: 12px !important;
}

body.archive.woocommerce ul.products li.product .price,
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price {
    font-size: 21px !important;
    margin: 0 18px 18px !important;
}

/* Stack quantity and add-to-cart inside 4-column cards to prevent squeezing */
body.archive.woocommerce ul.products li.product .tirnan-loop-cart-row,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-cart-row,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-cart-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 18px 22px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.archive.woocommerce ul.products li.product .tirnan-loop-qty,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-qty,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-qty {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 42px 1fr 42px !important;
    height: 46px !important;
}

body.archive.woocommerce ul.products li.product .tirnan-loop-qty-input,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-qty-input,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-qty-input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
}

body.archive.woocommerce ul.products li.product .tirnan-loop-qty button,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-qty button,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-qty button {
    width: 42px !important;
    height: 46px !important;
    max-width: 42px !important;
    min-width: 42px !important;
}

body.archive.woocommerce ul.products li.product a.add_to_cart_button,
body.archive.woocommerce ul.products li.product a.button,
body.post-type-archive-product .woocommerce ul.products li.product a.add_to_cart_button,
body.post-type-archive-product .woocommerce ul.products li.product a.button,
body.tax-product_cat .woocommerce ul.products li.product a.add_to_cart_button,
body.tax-product_cat .woocommerce ul.products li.product a.button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

/* Hide WooCommerce's separate View basket link after AJAX add, which was breaking the card */
body.archive.woocommerce ul.products li.product a.added_to_cart,
body.post-type-archive-product .woocommerce ul.products li.product a.added_to_cart,
body.tax-product_cat .woocommerce ul.products li.product a.added_to_cart {
    display: none !important;
}

/* Keep 4 columns on normal desktop widths; only drop below tablet-ish */
@media (max-width: 1050px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 800px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 560px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* Tirnan green Add to Cart success state */
.woocommerce ul.products li.product a.add_to_cart_button.added,
.woocommerce ul.products li.product a.button.added {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}

.woocommerce ul.products li.product a.add_to_cart_button.added::before,
.woocommerce ul.products li.product a.button.added::before {
    content: "✓" !important;
    margin-right: 7px !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.woocommerce ul.products li.product a.add_to_cart_button.added::after,
.woocommerce ul.products li.product a.button.added::after {
    display: none !important;
    content: none !important;
}

/* Hide WooCommerce View Basket link after AJAX add so layout does not break */
.woocommerce ul.products li.product a.added_to_cart,
.woocommerce ul.products li.product .added_to_cart {
    display: none !important;
}

/* Green success notice */
.woocommerce-message {
    border-top-color: #16a34a !important;
    background: #ecfff3 !important;
    color: #064e3b !important;
}

.woocommerce-message::before {
    color: #16a34a !important;
}

.woocommerce-message .button,
.woocommerce-message a.button {
    background: #16a34a !important;
    color: #ffffff !important;
}


/* Align catalogue products with navy header title/footer width */
body.post-type-archive-product .content-wrap > .container,
body.tax-product_cat .content-wrap > .container,
body.tax-product_tag .content-wrap > .container,
body.woocommerce-shop .content-wrap > .container,
body.archive.woocommerce .content-wrap > .container,
body.post-type-archive-product .tirnan-breadcrumb-bar > .container,
body.tax-product_cat .tirnan-breadcrumb-bar > .container,
body.tax-product_tag .tirnan-breadcrumb-bar > .container,
body.woocommerce-shop .tirnan-breadcrumb-bar > .container,
body.archive.woocommerce .tirnan-breadcrumb-bar > .container {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Keep 4 products inside the same 1180px content width */
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.archive.woocommerce .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: stretch !important;
    align-items: stretch !important;
}

/* Smaller product cards so 4 fit neatly */
body.archive.woocommerce ul.products li.product,
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
}

body.archive.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    padding: 16px 16px 0 !important;
}

body.archive.woocommerce ul.products li.product img,
body.post-type-archive-product .woocommerce ul.products li.product img,
body.tax-product_cat .woocommerce ul.products li.product img {
    height: 175px !important;
    padding: 12px !important;
    margin-bottom: 16px !important;
}

body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px !important;
    line-height: 1.25 !important;
    min-height: 56px !important;
    margin-bottom: 10px !important;
}

body.archive.woocommerce ul.products li.product .price,
body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price {
    font-size: 20px !important;
    margin: 0 16px 16px !important;
}

body.archive.woocommerce ul.products li.product .tirnan-loop-cart-row,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-cart-row,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-cart-row {
    padding: 0 16px 18px !important;
    gap: 9px !important;
}

body.archive.woocommerce ul.products li.product .tirnan-loop-qty,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-qty,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-qty {
    height: 42px !important;
    grid-template-columns: 38px 1fr 38px !important;
}

body.archive.woocommerce ul.products li.product .tirnan-loop-qty button,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-qty button,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-qty button,
body.archive.woocommerce ul.products li.product .tirnan-loop-qty-input,
body.post-type-archive-product .woocommerce ul.products li.product .tirnan-loop-qty-input,
body.tax-product_cat .woocommerce ul.products li.product .tirnan-loop-qty-input {
    height: 42px !important;
}

body.archive.woocommerce ul.products li.product a.add_to_cart_button,
body.archive.woocommerce ul.products li.product a.button,
body.post-type-archive-product .woocommerce ul.products li.product a.add_to_cart_button,
body.post-type-archive-product .woocommerce ul.products li.product a.button,
body.tax-product_cat .woocommerce ul.products li.product a.add_to_cart_button,
body.tax-product_cat .woocommerce ul.products li.product a.button {
    height: 44px !important;
    min-height: 44px !important;
    font-size: 14px !important;
}

@media (max-width: 1050px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 800px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* TIRNAN SINGLE CLEAN CART CONTROL */
.woocommerce-cart .tirnan-cart-control{
    display:inline-grid !important;
    grid-template-columns:44px 72px 44px !important;
    align-items:center !important;
    width:160px !important;
    height:44px !important;
    border:1px solid #d7e0ec !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    margin:8px 0 0 !important;
    box-sizing:border-box !important;
    vertical-align:middle !important;
}

.woocommerce-cart .tirnan-cart-control-minus,
.woocommerce-cart .tirnan-cart-control-plus{
    width:44px !important;
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06142B !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}

.woocommerce-cart .tirnan-cart-control-minus{
    border-right:1px solid #d7e0ec !important;
}

.woocommerce-cart .tirnan-cart-control-plus{
    border-left:1px solid #d7e0ec !important;
}

.woocommerce-cart .tirnan-cart-control-minus:hover,
.woocommerce-cart .tirnan-cart-control-plus:hover{
    background:#eef2f7 !important;
}

.woocommerce-cart .tirnan-cart-control-value{
    width:72px !important;
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    color:#06142B !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-align:center !important;
}

.woocommerce-cart .tirnan-cart-real-input{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

.woocommerce-cart .tirnan-cart-bin{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    border-radius:10px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    font-size:0 !important;
    line-height:1 !important;
    text-decoration:none !important;
    margin:10px 0 0 12px !important;
    border:0 !important;
    vertical-align:middle !important;
}

.woocommerce-cart .tirnan-cart-bin::before{
    content:"🗑" !important;
    font-size:17px !important;
    line-height:1 !important;
}

.woocommerce-cart .tirnan-cart-bin:hover{
    background:#E31D23 !important;
    color:#fff !important;
}

.woocommerce-cart td.product-remove a.remove{
    display:none !important;
}

/* remove old custom control visual styles if browser cache still has them */
.woocommerce-cart .tirnan-working-qty,
.woocommerce-cart .tirnan-native-qty,
.woocommerce-cart .tirnan-forced-qty,
.woocommerce-cart .tirnan-cart-qty-wrap,
.woocommerce-cart .tirnan-clean-qty{
    all:unset !important;
}


/* TIRNAN VISIBLE CART BUTTONS REPAIR */
.woocommerce-cart .tirnan-visible-qty{
    display:inline-grid !important;
    grid-template-columns:42px 64px 42px !important;
    width:148px !important;
    height:42px !important;
    border:1px solid #d7e0ec !important;
    border-radius:9px !important;
    overflow:hidden !important;
    background:#fff !important;
    margin:8px 0 0 !important;
    vertical-align:middle !important;
    box-sizing:border-box !important;
}

.woocommerce-cart .tirnan-visible-minus,
.woocommerce-cart .tirnan-visible-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06142B !important;
    font-size:21px !important;
    font-weight:900 !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
    z-index:20 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.woocommerce-cart .tirnan-visible-minus{ border-right:1px solid #d7e0ec !important; }
.woocommerce-cart .tirnan-visible-plus{ border-left:1px solid #d7e0ec !important; }

.woocommerce-cart .tirnan-visible-num{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:64px !important;
    height:42px !important;
    color:#06142B !important;
    background:#fff !important;
    font-size:16px !important;
    font-weight:900 !important;
    z-index:20 !important;
}

.woocommerce-cart .tirnan-visible-qty input.qty{
    position:absolute !important;
    left:-99999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.woocommerce-cart .tirnan-visible-bin{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    border-radius:10px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    font-size:0 !important;
    margin:10px 0 0 12px !important;
    text-decoration:none !important;
}

.woocommerce-cart .tirnan-visible-bin::before{
    content:"🗑" !important;
    font-size:17px !important;
}

/* Hide earlier broken visual wrappers */
.woocommerce-cart .tirnan-cart-control,
.woocommerce-cart .tirnan-clean-qty,
.woocommerce-cart .tirnan-working-qty,
.woocommerce-cart .tirnan-native-qty,
.woocommerce-cart .tirnan-forced-qty,
.woocommerce-cart .tirnan-cart-qty-wrap{
    display:none !important;
}


/* Sexy logged-in trade application message */
.tirnan-already-logged-card{
    max-width:880px;
    margin:48px auto;
    padding:0;
    display:grid;
    grid-template-columns:120px 1fr;
    gap:0;
    background:#fff;
    border:1px solid #e4e9f2;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 22px 60px rgba(6,20,43,.12);
}

.tirnan-already-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#06142B,#0b2a56);
    color:#fff;
    font-size:42px;
    font-weight:900;
}

.tirnan-already-content{
    padding:38px 42px;
}

.tirnan-already-kicker{
    margin:0 0 8px;
    color:#E31D23;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:13px;
}

.tirnan-already-content h2{
    color:#06142B;
    margin:0 0 12px;
    font-size:34px;
    line-height:1.1;
    font-weight:900;
}

.tirnan-already-content p{
    color:#344054;
    margin:0 0 24px;
    font-size:17px;
    line-height:1.5;
}

.tirnan-already-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.tirnan-already-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:12px;
    font-weight:900;
    text-decoration:none !important;
}

.tirnan-already-btn.primary{
    background:#E31D23;
    color:#fff !important;
}

.tirnan-already-btn.primary:hover{
    background:#c9151a;
}

.tirnan-already-btn.secondary{
    background:#06142B;
    color:#fff !important;
}

.tirnan-already-btn.secondary:hover{
    background:#0b2a56;
}

@media(max-width:700px){
    .tirnan-already-logged-card{
        grid-template-columns:1fr;
        margin:28px 16px;
    }
    .tirnan-already-icon{
        min-height:90px;
    }
    .tirnan-already-content{
        padding:28px;
    }
    .tirnan-already-content h2{
        font-size:28px;
    }
    .tirnan-already-actions{
        flex-direction:column;
    }
    .tirnan-already-btn{
        width:100%;
    }
}


/* MOBILE PRODUCT GRID FIX */
@media (max-width: 767px) {
    body.post-type-archive-product .content-wrap > .container,
    body.tax-product_cat .content-wrap > .container,
    body.tax-product_tag .content-wrap > .container,
    body.woocommerce-shop .content-wrap > .container,
    body.archive.woocommerce .content-wrap > .container {
        width: min(100% - 28px, 100%) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products,
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 22px 0 36px !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product,
    body.tax-product_cat .woocommerce ul.products li.product,
    body.tax-product_tag .woocommerce ul.products li.product,
    body.woocommerce-shop .woocommerce ul.products li.product,
    body.archive.woocommerce .woocommerce ul.products li.product,
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        border-radius: 14px !important;
    }

    .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
        padding: 12px 12px 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product img {
        width: 100% !important;
        height: 135px !important;
        max-height: 135px !important;
        object-fit: contain !important;
        padding: 10px !important;
        margin: 0 0 12px !important;
        box-sizing: border-box !important;
        border-radius: 12px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2 {
        font-size: 13px !important;
        line-height: 1.25 !important;
        min-height: 50px !important;
        max-height: none !important;
        margin: 0 0 9px !important;
        padding: 0 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    .woocommerce ul.products li.product .price {
        font-size: 17px !important;
        line-height: 1 !important;
        margin: 0 12px 12px !important;
        text-align: left !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-cart-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 0 12px 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        display: grid !important;
        grid-template-columns: 38px 1fr 38px !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty button,
    .woocommerce ul.products li.product .tirnan-loop-qty-input {
        height: 40px !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty button {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        font-size: 18px !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty-input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        font-size: 14px !important;
    }

    .woocommerce ul.products li.product a.add_to_cart_button,
    .woocommerce ul.products li.product a.button,
    .woocommerce ul.products li.product .button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 8px !important;
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .woocommerce-result-count {
        display: inline-block !important;
        font-size: 15px !important;
        padding: 12px 14px !important;
        margin: 0 0 14px !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .woocommerce-ordering {
        float: none !important;
        width: 100% !important;
        margin: 0 0 18px !important;
    }

    .woocommerce-ordering select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: 14px !important;
    }
}

@media (max-width: 420px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products,
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .woocommerce ul.products li.product img {
        height: 120px !important;
        max-height: 120px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2 {
        font-size: 12.5px !important;
        min-height: 48px !important;
    }

    .woocommerce ul.products li.product .price {
        font-size: 16px !important;
    }
}


/* MOBILE OVERFLOW FIX - stop cart/search/header pushing page sideways */
html,
body{
    max-width:100% !important;
    overflow-x:hidden !important;
}

@media (max-width: 767px) {
    .container,
    .site-header__row,
    .search-strip__row,
    .tirnan-hero .container,
    .tirnan-hero-inner,
    .content-wrap > .container,
    .page-hero .container,
    .tirnan-breadcrumb-bar .container{
        width:100% !important;
        max-width:100% !important;
        padding-left:16px !important;
        padding-right:16px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        box-sizing:border-box !important;
    }

    .top-header,
    .search-strip,
    .tirnan-hero,
    .page-hero,
    .content-wrap,
    main,
    section{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
        box-sizing:border-box !important;
    }

    .top-header .site-header__row{
        display:grid !important;
        grid-template-columns:1fr auto !important;
        gap:12px !important;
        align-items:center !important;
    }

    .site-logo img,
    .custom-logo{
        max-width:170px !important;
        height:auto !important;
    }

    .main-nav,
    .header-actions{
        display:none !important;
    }

    .mobile-menu-toggle{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:56px !important;
        height:46px !important;
        border-radius:10px !important;
        background:#06142B !important;
        color:#fff !important;
        border:0 !important;
        font-size:22px !important;
        margin-left:auto !important;
    }

    .search-strip__row{
        display:grid !important;
        grid-template-columns:1fr auto !important;
        gap:0 !important;
        align-items:center !important;
        min-width:0 !important;
    }

    .cat-menu-wrap{
        min-width:0 !important;
        max-width:100% !important;
    }

    .cat-toggle{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        padding:18px 12px !important;
        font-size:16px !important;
        box-sizing:border-box !important;
    }

    .product-search{
        display:none !important;
    }

    .mini-cart{
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:8px !important;
        width:auto !important;
        max-width:160px !important;
        min-width:0 !important;
        padding:16px 8px !important;
        box-sizing:border-box !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        color:#fff !important;
        font-size:16px !important;
    }

    .mini-cart .tirnan-mini-cart-total,
    .mini-cart > span:first-of-type,
    .mini-cart .amount{
        display:inline-block !important;
        max-width:95px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        color:#fff !important;
        font-size:18px !important;
        font-weight:900 !important;
    }

    .mini-cart .cart-count,
    .mini-cart .tirnan-cart-count{
        position:static !important;
        flex:0 0 auto !important;
        width:28px !important;
        height:28px !important;
        min-width:28px !important;
        max-width:28px !important;
        border-radius:50% !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#E31D23 !important;
        color:#fff !important;
        font-size:14px !important;
        font-weight:900 !important;
        margin:0 !important;
        transform:none !important;
    }

    .tirnan-hero,
    .home .tirnan-hero{
        padding:46px 0 56px !important;
    }

    .tirnan-hero .container,
    .tirnan-hero-inner{
        display:block !important;
    }

    .tirnan-hero h1{
        font-size:42px !important;
        line-height:0.98 !important;
        max-width:100% !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
        letter-spacing:-0.04em !important;
    }

    .tirnan-hero .hero-script,
    .tirnan-hero .script{
        font-size:28px !important;
        line-height:1.05 !important;
    }

    .tirnan-hero p{
        font-size:18px !important;
        line-height:1.45 !important;
        max-width:100% !important;
    }

    .tirnan-hero-actions,
    .hero-actions{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:12px !important;
        max-width:100% !important;
    }

    .tirnan-hero-actions a,
    .hero-actions a,
    .tirnan-hero .btn,
    .tirnan-hero .button{
        max-width:100% !important;
        box-sizing:border-box !important;
        white-space:normal !important;
        text-align:center !important;
    }

    .tirnan-benefits-bar,
    .benefits-bar,
    .usp-bar{
        width:calc(100% - 32px) !important;
        max-width:calc(100% - 32px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }
}

@media (max-width: 420px) {
    .site-logo img,
    .custom-logo{
        max-width:150px !important;
    }

    .mini-cart{
        max-width:140px !important;
        font-size:14px !important;
    }

    .mini-cart .tirnan-mini-cart-total,
    .mini-cart > span:first-of-type,
    .mini-cart .amount{
        max-width:78px !important;
        font-size:16px !important;
    }

    .tirnan-hero h1{
        font-size:36px !important;
    }
}


/* FINAL MOBILE SHOP PRODUCT FIX - force proper 2 cards per row */
@media (max-width: 767px) {

    /* Stop old desktop 4-column rules causing skinny cards */
    body.woocommerce-shop .woocommerce ul.products,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products,
    ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 22px 0 36px !important;
        overflow: visible !important;
        justify-content: stretch !important;
        align-items: stretch !important;
    }

    body.woocommerce-shop .woocommerce ul.products::before,
    body.woocommerce-shop .woocommerce ul.products::after,
    body.tax-product_cat .woocommerce ul.products::before,
    body.tax-product_cat .woocommerce ul.products::after,
    .woocommerce ul.products::before,
    .woocommerce ul.products::after {
        display: none !important;
        content: none !important;
    }

    body.woocommerce-shop .woocommerce ul.products li.product,
    body.post-type-archive-product .woocommerce ul.products li.product,
    body.tax-product_cat .woocommerce ul.products li.product,
    body.tax-product_tag .woocommerce ul.products li.product,
    body.archive.woocommerce .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .woocommerce ul.products li.product,
    ul.products li.product {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: none !important;
        flex-basis: auto !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
        display: block !important;
        width: 100% !important;
        padding: 12px 12px 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        display: block !important;
        width: 100% !important;
        height: 130px !important;
        max-height: 130px !important;
        min-height: 130px !important;
        object-fit: contain !important;
        background: #f8fafc !important;
        border-radius: 12px !important;
        padding: 10px !important;
        margin: 0 0 12px !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    .woocommerce-page ul.products li.product h2 {
        display: block !important;
        color: #06142B !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        font-weight: 900 !important;
        min-height: 52px !important;
        max-height: none !important;
        margin: 0 0 9px !important;
        padding: 0 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        hyphens: none !important;
        text-align: left !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        display: block !important;
        font-size: 17px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        margin: 0 12px 12px !important;
        text-align: left !important;
        color: #06142B !important;
        white-space: nowrap !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-cart-row,
    .woocommerce-page ul.products li.product .tirnan-loop-cart-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 0 12px 14px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty,
    .woocommerce-page ul.products li.product .tirnan-loop-qty {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        display: grid !important;
        grid-template-columns: 38px 1fr 38px !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty button,
    .woocommerce-page ul.products li.product .tirnan-loop-qty button {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 40px !important;
        font-size: 18px !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty-input,
    .woocommerce-page ul.products li.product .tirnan-loop-qty-input {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 40px !important;
        font-size: 14px !important;
    }

    .woocommerce ul.products li.product a.add_to_cart_button,
    .woocommerce-page ul.products li.product a.add_to_cart_button,
    .woocommerce ul.products li.product a.button,
    .woocommerce-page ul.products li.product a.button,
    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 8px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-align: center !important;
    }
}

/* Smaller phones still 2 per row, with slightly tighter cards */
@media (max-width: 430px) {
    body.woocommerce-shop .woocommerce ul.products,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products,
    ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        height: 118px !important;
        max-height: 118px !important;
        min-height: 118px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    .woocommerce-page ul.products li.product h2 {
        font-size: 12px !important;
        line-height: 1.22 !important;
        min-height: 48px !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        font-size: 16px !important;
    }
}

/* Very narrow devices can fall to 1 column if needed */
@media (max-width: 330px) {
    body.woocommerce-shop .woocommerce ul.products,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products,
    ul.products {
        grid-template-columns: 1fr !important;
    }
}


/* === TIRNAN HARD FINAL MOBILE 2-COLUMN PRODUCT GRID === */
@media only screen and (max-width: 768px) {
    body.woocommerce-shop .content-wrap > .container,
    body.post-type-archive-product .content-wrap > .container,
    body.tax-product_cat .content-wrap > .container,
    body.archive.woocommerce .content-wrap > .container,
    .woocommerce .content-wrap > .container {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-shop ul.products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.archive.woocommerce ul.products,
    body.woocommerce-shop .woocommerce ul.products,
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.archive.woocommerce .woocommerce ul.products,
    body.woocommerce-shop ul.products.columns-4,
    body.post-type-archive-product ul.products.columns-4,
    body.tax-product_cat ul.products.columns-4,
    body.archive.woocommerce ul.products.columns-4,
    body.woocommerce-shop .woocommerce ul.products.columns-4,
    body.post-type-archive-product .woocommerce ul.products.columns-4,
    body.tax-product_cat .woocommerce ul.products.columns-4,
    body.archive.woocommerce .woocommerce ul.products.columns-4,
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products.columns-4 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-columns: auto !important;
        grid-auto-flow: row !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 22px 0 36px !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
    }

    body.woocommerce-shop ul.products:before,
    body.woocommerce-shop ul.products:after,
    body.post-type-archive-product ul.products:before,
    body.post-type-archive-product ul.products:after,
    body.tax-product_cat ul.products:before,
    body.tax-product_cat ul.products:after,
    .woocommerce ul.products:before,
    .woocommerce ul.products:after {
        display: none !important;
        content: none !important;
    }

    body.woocommerce-shop ul.products li.product,
    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.archive.woocommerce ul.products li.product,
    body.woocommerce-shop .woocommerce ul.products li.product,
    body.post-type-archive-product .woocommerce ul.products li.product,
    body.tax-product_cat .woocommerce ul.products li.product,
    body.archive.woocommerce .woocommerce ul.products li.product,
    body.woocommerce-shop ul.products.columns-4 li.product,
    body.post-type-archive-product ul.products.columns-4 li.product,
    body.tax-product_cat ul.products.columns-4 li.product,
    body.archive.woocommerce ul.products.columns-4 li.product,
    .woocommerce ul.products[class*="columns-"] li.product,
    .woocommerce-page ul.products[class*="columns-"] li.product,
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    ul.products li.product {
        display: flex !important;
        flex-direction: column !important;
        grid-column: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: none !important;
        flex-basis: auto !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
    }

    .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
        display: block !important;
        width: 100% !important;
        padding: 12px 12px 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        width: 100% !important;
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
        object-fit: contain !important;
        padding: 9px !important;
        margin: 0 0 10px !important;
        box-sizing: border-box !important;
        border-radius: 12px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    .woocommerce-page ul.products li.product h2 {
        font-size: 12px !important;
        line-height: 1.22 !important;
        min-height: 48px !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        font-size: 16px !important;
        line-height: 1 !important;
        margin: 0 12px 10px !important;
        white-space: nowrap !important;
        text-align: left !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-cart-row,
    .woocommerce-page ul.products li.product .tirnan-loop-cart-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 0 12px 14px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty,
    .woocommerce-page ul.products li.product .tirnan-loop-qty {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 38px !important;
        display: grid !important;
        grid-template-columns: 36px 1fr 36px !important;
        box-sizing: border-box !important;
    }

    .woocommerce ul.products li.product .tirnan-loop-qty button,
    .woocommerce-page ul.products li.product .tirnan-loop-qty button,
    .woocommerce ul.products li.product .tirnan-loop-qty-input,
    .woocommerce-page ul.products li.product .tirnan-loop-qty-input {
        height: 38px !important;
    }

    .woocommerce ul.products li.product a.add_to_cart_button,
    .woocommerce-page ul.products li.product a.add_to_cart_button,
    .woocommerce ul.products li.product a.button,
    .woocommerce-page ul.products li.product a.button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 7px !important;
        margin: 0 !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
}

/* Absolute smallest screens */
@media only screen and (max-width: 330px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products.columns-4 {
        grid-template-columns: 1fr !important;
    }
}


/* FINAL WP_IS_MOBILE CLASS 2-COLUMN OVERRIDE */
body.tirnan-mobile-device .woocommerce ul.products,
body.tirnan-mobile-device.woocommerce-page ul.products,
body.tirnan-mobile-device ul.products.columns-4,
body.tirnan-mobile-device ul.products {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

body.tirnan-mobile-device .woocommerce ul.products li.product,
body.tirnan-mobile-device.woocommerce-page ul.products li.product,
body.tirnan-mobile-device ul.products.columns-4 li.product,
body.tirnan-mobile-device ul.products li.product {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    float:none !important;
    clear:none !important;
    flex:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

body.tirnan-mobile-device .woocommerce ul.products li.product img {
    height:120px !important;
    max-height:120px !important;
    object-fit:contain !important;
    width:100% !important;
}


/* Mobile Trade Login + Account Application buttons */
.tirnan-mobile-trade-actions{
    display:none;
}

@media (max-width: 767px){
    .tirnan-mobile-trade-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr;
        gap:10px;
        width:100%;
        max-width:100%;
        padding:10px 16px 12px;
        background:#ffffff;
        border-bottom:1px solid #e5e9f2;
        box-sizing:border-box;
        position:relative;
        z-index:40;
    }

    .tirnan-mobile-trade-actions a{
        min-height:44px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        text-align:center;
        border-radius:10px;
        font-size:14px;
        line-height:1.1;
        font-weight:900;
        text-decoration:none !important;
        box-sizing:border-box;
        padding:0 10px;
        white-space:nowrap;
    }

    .tirnan-mobile-trade-login{
        background:#06142B;
        color:#ffffff !important;
    }

    .tirnan-mobile-apply{
        background:#E31D23;
        color:#ffffff !important;
    }

    .tirnan-mobile-lock{
        display:inline-block;
        margin-right:5px;
        font-size:12px;
        line-height:1;
    }

    /* Keep desktop header action buttons hidden on mobile, but show our mobile versions */
    .top-header .header-actions{
        display:none !important;
    }
}

@media (max-width: 360px){
    .tirnan-mobile-trade-actions{
        grid-template-columns:1fr;
    }
}


/* Put mobile account buttons at the end of the dropdown menu */
@media (max-width: 767px){
    /* hide the separate bar version */
    .tirnan-mobile-trade-actions{
        display:none !important;
    }

    .tirnan-mobile-menu-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        padding:14px 0 4px !important;
        margin-top:12px !important;
        border-top:1px solid rgba(6,20,43,.12) !important;
        list-style:none !important;
    }

    .tirnan-mobile-menu-actions a{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        min-height:46px !important;
        border-radius:10px !important;
        padding:0 14px !important;
        font-size:15px !important;
        line-height:1.1 !important;
        font-weight:900 !important;
        text-decoration:none !important;
        box-sizing:border-box !important;
        white-space:nowrap !important;
    }

    .tirnan-mobile-menu-login{
        background:#06142B !important;
        color:#ffffff !important;
    }

    .tirnan-mobile-menu-apply{
        background:#E31D23 !important;
        color:#ffffff !important;
    }
}

@media (min-width: 768px){
    .tirnan-mobile-menu-actions{
        display:none !important;
    }
}


/* Uniform navy page header height across all internal pages */
.page-hero,
.tirnan-global-page-header,
.tirnan-page-header,
.shop-header,
.woocommerce-products-header,
body:not(.home) .hero,
body:not(.home) .archive-header {
    background:#061F4D !important;
    color:#fff !important;
    min-height:180px !important;
    height:180px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    box-sizing:border-box !important;
}

.page-hero .container,
.tirnan-global-page-header-inner,
.tirnan-page-header .container,
.shop-header .container,
.woocommerce-products-header .container,
body:not(.home) .hero .container,
body:not(.home) .archive-header .container {
    width:min(1180px, calc(100% - 32px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

.page-hero h1,
.tirnan-global-page-header h1,
.tirnan-page-header h1,
.shop-header h1,
.woocommerce-products-header h1,
.woocommerce-products-header .woocommerce-products-header__title,
body:not(.home) .hero h1,
body:not(.home) .archive-header h1 {
    color:#fff !important;
    font-size:46px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    margin:0 !important;
    padding:0 !important;
}

/* Keep breadcrumbs consistent underneath the navy bar */
.tirnan-global-breadcrumbs,
.breadcrumb-bar,
.woocommerce-breadcrumb,
.tirnan-breadcrumb-bar {
    min-height:50px;
}

/* Mobile/tablet internal page header heights */
@media(max-width:900px){
    .page-hero,
    .tirnan-global-page-header,
    .tirnan-page-header,
    .shop-header,
    .woocommerce-products-header,
    body:not(.home) .hero,
    body:not(.home) .archive-header {
        min-height:150px !important;
        height:150px !important;
    }

    .page-hero h1,
    .tirnan-global-page-header h1,
    .tirnan-page-header h1,
    .shop-header h1,
    .woocommerce-products-header h1,
    .woocommerce-products-header .woocommerce-products-header__title,
    body:not(.home) .hero h1,
    body:not(.home) .archive-header h1 {
        font-size:38px !important;
    }
}

@media(max-width:600px){
    .page-hero,
    .tirnan-global-page-header,
    .tirnan-page-header,
    .shop-header,
    .woocommerce-products-header,
    body:not(.home) .hero,
    body:not(.home) .archive-header {
        min-height:120px !important;
        height:120px !important;
    }

    .page-hero h1,
    .tirnan-global-page-header h1,
    .tirnan-page-header h1,
    .shop-header h1,
    .woocommerce-products-header h1,
    .woocommerce-products-header .woocommerce-products-header__title,
    body:not(.home) .hero h1,
    body:not(.home) .archive-header h1 {
        font-size:32px !important;
    }
}


/* Match page header navy to top category/search bar */
.page-hero,
.tirnan-page-header,
.tirnan-global-page-header,
.woocommerce-products-header,
.shop-header,
body:not(.home) .archive-header,
body:not(.home) .hero {
    background:#001B4D !important;
    background-image:none !important;
}


/* EXACT NAVY MATCH FOR PAGE TITLE BANNERS */
.search-strip,
.search-bar-wrap,
.category-search-wrap,
.category-bar {
    background:#001B4D !important;
}

.page-hero,
.page-header,
.tirnan-page-header,
.tirnan-global-page-header,
.woocommerce-products-header,
.woocommerce-products-header-wrapper,
.hero-banner,
.archive-banner,
.page-title-banner,
body:not(.home) .page-hero,
body:not(.home) .page-header {
    background:#001B4D !important;
    background-image:none !important;
}

/* Remove any overlay that lightens the banner */
.page-hero:before,
.page-hero:after,
.page-header:before,
.page-header:after,
.tirnan-page-header:before,
.tirnan-page-header:after,
.tirnan-global-page-header:before,
.tirnan-global-page-header:after {
    display:none !important;
    background:none !important;
    opacity:0 !important;
}


/* TIRNAN FINAL NAVY COLOUR UPDATE - #06162F */
.search-strip,
.search-bar-wrap,
.category-search-wrap,
.category-bar,
.page-hero,
.page-header,
.tirnan-page-header,
.tirnan-global-page-header,
.woocommerce-products-header,
.woocommerce-products-header-wrapper,
.hero-banner,
.archive-banner,
.page-title-banner,
.shop-header,
body:not(.home) .archive-header,
body:not(.home) .hero,
body:not(.home) .page-hero,
body:not(.home) .page-header {
    background: #06162F !important;
    background-color: #06162F !important;
    background-image: none !important;
}

/* Remove overlays that can make the navy appear lighter/different */
.search-strip::before,
.search-strip::after,
.page-hero::before,
.page-hero::after,
.page-header::before,
.page-header::after,
.tirnan-page-header::before,
.tirnan-page-header::after,
.tirnan-global-page-header::before,
.tirnan-global-page-header::after,
.woocommerce-products-header::before,
.woocommerce-products-header::after {
    display: none !important;
    background: none !important;
    opacity: 0 !important;
}


/* Sexy My Account address + account detail sections */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px !important;
    width:100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .u-column2 {
    background:#ffffff !important;
    border:1px solid #e4e9f2 !important;
    border-radius:18px !important;
    padding:26px !important;
    box-shadow:0 16px 44px rgba(6,22,47,.08) !important;
    min-height:210px !important;
    box-sizing:border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    margin-bottom:18px !important;
    border-bottom:1px solid #eef2f7 !important;
    padding-bottom:16px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account h3,
.woocommerce-account .woocommerce-MyAccount-content legend {
    color:#06162F !important;
    font-size:24px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    margin:0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2::before {
    content:"📍";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-right:12px;
    border-radius:12px;
    background:#fff0f1;
    color:#E31D23;
    font-size:18px;
    vertical-align:middle;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:10px !important;
    background:#E31D23 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover {
    background:#c9151a !important;
}

.woocommerce-account .woocommerce-MyAccount-content address {
    color:#344054 !important;
    font-size:16px !important;
    line-height:1.55 !important;
    font-style:normal !important;
    margin:0 !important;
    padding:16px 18px !important;
    background:#f8fafc !important;
    border:1px solid #eef2f7 !important;
    border-radius:14px !important;
}

.woocommerce-account .woocommerce-MyAccount-content address em,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    color:#344054 !important;
}

/* Account details form */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account {
    display:block !important;
    max-width:820px !important;
    background:#fff !important;
    border:1px solid #e4e9f2 !important;
    border-radius:18px !important;
    padding:30px !important;
    box-shadow:0 16px 44px rgba(6,22,47,.08) !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.edit-account p.form-row {
    margin-bottom:18px !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.edit-account label {
    color:#06162F !important;
    font-weight:900 !important;
    margin-bottom:7px !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.edit-account input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields textarea {
    border:1px solid #dfe6f1 !important;
    border-radius:10px !important;
    min-height:46px !important;
    padding:10px 13px !important;
    color:#06162F !important;
    background:#fff !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.edit-account input:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input:focus {
    border-color:#E31D23 !important;
    outline:2px solid rgba(227,29,35,.12) !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.edit-account button.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button.button {
    background:#E31D23 !important;
    color:#fff !important;
    border-radius:10px !important;
    min-height:46px !important;
    padding:0 22px !important;
    font-weight:900 !important;
    border:0 !important;
}

/* Empty address text nicer */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address:has(em) {
    background:linear-gradient(135deg,#f8fafc,#fff5f5) !important;
    border-left:5px solid #E31D23 !important;
}

@media(max-width:800px){
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields {
        grid-template-columns:1fr !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
    .woocommerce-account .woocommerce-MyAccount-content .u-column1,
    .woocommerce-account .woocommerce-MyAccount-content .u-column2,
    .woocommerce-account .woocommerce-MyAccount-content form.edit-account {
        padding:22px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
        align-items:flex-start !important;
        flex-direction:column !important;
    }
}


/* FIX: My Account address cards layout */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:26px !important;
    width:100% !important;
    max-width:100% !important;
    align-items:stretch !important;
    margin:0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after{
    display:none !important;
    content:none !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2{
    float:none !important;
    clear:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    background:#ffffff !important;
    border:1px solid #e4e9f2 !important;
    border-radius:18px !important;
    padding:28px !important;
    box-shadow:0 16px 44px rgba(6,22,47,.08) !important;
    min-height:240px !important;
    box-sizing:border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:18px !important;
    width:100% !important;
    margin:0 0 18px !important;
    padding:0 0 18px !important;
    border-bottom:1px solid #eef2f7 !important;
    box-sizing:border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    color:#06162F !important;
    font-size:26px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    margin:0 !important;
    padding:0 !important;
    max-width:none !important;
    word-break:normal !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2::before{
    content:"📍" !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    margin:0 !important;
    border-radius:12px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    font-size:18px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit{
    position:static !important;
    transform:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:max-content !important;
    min-height:42px !important;
    padding:0 16px !important;
    border-radius:10px !important;
    background:#E31D23 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    margin:0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
    display:block !important;
    width:100% !important;
    flex:1 1 auto !important;
    color:#344054 !important;
    font-size:16px !important;
    line-height:1.55 !important;
    font-style:normal !important;
    margin:0 !important;
    padding:18px 20px !important;
    background:#f8fafc !important;
    border:1px solid #eef2f7 !important;
    border-left:5px solid #E31D23 !important;
    border-radius:14px !important;
    box-sizing:border-box !important;
    max-width:none !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address em{
    display:block !important;
    color:#344054 !important;
    font-style:normal !important;
    max-width:100% !important;
}

/* Fix account details form separately so it does not inherit address-card grid rules */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account{
    display:block !important;
    width:100% !important;
    max-width:820px !important;
    margin:0 !important;
}

@media(max-width:900px){
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:600px){
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2{
        padding:22px !important;
        min-height:auto !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title{
        flex-direction:column !important;
        align-items:flex-start !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit{
        width:100% !important;
    }
}


/* Trade account public/customer notice */
.tirnan-trade-public-notice{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin:22px 0 0;
    padding:18px 20px;
    background:#fff7e6;
    border:1px solid #ffd99a;
    border-left:6px solid #f59e0b;
    border-radius:14px;
    color:#06162F;
    box-sizing:border-box;
}

.tirnan-trade-public-icon{
    width:32px;
    height:32px;
    min-width:32px;
    border-radius:50%;
    background:#f59e0b;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    line-height:1;
}

.tirnan-trade-public-notice strong{
    display:block;
    font-size:17px;
    line-height:1.25;
    margin:0 0 6px;
    color:#06162F;
}

.tirnan-trade-public-notice p{
    margin:0;
    color:#344054;
    font-size:15px;
    line-height:1.45;
}

@media(max-width:600px){
    .tirnan-trade-public-notice{
        padding:16px;
        margin-top:18px;
    }
}


/* TIRNAN CLEAN CENTERED TRADE LOGIN BOX */
.woocommerce-account:not(.logged-in) .content-wrap,
.woocommerce-account:not(.logged-in) main,
.woocommerce-account:not(.logged-in) .entry-content {
    background:#f4f6fa !important;
}

.woocommerce-account:not(.logged-in) .woocommerce {
    min-height:640px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:60px 18px !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .tirnan-login-card,
.woocommerce-account:not(.logged-in) .woocommerce .u-column1 {
    width:100% !important;
    max-width:560px !important;
    margin:0 auto !important;
    padding:44px 46px !important;
    background:#ffffff !important;
    border:1px solid #e1e7f0 !important;
    border-radius:18px !important;
    box-shadow:0 22px 60px rgba(6,22,47,.12) !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .woocommerce h2,
.woocommerce-account:not(.logged-in) .tirnan-login-card h2,
.woocommerce-account:not(.logged-in) .tirnan-login-title {
    color:#06162F !important;
    font-size:34px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    margin:0 0 10px !important;
}

.woocommerce-account:not(.logged-in) .tirnan-login-text,
.woocommerce-account:not(.logged-in) .tirnan-login-card > p:first-of-type {
    color:#344054 !important;
    font-size:18px !important;
    line-height:1.45 !important;
    margin:0 0 28px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login label,
.woocommerce-account:not(.logged-in) .woocommerce-form-login label {
    color:#06162F !important;
    font-size:16px !important;
    font-weight:900 !important;
    margin-bottom:8px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login input.input-text,
.woocommerce-account:not(.logged-in) .woocommerce-form-login input.input-text,
.woocommerce-account:not(.logged-in) .woocommerce form.login input[type="text"],
.woocommerce-account:not(.logged-in) .woocommerce form.login input[type="password"],
.woocommerce-account:not(.logged-in) .woocommerce form.login input[type="email"] {
    width:100% !important;
    height:58px !important;
    border:1px solid #d8e1ee !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#06162F !important;
    padding:0 16px !important;
    font-size:17px !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login input:focus {
    border-color:#E31D23 !important;
    outline:3px solid rgba(227,29,35,.12) !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login .form-row {
    margin:0 0 22px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 0 18px !important;
    font-weight:800 !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login button.button,
.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit {
    width:100% !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#E31D23 !important;
    color:#ffffff !important;
    border:0 !important;
    border-radius:12px !important;
    font-size:18px !important;
    font-weight:900 !important;
    margin:8px 0 18px !important;
    padding:0 20px !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login button.button:hover,
.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:hover {
    background:#c9151a !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword,
.woocommerce-account:not(.logged-in) .lost_password {
    text-align:center !important;
    margin:0 0 24px !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a,
.woocommerce-account:not(.logged-in) .lost_password a {
    color:#E31D23 !important;
    font-size:16px !important;
    font-weight:900 !important;
    text-decoration:none !important;
}

.woocommerce-account:not(.logged-in) .tirnan-login-divider {
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    color:#667085 !important;
    font-size:14px !important;
    font-weight:800 !important;
    margin:24px 0 !important;
    text-transform:uppercase !important;
}

.woocommerce-account:not(.logged-in) .tirnan-login-divider::before,
.woocommerce-account:not(.logged-in) .tirnan-login-divider::after {
    content:"" !important;
    flex:1 !important;
    height:1px !important;
    background:#dfe6f1 !important;
}

.woocommerce-account:not(.logged-in) .tirnan-apply-account-btn,
.woocommerce-account:not(.logged-in) a[href*="apply-for-a-trade-account"],
.woocommerce-account:not(.logged-in) a[href*="trade-account"] {
    width:100% !important;
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:2px solid #E31D23 !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#E31D23 !important;
    font-size:17px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .tirnan-apply-account-btn:hover,
.woocommerce-account:not(.logged-in) a[href*="apply-for-a-trade-account"]:hover,
.woocommerce-account:not(.logged-in) a[href*="trade-account"]:hover {
    background:#fff0f1 !important;
}

/* Hide unwanted second register column if WooCommerce outputs it */
.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
    display:none !important;
}

/* Fix broken intro text */
.woocommerce-account:not(.logged-in) .tirnan-login-card p,
.woocommerce-account:not(.logged-in) .woocommerce > p {
    color:#344054 !important;
}

@media(max-width:640px){
    .woocommerce-account:not(.logged-in) .woocommerce {
        min-height:auto !important;
        padding:34px 16px !important;
    }

    .woocommerce-account:not(.logged-in) .woocommerce form.login,
    .woocommerce-account:not(.logged-in) .woocommerce-form-login,
    .woocommerce-account:not(.logged-in) .tirnan-login-card,
    .woocommerce-account:not(.logged-in) .woocommerce .u-column1 {
        padding:30px 22px !important;
        border-radius:16px !important;
    }

    .woocommerce-account:not(.logged-in) .woocommerce h2,
    .woocommerce-account:not(.logged-in) .tirnan-login-card h2,
    .woocommerce-account:not(.logged-in) .tirnan-login-title {
        font-size:30px !important;
    }
}


/* TIRNAN FINAL CLEAN LOGIN PAGE - centred white card */
.woocommerce-account:not(.logged-in) .content-wrap,
.woocommerce-account:not(.logged-in) main,
.woocommerce-account:not(.logged-in) .entry-content{
    background:#f3f6fa !important;
}

.woocommerce-account:not(.logged-in) .woocommerce{
    min-height:calc(100vh - 260px) !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:38px 18px 60px !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) form.login.tirnan-final-login-card,
.woocommerce-account:not(.logged-in) .woocommerce form.login{
    width:100% !important;
    max-width:560px !important;
    margin:0 auto !important;
    padding:44px 48px !important;
    background:#fff !important;
    border:1px solid #e0e7f0 !important;
    border-radius:18px !important;
    box-shadow:0 20px 56px rgba(6,22,47,.12) !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .tirnan-final-login-title{
    color:#06162F !important;
    font-size:34px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    margin:0 0 12px !important;
}

.woocommerce-account:not(.logged-in) .tirnan-final-login-text{
    color:#344054 !important;
    font-size:18px !important;
    line-height:1.45 !important;
    margin:0 0 30px !important;
}

.woocommerce-account:not(.logged-in) form.login label{
    color:#06162F !important;
    font-size:16px !important;
    font-weight:900 !important;
    margin-bottom:9px !important;
}

.woocommerce-account:not(.logged-in) form.login .form-row{
    margin:0 0 24px !important;
}

.woocommerce-account:not(.logged-in) form.login input.input-text,
.woocommerce-account:not(.logged-in) form.login input[type="text"],
.woocommerce-account:not(.logged-in) form.login input[type="password"],
.woocommerce-account:not(.logged-in) form.login input[type="email"]{
    width:100% !important;
    height:58px !important;
    border:1px solid #d8e1ee !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#06162F !important;
    font-size:17px !important;
    padding:0 16px !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) form.login input:focus{
    border-color:#E31D23 !important;
    outline:3px solid rgba(227,29,35,.12) !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 0 18px !important;
    color:#06162F !important;
    font-weight:900 !important;
}

.woocommerce-account:not(.logged-in) form.login button.button,
.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit{
    width:100% !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#E31D23 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:12px !important;
    font-size:18px !important;
    font-weight:900 !important;
    margin:6px 0 20px !important;
    padding:0 20px !important;
    box-sizing:border-box !important;
}

.woocommerce-account:not(.logged-in) .lost_password,
.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
    text-align:center !important;
    margin:0 0 26px !important;
}

.woocommerce-account:not(.logged-in) .lost_password a,
.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a{
    color:#E31D23 !important;
    font-size:16px !important;
    font-weight:900 !important;
    text-decoration:none !important;
}

.woocommerce-account:not(.logged-in) .tirnan-login-divider{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    color:#667085 !important;
    font-size:14px !important;
    font-weight:900 !important;
    margin:20px 0 24px !important;
}

.woocommerce-account:not(.logged-in) .tirnan-login-divider:before,
.woocommerce-account:not(.logged-in) .tirnan-login-divider:after{
    content:"" !important;
    flex:1 !important;
    height:1px !important;
    background:#dfe6f1 !important;
}

.woocommerce-account:not(.logged-in) .tirnan-apply-account-btn{
    width:100% !important;
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:2px solid #E31D23 !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#E31D23 !important;
    font-size:17px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    box-sizing:border-box !important;
}

/* remove old duplicate/broken text on the login page */
.woocommerce-account:not(.logged-in) form.login > p:not(.form-row):not(.lost_password):not(.woocommerce-LostPassword):not(.tirnan-final-login-text){
    display:none !important;
}

.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
.woocommerce-account:not(.logged-in) .woocommerce .col-2{
    display:none !important;
}

@media(max-width:640px){
    .woocommerce-account:not(.logged-in) .woocommerce{
        padding:26px 16px 48px !important;
    }

    .woocommerce-account:not(.logged-in) form.login.tirnan-final-login-card,
    .woocommerce-account:not(.logged-in) .woocommerce form.login{
        padding:30px 22px !important;
        border-radius:16px !important;
    }

    .woocommerce-account:not(.logged-in) .tirnan-final-login-title{
        font-size:30px !important;
    }
}


/* TIRNAN LOGIN CLEANUP - higher card and no duplicate top text */
.woocommerce-account:not(.logged-in) .woocommerce{
    align-items:flex-start !important;
    padding-top:18px !important;
    padding-bottom:54px !important;
    min-height:calc(100vh - 220px) !important;
}

.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.login.tirnan-final-login-card,
.woocommerce-account:not(.logged-in) .woocommerce form.login{
    margin-top:0 !important;
}

/* Hide the old broken first text if it still renders before JS */
.woocommerce-account:not(.logged-in) form.login > h2:not(.tirnan-final-login-title),
.woocommerce-account:not(.logged-in) form.login > p:not(.form-row):not(.lost_password):not(.woocommerce-LostPassword):not(.tirnan-final-login-text),
.woocommerce-account:not(.logged-in) form.login > div:not(.form-row):not(.tirnan-login-divider):not(.woocommerce-password-strength):not(.woocommerce-password-hint){
    display:none !important;
}

.woocommerce-account:not(.logged-in) .tirnan-final-login-title{
    display:block !important;
    margin-top:0 !important;
}

.woocommerce-account:not(.logged-in) .tirnan-final-login-text{
    display:block !important;
}

/* Only one apply button */
.woocommerce-account:not(.logged-in) .tirnan-apply-account-btn + .tirnan-apply-account-btn{
    display:none !important;
}

@media(max-width:640px){
    .woocommerce-account:not(.logged-in) .woocommerce{
        padding-top:14px !important;
    }
}


/* FINAL FIX: hide old top login heading/text block */
.woocommerce-account:not(.logged-in) form.login > :first-child:not(.tirnan-final-login-title):not(.form-row),
.woocommerce-account:not(.logged-in) form.woocommerce-form-login > :first-child:not(.tirnan-final-login-title):not(.form-row) {
    display:none !important;
}

.woocommerce-account:not(.logged-in) form.login > :nth-child(2):not(.tirnan-final-login-text):not(.form-row),
.woocommerce-account:not(.logged-in) form.woocommerce-form-login > :nth-child(2):not(.tirnan-final-login-text):not(.form-row) {
    display:none !important;
}

/* Make sure the proper heading is first visible and spacing is tidy */
.woocommerce-account:not(.logged-in) .tirnan-final-login-title{
    display:block !important;
    margin-top:0 !important;
    margin-bottom:12px !important;
}

.woocommerce-account:not(.logged-in) .tirnan-final-login-text{
    display:block !important;
    margin-bottom:30px !important;
}

/* Card higher */
.woocommerce-account:not(.logged-in) .woocommerce{
    padding-top:8px !important;
}


/* DEFINITIVE LOGIN CARD POSITION + OLD TEXT HIDE */
body.woocommerce-account:not(.logged-in) .woocommerce{
    padding-top:0 !important;
    align-items:flex-start !important;
}
body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login{
    margin-top:0 !important;
}
body.woocommerce-account:not(.logged-in) form.login > h2:first-child,
body.woocommerce-account:not(.logged-in) form.login > p:first-child,
body.woocommerce-account:not(.logged-in) form.login > p:nth-child(2),
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login > h2:first-child,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login > p:first-child,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login > p:nth-child(2){
    display:none !important;
}
body.woocommerce-account:not(.logged-in) form.login .tirnan-final-login-title,
body.woocommerce-account:not(.logged-in) form.login .tirnan-final-login-text{
    display:block !important;
}


/* FINAL STUBBORN LOGIN INTRO HIDE */
body.woocommerce-account:not(.logged-in) form.login > h2:first-child,
body.woocommerce-account:not(.logged-in) form.login > p:first-child,
body.woocommerce-account:not(.logged-in) form.login > div:first-child,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login > h2:first-child,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login > p:first-child,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login > div:first-child{
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}
body.woocommerce-account:not(.logged-in) form.login .tirnan-final-login-title,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .tirnan-final-login-title,
body.woocommerce-account:not(.logged-in) form.login .tirnan-final-login-text,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .tirnan-final-login-text{
    display:block !important;
    height:auto !important;
    overflow:visible !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce{
    padding-top:0 !important;
    align-items:flex-start !important;
}


/* REMOVE OLD LOGIN PSEUDO INTRO TEXT */
body.woocommerce-account:not(.logged-in) form.login:before,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login:before,
.woocommerce-account:not(.logged-in) form.login:before,
.woocommerce-account:not(.logged-in) form.woocommerce-form-login:before{
    content:none !important;
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}


/* FIX: keep header consistent on Trade Login / My Account logged-out page */
body.woocommerce-account:not(.logged-in) .top-header,
body.woocommerce-account:not(.logged-in) header.top-header,
body.woocommerce-account:not(.logged-in) .site-header {
    background:#ffffff !important;
}

body.woocommerce-account:not(.logged-in) .top-header .container,
body.woocommerce-account:not(.logged-in) .site-header__row {
    min-height:102px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
}

body.woocommerce-account:not(.logged-in) .main-nav,
body.woocommerce-account:not(.logged-in) .main-nav ul {
    display:flex !important;
    align-items:center !important;
    gap:28px !important;
}

body.woocommerce-account:not(.logged-in) .main-nav a {
    color:#06162F !important;
    font-size:16px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

body.woocommerce-account:not(.logged-in) .main-nav a:hover {
    color:#E31D23 !important;
}

body.woocommerce-account:not(.logged-in) .header-actions {
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
}

body.woocommerce-account:not(.logged-in) .header-actions .trade-login {
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    color:#06162F !important;
    font-size:16px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    min-height:auto !important;
    width:auto !important;
}

body.woocommerce-account:not(.logged-in) .header-actions .trade-login .trade-lock,
body.woocommerce-account:not(.logged-in) .header-actions .trade-login svg {
    color:#E31D23 !important;
    fill:#E31D23 !important;
    width:12px !important;
    height:12px !important;
}

body.woocommerce-account:not(.logged-in) .header-actions .btn {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:52px !important;
    padding:0 24px !important;
    border-radius:8px !important;
    background:#E31D23 !important;
    border:2px solid #E31D23 !important;
    color:#ffffff !important;
    font-size:16px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    width:auto !important;
}

body.woocommerce-account:not(.logged-in) .header-actions .btn:hover {
    background:#c9151a !important;
    border-color:#c9151a !important;
    color:#ffffff !important;
}

body.woocommerce-account:not(.logged-in) .site-logo img,
body.woocommerce-account:not(.logged-in) .custom-logo {
    max-height:82px !important;
    width:auto !important;
}

/* Do not let login-page button styles affect header buttons */
body.woocommerce-account:not(.logged-in) .top-header a[href*="trade-account"],
body.woocommerce-account:not(.logged-in) .top-header a[href*="apply-for-a-trade-account"] {
    width:auto !important;
    min-height:52px !important;
    border-radius:8px !important;
    background:#E31D23 !important;
    color:#ffffff !important;
    border:2px solid #E31D23 !important;
    padding:0 24px !important;
}

body.woocommerce-account:not(.logged-in) .top-header .trade-login[href*="my-account"] {
    min-height:auto !important;
    background:transparent !important;
    border:0 !important;
    color:#06162F !important;
    padding:0 !important;
}

/* Mobile header should remain the normal mobile layout */
@media(max-width:767px){
    body.woocommerce-account:not(.logged-in) .main-nav,
    body.woocommerce-account:not(.logged-in) .header-actions{
        display:none !important;
    }

    body.woocommerce-account:not(.logged-in) .mobile-menu-toggle{
        display:flex !important;
    }
}


/* Related products carousel - 4 visible with arrows */
.single-product .related.products{
    position:relative;
    margin-top:48px;
    padding:0;
}

.single-product .related.products .tirnan-related-carousel-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:0 0 24px;
}

.single-product .related.products .tirnan-related-carousel-header h2{
    margin:0 !important;
    color:#06162F;
    font-size:28px;
    line-height:1.15;
    font-weight:900;
}

.single-product .related.products .tirnan-related-carousel-controls{
    display:flex;
    gap:12px;
    align-items:center;
}

.single-product .related.products .tirnan-related-carousel-controls button{
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid #dfe6f1;
    background:#fff;
    color:#06162F;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(6,22,47,.08);
    transition:all .18s ease;
}

.single-product .related.products .tirnan-related-carousel-controls button:hover{
    background:#06162F;
    border-color:#06162F;
    color:#fff;
}

.single-product .related.products ul.products{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:24px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    padding:0 0 14px !important;
    margin:0 !important;
    width:100% !important;
    max-width:100% !important;
    -webkit-overflow-scrolling:touch;
}

.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after{
    display:none !important;
    content:none !important;
}

.single-product .related.products ul.products::-webkit-scrollbar{
    height:8px;
}

.single-product .related.products ul.products::-webkit-scrollbar-track{
    background:#f3f6fa;
    border-radius:99px;
}

.single-product .related.products ul.products::-webkit-scrollbar-thumb{
    background:#d8e1ee;
    border-radius:99px;
}

.single-product .related.products ul.products li.product{
    flex:0 0 calc((100% - 72px) / 4) !important;
    width:calc((100% - 72px) / 4) !important;
    min-width:calc((100% - 72px) / 4) !important;
    max-width:calc((100% - 72px) / 4) !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    scroll-snap-align:start;
    box-sizing:border-box !important;
}

.single-product .related.products ul.products li.product img{
    height:250px !important;
    object-fit:contain !important;
}

@media(max-width:1024px){
    .single-product .related.products ul.products li.product{
        flex-basis:calc((100% - 48px) / 3) !important;
        width:calc((100% - 48px) / 3) !important;
        min-width:calc((100% - 48px) / 3) !important;
        max-width:calc((100% - 48px) / 3) !important;
    }
}

@media(max-width:767px){
    .single-product .related.products .tirnan-related-carousel-header{
        align-items:center;
    }

    .single-product .related.products .tirnan-related-carousel-header h2{
        font-size:24px;
    }

    .single-product .related.products .tirnan-related-carousel-controls button{
        width:42px;
        height:42px;
        font-size:30px;
    }

    .single-product .related.products ul.products{
        gap:14px !important;
    }

    .single-product .related.products ul.products li.product{
        flex-basis:calc((100% - 14px) / 2) !important;
        width:calc((100% - 14px) / 2) !important;
        min-width:calc((100% - 14px) / 2) !important;
        max-width:calc((100% - 14px) / 2) !important;
    }

    .single-product .related.products ul.products li.product img{
        height:150px !important;
    }
}


/* FIX Related Products Carousel buttons/arrows */
.single-product .related.products{
    overflow:visible !important;
}

.single-product .related.products .tirnan-related-carousel-controls button,
.single-product .related.products button.tirnan-related-prev,
.single-product .related.products button.tirnan-related-next{
    background:#ffffff !important;
    color:#06162F !important;
    border:1px solid #dfe6f1 !important;
    opacity:1 !important;
    visibility:visible !important;
    font-size:0 !important;
    line-height:1 !important;
    box-shadow:0 8px 24px rgba(6,22,47,.10) !important;
}

.single-product .related.products button.tirnan-related-prev::before,
.single-product .related.products button.tirnan-related-next::before{
    display:block !important;
    color:#06162F !important;
    font-size:28px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.single-product .related.products button.tirnan-related-prev::before{
    content:"‹" !important;
}

.single-product .related.products button.tirnan-related-next::before{
    content:"›" !important;
}

.single-product .related.products .tirnan-related-carousel-controls button:hover{
    background:#06162F !important;
    color:#ffffff !important;
    border-color:#06162F !important;
}

.single-product .related.products .tirnan-related-carousel-controls button:hover::before{
    color:#ffffff !important;
}

/* keep product card internals inside carousel cards */
.single-product .related.products ul.products li.product{
    overflow:hidden !important;
    padding:24px !important;
    display:flex !important;
    flex-direction:column !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product h2{
    min-height:58px !important;
    margin-bottom:18px !important;
}

.single-product .related.products ul.products li.product .price{
    margin:0 0 20px !important;
}

/* related-product add-to-cart row: prevent button being cut off */
.single-product .related.products ul.products li.product .tirnan-loop-cart-row{
    display:grid !important;
    grid-template-columns:minmax(118px, 1fr) minmax(120px, auto) !important;
    gap:12px !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty{
    width:100% !important;
    min-width:118px !important;
    max-width:150px !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:42px 1fr 42px !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty button,
.single-product .related.products ul.products li.product .tirnan-loop-qty-input{
    height:44px !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty button{
    width:42px !important;
    min-width:42px !important;
}

.single-product .related.products ul.products li.product a.add_to_cart_button,
.single-product .related.products ul.products li.product a.button,
.single-product .related.products ul.products li.product .button{
    width:100% !important;
    min-width:120px !important;
    max-width:100% !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 14px !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    box-sizing:border-box !important;
    font-size:14px !important;
    line-height:1 !important;
}

@media(max-width:1200px){
    .single-product .related.products ul.products li.product{
        padding:20px !important;
    }
    .single-product .related.products ul.products li.product .tirnan-loop-cart-row{
        grid-template-columns:1fr !important;
    }
    .single-product .related.products ul.products li.product .tirnan-loop-qty{
        max-width:100% !important;
    }
}

@media(max-width:767px){
    .single-product .related.products ul.products li.product{
        padding:14px !important;
    }

    .single-product .related.products ul.products li.product .tirnan-loop-cart-row{
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .single-product .related.products ul.products li.product a.add_to_cart_button,
    .single-product .related.products ul.products li.product a.button{
        min-width:0 !important;
        font-size:13px !important;
    }
}


/* Related carousel: stack Add to Cart under quantity for clean layout */
.single-product .related.products ul.products li.product .tirnan-loop-cart-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:44px 1fr 44px !important;
    border:1px solid #dfe6f1 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty button{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f8fafc !important;
    border:0 !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:20px !important;
    font-weight:900 !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    box-sizing:border-box !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty .tirnan-qty-minus{
    border-right:1px solid #dfe6f1 !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty .tirnan-qty-plus{
    border-left:1px solid #dfe6f1 !important;
}

.single-product .related.products ul.products li.product .tirnan-loop-qty-input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:44px !important;
    border:0 !important;
    background:#fff !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    text-align:center !important;
    font-size:15px !important;
    font-weight:900 !important;
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    visibility:visible !important;
}

.single-product .related.products ul.products li.product a.add_to_cart_button,
.single-product .related.products ul.products li.product a.button,
.single-product .related.products ul.products li.product .button{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 14px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    box-sizing:border-box !important;
    font-size:14px !important;
    line-height:1 !important;
    border-radius:10px !important;
}

/* give cards enough room for stacked controls */
.single-product .related.products ul.products li.product{
    padding:24px !important;
}

@media(max-width:767px){
    .single-product .related.products ul.products li.product{
        padding:14px !important;
    }

    .single-product .related.products ul.products li.product .tirnan-loop-qty{
        grid-template-columns:40px 1fr 40px !important;
        height:40px !important;
    }

    .single-product .related.products ul.products li.product .tirnan-loop-qty button,
    .single-product .related.products ul.products li.product .tirnan-loop-qty-input{
        height:40px !important;
    }

    .single-product .related.products ul.products li.product .tirnan-loop-qty button{
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
    }

    .single-product .related.products ul.products li.product a.add_to_cart_button,
    .single-product .related.products ul.products li.product a.button{
        height:42px !important;
        min-height:42px !important;
        font-size:13px !important;
    }
}


/* Related carousel quantity buttons clickable fix */
.single-product .related.products .tirnan-loop-qty button{
    pointer-events:auto !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:5 !important;
}

.single-product .related.products .tirnan-loop-qty-input{
    pointer-events:auto !important;
    position:relative !important;
    z-index:4 !important;
}

.single-product .related.products a.add_to_cart_button,
.single-product .related.products a.ajax_add_to_cart{
    pointer-events:auto !important;
    position:relative !important;
    z-index:5 !important;
}


/* FINAL CART PAGE VISIBLE QUANTITY + REMOVE BUTTONS */
.woocommerce-cart .woocommerce-cart-form .cart_item .product-quantity,
.woocommerce-cart table.cart .product-quantity{
    overflow:visible !important;
}

.woocommerce-cart table.cart td.product-quantity .quantity,
.woocommerce-cart .product-quantity .quantity{
    display:inline-grid !important;
    grid-template-columns:44px 68px 44px !important;
    align-items:center !important;
    width:156px !important;
    height:44px !important;
    border:1px solid #d8e1ee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    box-sizing:border-box !important;
    position:relative !important;
}

.woocommerce-cart .product-quantity .quantity input.qty,
.woocommerce-cart table.cart input.qty{
    display:block !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:68px !important;
    min-width:68px !important;
    max-width:68px !important;
    height:44px !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#ffffff !important;
    border:0 !important;
    border-left:1px solid #d8e1ee !important;
    border-right:1px solid #d8e1ee !important;
    border-radius:0 !important;
    text-align:center !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    box-shadow:none !important;
    appearance:textfield !important;
    -moz-appearance:textfield !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    z-index:2 !important;
    pointer-events:auto !important;
}

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

/* Visible minus/plus buttons if theme creates them */
.woocommerce-cart .product-quantity .quantity button,
.woocommerce-cart .product-quantity button.minus,
.woocommerce-cart .product-quantity button.plus,
.woocommerce-cart .product-quantity .qty-btn,
.woocommerce-cart .product-quantity .tirnan-cart-minus,
.woocommerce-cart .product-quantity .tirnan-cart-plus,
.woocommerce-cart .product-quantity .tirnan-visible-minus,
.woocommerce-cart .product-quantity .tirnan-visible-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#f8fafc !important;
    border:0 !important;
    border-radius:0 !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    z-index:3 !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    box-shadow:none !important;
}

/* In case old JS placed custom visible controls */
.woocommerce-cart .tirnan-visible-qty,
.woocommerce-cart .tirnan-cart-control{
    display:inline-grid !important;
    grid-template-columns:44px 68px 44px !important;
    width:156px !important;
    height:44px !important;
    border:1px solid #d8e1ee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    margin:8px 0 0 !important;
    vertical-align:middle !important;
}

.woocommerce-cart .tirnan-visible-minus,
.woocommerce-cart .tirnan-visible-plus,
.woocommerce-cart .tirnan-cart-control-minus,
.woocommerce-cart .tirnan-cart-control-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#f8fafc !important;
    font-size:22px !important;
    font-weight:900 !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
}

.woocommerce-cart .tirnan-visible-num,
.woocommerce-cart .tirnan-cart-control-value{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:68px !important;
    height:44px !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#fff !important;
    font-size:16px !important;
    font-weight:900 !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* Visible remove/bin button */
.woocommerce-cart td.product-remove a.remove,
.woocommerce-cart a.remove,
.woocommerce-cart .tirnan-visible-bin,
.woocommerce-cart .tirnan-cart-bin{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:10px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    opacity:1 !important;
    visibility:visible !important;
    font-size:0 !important;
    line-height:1 !important;
    text-decoration:none !important;
    border:0 !important;
    box-shadow:none !important;
    margin-top:10px !important;
    position:relative !important;
    z-index:5 !important;
    pointer-events:auto !important;
}

.woocommerce-cart td.product-remove a.remove::before,
.woocommerce-cart a.remove::before,
.woocommerce-cart .tirnan-visible-bin::before,
.woocommerce-cart .tirnan-cart-bin::before{
    content:"🗑" !important;
    display:block !important;
    font-size:17px !important;
    line-height:1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.woocommerce-cart td.product-remove a.remove:hover,
.woocommerce-cart a.remove:hover,
.woocommerce-cart .tirnan-visible-bin:hover,
.woocommerce-cart .tirnan-cart-bin:hover{
    background:#E31D23 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

.woocommerce-cart td.product-remove a.remove:hover::before,
.woocommerce-cart a.remove:hover::before,
.woocommerce-cart .tirnan-visible-bin:hover::before,
.woocommerce-cart .tirnan-cart-bin:hover::before{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}


/* ABSOLUTE FINAL CART VISIBLE CONTROLS */
.woocommerce-cart .tirnan-cart-visible-control{
    display:inline-grid !important;
    grid-template-columns:46px 70px 46px !important;
    width:162px !important;
    height:46px !important;
    border:1px solid #d8e1ee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    margin:10px 0 0 !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:50 !important;
}

.woocommerce-cart .tirnan-cart-visible-minus,
.woocommerce-cart .tirnan-cart-visible-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    box-shadow:none !important;
    appearance:none !important;
}

.woocommerce-cart .tirnan-cart-visible-minus{ border-right:1px solid #d8e1ee !important; }
.woocommerce-cart .tirnan-cart-visible-plus{ border-left:1px solid #d8e1ee !important; }

.woocommerce-cart .tirnan-cart-visible-number{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:70px !important;
    height:46px !important;
    background:#ffffff !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.woocommerce-cart input.tirnan-cart-hidden-native-qty{
    position:absolute !important;
    left:-99999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.woocommerce-cart .tirnan-cart-visible-remove{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:11px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:0 !important;
    line-height:1 !important;
    text-decoration:none !important;
    border:0 !important;
    box-shadow:none !important;
    margin:10px 0 0 !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:50 !important;
    pointer-events:auto !important;
}

.woocommerce-cart .tirnan-cart-visible-remove::before{
    content:"🗑" !important;
    display:block !important;
    font-size:18px !important;
    line-height:1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
}

.woocommerce-cart td.product-remove a.remove{
    display:none !important;
}


/* FORCE CART CONTROLS VISIBLE - works even if native controls are hidden */
body.woocommerce-cart .tirnan-force-cart-control,
body[class*="cart"] .tirnan-force-cart-control{
    display:inline-grid !important;
    grid-template-columns:46px 68px 46px !important;
    width:160px !important;
    height:46px !important;
    border:1px solid #d8e1ee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    margin:8px 0 0 !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:999 !important;
    vertical-align:middle !important;
}

body.woocommerce-cart .tirnan-force-cart-minus,
body.woocommerce-cart .tirnan-force-cart-plus,
body[class*="cart"] .tirnan-force-cart-minus,
body[class*="cart"] .tirnan-force-cart-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:23px !important;
    font-weight:900 !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    appearance:none !important;
    box-shadow:none !important;
}

body.woocommerce-cart .tirnan-force-cart-minus,
body[class*="cart"] .tirnan-force-cart-minus{
    border-right:1px solid #d8e1ee !important;
}

body.woocommerce-cart .tirnan-force-cart-plus,
body[class*="cart"] .tirnan-force-cart-plus{
    border-left:1px solid #d8e1ee !important;
}

body.woocommerce-cart .tirnan-force-cart-number,
body[class*="cart"] .tirnan-force-cart-number{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:68px !important;
    height:46px !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#ffffff !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1 !important;
    opacity:1 !important;
    visibility:visible !important;
}

body.woocommerce-cart input.tirnan-force-native-qty-hidden,
body[class*="cart"] input.tirnan-force-native-qty-hidden{
    position:absolute !important;
    left:-999999px !important;
    top:auto !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

body.woocommerce-cart .tirnan-force-cart-remove,
body[class*="cart"] .tirnan-force-cart-remove{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    margin:10px 0 0 !important;
    border-radius:11px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:0 !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:999 !important;
    pointer-events:auto !important;
}

body.woocommerce-cart .tirnan-force-cart-remove::before,
body[class*="cart"] .tirnan-force-cart-remove::before{
    content:"🗑" !important;
    display:block !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:18px !important;
    line-height:1 !important;
}

body.woocommerce-cart .tirnan-force-cart-remove:hover,
body[class*="cart"] .tirnan-force-cart-remove:hover{
    background:#E31D23 !important;
}

body.woocommerce-cart .tirnan-force-cart-remove:hover::before,
body[class*="cart"] .tirnan-force-cart-remove:hover::before{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

/* hide native invisible remove buttons to avoid ghosts */
body.woocommerce-cart td.product-remove a.remove,
body[class*="cart"] td.product-remove a.remove{
    display:none !important;
}


/* GLOBAL VISIBLE CART CONTROLS - strongest override */
body .tirnan-global-cart-qty{
    display:inline-grid !important;
    grid-template-columns:46px 70px 46px !important;
    width:162px !important;
    height:46px !important;
    border:1px solid #d8e1ee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    margin:10px 0 0 !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:2147483647 !important;
}

body .tirnan-global-cart-minus,
body .tirnan-global-cart-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:24px !important;
    font-weight:900 !important;
    font-family:Arial, sans-serif !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    appearance:none !important;
    box-shadow:none !important;
    text-indent:0 !important;
    text-shadow:none !important;
}

body .tirnan-global-cart-minus{ border-right:1px solid #d8e1ee !important; }
body .tirnan-global-cart-plus{ border-left:1px solid #d8e1ee !important; }

body .tirnan-global-cart-value{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:70px !important;
    height:46px !important;
    background:#fff !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:16px !important;
    font-weight:900 !important;
    font-family:Arial, sans-serif !important;
    line-height:1 !important;
    opacity:1 !important;
    visibility:visible !important;
}

body input.tirnan-global-native-qty{
    position:absolute !important;
    left:-999999px !important;
    top:auto !important;
    width:1px !important;
    height:1px !important;
    min-width:1px !important;
    max-width:1px !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

body .tirnan-global-cart-remove{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    margin:10px 0 0 !important;
    border-radius:11px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:0 !important;
    line-height:1 !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:2147483647 !important;
    pointer-events:auto !important;
    text-indent:0 !important;
}

body .tirnan-global-cart-remove::before{
    content:"×" !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:26px !important;
    font-weight:900 !important;
    font-family:Arial, sans-serif !important;
    line-height:1 !important;
    opacity:1 !important;
    visibility:visible !important;
}

body .tirnan-global-cart-remove:hover{
    background:#E31D23 !important;
}
body .tirnan-global-cart-remove:hover::before{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}


/* SERVER TEMPLATE CART CONTROLS - VISIBLE */
.woocommerce-cart .tirnan-cart-table{
    width:100% !important;
}

.woocommerce-cart .tirnan-cart-row .product-thumbnail{
    width:92px !important;
    vertical-align:top !important;
    padding:24px 16px !important;
}

.woocommerce-cart .tirnan-cart-row .product-thumbnail img{
    width:72px !important;
    height:92px !important;
    object-fit:contain !important;
}

.woocommerce-cart .tirnan-cart-row .product-name{
    vertical-align:top !important;
    padding:24px 16px !important;
}

.woocommerce-cart .tirnan-cart-line-price{
    color:#06162F !important;
    font-size:22px !important;
    font-weight:900 !important;
    margin:8px 0 8px !important;
}

.woocommerce-cart .tirnan-cart-controls-row{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin-top:10px !important;
    opacity:1 !important;
    visibility:visible !important;
}

.woocommerce-cart .tirnan-cart-qty-control{
    display:grid !important;
    grid-template-columns:44px 70px 44px !important;
    width:158px !important;
    height:44px !important;
    border:1px solid #d8e1ee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    box-sizing:border-box !important;
}

.woocommerce-cart .tirnan-cart-minus,
.woocommerce-cart .tirnan-cart-plus{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    border:0 !important;
    background:#f8fafc !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1 !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
    appearance:none !important;
    box-shadow:none !important;
}

.woocommerce-cart .tirnan-cart-minus{
    border-right:1px solid #d8e1ee !important;
}

.woocommerce-cart .tirnan-cart-plus{
    border-left:1px solid #d8e1ee !important;
}

.woocommerce-cart .tirnan-cart-qty-control .quantity{
    display:block !important;
    width:70px !important;
    height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

.woocommerce-cart .tirnan-cart-qty-control input.qty,
.woocommerce-cart input.tirnan-cart-qty-input{
    display:block !important;
    width:70px !important;
    height:44px !important;
    min-width:70px !important;
    max-width:70px !important;
    border:0 !important;
    background:#fff !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    text-align:center !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    appearance:textfield !important;
    -moz-appearance:textfield !important;
    box-shadow:none !important;
}

.woocommerce-cart .tirnan-cart-qty-control input.qty::-webkit-outer-spin-button,
.woocommerce-cart .tirnan-cart-qty-control input.qty::-webkit-inner-spin-button{
    -webkit-appearance:none !important;
    margin:0 !important;
}

.woocommerce-cart .tirnan-cart-remove{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border-radius:10px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:0 !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

.woocommerce-cart .tirnan-cart-remove::before{
    content:"×" !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:28px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.woocommerce-cart .tirnan-cart-remove:hover{
    background:#E31D23 !important;
}

.woocommerce-cart .tirnan-cart-remove:hover::before{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

.woocommerce-cart .tirnan-cart-row .product-total{
    vertical-align:top !important;
    padding:24px 16px !important;
    color:#06162F !important;
    font-size:22px !important;
    font-weight:900 !important;
    text-align:right !important;
}

@media(max-width:700px){
    .woocommerce-cart .tirnan-cart-row{
        display:block !important;
        border-bottom:1px solid #d8e1ee !important;
        padding:18px 0 !important;
    }

    .woocommerce-cart .tirnan-cart-row td{
        display:block !important;
        width:100% !important;
        text-align:left !important;
        padding:8px 0 !important;
    }

    .woocommerce-cart .tirnan-cart-row .product-total{
        text-align:left !important;
    }
}


/* =========================================================
   FINAL CART CONTROL VISIBILITY FIX
   The buttons existed but were being hidden by inherited colour/
   opacity/font-size rules. This forces the actual controls visible.
   ========================================================= */

/* Cart quantity wrapper */
body.woocommerce-cart table.cart td.product-quantity,
body.woocommerce-cart .woocommerce-cart-form td.product-quantity,
body.woocommerce-cart .product-quantity {
    overflow: visible !important;
    min-width: 190px !important;
}

/* Show quantity area as a real visible control */
body.woocommerce-cart table.cart td.product-quantity .quantity,
body.woocommerce-cart .woocommerce-cart-form .quantity,
body.woocommerce-cart .product-quantity .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 168px !important;
    height: 46px !important;
    min-width: 168px !important;
    max-width: 168px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #d8e1ee !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-sizing: border-box !important;
}

/* Native WooCommerce quantity input */
body.woocommerce-cart table.cart input.qty,
body.woocommerce-cart .woocommerce-cart-form input.qty,
body.woocommerce-cart .product-quantity input.qty {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #d8e1ee !important;
    border-right: 1px solid #d8e1ee !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #06162F !important;
    -webkit-text-fill-color: #06162F !important;
    text-align: center !important;
    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 46px !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
    z-index: 10 !important;
    box-shadow: none !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    pointer-events: auto !important;
}

body.woocommerce-cart table.cart input.qty::-webkit-outer-spin-button,
body.woocommerce-cart table.cart input.qty::-webkit-inner-spin-button,
body.woocommerce-cart .woocommerce-cart-form input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .woocommerce-cart-form input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ALL possible minus/plus button classes used by the theme */
body.woocommerce-cart .product-quantity button,
body.woocommerce-cart .quantity button,
body.woocommerce-cart button.minus,
body.woocommerce-cart button.plus,
body.woocommerce-cart .minus,
body.woocommerce-cart .plus,
body.woocommerce-cart .tirnan-cart-minus,
body.woocommerce-cart .tirnan-cart-plus,
body.woocommerce-cart .tirnan-cart-minus-live,
body.woocommerce-cart .tirnan-cart-plus-live,
body.woocommerce-cart .tirnan-visible-minus,
body.woocommerce-cart .tirnan-visible-plus,
body.woocommerce-cart .tirnan-force-cart-minus,
body.woocommerce-cart .tirnan-force-cart-plus,
body.woocommerce-cart .tirnan-global-cart-minus,
body.woocommerce-cart .tirnan-global-cart-plus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 49px !important;
    min-width: 49px !important;
    max-width: 49px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    color: #06162F !important;
    -webkit-text-fill-color: #06162F !important;
    font-family: Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
    z-index: 20 !important;
    box-shadow: none !important;
    appearance: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* In case the characters are hidden by text replacement, draw them with pseudo elements */
body.woocommerce-cart button.minus::before,
body.woocommerce-cart .minus::before,
body.woocommerce-cart .tirnan-cart-minus::before,
body.woocommerce-cart .tirnan-cart-minus-live::before,
body.woocommerce-cart .tirnan-visible-minus::before,
body.woocommerce-cart .tirnan-force-cart-minus::before,
body.woocommerce-cart .tirnan-global-cart-minus::before {
    content: "−" !important;
    display: block !important;
    color: #06162F !important;
    -webkit-text-fill-color: #06162F !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.woocommerce-cart button.plus::before,
body.woocommerce-cart .plus::before,
body.woocommerce-cart .tirnan-cart-plus::before,
body.woocommerce-cart .tirnan-cart-plus-live::before,
body.woocommerce-cart .tirnan-visible-plus::before,
body.woocommerce-cart .tirnan-force-cart-plus::before,
body.woocommerce-cart .tirnan-global-cart-plus::before {
    content: "+" !important;
    display: block !important;
    color: #06162F !important;
    -webkit-text-fill-color: #06162F !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Visible remove/bin button */
body.woocommerce-cart a.remove,
body.woocommerce-cart td.product-remove a.remove,
body.woocommerce-cart .product-remove a,
body.woocommerce-cart .tirnan-cart-remove,
body.woocommerce-cart .tirnan-cart-visible-remove,
body.woocommerce-cart .tirnan-force-cart-remove,
body.woocommerce-cart .tirnan-global-cart-remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #fff0f1 !important;
    color: #E31D23 !important;
    -webkit-text-fill-color: #E31D23 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    transform: none !important;
    z-index: 9999 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    overflow: visible !important;
}

body.woocommerce-cart a.remove::before,
body.woocommerce-cart td.product-remove a.remove::before,
body.woocommerce-cart .product-remove a::before,
body.woocommerce-cart .tirnan-cart-remove::before,
body.woocommerce-cart .tirnan-cart-visible-remove::before,
body.woocommerce-cart .tirnan-force-cart-remove::before,
body.woocommerce-cart .tirnan-global-cart-remove::before {
    content: "×" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    color: #E31D23 !important;
    -webkit-text-fill-color: #E31D23 !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.woocommerce-cart a.remove:hover,
body.woocommerce-cart td.product-remove a.remove:hover,
body.woocommerce-cart .product-remove a:hover,
body.woocommerce-cart .tirnan-cart-remove:hover,
body.woocommerce-cart .tirnan-cart-visible-remove:hover,
body.woocommerce-cart .tirnan-force-cart-remove:hover,
body.woocommerce-cart .tirnan-global-cart-remove:hover {
    background: #E31D23 !important;
}

body.woocommerce-cart a.remove:hover::before,
body.woocommerce-cart td.product-remove a.remove:hover::before,
body.woocommerce-cart .product-remove a:hover::before,
body.woocommerce-cart .tirnan-cart-remove:hover::before,
body.woocommerce-cart .tirnan-cart-visible-remove:hover::before,
body.woocommerce-cart .tirnan-force-cart-remove:hover::before,
body.woocommerce-cart .tirnan-global-cart-remove:hover::before {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Cart button visibility emergency fallback is printed inline in wp_head. */


/* FINAL BIN BUTTON FIX - single clean red bin icon */
body.woocommerce-cart a.remove,
body.woocommerce-cart .remove,
body.woocommerce-cart .tirnan-cart-remove,
body.woocommerce-cart .tirnan-cart-visible-remove,
body.woocommerce-cart .tirnan-force-cart-remove,
body.woocommerce-cart .tirnan-global-cart-remove,
body.woocommerce-cart .wc-block-cart-item__remove-link {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    margin:0 0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:10px !important;
    background:#fff0f1 !important;
    color:#E31D23 !important;
    -webkit-text-fill-color:#E31D23 !important;
    font-size:0 !important;
    line-height:1 !important;
    text-indent:-9999px !important;
    overflow:hidden !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:9999 !important;
    box-shadow:none !important;
    pointer-events:auto !important;
}

body.woocommerce-cart a.remove::before,
body.woocommerce-cart .remove::before,
body.woocommerce-cart .tirnan-cart-remove::before,
body.woocommerce-cart .tirnan-cart-visible-remove::before,
body.woocommerce-cart .tirnan-force-cart-remove::before,
body.woocommerce-cart .tirnan-global-cart-remove::before,
body.woocommerce-cart .wc-block-cart-item__remove-link::before {
    content:"" !important;
    display:block !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    background-color:#E31D23 !important;
    opacity:1 !important;
    visibility:visible !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Zm1 6h2v9h-2V9Zm4 0h2v9h-2V9ZM7 9h2v9h2V9h2v9h2V9h2v11H7V9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Zm1 6h2v9h-2V9Zm4 0h2v9h-2V9ZM7 9h2v9h2V9h2v9h2V9h2v11H7V9Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    color:transparent !important;
    -webkit-text-fill-color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    text-indent:0 !important;
}

body.woocommerce-cart a.remove::after,
body.woocommerce-cart .remove::after,
body.woocommerce-cart .tirnan-cart-remove::after,
body.woocommerce-cart .tirnan-cart-visible-remove::after,
body.woocommerce-cart .tirnan-force-cart-remove::after,
body.woocommerce-cart .tirnan-global-cart-remove::after,
body.woocommerce-cart .wc-block-cart-item__remove-link::after {
    display:none !important;
    content:none !important;
}

body.woocommerce-cart a.remove:hover,
body.woocommerce-cart .remove:hover,
body.woocommerce-cart .tirnan-cart-remove:hover,
body.woocommerce-cart .tirnan-cart-visible-remove:hover,
body.woocommerce-cart .tirnan-force-cart-remove:hover,
body.woocommerce-cart .tirnan-global-cart-remove:hover,
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    background:#E31D23 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

body.woocommerce-cart a.remove:hover::before,
body.woocommerce-cart .remove:hover::before,
body.woocommerce-cart .tirnan-cart-remove:hover::before,
body.woocommerce-cart .tirnan-cart-visible-remove:hover::before,
body.woocommerce-cart .tirnan-force-cart-remove:hover::before,
body.woocommerce-cart .tirnan-global-cart-remove:hover::before,
body.woocommerce-cart .wc-block-cart-item__remove-link:hover::before {
    background-color:#ffffff !important;
}

/* Align quantity and remove nicely */
body.woocommerce-cart .tirnan-cart-controls-row,
body.woocommerce-cart .tirnan-force-cart-control,
body.woocommerce-cart .tirnan-global-cart-qty {
    vertical-align:middle !important;
}


/* Product page stock status badge */
.single-product .tirnan-stock-status{
    display:inline-flex !important;
    align-items:center !important;
    gap:9px !important;
    margin:10px 0 18px !important;
    padding:9px 15px !important;
    border-radius:999px !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    width:max-content !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

.single-product .tirnan-stock-dot{
    width:10px !important;
    height:10px !important;
    min-width:10px !important;
    border-radius:50% !important;
    display:inline-block !important;
}

.single-product .tirnan-stock-status.tirnan-in-stock{
    background:#ecfdf3 !important;
    color:#15803d !important;
    border:1px solid #bbf7d0 !important;
}

.single-product .tirnan-stock-status.tirnan-in-stock .tirnan-stock-dot{
    background:#22c55e !important;
    box-shadow:0 0 0 4px rgba(34,197,94,.16), 0 0 10px rgba(34,197,94,.55) !important;
}

.single-product .tirnan-stock-status.tirnan-out-of-stock{
    background:#fef2f2 !important;
    color:#dc2626 !important;
    border:1px solid #fecaca !important;
}

.single-product .tirnan-stock-status.tirnan-out-of-stock .tirnan-stock-dot{
    background:#ef4444 !important;
    box-shadow:0 0 0 4px rgba(239,68,68,.14), 0 0 10px rgba(239,68,68,.5) !important;
}

.single-product .summary > p.stock{
    display:none !important;
}


/* Manual trade price display */
.tirnan-trade-price-wrap{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    margin:8px 0 12px !important;
}

.tirnan-trade-price-label{
    display:inline-flex !important;
    align-items:center !important;
    width:max-content !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    background:#ecfdf3 !important;
    color:#15803d !important;
    border:1px solid #bbf7d0 !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.tirnan-trade-price{
    color:#06162F !important;
    font-size:30px !important;
    font-weight:900 !important;
    line-height:1.1 !important;
}

.tirnan-retail-price{
    color:#667085 !important;
    font-size:14px !important;
    font-weight:800 !important;
}

.woocommerce ul.products li.product .tirnan-trade-price{
    font-size:20px !important;
}

.woocommerce ul.products li.product .tirnan-trade-price-label{
    font-size:12px !important;
}


/* Remove WooCommerce sale badges completely */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product span.onsale{
    display:none !important;
}


/* Cart page "New in store" / cross-sells product layout */
.woocommerce-cart .cross-sells,
.woocommerce-cart .cart-collaterals .cross-sells{
    width:100% !important;
    max-width:1180px !important;
    margin:44px auto 0 !important;
    float:none !important;
    clear:both !important;
}

.woocommerce-cart .cross-sells > h2,
.woocommerce-cart .cart-collaterals .cross-sells > h2{
    color:#06162F !important;
    font-size:28px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    text-align:left !important;
    margin:0 0 24px !important;
}

.woocommerce-cart .cross-sells ul.products,
.woocommerce-cart .cart-collaterals .cross-sells ul.products{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:24px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.woocommerce-cart .cross-sells ul.products::before,
.woocommerce-cart .cross-sells ul.products::after{
    display:none !important;
    content:none !important;
}

.woocommerce-cart .cross-sells ul.products li.product,
.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:24px !important;
    background:#fff !important;
    border:1px solid #dfe6f1 !important;
    border-radius:16px !important;
    box-shadow:0 14px 34px rgba(6,22,47,.06) !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:520px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    text-align:left !important;
}

.woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__link{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    color:#06162F !important;
    text-decoration:none !important;
}

.woocommerce-cart .cross-sells ul.products li.product img{
    width:100% !important;
    height:240px !important;
    object-fit:contain !important;
    background:#f8fafc !important;
    border-radius:12px !important;
    margin:0 0 20px !important;
    padding:12px !important;
    box-sizing:border-box !important;
}

.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
.woocommerce-cart .cross-sells ul.products li.product h2{
    color:#06162F !important;
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    min-height:62px !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:left !important;
}

.woocommerce-cart .cross-sells ul.products li.product .price{
    display:block !important;
    color:#06162F !important;
    font-size:20px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    margin:0 0 18px !important;
    text-align:left !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-trade-price-wrap{
    margin:0 0 18px !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-trade-price-label{
    font-size:12px !important;
    margin:0 0 4px !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-trade-price{
    font-size:20px !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-retail-price{
    font-size:13px !important;
}

/* make cart cross-sell add-to-cart match product card layout */
.woocommerce-cart .cross-sells ul.products li.product .tirnan-loop-cart-row{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-loop-qty{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:44px 1fr 44px !important;
    border:1px solid #dfe6f1 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-loop-qty button,
.woocommerce-cart .cross-sells ul.products li.product .tirnan-loop-qty-input{
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#f8fafc !important;
    font-size:20px !important;
    font-weight:900 !important;
    border:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

.woocommerce-cart .cross-sells ul.products li.product .tirnan-loop-qty-input{
    background:#fff !important;
    text-align:center !important;
    font-size:15px !important;
    border-left:1px solid #dfe6f1 !important;
    border-right:1px solid #dfe6f1 !important;
}

.woocommerce-cart .cross-sells ul.products li.product a.button,
.woocommerce-cart .cross-sells ul.products li.product a.add_to_cart_button,
.woocommerce-cart .cross-sells ul.products li.product .button{
    width:100% !important;
    min-height:46px !important;
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#E31D23 !important;
    color:#fff !important;
    border-radius:10px !important;
    border:0 !important;
    padding:0 16px !important;
    margin:0 !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
}

.woocommerce-cart .cross-sells ul.products li.product a.button:hover,
.woocommerce-cart .cross-sells ul.products li.product a.add_to_cart_button:hover{
    background:#c9151a !important;
    color:#fff !important;
}

/* remove SALE badge here too */
.woocommerce-cart .cross-sells .onsale{
    display:none !important;
}

@media(max-width:1100px){
    .woocommerce-cart .cross-sells ul.products,
    .woocommerce-cart .cart-collaterals .cross-sells ul.products{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:767px){
    .woocommerce-cart .cross-sells,
    .woocommerce-cart .cart-collaterals .cross-sells{
        margin-top:32px !important;
    }

    .woocommerce-cart .cross-sells ul.products,
    .woocommerce-cart .cart-collaterals .cross-sells ul.products{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:14px !important;
    }

    .woocommerce-cart .cross-sells ul.products li.product,
    .woocommerce-cart .cart-collaterals .cross-sells ul.products li.product{
        padding:14px !important;
        min-height:430px !important;
    }

    .woocommerce-cart .cross-sells ul.products li.product img{
        height:150px !important;
    }

    .woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-cart .cross-sells ul.products li.product h2{
        font-size:15px !important;
        min-height:54px !important;
    }
}


/* FORCE Cart New in store/products shortcode to match related product cards */
.woocommerce-cart .cart-collaterals ul.products,
.woocommerce-cart .woocommerce ul.products,
body.woocommerce-cart ul.products{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:24px !important;
    width:100% !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
    align-items:stretch !important;
}

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

.woocommerce-cart ul.products li.product{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    padding:24px !important;
    background:#fff !important;
    border:1px solid #dfe6f1 !important;
    border-radius:16px !important;
    box-shadow:0 14px 34px rgba(6,22,47,.06) !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:520px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    text-align:left !important;
}

.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-cart ul.products li.product .woocommerce-loop-product__link{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    color:#06162F !important;
    text-decoration:none !important;
}

.woocommerce-cart ul.products li.product img{
    width:100% !important;
    height:240px !important;
    max-height:240px !important;
    object-fit:contain !important;
    background:#f8fafc !important;
    border-radius:12px !important;
    margin:0 0 20px !important;
    padding:12px !important;
    box-sizing:border-box !important;
}

.woocommerce-cart ul.products li.product .woocommerce-loop-product__title,
.woocommerce-cart ul.products li.product h2{
    color:#06162F !important;
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    min-height:62px !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:left !important;
}

.woocommerce-cart ul.products li.product .price{
    display:block !important;
    color:#06162F !important;
    font-size:20px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    margin:0 0 18px !important;
    text-align:left !important;
}

.woocommerce-cart ul.products li.product .tirnan-trade-price-wrap{
    margin:0 0 18px !important;
}

.woocommerce-cart ul.products li.product .tirnan-trade-price-label{
    font-size:12px !important;
    margin:0 0 4px !important;
}

.woocommerce-cart ul.products li.product .tirnan-trade-price{
    font-size:20px !important;
}

.woocommerce-cart ul.products li.product .tirnan-retail-price{
    font-size:13px !important;
}

/* Add-to-cart should be stacked under quantity, full width */
.woocommerce-cart ul.products li.product .tirnan-loop-cart-row{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
}

.woocommerce-cart ul.products li.product .tirnan-loop-qty{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:44px 1fr 44px !important;
    border:1px solid #dfe6f1 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-sizing:border-box !important;
}

.woocommerce-cart ul.products li.product .tirnan-loop-qty button,
.woocommerce-cart ul.products li.product .tirnan-loop-qty-input{
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#06162F !important;
    -webkit-text-fill-color:#06162F !important;
    background:#f8fafc !important;
    font-size:20px !important;
    font-weight:900 !important;
    border:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

.woocommerce-cart ul.products li.product .tirnan-loop-qty-input{
    background:#fff !important;
    text-align:center !important;
    font-size:15px !important;
    border-left:1px solid #dfe6f1 !important;
    border-right:1px solid #dfe6f1 !important;
}

.woocommerce-cart ul.products li.product a.button,
.woocommerce-cart ul.products li.product a.add_to_cart_button,
.woocommerce-cart ul.products li.product .button{
    width:100% !important;
    min-height:46px !important;
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#E31D23 !important;
    color:#fff !important;
    border-radius:10px !important;
    border:0 !important;
    padding:0 16px !important;
    margin:0 !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
}

.woocommerce-cart ul.products li.product a.button:hover,
.woocommerce-cart ul.products li.product a.add_to_cart_button:hover{
    background:#c9151a !important;
    color:#fff !important;
}

/* Center/format the New in store heading */
.woocommerce-cart .cart-collaterals > h2,
.woocommerce-cart .cross-sells > h2,
.woocommerce-cart h2:has(+ ul.products){
    max-width:1180px !important;
    margin:44px auto 24px !important;
    text-align:left !important;
    color:#06162F !important;
    font-size:28px !important;
    font-weight:900 !important;
}

/* remove SALE badge here too */
.woocommerce-cart ul.products .onsale{
    display:none !important;
}

@media(max-width:1100px){
    .woocommerce-cart .cart-collaterals ul.products,
    .woocommerce-cart .woocommerce ul.products,
    body.woocommerce-cart ul.products{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:767px){
    .woocommerce-cart .cart-collaterals ul.products,
    .woocommerce-cart .woocommerce ul.products,
    body.woocommerce-cart ul.products{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:14px !important;
    }

    .woocommerce-cart ul.products li.product{
        padding:14px !important;
        min-height:430px !important;
    }

    .woocommerce-cart ul.products li.product img{
        height:150px !important;
        max-height:150px !important;
    }

    .woocommerce-cart ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-cart ul.products li.product h2{
        font-size:15px !important;
        min-height:54px !important;
    }
}


/* Pay by Invoice checkout styling */
.tirnan-invoice-block-description,
.payment_method_tirnan_invoice .payment_box{
    background:#ecfdf3 !important;
    color:#15803d !important;
    border:1px solid #bbf7d0 !important;
    border-radius:10px !important;
    padding:12px 14px !important;
    font-weight:800 !important;
}


/* Pay by Invoice checkout display */
.tirnan-invoice-payment-box,
.payment_method_tirnan_invoice .payment_box{
    background:#ecfdf3 !important;
    color:#15803d !important;
    border:1px solid #bbf7d0 !important;
    border-radius:10px !important;
    padding:12px 14px !important;
    font-weight:800 !important;
}


/* tirnan-carousel-scrollbar-fix */
.featured-products-carousel,
.hot-offers-carousel,
.products-carousel,
.product-carousel,
.carousel-track,
.featured-products-track,
.hot-offers-track{
    scrollbar-width:none !important;
}

.featured-products-carousel::-webkit-scrollbar,
.hot-offers-carousel::-webkit-scrollbar,
.products-carousel::-webkit-scrollbar,
.product-carousel::-webkit-scrollbar,
.carousel-track::-webkit-scrollbar,
.featured-products-track::-webkit-scrollbar,
.hot-offers-track::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
}


/* tirnan-carousel-scrollbar-strong-css */
.featured-products-section,
.featured-products-section *,
.tirnan-hot-offers-section,
.tirnan-hot-offers-section *,
.hot-offers-section,
.hot-offers-section *{
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}
.featured-products-section::-webkit-scrollbar,
.featured-products-section *::-webkit-scrollbar,
.tirnan-hot-offers-section::-webkit-scrollbar,
.tirnan-hot-offers-section *::-webkit-scrollbar,
.hot-offers-section::-webkit-scrollbar,
.hot-offers-section *::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
}


/* tirnan-deep-footer-navy-restore-css-file */
html body footer,
html body .site-footer,
html body .footer,
html body .tirnan-footer,
html body #colophon{
    background:#06142B !important;
    background-color:#06142B !important;
    color:#ffffff !important;
}
html body footer *,
html body .site-footer *,
html body .footer *,
html body .tirnan-footer *,
html body #colophon *{
    color:rgba(255,255,255,.86) !important;
}
html body footer h1,
html body footer h2,
html body footer h3,
html body footer h4,
html body .site-footer h1,
html body .site-footer h2,
html body .site-footer h3,
html body .site-footer h4,
html body .footer h1,
html body .footer h2,
html body .footer h3,
html body .footer h4,
html body #colophon h1,
html body #colophon h2,
html body #colophon h3,
html body #colophon h4,
html body footer a,
html body .site-footer a,
html body .footer a,
html body .tirnan-footer a,
html body #colophon a{
    color:#ffffff !important;
}


/* tirnan-remove-newsletter-footer-red-line-css */
html body .newsletter,
html body .stay-loop,
html body .newsletter-section,
html body section[class*="newsletter"]{
    border-bottom:0 !important;
    box-shadow:none !important;
    margin-bottom:0 !important;
    overflow:hidden !important;
}
html body .newsletter:before,
html body .newsletter:after,
html body .stay-loop:before,
html body .stay-loop:after,
html body .newsletter-section:before,
html body .newsletter-section:after,
html body section[class*="newsletter"]:before,
html body section[class*="newsletter"]:after{
    display:none !important;
    content:none !important;
    background:none !important;
    border:0 !important;
}
html body footer,
html body .site-footer,
html body .tirnan-footer{
    border-top:4px solid #06142B !important;
    background:#06142B !important;
    background-color:#06142B !important;
}

/* v1.3.2: Premium editable FAQ page */
.tirnan-faq-page{
    max-width:1080px;
    margin:0 auto;
}
.tirnan-faq-intro{
    text-align:center;
    max-width:760px;
    margin:0 auto 28px;
}
.tirnan-faq-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 10px;
    padding:7px 13px;
    border-radius:999px;
    background:#fff0f1;
    color:var(--tirnan-red);
    font-size:13px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.tirnan-faq-intro h2{
    color:var(--tirnan-navy);
    font-size:clamp(32px,4vw,52px);
    line-height:1.05;
    margin:0 0 12px;
}
.tirnan-faq-intro p:last-child{
    color:#566176;
    font-size:18px;
    margin:0;
}
.tirnan-faq-search{
    display:flex;
    align-items:center;
    gap:12px;
    max-width:720px;
    margin:0 auto 34px;
    padding:0 18px;
    background:#fff;
    border:1px solid #e4e9f2;
    border-radius:18px;
    box-shadow:0 18px 45px rgba(6,20,43,.08);
}
.tirnan-faq-search span{font-size:20px;}
.tirnan-faq-search input{
    width:100%;
    height:62px;
    border:0;
    outline:0;
    color:var(--tirnan-navy);
    font:inherit;
    font-weight:750;
    background:transparent;
}
.tirnan-faq-layout{
    display:grid;
    gap:28px;
}
.tirnan-faq-group{
    background:linear-gradient(180deg,#ffffff,#fbfcff);
    border:1px solid #e5eaf2;
    border-radius:22px;
    padding:22px;
    box-shadow:0 16px 38px rgba(6,20,43,.06);
}
.tirnan-faq-group h3{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
    color:var(--tirnan-navy);
    font-size:22px;
}
.tirnan-faq-group h3:before{
    content:"?";
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:11px;
    background:var(--tirnan-red);
    color:#fff;
    font-weight:950;
}
.tirnan-faq-list{
    display:grid;
    gap:12px;
}
.tirnan-faq-item{
    border:1px solid #e9edf5;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
    transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.tirnan-faq-item.is-open,
.tirnan-faq-item:hover{
    border-color:rgba(227,29,35,.28);
    box-shadow:0 12px 28px rgba(227,29,35,.08);
    transform:translateY(-1px);
}
.tirnan-faq-question{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px;
    border:0;
    background:#fff;
    color:var(--tirnan-navy);
    text-align:left;
    font:inherit;
    font-size:17px;
    font-weight:950;
    cursor:pointer;
    box-shadow:none;
}
.tirnan-faq-question:hover{transform:none;filter:none;}
.tirnan-faq-question b{
    position:relative;
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:999px;
    background:#fff0f1;
}
.tirnan-faq-question b:before,
.tirnan-faq-question b:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:3px;
    border-radius:3px;
    background:var(--tirnan-red);
    transform:translate(-50%,-50%);
}
.tirnan-faq-question b:after{
    transform:translate(-50%,-50%) rotate(90deg);
    transition:opacity .2s ease;
}
.tirnan-faq-question[aria-expanded="true"] b:after{opacity:0;}
.tirnan-faq-answer{
    padding:0 22px 22px;
    color:#566176;
    font-size:16px;
    line-height:1.7;
}
.tirnan-faq-answer p:first-child{margin-top:0;}
.tirnan-faq-answer p:last-child{margin-bottom:0;}
.tirnan-faq-empty,
.tirnan-faq-no-results{
    padding:28px;
    border-radius:18px;
    background:#fff7f7;
    border:1px solid rgba(227,29,35,.18);
    color:var(--tirnan-navy);
    text-align:center;
    font-weight:800;
}
.tirnan-faq-cta{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    margin-top:34px;
    padding:26px;
    border-radius:22px;
    background:linear-gradient(135deg,var(--tirnan-navy),#092551);
    color:#fff;
    box-shadow:0 18px 44px rgba(6,20,43,.16);
}
.tirnan-faq-cta strong{
    display:block;
    font-size:24px;
    margin-bottom:4px;
}
.tirnan-faq-cta span{color:#d8e2f0;}
.tirnan-faq-cta .btn{
    background:var(--tirnan-red);
    color:#fff;
    white-space:nowrap;
}
@media(max-width:800px){
    .tirnan-faq-group{padding:16px;border-radius:18px;}
    .tirnan-faq-question{padding:17px;font-size:16px;}
    .tirnan-faq-answer{padding:0 17px 18px;}
    .tirnan-faq-cta{display:block;text-align:center;}
    .tirnan-faq-cta .btn{margin-top:18px;width:100%;}
}

/* FAQ visibility hotfix - prevents page builder/global button styles hiding FAQ question text */
.tirnan-faq-page .tirnan-faq-question,
.tirnan-faq-page .tirnan-faq-question *{
    opacity:1 !important;
    visibility:visible !important;
    text-indent:0 !important;
    letter-spacing:normal !important;
    text-transform:none !important;
}
.tirnan-faq-page .tirnan-faq-question span{
    display:block !important;
    flex:1 1 auto !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    min-width:0 !important;
    overflow:visible !important;
    clip:auto !important;
    clip-path:none !important;
    white-space:normal !important;
    color:#07162d !important;
    font-size:18px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
}
.tirnan-faq-page .tirnan-faq-question b{
    display:block !important;
    color:#e31d23 !important;
}

/* Premium Wholesale / Trade page */
.tirnan-wholesale-page{background:#fff;color:#171717;overflow:hidden}.tirnan-wholesale-hero{position:relative;min-height:520px;display:flex;align-items:center;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.18),transparent 22%),linear-gradient(135deg,#8f0015 0%,#e30613 52%,#ff2d6f 100%);color:#fff}.tirnan-wholesale-hero:after{content:"";position:absolute;inset:auto -6% -30% auto;width:560px;height:560px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%);border-radius:999px}.tirnan-wholesale-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,0,8,.54),rgba(130,0,20,.18));pointer-events:none}.tirnan-wholesale-hero__inner{position:relative;z-index:1;max-width:790px;padding-top:76px;padding-bottom:76px}.tirnan-wholesale-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.82rem;color:#e30613}.tirnan-wholesale-hero .tirnan-wholesale-kicker{display:inline-flex;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(8px)}.tirnan-wholesale-hero h1{margin:0 0 18px;font-size:clamp(2.35rem,5.5vw,5.2rem);line-height:.94;letter-spacing:-.06em;font-weight:950}.tirnan-wholesale-hero p:not(.tirnan-wholesale-kicker){font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.45;max-width:650px;margin:0 0 28px;color:rgba(255,255,255,.93)}.tirnan-wholesale-actions{display:flex;gap:14px;flex-wrap:wrap}.tirnan-wholesale-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.tirnan-wholesale-btn:hover{transform:translateY(-2px);text-decoration:none}.tirnan-wholesale-btn--primary{background:#fff;color:#b8001c;box-shadow:0 16px 34px rgba(0,0,0,.18)}.tirnan-wholesale-btn--secondary{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.42)}.tirnan-wholesale-btn--light{background:#fff;color:#b8001c;box-shadow:0 14px 30px rgba(80,0,10,.18)}.tirnan-wholesale-section{padding:78px 0}.tirnan-wholesale-section--soft{background:linear-gradient(180deg,#fff5f6 0%,#fff 100%)}.tirnan-wholesale-section-head{text-align:center;max-width:760px;margin:0 auto 34px}.tirnan-wholesale-section-head h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1;margin:0;font-weight:950;letter-spacing:-.045em}.tirnan-wholesale-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tirnan-wholesale-card{background:#fff;border:1px solid rgba(184,0,28,.12);border-radius:26px;padding:28px;box-shadow:0 18px 45px rgba(20,20,20,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tirnan-wholesale-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(184,0,28,.13);border-color:rgba(227,6,19,.28)}.tirnan-wholesale-card span{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:18px;background:#fff1f3;font-size:1.65rem;margin-bottom:17px}.tirnan-wholesale-card h3{font-size:1.16rem;margin:0 0 8px;font-weight:950;color:#b8001c}.tirnan-wholesale-card p{margin:0;color:#4e4e4e;line-height:1.55}.tirnan-wholesale-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tirnan-wholesale-tiles a{min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center;background:#fff;border:2px solid rgba(227,6,19,.13);border-radius:24px;text-decoration:none;color:#151515;font-size:1.75rem;box-shadow:0 14px 36px rgba(184,0,28,.07);transition:transform .18s ease,border-color .18s ease,background .18s ease}.tirnan-wholesale-tiles a strong{font-size:1rem}.tirnan-wholesale-tiles a:hover{transform:translateY(-3px);border-color:#e30613;background:#fffafa;text-decoration:none}.tirnan-wholesale-trust{padding:28px 0;background:#151515;color:#fff}.tirnan-wholesale-trust__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tirnan-wholesale-trust__grid div{padding:20px;text-align:center;border-radius:20px;background:rgba(255,255,255,.07)}.tirnan-wholesale-trust strong{display:block;font-size:1.55rem;font-weight:950;color:#fff}.tirnan-wholesale-trust span{display:block;color:rgba(255,255,255,.78);font-size:.94rem}.tirnan-wholesale-cta{padding:70px 0;background:linear-gradient(135deg,#b8001c,#e30613);color:#fff}.tirnan-wholesale-cta .tirnan-wholesale-kicker{color:#fff}.tirnan-wholesale-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:26px}.tirnan-wholesale-cta h2{font-size:clamp(2.1rem,4vw,3.65rem);line-height:1;margin:0 0 12px;font-weight:950;letter-spacing:-.05em}.tirnan-wholesale-cta p:not(.tirnan-wholesale-kicker){margin:0;color:rgba(255,255,255,.9);font-size:1.12rem;max-width:680px}
@media (max-width:900px){.tirnan-wholesale-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tirnan-wholesale-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tirnan-wholesale-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tirnan-wholesale-cta__inner{align-items:flex-start;flex-direction:column}.tirnan-wholesale-section{padding:58px 0}}
@media (max-width:560px){.tirnan-wholesale-hero{min-height:auto}.tirnan-wholesale-hero__inner{padding-top:54px;padding-bottom:56px}.tirnan-wholesale-actions,.tirnan-wholesale-btn{width:100%}.tirnan-wholesale-card-grid,.tirnan-wholesale-tiles,.tirnan-wholesale-trust__grid{grid-template-columns:1fr}.tirnan-wholesale-card{padding:23px}.tirnan-wholesale-tiles a{min-height:108px}.tirnan-wholesale-section-head{text-align:left}.tirnan-wholesale-cta{padding:54px 0}}

/* Wholesale page alignment fix: match standard navy header + contact-page spacing */
.tirnan-wholesale-page--aligned{background:#fff;color:#06142B;padding:48px 0 58px;overflow:visible}.twp-red-panel{background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.18),transparent 26%),linear-gradient(135deg,#E31D23,#B8001C);color:#fff;border-radius:26px;padding:46px;box-shadow:0 24px 70px rgba(6,20,43,.14);margin:0 0 34px;overflow:hidden}.twp-red-panel__content{max-width:850px}.twp-pill,.twp-kicker{display:inline-flex;width:max-content;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.twp-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;margin:0 0 18px}.twp-kicker{background:#fff0f1;color:#E31D23;border:1px solid #ffd5d7;margin:0 0 12px}.twp-red-panel h2{margin:0 0 14px;color:#fff;font-size:clamp(38px,5vw,68px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase;font-weight:950}.twp-red-panel p:not(.twp-pill){max-width:720px;color:#fff;font-size:19px;line-height:1.55;font-weight:750;margin:0}.twp-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.twp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border-radius:10px;text-decoration:none!important;font-weight:950;text-transform:uppercase;letter-spacing:.03em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.twp-btn:hover{transform:translateY(-2px);text-decoration:none!important}.twp-btn--navy{background:#06142B;color:#fff!important;box-shadow:0 14px 30px rgba(6,20,43,.2)}.twp-btn--outline{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.9)}.twp-btn--white{background:#fff;color:#B8001C!important;box-shadow:0 14px 30px rgba(80,0,10,.18)}.twp-section{padding:34px 0}.twp-section--tight{padding-top:18px}.twp-section-head{text-align:center;max-width:720px;margin:0 auto 24px}.twp-section-head h2{margin:0;color:#06142B;font-size:clamp(30px,3.2vw,48px);line-height:1;letter-spacing:-.045em;font-weight:950}.twp-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.twp-card-grid article{background:#fff;border:1px solid #e4ebf5;border-radius:20px;box-shadow:0 12px 34px rgba(6,20,43,.06);padding:24px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.twp-card-grid article:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(6,20,43,.1);border-color:#ffd5d7}.twp-card-grid span{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff0f1;border-radius:15px;margin-bottom:14px;font-size:24px}.twp-card-grid h3{color:#06142B;font-size:19px;line-height:1.15;margin:0 0 8px;font-weight:950}.twp-card-grid p{color:#566176;line-height:1.5;margin:0}.twp-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.twp-pills a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:74px;padding:15px;background:#fff;border:2px solid #ffe0e3;border-radius:18px;text-decoration:none!important;color:#06142B;font-weight:950;box-shadow:0 10px 28px rgba(6,20,43,.04);transition:transform .18s ease,border-color .18s ease,background .18s ease}.twp-pills a:hover{transform:translateY(-2px);border-color:#E31D23;background:#fffafa}.twp-final-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#06142B,#102C5F);color:#fff;border-radius:24px;padding:38px;margin:36px 0 10px}.twp-final-cta .twp-kicker{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.22)}.twp-final-cta h2{margin:0 0 10px;color:#fff;font-size:clamp(32px,3.4vw,50px);line-height:1;letter-spacing:-.045em;font-weight:950}.twp-final-cta p:not(.twp-kicker){margin:0;color:#e7effa;font-size:18px;line-height:1.45;max-width:700px}@media(max-width:1000px){.twp-card-grid,.twp-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.twp-final-cta{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.tirnan-wholesale-page--aligned{padding:28px 0 42px}.twp-red-panel{padding:28px;border-radius:20px}.twp-red-panel h2{font-size:40px}.twp-actions,.twp-btn{width:100%}.twp-card-grid,.twp-pills{grid-template-columns:1fr}.twp-section-head{text-align:left}.twp-final-cta{padding:28px;border-radius:20px}}

/* Contract Packaging page */
.tirnan-contract-page .tcp-hero-panel{position:relative;isolation:isolate}
.tirnan-contract-page .tcp-hero-panel:after{content:"";position:absolute;right:34px;bottom:-34px;width:210px;height:210px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 68%);z-index:-1}
.tirnan-contract-page .tcp-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tcp-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:step}
.tcp-process article{position:relative;background:#fff;border:1px solid #e4ebf5;border-radius:20px;padding:24px;box-shadow:0 12px 34px rgba(6,20,43,.06)}
.tcp-process article strong{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#E31D23;color:#fff;font-size:18px;font-weight:950;margin-bottom:14px}
.tcp-process h3{margin:0 0 8px;color:#06142B;font-size:19px;line-height:1.15;font-weight:950}
.tcp-process p{margin:0;color:#566176;line-height:1.5}
.tcp-service-pills a{min-height:66px}
@media(max-width:1000px){.tirnan-contract-page .tcp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tcp-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tirnan-contract-page .tcp-card-grid,.tcp-process{grid-template-columns:1fr}.tirnan-contract-page .tcp-hero-panel:after{display:none}}

/* About Us page */
.tirnan-about-page .tap-hero-panel{position:relative;isolation:isolate}
.tirnan-about-page .tap-hero-panel:after{content:"";position:absolute;right:36px;bottom:-36px;width:230px;height:230px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 68%);z-index:-1}
.tirnan-about-page .tap-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tap-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tap-values article{background:#fff;border:1px solid #e4ebf5;border-radius:20px;padding:26px;box-shadow:0 12px 34px rgba(6,20,43,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.tap-values article:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(6,20,43,.1);border-color:#ffd5d7}
.tap-values strong{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:#fff0f1;font-size:25px;margin-bottom:14px}
.tap-values h3{margin:0 0 8px;color:#06142B;font-size:21px;line-height:1.15;font-weight:950}
.tap-values p{margin:0;color:#566176;line-height:1.55}
.tap-service-pills{grid-template-columns:repeat(3,minmax(0,1fr))}
.tap-service-pills a{min-height:66px}
@media(max-width:1000px){.tirnan-about-page .tap-card-grid,.tap-values,.tap-service-pills{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tirnan-about-page .tap-card-grid,.tap-values,.tap-service-pills{grid-template-columns:1fr}.tirnan-about-page .tap-hero-panel:after{display:none}}

/* Premium Why Choose Tírnan section - brand navy version */
.trust-band-premium{position:relative;overflow:hidden;padding:66px 0 72px;background:#081A36;background-image:radial-gradient(circle at 14% 0%,rgba(255,255,255,.115),transparent 30%),radial-gradient(circle at 50% 50%,rgba(227,6,19,.16),transparent 34%),radial-gradient(circle at 84% 88%,rgba(255,255,255,.055),transparent 28%),linear-gradient(135deg,#081A36 0%,#0A1B3D 58%,#061329 100%);}
.trust-band-premium:before{content:"";position:absolute;inset:-1px;background:linear-gradient(115deg,rgba(255,255,255,.115) 0%,rgba(255,255,255,.035) 20%,rgba(255,255,255,0) 38%),radial-gradient(ellipse at top left,rgba(255,255,255,.12),transparent 42%),radial-gradient(circle at 50% 58%,rgba(227,6,19,.13),transparent 38%);pointer-events:none;mix-blend-mode:screen;}
.trust-band-premium:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 26%,rgba(255,255,255,.026) 0 2px,transparent 3px),radial-gradient(circle at 82% 64%,rgba(255,255,255,.022) 0 2px,transparent 3px),radial-gradient(ellipse at center,transparent 0%,transparent 52%,rgba(0,0,0,.32) 100%);background-size:78px 78px,96px 96px,100% 100%;opacity:1;pointer-events:none;}
.trust-band-premium .container{position:relative;z-index:1;}
.trust-head{text-align:center;max-width:790px;margin:0 auto 34px;}
.trust-head h2{font-size:clamp(30px,3.4vw,43px);line-height:1.08;margin:0 0 10px;text-transform:none;letter-spacing:.005em;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.32);}
.trust-head p{font-size:17px;line-height:1.55;color:#eef5ff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.24);}
.trust-grid-five{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:stretch;}
.trust-card{display:block;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(255,255,255,.93));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--tirnan-navy);border-radius:22px;padding:26px 20px 24px;box-shadow:0 24px 58px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.95);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;border:1px solid rgba(255,255,255,.74);}
.trust-card:before{content:"";position:absolute;left:-35%;top:-58%;width:170%;height:96%;background:linear-gradient(115deg,rgba(255,255,255,.82),rgba(255,255,255,.08) 52%,transparent 60%);transform:rotate(-8deg);pointer-events:none;}
.trust-card:hover{transform:translateY(-8px);box-shadow:0 34px 76px rgba(0,0,0,.40),0 0 0 1px rgba(227,6,19,.22),inset 0 1px 0 rgba(255,255,255,.98);}
.trust-card .trust-icon{position:relative;width:60px;height:60px;border-radius:999px;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.38),transparent 25%),linear-gradient(135deg,var(--tirnan-red),#ff4050 62%,#c80018);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px;box-shadow:0 14px 30px rgba(227,6,19,.36),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .24s ease,box-shadow .24s ease;}
.trust-card:hover .trust-icon{transform:scale(1.07);box-shadow:0 18px 38px rgba(227,6,19,.48),0 0 0 9px rgba(227,6,19,.10),inset 0 1px 0 rgba(255,255,255,.32);}
.trust-card h3{position:relative;font-size:16px;line-height:1.18;margin:0 0 10px;text-align:center;color:var(--tirnan-navy);}
.trust-card p{position:relative;font-size:14px;line-height:1.45;margin:0;text-align:center;color:#536072;}
@media(max-width:1100px){.trust-grid-five{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.trust-band-premium{padding:44px 0 48px}.trust-grid-five{grid-template-columns:1fr}.trust-card{padding:23px 18px}.trust-head{text-align:left;margin-bottom:22px}.trust-head h2{text-align:left}.trust-head p{text-align:left}}

/* v1.0.31: Premium homepage hero refresh */
.home .hero.hero-premium{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 18% 14%, rgba(255,255,255,.22), transparent 26%),
        radial-gradient(circle at 76% 36%, rgba(255,255,255,.16), transparent 24%),
        radial-gradient(circle at 78% 56%, rgba(255,45,75,.34), transparent 36%),
        linear-gradient(135deg,#8f0008 0%,#e30613 42%,#b90012 70%,#6f0008 100%);
    isolation:isolate;
}
.home .hero.hero-premium:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(8,26,54,.34) 0%, rgba(8,26,54,.10) 42%, rgba(8,26,54,.48) 100%),
        radial-gradient(circle at 50% 115%, rgba(0,0,0,.42), transparent 46%),
        radial-gradient(circle at 12% 12%, rgba(255,255,255,.14), transparent 28%);
    pointer-events:none;
    z-index:0;
}
.home .hero.hero-premium:after{
    content:"";
    position:absolute;
    inset:-20%;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.22) 0 1px, transparent 1.7px),
        radial-gradient(circle, rgba(255,255,255,.16) 0 1px, transparent 1.5px);
    background-size:48px 48px, 78px 78px;
    background-position:0 0, 20px 24px;
    opacity:.18;
    transform:rotate(-8deg);
    pointer-events:none;
    z-index:0;
}
.home .hero.hero-premium .hero__row{
    min-height:560px;
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    gap:10px;
    padding:66px 0 96px;
}
.home .hero.hero-premium .hero__content{
    position:relative;
    z-index:3;
    max-width:650px;
}
.home .hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(255,255,255,.34);
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 14px 32px rgba(0,0,0,.14);
    backdrop-filter:blur(9px);
    border-radius:999px;
    padding:9px 15px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.055em;
    font-size:12px;
    margin-bottom:18px;
}
.home .hero-kicker:before{content:"🍬";font-size:16px;line-height:1}
.home .hero.hero-premium h1{
    margin:0 0 12px;
    font-size:clamp(48px,5.6vw,82px);
    line-height:.94;
    letter-spacing:-.055em;
    text-transform:none;
    max-width:680px;
    text-shadow:0 10px 32px rgba(0,0,0,.22);
}
.home .hero.hero-premium h1 span{display:block}
.home .hero-audience{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-family:Georgia,serif;
    font-style:italic;
    font-size:clamp(28px,3.3vw,46px);
    line-height:1;
    margin:0 0 18px;
    text-shadow:0 8px 24px rgba(0,0,0,.18);
}
.home .hero.hero-premium p{
    max-width:590px;
    font-size:19px;
    line-height:1.5;
    font-weight:750;
    color:rgba(255,255,255,.96);
    text-shadow:0 3px 16px rgba(0,0,0,.18);
}
.home .hero.hero-premium .hero__cta{margin-top:28px;gap:14px}
.home .hero.hero-premium .btn{
    border-radius:10px;
    padding:16px 22px;
    box-shadow:0 16px 34px rgba(0,0,0,.20);
}
.home .hero.hero-premium .btn-navy{background:#081A36!important}
.home .hero.hero-premium .btn-outline{
    background:rgba(255,255,255,.10)!important;
    border:2px solid rgba(255,255,255,.82)!important;
    backdrop-filter:blur(8px);
}
.home .hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.home .hero-trust span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:999px;
    color:#fff;
    background:rgba(8,26,54,.32);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
    font-size:13px;
    font-weight:900;
    backdrop-filter:blur(8px);
}
.home .hero.hero-premium .hero__image-wrap{
    position:relative;
    z-index:2;
    min-height:470px;
    align-self:stretch;
    justify-content:center;
}
.home .hero-splash-glow{
    position:absolute;
    right:-10%;
    top:5%;
    width:85%;
    aspect-ratio:1;
    border-radius:50%;
    background:
        radial-gradient(circle, rgba(255,255,255,.25), transparent 34%),
        radial-gradient(circle, rgba(255,45,70,.54), transparent 56%);
    filter:blur(12px);
    opacity:.9;
    z-index:0;
}
.home .hero.hero-premium .hero__image{
    position:relative;
    z-index:2;
    width:min(108%,790px);
    max-height:520px;
    object-fit:contain;
    transform:translate(48px,12px) scale(1.12) rotate(-1deg);
    filter:drop-shadow(0 36px 48px rgba(0,0,0,.34)) saturate(1.12) contrast(1.06);
}
.home .benefits{
    margin-top:-48px;
}
.home .benefits__grid{
    border-radius:18px;
    box-shadow:0 24px 70px rgba(8,26,54,.18);
    border:1px solid rgba(8,26,54,.08);
}
@media(max-width:1100px){
    .home .hero.hero-premium .hero__row{grid-template-columns:1fr .9fr;min-height:520px}
    .home .hero.hero-premium .hero__image{transform:translate(34px,18px) scale(1.05)}
}
@media(max-width:900px){
    .home .hero.hero-premium .hero__row{grid-template-columns:1fr;padding:56px 0 72px;min-height:auto}
    .home .hero.hero-premium .hero__image-wrap{display:none!important}
    .home .hero.hero-premium h1{font-size:clamp(42px,12vw,62px)}
    .home .hero-audience{font-size:30px}
}

/* v1.0.1 Tubs/category product grid repair - keep all WooCommerce catalogue cards inside the same grid */
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.woocommerce-shop ul.products,
body.woocommerce-page.archive ul.products,
body.archive.woocommerce ul.products,
body .woocommerce ul.products.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    list-style: none !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    clear: both !important;
}

body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.tax-product_tag ul.products::before,
body.tax-product_tag ul.products::after,
body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body .woocommerce ul.products.products::before,
body .woocommerce ul.products.products::after {
    display: none !important;
    content: none !important;
}

body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product,
body.woocommerce-shop ul.products li.product,
body.woocommerce-page.archive ul.products li.product,
body.archive.woocommerce ul.products li.product,
body .woocommerce ul.products.products li.product,
body ul.products li.product.first,
body ul.products li.product.last {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    background: #fff !important;
    border: 1px solid #e5eaf2 !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 34px rgba(6,20,43,.06) !important;
    overflow: hidden !important;
    text-align: left !important;
}

body ul.products li.product a.woocommerce-LoopProduct-link,
body ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    color: #06142B !important;
    text-decoration: none !important;
}

body ul.products li.product img,
body .woocommerce ul.products li.product img,
body ul.products li.product a img {
    width: 100% !important;
    height: 170px !important;
    max-height: 170px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #f8fafc !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin: 0 0 14px !important;
    box-sizing: border-box !important;
}

body ul.products li.product .woocommerce-loop-product__title,
body ul.products li.product h2,
body ul.products li.product h3 {
    color: #06142B !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    min-height: 44px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    text-align: left !important;
}

body ul.products li.product .price {
    display: block !important;
    margin: auto 0 14px !important;
    color: #06142B !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
}

body ul.products li.product .tirnan-loop-cart-row,
body ul.products li.product .tirnan-loop-qty {
    width: 100% !important;
}

body ul.products li.product .button,
body ul.products li.product a.button,
body ul.products li.product .add_to_cart_button {
    width: 100% !important;
    min-height: 42px !important;
    margin-top: 8px !important;
    border-radius: 9px !important;
}

@media (min-width: 1180px) {
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.woocommerce-shop ul.products,
    body.woocommerce-page.archive ul.products,
    body.archive.woocommerce ul.products,
    body .woocommerce ul.products.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.woocommerce-shop ul.products,
    body.woocommerce-page.archive ul.products,
    body.archive.woocommerce ul.products,
    body .woocommerce ul.products.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
    body ul.products li.product img,
    body .woocommerce ul.products li.product img,
    body ul.products li.product a img {
        height: 135px !important;
        max-height: 135px !important;
    }
}

@media (max-width: 430px) {
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.woocommerce-shop ul.products,
    body.woocommerce-page.archive ul.products,
    body.archive.woocommerce ul.products,
    body .woocommerce ul.products.products {
        grid-template-columns: 1fr !important;
    }
}

/* v1.0.8: Fix WooCommerce shop/browse product grid alignment and card spacing */
.woocommerce .tirnan-shop-layout-with-sidebar{
    display:grid !important;
    grid-template-columns:280px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:start !important;
    width:100% !important;
}

.woocommerce .tirnan-shop-products-area{
    min-width:0 !important;
    width:100% !important;
}

.woocommerce .tirnan-shop-products-area ul.products,
.woocommerce-page .tirnan-shop-products-area ul.products,
.woocommerce.archive ul.products,
.woocommerce-shop ul.products,
.tax-product_cat ul.products,
.post-type-archive-product ul.products{
    display:grid !important;
    grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)) !important;
    gap:24px !important;
    width:100% !important;
    margin:24px 0 0 !important;
    padding:0 !important;
    list-style:none !important;
    clear:none !important;
    float:none !important;
}

.woocommerce .tirnan-shop-products-area ul.products::before,
.woocommerce .tirnan-shop-products-area ul.products::after,
.woocommerce.archive ul.products::before,
.woocommerce.archive ul.products::after,
.woocommerce-shop ul.products::before,
.woocommerce-shop ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after,
.post-type-archive-product ul.products::before,
.post-type-archive-product ul.products::after{
    display:none !important;
    content:none !important;
}

.woocommerce .tirnan-shop-products-area ul.products li.product,
.woocommerce-page .tirnan-shop-products-area ul.products li.product,
.woocommerce.archive ul.products li.product,
.woocommerce-shop ul.products li.product,
.tax-product_cat ul.products li.product,
.post-type-archive-product ul.products li.product{
    float:none !important;
    clear:none !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:16px !important;
    list-style:none !important;
    list-style-type:none !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    height:100% !important;
    border:1px solid #e5eaf2 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 14px 34px rgba(6,20,43,.07) !important;
    overflow:hidden !important;
    text-align:left !important;
}

.woocommerce ul.products li.product::marker,
.woocommerce-page ul.products li.product::marker{
    content:"" !important;
    display:none !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
    display:block !important;
    color:#06142B !important;
    text-decoration:none !important;
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
    width:100% !important;
    height:210px !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    background:#f8fafc !important;
    border-radius:12px !important;
    padding:14px !important;
    margin:0 0 12px !important;
    display:block !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:44px !important;
    margin:0 0 8px !important;
    padding:0 !important;
    color:#06142B !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
}

.woocommerce ul.products li.product .price{
    display:block !important;
    margin:0 0 10px !important;
    color:#06142B !important;
    font-size:18px !important;
    line-height:1.2 !important;
    font-weight:950 !important;
}

.woocommerce ul.products li.product .quantity,
.woocommerce ul.products li.product .tirnan-loop-qty,
.woocommerce ul.products li.product form.cart{
    width:100% !important;
    margin-top:auto !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button{
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    border-radius:10px !important;
    background:#E31D23 !important;
    color:#fff !important;
    font-weight:950 !important;
    line-height:1 !important;
    position:static !important;
}

.woocommerce ul.products li.product .tirnan-qty-wrap,
.woocommerce ul.products li.product .quantity.buttons_added{
    display:grid !important;
    grid-template-columns:46px 1fr 46px !important;
    width:100% !important;
    margin:0 0 10px !important;
    border:1px solid #e2e8f0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
}

.woocommerce ul.products li.product .tirnan-qty-wrap input,
.woocommerce ul.products li.product .quantity input.qty{
    width:100% !important;
    min-height:44px !important;
    border:0 !important;
    text-align:center !important;
    font-weight:900 !important;
}

@media (max-width:980px){
    .woocommerce .tirnan-shop-layout-with-sidebar{
        grid-template-columns:1fr !important;
    }
}

@media (max-width:640px){
    .woocommerce .tirnan-shop-products-area ul.products,
    .woocommerce.archive ul.products,
    .woocommerce-shop ul.products,
    .tax-product_cat ul.products,
    .post-type-archive-product ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
    }
    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product img{
        height:160px !important;
    }
}

@media (max-width:420px){
    .woocommerce .tirnan-shop-products-area ul.products,
    .woocommerce.archive ul.products,
    .woocommerce-shop ul.products,
    .tax-product_cat ul.products,
    .post-type-archive-product ul.products{
        grid-template-columns:1fr !important;
    }
}

/* Tírnan v1.0 - polished red hero watermark + Delivery Information page */
.twp-red-panel{position:relative;isolation:isolate;overflow:hidden}.twp-red-panel:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.20),transparent 28%),radial-gradient(circle at 16% 85%,rgba(6,20,43,.18),transparent 38%),linear-gradient(135deg,#E31D23 0%,#D50D1D 52%,#B8001C 100%)}.twp-red-panel:after{content:"";position:absolute;right:34px;top:50%;transform:translateY(-50%) rotate(-8deg);z-index:-1;width:310px;height:310px;opacity:.085;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 18px 24px rgba(6,20,43,.12));pointer-events:none}.twp-red-panel__content{position:relative;z-index:2}.twp-red-panel--delivery:after{content:"🚚";font-size:250px;line-height:1;display:flex;align-items:center;justify-content:center;color:#fff;background:none}.tcp-hero-panel:after{content:"📦";font-size:250px;line-height:1;display:flex;align-items:center;justify-content:center;color:#fff;background:none}.tap-hero-panel:after{content:"🍬";font-size:250px;line-height:1;display:flex;align-items:center;justify-content:center;color:#fff;background:none}.tirnan-wholesale-page .twp-red-panel:after,.page-template-page-trade .twp-red-panel:after,.page-template-page-wholesale .twp-red-panel:after{content:"🤝";font-size:250px;line-height:1;display:flex;align-items:center;justify-content:center;color:#fff;background:none}.tdp-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tdp-info-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}.tdp-info-card{background:#fff;border:1px solid #e4ebf5;border-radius:22px;box-shadow:0 16px 42px rgba(6,20,43,.07);padding:30px}.tdp-info-card h2{margin:0 0 18px;color:#06142B;font-size:clamp(28px,3vw,42px);line-height:1;letter-spacing:-.04em;font-weight:950}.tdp-info-card p{color:#566176;font-size:16px;line-height:1.55}.tdp-info-card dl{margin:0;display:grid;gap:12px}.tdp-info-card dl div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid #e9eef6}.tdp-info-card dl div:last-child{border-bottom:0}.tdp-info-card dt{font-weight:950;color:#06142B}.tdp-info-card dd{margin:0;color:#566176}.tdp-shipping-card{background:linear-gradient(180deg,#fff,#fff7f8);border-color:#ffdadd}.tdp-shipping-card .twp-btn{margin-top:12px}.tdp-pills{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.tdp-card-grid,.tdp-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.tdp-info-grid{grid-template-columns:1fr}.twp-red-panel:after{right:-30px;width:250px;height:250px;font-size:205px;opacity:.065}}@media(max-width:620px){.tdp-card-grid,.tdp-pills{grid-template-columns:1fr}.tdp-info-card{padding:24px;border-radius:18px}.tdp-info-card dl div{grid-template-columns:1fr;gap:4px}.twp-red-panel:after{right:-55px;top:auto;bottom:-45px;transform:rotate(-8deg);font-size:170px;opacity:.055}}


/* === Tírnan v1.0 information page hero watermarks === */
.twp-red-panel,
.tcc-hero,
.tcp-hero{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
    background:
        radial-gradient(circle at 14% 0%, rgba(255,255,255,.22), transparent 30%),
        radial-gradient(circle at 88% 20%, rgba(255,255,255,.14), transparent 28%),
        linear-gradient(135deg,#E31D23 0%,#D50D1D 52%,#B8001C 100%)!important;
}
.twp-red-panel:before,
.tcc-hero:before,
.tcp-hero:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:-2!important;
    pointer-events:none!important;
    background:
        linear-gradient(115deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.05) 22%,rgba(255,255,255,0) 46%),
        radial-gradient(circle at 100% 100%,rgba(6,20,43,.20),transparent 42%)!important;
}
.twp-red-panel:after,
.tcc-hero:after,
.tcp-hero:after{
    position:absolute!important;
    right:-28px!important;
    top:50%!important;
    transform:translateY(-50%) rotate(-8deg)!important;
    z-index:-1!important;
    width:340px!important;
    height:340px!important;
    opacity:.085!important;
    pointer-events:none!important;
    color:#fff!important;
    font-size:255px!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:none!important;
    filter:drop-shadow(0 18px 24px rgba(6,20,43,.14))!important;
}
.twp-red-panel__content,
.tcc-hero > *,
.tcp-hero > *{position:relative!important;z-index:2!important;}

/* Page-specific watermark icons */
.twp-red-panel--delivery:after{content:"🚚"!important;}
.twp-red-panel--trade:after,
.tirnan-wholesale-page .twp-red-panel--trade:after,
.page-template-page-trade .twp-red-panel--trade:after,
.page-template-page-wholesale .twp-red-panel--trade:after{content:"🤝"!important;}
.tcp-hero-panel:after{content:"📦"!important;}
.tfq-hero-panel:after{content:"❓"!important;}
.tcc-hero:after,
.tcp-hero:after{content:"☎"!important;}

/* About page uses a subtle Tírnan logo watermark instead of an emoji */
.tap-hero-panel:after{
    content:""!important;
    background-image:url('assets/img/tirnan-logo.png')!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:contain!important;
    width:390px!important;
    height:260px!important;
    opacity:.07!important;
    right:-34px!important;
    transform:translateY(-50%) rotate(-6deg)!important;
}

/* Make the red cards feel a little glossier and more consistent */
.twp-red-panel h2,
.tcc-hero h1,
.tcp-hero h1{text-shadow:0 8px 24px rgba(80,0,10,.16)!important;}
.twp-pill,
.tcc-hero span,
.tcp-pill{backdrop-filter:blur(8px);}

@media(max-width:900px){
    .twp-red-panel:after,
    .tcc-hero:after,
    .tcp-hero:after{
        right:-80px!important;
        bottom:-80px!important;
        top:auto!important;
        transform:rotate(-8deg)!important;
        font-size:190px!important;
        width:260px!important;
        height:260px!important;
        opacity:.055!important;
    }
    .tap-hero-panel:after{width:270px!important;height:190px!important;right:-90px!important;bottom:-50px!important;}
}

/* === Tirnan Mobile Off-Canvas Menu Refresh === */
.tirnan-mobile-menu-backdrop{display:none;}
@media (max-width: 900px){
  html.tirnan-menu-open, body.tirnan-menu-open{overflow:hidden!important;}
  .top-header{position:relative;z-index:10020;}
  .site-header__row{height:86px!important;gap:14px!important;}
  .site-logo{position:relative;z-index:10030;}
  .site-logo img{width:160px!important;max-height:70px!important;object-fit:contain!important;}
  .mobile-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:auto!important;
    width:54px!important;
    height:44px!important;
    border-radius:14px!important;
    background:#06142B!important;
    color:#fff!important;
    box-shadow:0 14px 28px rgba(6,20,43,.16)!important;
    font-size:0!important;
    position:relative!important;
    z-index:10050!important;
    padding:0!important;
  }
  .mobile-menu-toggle:before,
  .mobile-menu-toggle:after{
    content:"";
    position:absolute;
    width:22px;
    height:2px;
    background:#fff;
    border-radius:999px;
    transition:transform .22s ease, top .22s ease, box-shadow .22s ease;
    left:16px;
  }
  .mobile-menu-toggle:before{top:16px;box-shadow:0 6px 0 #fff;}
  .mobile-menu-toggle:after{top:28px;}
  body.tirnan-menu-open .mobile-menu-toggle:before{top:21px;transform:rotate(45deg);box-shadow:none;}
  body.tirnan-menu-open .mobile-menu-toggle:after{top:21px;transform:rotate(-45deg);}

  .tirnan-mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(3,12,28,.58);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    z-index:10000;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease, visibility .22s ease;
  }
  body.tirnan-menu-open .tirnan-mobile-menu-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .main-nav,
  .main-nav.is-open{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(86vw,390px)!important;
    max-width:390px!important;
    height:100vh!important;
    background:#fff!important;
    padding:112px 22px 24px!important;
    z-index:10040!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-shadow:-24px 0 60px rgba(6,20,43,.24)!important;
    transform:translateX(104%)!important;
    transition:transform .26s ease!important;
    border-radius:24px 0 0 24px!important;
    margin:0!important;
    color:#06142B!important;
  }
  .main-nav:before{
    content:"Menu";
    position:absolute;
    left:22px;
    top:34px;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:950;
    color:#E31D23;
  }
  .main-nav:after{
    content:"Tírnan Confectionery";
    position:absolute;
    left:22px;
    top:56px;
    font-size:20px;
    font-weight:950;
    color:#06142B;
  }
  body.tirnan-menu-open .main-nav,
  .main-nav.is-open{transform:translateX(0)!important;}
  .main-nav ul{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  .main-nav li{margin:0!important;padding:0!important;border:0!important;list-style:none!important;}
  .main-nav li:not(.tirnan-mobile-menu-actions) > a{
    display:flex!important;
    align-items:center!important;
    min-height:58px!important;
    padding:0 2px!important;
    border-bottom:1px solid #eef1f6!important;
    color:#06142B!important;
    font-size:20px!important;
    line-height:1.15!important;
    font-weight:900!important;
    text-decoration:none!important;
  }
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:after{
    content:"›";
    margin-left:auto;
    color:#E31D23;
    font-size:24px;
    line-height:1;
    opacity:.7;
  }
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:hover{color:#E31D23!important;}
  .tirnan-mobile-menu-actions{
    display:grid!important;
    gap:12px!important;
    padding:18px 0 0!important;
    margin-top:18px!important;
    border-top:1px solid #dfe5ef!important;
  }
  .tirnan-mobile-menu-actions a{
    min-height:54px!important;
    border-radius:14px!important;
    font-size:17px!important;
    font-weight:950!important;
    box-shadow:0 14px 28px rgba(6,20,43,.08)!important;
  }
  .tirnan-mobile-menu-login{background:#06142B!important;color:#fff!important;}
  .tirnan-mobile-menu-apply{background:#E31D23!important;color:#fff!important;}

  .top-header .header-actions{display:none!important;}
  body.tirnan-menu-open .hero,
  body.tirnan-menu-open main,
  body.tirnan-menu-open .search-strip{pointer-events:none;}
}
@media (max-width: 430px){
  .site-header__row{height:82px!important;}
  .site-logo img{width:150px!important;}
  .main-nav,.main-nav.is-open{width:88vw!important;border-radius:20px 0 0 20px!important;padding-left:20px!important;padding-right:20px!important;}
  .main-nav li:not(.tirnan-mobile-menu-actions) > a{font-size:19px!important;min-height:56px!important;}
}

/* === Tirnan mobile menu final button text visibility fix === */
@media (max-width: 900px){
  .main-nav .tirnan-mobile-menu-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:18px 0 0!important;
    margin:18px 0 0!important;
    border-top:1px solid #dfe5ef!important;
    list-style:none!important;
  }
  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-actions a:visited,
  .main-nav .tirnan-mobile-menu-actions a:hover,
  .main-nav .tirnan-mobile-menu-actions a:focus{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    width:100%!important;
    min-height:58px!important;
    padding:0 18px!important;
    border-radius:16px!important;
    font-size:18px!important;
    line-height:1.1!important;
    font-weight:950!important;
    text-decoration:none!important;
    white-space:normal!important;
    text-align:center!important;
    box-shadow:0 16px 34px rgba(6,20,43,.10)!important;
    opacity:1!important;
    visibility:visible!important;
    text-indent:0!important;
  }
  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-login:visited,
  .main-nav .tirnan-mobile-menu-login:hover,
  .main-nav .tirnan-mobile-menu-login:focus{
    background:#06142B!important;
    color:#ffffff!important;
  }
  .main-nav .tirnan-mobile-menu-apply,
  .main-nav .tirnan-mobile-menu-apply:visited,
  .main-nav .tirnan-mobile-menu-apply:hover,
  .main-nav .tirnan-mobile-menu-apply:focus{
    background:#E31D23!important;
    color:#ffffff!important;
  }
  .main-nav .tirnan-mobile-menu-actions a *,
  .main-nav .tirnan-mobile-menu-login *,
  .main-nav .tirnan-mobile-menu-apply *{
    color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .main-nav .tirnan-mobile-menu-actions a:after{
    content:none!important;
    display:none!important;
  }
}


/* === Tirnan Mobile Menu Tidy Launch Fix === */
@media (max-width: 900px){
  .main-nav,
  .main-nav.is-open{
    width:min(82vw,360px)!important;
    max-width:360px!important;
    padding:78px 20px 24px!important;
    border-radius:20px 0 0 20px!important;
    box-shadow:-18px 0 50px rgba(6,20,43,.22)!important;
  }

  /* Remove the menu heading text at the top */
  .main-nav:before,
  .main-nav:after{
    content:none!important;
    display:none!important;
  }

  /* Cleaner close button */
  body.tirnan-menu-open .mobile-menu-toggle{
    position:fixed!important;
    top:26px!important;
    right:20px!important;
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
    box-shadow:0 12px 28px rgba(6,20,43,.18)!important;
  }
  body.tirnan-menu-open .mobile-menu-toggle:before,
  body.tirnan-menu-open .mobile-menu-toggle:after{
    left:15px!important;
    top:25px!important;
    width:23px!important;
    height:3px!important;
  }

  .main-nav ul{
    margin-top:0!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a{
    min-height:54px!important;
    padding:0 4px!important;
    font-size:22px!important;
    line-height:1.1!important;
    letter-spacing:-.02em!important;
    border-bottom:1px solid #edf1f6!important;
  }
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:after{
    font-size:28px!important;
    color:#E31D23!important;
    opacity:.72!important;
  }

  .main-nav .tirnan-mobile-menu-actions{
    margin-top:16px!important;
    padding-top:16px!important;
    gap:10px!important;
  }
  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-actions a:visited,
  .main-nav .tirnan-mobile-menu-actions a:hover,
  .main-nav .tirnan-mobile-menu-actions a:focus{
    min-height:54px!important;
    border-radius:15px!important;
    font-size:18px!important;
    box-shadow:0 12px 28px rgba(6,20,43,.08)!important;
  }

  .main-nav .tirnan-mobile-menu-login{
    background:#06142B!important;
    color:#fff!important;
  }
  .main-nav .tirnan-mobile-menu-apply{
    background:#E31D23!important;
    color:#fff!important;
  }
}

@media (max-width: 430px){
  .main-nav,
  .main-nav.is-open{
    width:82vw!important;
    max-width:340px!important;
    padding:74px 18px 22px!important;
  }
  .main-nav li:not(.tirnan-mobile-menu-actions) > a{
    min-height:52px!important;
    font-size:21px!important;
  }
  body.tirnan-menu-open .mobile-menu-toggle{
    top:24px!important;
    right:18px!important;
    width:50px!important;
    height:50px!important;
  }
}

/* === Tirnan Mobile Menu Close Button Position Fix === */
@media (max-width: 900px){
  body.tirnan-menu-open .mobile-menu-toggle{
    top:56px!important;
    right:20px!important;
  }
}
@media (max-width: 430px){
  body.tirnan-menu-open .mobile-menu-toggle{
    top:54px!important;
    right:18px!important;
  }
}

/* === Tirnan Trade Login Mobile Menu Visibility Fix ===
   WooCommerce logged-out account pages had a more-specific mobile rule hiding
   .main-nav even after the menu opened. This forces the off-canvas menu panel
   above the login page/backdrop on mobile. */
@media (max-width: 900px){
  body.woocommerce-account:not(.logged-in).tirnan-menu-open .main-nav,
  body.woocommerce-account:not(.logged-in) .main-nav.is-open,
  body.woocommerce-account:not(.logged-in).tirnan-menu-open .main-nav.is-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(82vw,360px)!important;
    max-width:360px!important;
    height:100vh!important;
    background:#fff!important;
    z-index:100040!important;
    transform:translateX(0)!important;
    pointer-events:auto!important;
  }

  body.woocommerce-account:not(.logged-in).tirnan-menu-open .main-nav ul,
  body.woocommerce-account:not(.logged-in) .main-nav.is-open ul{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.woocommerce-account:not(.logged-in).tirnan-menu-open .tirnan-mobile-menu-backdrop{
    z-index:100000!important;
  }

  body.woocommerce-account:not(.logged-in).tirnan-menu-open .mobile-menu-toggle{
    z-index:100060!important;
  }
}

/* === Tirnan Mobile Menu Backdrop Layering Final Fix ===
   Keeps the slide-out menu and close button above the blur on every page,
   including WooCommerce Trade Login / My Account. */
@media (max-width: 900px){
  body.tirnan-menu-open .top-header{
    position:relative!important;
    z-index:100300!important;
    isolation:isolate!important;
  }

  body.tirnan-menu-open .tirnan-mobile-menu-backdrop{
    z-index:100000!important;
  }

  body.tirnan-menu-open .main-nav,
  body.tirnan-menu-open .main-nav.is-open,
  body.woocommerce-account:not(.logged-in).tirnan-menu-open .main-nav,
  body.woocommerce-account:not(.logged-in).tirnan-menu-open .main-nav.is-open{
    z-index:100320!important;
    filter:none!important;
    -webkit-filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.tirnan-menu-open .mobile-menu-toggle,
  body.woocommerce-account:not(.logged-in).tirnan-menu-open .mobile-menu-toggle{
    z-index:100340!important;
    filter:none!important;
    -webkit-filter:none!important;
  }
}

/* === Tirnan Mobile Menu Default Polish + Button Text Fix ===
   Makes the approved slide-out menu the default across all mobile pages and
   forces the Trade Login button label to remain readable on every page. */
@media (max-width: 900px){
  body.tirnan-menu-open .main-nav,
  body.tirnan-menu-open .main-nav.is-open,
  .main-nav.is-open{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(82vw,360px)!important;
    max-width:360px!important;
    height:100vh!important;
    padding:78px 20px 24px!important;
    background:#fff!important;
    color:#06142B!important;
    border-radius:20px 0 0 20px!important;
    box-shadow:-18px 0 50px rgba(6,20,43,.22)!important;
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:100320!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    filter:none!important;
    -webkit-filter:none!important;
  }

  body:not(.tirnan-menu-open) .main-nav:not(.is-open){
    transform:translateX(104%)!important;
  }

  .main-nav:before,
  .main-nav:after{
    content:none!important;
    display:none!important;
  }

  .main-nav ul,
  body.tirnan-menu-open .main-nav ul{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:visited,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:hover,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:focus{
    display:flex!important;
    align-items:center!important;
    min-height:54px!important;
    padding:0 4px!important;
    border-bottom:1px solid #edf1f6!important;
    color:#06142B!important;
    -webkit-text-fill-color:#06142B!important;
    font-size:22px!important;
    line-height:1.1!important;
    letter-spacing:-.02em!important;
    font-weight:900!important;
    text-decoration:none!important;
    text-shadow:none!important;
    opacity:1!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a:after{
    content:"›"!important;
    display:block!important;
    margin-left:auto!important;
    color:#E31D23!important;
    -webkit-text-fill-color:#E31D23!important;
    font-size:28px!important;
    line-height:1!important;
    opacity:.72!important;
  }

  .main-nav .tirnan-mobile-menu-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:16px 0 0!important;
    padding:16px 0 0!important;
    border-top:1px solid #dfe5ef!important;
    list-style:none!important;
  }

  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-actions a:visited,
  .main-nav .tirnan-mobile-menu-actions a:hover,
  .main-nav .tirnan-mobile-menu-actions a:focus,
  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-login:visited,
  .main-nav .tirnan-mobile-menu-login:hover,
  .main-nav .tirnan-mobile-menu-login:focus,
  .main-nav .tirnan-mobile-menu-apply,
  .main-nav .tirnan-mobile-menu-apply:visited,
  .main-nav .tirnan-mobile-menu-apply:hover,
  .main-nav .tirnan-mobile-menu-apply:focus{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    width:100%!important;
    min-height:54px!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:15px!important;
    font-size:18px!important;
    line-height:1.1!important;
    font-weight:950!important;
    text-align:center!important;
    text-decoration:none!important;
    text-indent:0!important;
    text-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    box-shadow:0 12px 28px rgba(6,20,43,.08)!important;
  }

  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-login:visited,
  .main-nav .tirnan-mobile-menu-login:hover,
  .main-nav .tirnan-mobile-menu-login:focus{
    background:#06142B!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  .main-nav .tirnan-mobile-menu-apply,
  .main-nav .tirnan-mobile-menu-apply:visited,
  .main-nav .tirnan-mobile-menu-apply:hover,
  .main-nav .tirnan-mobile-menu-apply:focus{
    background:#E31D23!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  .main-nav .tirnan-mobile-menu-actions a:after,
  .main-nav .tirnan-mobile-menu-login:after,
  .main-nav .tirnan-mobile-menu-apply:after{
    content:none!important;
    display:none!important;
  }

  .main-nav .tirnan-mobile-menu-actions a *,
  .main-nav .tirnan-mobile-menu-login *,
  .main-nav .tirnan-mobile-menu-apply *{
    color:inherit!important;
    -webkit-text-fill-color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
    text-shadow:none!important;
  }

  body.tirnan-menu-open .tirnan-mobile-menu-backdrop{
    z-index:100000!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body.tirnan-menu-open .mobile-menu-toggle{
    position:fixed!important;
    top:56px!important;
    right:20px!important;
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
    z-index:100340!important;
  }
}

@media (max-width: 430px){
  body.tirnan-menu-open .main-nav,
  body.tirnan-menu-open .main-nav.is-open,
  .main-nav.is-open{
    width:82vw!important;
    max-width:340px!important;
    padding:74px 18px 22px!important;
  }
  .main-nav li:not(.tirnan-mobile-menu-actions) > a,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:visited{
    min-height:52px!important;
    font-size:21px!important;
  }
  body.tirnan-menu-open .mobile-menu-toggle{
    top:54px!important;
    right:18px!important;
    width:50px!important;
    height:50px!important;
  }
}

/* === Tirnan Mobile Menu Typography Update ===
   Sets the approved Trade Login page menu size/weight as the default mobile menu. */
@media (max-width: 900px){
  body.tirnan-menu-open .main-nav,
  body.tirnan-menu-open .main-nav.is-open,
  .main-nav.is-open{
    width:min(82vw,360px)!important;
    max-width:360px!important;
    padding:78px 20px 24px!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:visited,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:hover,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:focus{
    min-height:62px!important;
    padding:0 4px!important;
    font-size:24px!important;
    line-height:1.08!important;
    font-weight:900!important;
    letter-spacing:-.025em!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a:after{
    font-size:32px!important;
    font-weight:900!important;
    opacity:.72!important;
  }

  .main-nav .tirnan-mobile-menu-actions{
    margin-top:18px!important;
    padding-top:18px!important;
    gap:12px!important;
  }

  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-actions a:visited,
  .main-nav .tirnan-mobile-menu-actions a:hover,
  .main-nav .tirnan-mobile-menu-actions a:focus,
  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-login:visited,
  .main-nav .tirnan-mobile-menu-login:hover,
  .main-nav .tirnan-mobile-menu-login:focus,
  .main-nav .tirnan-mobile-menu-apply,
  .main-nav .tirnan-mobile-menu-apply:visited,
  .main-nav .tirnan-mobile-menu-apply:hover,
  .main-nav .tirnan-mobile-menu-apply:focus{
    min-height:64px!important;
    font-size:22px!important;
    line-height:1.1!important;
    font-weight:950!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-login:visited,
  .main-nav .tirnan-mobile-menu-login:hover,
  .main-nav .tirnan-mobile-menu-login:focus{
    background:#06142B!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  .main-nav .tirnan-mobile-menu-apply,
  .main-nav .tirnan-mobile-menu-apply:visited,
  .main-nav .tirnan-mobile-menu-apply:hover,
  .main-nav .tirnan-mobile-menu-apply:focus{
    background:#E31D23!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
}

@media (max-width: 430px){
  .main-nav li:not(.tirnan-mobile-menu-actions) > a,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:visited,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:hover,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:focus{
    min-height:62px!important;
    font-size:24px!important;
  }

  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-apply{
    min-height:64px!important;
    font-size:22px!important;
  }
}

/* === Tirnan Mobile Menu Compact Final Fix ===
   Matches the smaller Trade Login page menu shown in the approved reference image. */
@media (max-width: 900px){
  body.tirnan-menu-open .main-nav,
  body.tirnan-menu-open .main-nav.is-open,
  .main-nav.is-open{
    width:min(82vw,360px)!important;
    max-width:360px!important;
    padding:82px 18px 22px!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:visited,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:hover,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:focus{
    min-height:54px!important;
    padding:0 4px!important;
    font-size:18px!important;
    line-height:1.12!important;
    font-weight:850!important;
    letter-spacing:-.018em!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a:after{
    font-size:30px!important;
    font-weight:900!important;
    opacity:.72!important;
  }

  .main-nav .tirnan-mobile-menu-actions{
    margin-top:14px!important;
    padding-top:16px!important;
    gap:10px!important;
  }

  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-actions a:visited,
  .main-nav .tirnan-mobile-menu-actions a:hover,
  .main-nav .tirnan-mobile-menu-actions a:focus,
  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-login:visited,
  .main-nav .tirnan-mobile-menu-login:hover,
  .main-nav .tirnan-mobile-menu-login:focus,
  .main-nav .tirnan-mobile-menu-apply,
  .main-nav .tirnan-mobile-menu-apply:visited,
  .main-nav .tirnan-mobile-menu-apply:hover,
  .main-nav .tirnan-mobile-menu-apply:focus{
    min-height:56px!important;
    border-radius:14px!important;
    font-size:18px!important;
    line-height:1.1!important;
    font-weight:900!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

@media (max-width: 430px){
  body.tirnan-menu-open .main-nav,
  body.tirnan-menu-open .main-nav.is-open,
  .main-nav.is-open{
    width:82vw!important;
    max-width:340px!important;
    padding:82px 18px 22px!important;
  }

  .main-nav li:not(.tirnan-mobile-menu-actions) > a,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:visited,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:hover,
  .main-nav li:not(.tirnan-mobile-menu-actions) > a:focus{
    min-height:54px!important;
    font-size:18px!important;
  }

  .main-nav .tirnan-mobile-menu-actions a,
  .main-nav .tirnan-mobile-menu-login,
  .main-nav .tirnan-mobile-menu-apply{
    min-height:56px!important;
    font-size:18px!important;
  }
}

/* === Tirnan Portrait Product Button Fix ===
   Keeps Add to cart readable on narrow portrait product grids without changing landscape. */
@media (max-width: 767px) and (orientation: portrait){
  body.woocommerce-shop .woocommerce ul.products li.product a.add_to_cart_button,
  body.post-type-archive-product .woocommerce ul.products li.product a.add_to_cart_button,
  body.tax-product_cat .woocommerce ul.products li.product a.add_to_cart_button,
  body.archive.woocommerce .woocommerce ul.products li.product a.add_to_cart_button,
  .woocommerce-page ul.products li.product a.add_to_cart_button,
  .woocommerce ul.products li.product a.add_to_cart_button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .woocommerce ul.products li.product a.add_to_cart_button::before,
  body.post-type-archive-product .woocommerce ul.products li.product a.add_to_cart_button::before,
  body.tax-product_cat .woocommerce ul.products li.product a.add_to_cart_button::before,
  body.archive.woocommerce .woocommerce ul.products li.product a.add_to_cart_button::before,
  .woocommerce-page ul.products li.product a.add_to_cart_button::before,
  .woocommerce ul.products li.product a.add_to_cart_button::before{
    flex:0 0 auto!important;
    margin-right:4px!important;
    font-size:14px!important;
    line-height:1!important;
  }
}

@media (max-width: 390px) and (orientation: portrait){
  body.woocommerce-shop .woocommerce ul.products li.product a.add_to_cart_button,
  body.post-type-archive-product .woocommerce ul.products li.product a.add_to_cart_button,
  body.tax-product_cat .woocommerce ul.products li.product a.add_to_cart_button,
  body.archive.woocommerce .woocommerce ul.products li.product a.add_to_cart_button,
  .woocommerce-page ul.products li.product a.add_to_cart_button,
  .woocommerce ul.products li.product a.add_to_cart_button{
    font-size:14px!important;
    padding:0 6px!important;
    gap:4px!important;
  }
}

/* === Tirnan Trade Login Page Link Colour Fix ===
   WooCommerce logged-out account page previously forced every link red.
   This restores header/category/footer link colours to match the rest of the site. */
body.woocommerce-account:not(.logged-in) .top-header a,
body.woocommerce-account:not(.logged-in) .site-header a,
body.woocommerce-account:not(.logged-in) header a,
body.woocommerce-account:not(.logged-in) .main-nav a,
body.woocommerce-account:not(.logged-in) .main-nav a:visited,
body.woocommerce-account:not(.logged-in) .header-actions a,
body.woocommerce-account:not(.logged-in) .header-actions a:visited{
    color:#06142B !important;
}

body.woocommerce-account:not(.logged-in) .trade-account-btn,
body.woocommerce-account:not(.logged-in) .trade-account-btn:visited,
body.woocommerce-account:not(.logged-in) .header-actions .btn,
body.woocommerce-account:not(.logged-in) .header-actions .btn:visited{
    color:#ffffff !important;
}

body.woocommerce-account:not(.logged-in) .search-strip,
body.woocommerce-account:not(.logged-in) .search-strip a,
body.woocommerce-account:not(.logged-in) .search-strip a:visited,
body.woocommerce-account:not(.logged-in) .search-strip .cat-toggle,
body.woocommerce-account:not(.logged-in) .search-strip .cat-toggle *{
    color:#ffffff !important;
}

body.woocommerce-account:not(.logged-in) .cat-dropdown a,
body.woocommerce-account:not(.logged-in) .cat-dropdown a:visited{
    color:#06142B !important;
    font-weight:750 !important;
}
body.woocommerce-account:not(.logged-in) .cat-dropdown a:hover,
body.woocommerce-account:not(.logged-in) .cat-dropdown a:focus{
    color:#E31D23 !important;
}

body.woocommerce-account:not(.logged-in) footer a,
body.woocommerce-account:not(.logged-in) footer a:visited,
body.woocommerce-account:not(.logged-in) .site-footer a,
body.woocommerce-account:not(.logged-in) .site-footer a:visited,
body.woocommerce-account:not(.logged-in) .tirnan-footer a,
body.woocommerce-account:not(.logged-in) .tirnan-footer a:visited,
body.woocommerce-account:not(.logged-in) #colophon a,
body.woocommerce-account:not(.logged-in) #colophon a:visited{
    color:#ffffff !important;
}

body.woocommerce-account:not(.logged-in) footer a:hover,
body.woocommerce-account:not(.logged-in) .site-footer a:hover,
body.woocommerce-account:not(.logged-in) .tirnan-footer a:hover,
body.woocommerce-account:not(.logged-in) #colophon a:hover{
    color:#ffffff !important;
    opacity:.82 !important;
}

/* === Tirnan Out Of Stock Product Card Fix ===
   Prevents out-of-stock items from breaking the WooCommerce product grid.
   The button still links through to the product page, but reads Out of stock. */
.woocommerce ul.products li.product.outofstock,
.woocommerce-page ul.products li.product.outofstock{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-height:0!important;
}

.woocommerce ul.products li.product.outofstock a.button,
.woocommerce-page ul.products li.product.outofstock a.button,
.woocommerce ul.products li.product.outofstock a.product_type_simple,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:46px!important;
  margin-top:14px!important;
  padding:14px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:#06142B!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}

.woocommerce ul.products li.product.outofstock a.button::before,
.woocommerce-page ul.products li.product.outofstock a.button::before,
.woocommerce ul.products li.product.outofstock a.product_type_simple::before,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple::before{
  content:""!important;
  display:none!important;
}

.woocommerce ul.products li.product.outofstock .tirnan-loop-cart-row,
.woocommerce-page ul.products li.product.outofstock .tirnan-loop-cart-row,
.woocommerce ul.products li.product.outofstock .tirnan-loop-qty,
.woocommerce-page ul.products li.product.outofstock .tirnan-loop-qty{
  display:none!important;
}

/* === Tirnan Out Of Stock Card Polish ===
   Keep out-of-stock product cards aligned with normal add-to-cart cards,
   keep the product clickable, and add a clear image badge. */
.woocommerce ul.products li.product.outofstock,
.woocommerce-page ul.products li.product.outofstock{
  position:relative!important;
}

.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product.outofstock .woocommerce-loop-product__link{
  position:relative!important;
  display:block!important;
}

.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link::after,
.woocommerce-page ul.products li.product.outofstock .woocommerce-loop-product__link::after{
  content:"OUT OF STOCK"!important;
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:5!important;
  background:#ed1c24!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  line-height:1!important;
  padding:7px 9px!important;
  border-radius:999px!important;
  box-shadow:0 10px 22px rgba(237,28,36,.22)!important;
  pointer-events:none!important;
}

.woocommerce ul.products li.product.outofstock a.button,
.woocommerce-page ul.products li.product.outofstock a.button,
.woocommerce ul.products li.product.outofstock a.product_type_simple,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple,
body.archive.woocommerce ul.products li.product.outofstock a.button,
body.post-type-archive-product .woocommerce ul.products li.product.outofstock a.button,
body.tax-product_cat .woocommerce ul.products li.product.outofstock a.button{
  width:calc(100% - 36px)!important;
  max-width:calc(100% - 36px)!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0 18px 22px!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:#f2f5f9!important;
  border:1px solid #dfe7f1!important;
  color:#06142B!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-align:center!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
}

.woocommerce ul.products li.product.outofstock a.button:hover,
.woocommerce-page ul.products li.product.outofstock a.button:hover,
.woocommerce ul.products li.product.outofstock a.product_type_simple:hover,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple:hover{
  background:#e9eef6!important;
  color:#06142B!important;
}

@media (max-width: 767px){
  .woocommerce ul.products li.product.outofstock a.button,
  .woocommerce-page ul.products li.product.outofstock a.button,
  .woocommerce ul.products li.product.outofstock a.product_type_simple,
  .woocommerce-page ul.products li.product.outofstock a.product_type_simple{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0 10px 14px!important;
    font-size:13px!important;
  }

  .woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link::after,
  .woocommerce-page ul.products li.product.outofstock .woocommerce-loop-product__link::after{
    top:8px!important;
    right:8px!important;
    font-size:8px!important;
    padding:6px 7px!important;
  }
}


/* === Tirnan Final Out Of Stock Button Fix ===
   Keep image ribbon, remove emoji/icon overflow, and match normal Add to Cart button sizing. */
.woocommerce ul.products li.product.outofstock a.button,
.woocommerce-page ul.products li.product.outofstock a.button,
.woocommerce ul.products li.product.outofstock a.product_type_simple,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple,
.woocommerce ul.products li.product.outofstock a.add_to_cart_button,
.woocommerce-page ul.products li.product.outofstock a.add_to_cart_button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:10px!important;
  background:#f3f6fa!important;
  background-image:none!important;
  border:1px solid #dfe7f1!important;
  color:#06142B!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
}

.woocommerce ul.products li.product.outofstock a.button::before,
.woocommerce ul.products li.product.outofstock a.button::after,
.woocommerce-page ul.products li.product.outofstock a.button::before,
.woocommerce-page ul.products li.product.outofstock a.button::after,
.woocommerce ul.products li.product.outofstock a.product_type_simple::before,
.woocommerce ul.products li.product.outofstock a.product_type_simple::after,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple::before,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple::after,
.woocommerce ul.products li.product.outofstock a.add_to_cart_button::before,
.woocommerce ul.products li.product.outofstock a.add_to_cart_button::after,
.woocommerce-page ul.products li.product.outofstock a.add_to_cart_button::before,
.woocommerce-page ul.products li.product.outofstock a.add_to_cart_button::after{
  content:none!important;
  display:none!important;
}

.woocommerce ul.products li.product.outofstock a.button:hover,
.woocommerce-page ul.products li.product.outofstock a.button:hover,
.woocommerce ul.products li.product.outofstock a.product_type_simple:hover,
.woocommerce-page ul.products li.product.outofstock a.product_type_simple:hover{
  background:#e9eef6!important;
  background-image:none!important;
  color:#06142B!important;
}

@media (max-width: 767px){
  .woocommerce ul.products li.product.outofstock a.button,
  .woocommerce-page ul.products li.product.outofstock a.button,
  .woocommerce ul.products li.product.outofstock a.product_type_simple,
  .woocommerce-page ul.products li.product.outofstock a.product_type_simple,
  .woocommerce ul.products li.product.outofstock a.add_to_cart_button,
  .woocommerce-page ul.products li.product.outofstock a.add_to_cart_button{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    font-size:13px!important;
    padding:0 6px!important;
  }
}

/* FINAL: Polished Trade Login page - two column login + benefits, no red hero */
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) .entry-content{
    background:linear-gradient(180deg,#f5f7fb 0%,#eef3f8 100%) !important;
    padding:64px 20px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
    max-width:1120px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(360px,520px) minmax(360px,520px) !important;
    gap:34px !important;
    align-items:stretch !important;
    justify-content:center !important;
    position:relative !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before{
    content:none !important;
    display:none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after{
    content:"Trade Account Benefits\A\A✓ Login to view trade pricing\A✓ Quickly repeat previous orders\A✓ Save favourite products for faster buying\A✓ View and download invoices\A✓ Track account orders in one place\A✓ Access wholesale-only products and offers" !important;
    white-space:pre-line !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    grid-column:2 !important;
    grid-row:1 !important;
    background:#06142B !important;
    color:#fff !important;
    border-radius:24px !important;
    padding:44px 46px !important;
    box-shadow:0 22px 55px rgba(6,20,43,.14) !important;
    font-size:19px !important;
    line-height:1.95 !important;
    font-weight:750 !important;
    box-sizing:border-box !important;
    min-height:520px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:stretch !important;
    width:100% !important;
    margin:0 !important;
}

body.woocommerce-account:not(.logged-in) .u-columns{
    display:block !important;
    width:100% !important;
}

body.woocommerce-account:not(.logged-in) .u-column1{
    display:block !important;
    width:100% !important;
    float:none !important;
    margin:0 !important;
}

body.woocommerce-account:not(.logged-in) .u-column2{
    display:none !important;
}

body.woocommerce-account:not(.logged-in) .u-column1 > h2,
body.woocommerce-account:not(.logged-in) .woocommerce > h2{
    display:none !important;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
    width:100% !important;
    max-width:none !important;
    min-height:520px !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #dde6f1 !important;
    border-radius:24px !important;
    padding:44px 48px !important;
    box-shadow:0 22px 55px rgba(6,20,43,.10) !important;
    box-sizing:border-box !important;
}

body.woocommerce-account:not(.logged-in) form.login:before{
    content:"Trade Login" !important;
    display:block !important;
    color:#06142B !important;
    font-size:32px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    margin:0 0 8px !important;
}

body.woocommerce-account:not(.logged-in) form.login:after{
    content:"Sign in to manage your trade account." !important;
    display:block !important;
    color:#596579 !important;
    font-size:15px !important;
    font-weight:700 !important;
    margin:-8px 0 24px !important;
}

body.woocommerce-account:not(.logged-in) label{
    color:#06142B !important;
    font-weight:850 !important;
    font-size:15px !important;
}

body.woocommerce-account:not(.logged-in) input.input-text,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
    height:56px !important;
    border:1px solid #d6e0ee !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#06142B !important;
    font-size:16px !important;
}

body.woocommerce-account:not(.logged-in) button.button,
body.woocommerce-account:not(.logged-in) .button{
    width:100% !important;
    min-height:56px !important;
    border-radius:12px !important;
    background:#E31D23 !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:900 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
    text-align:center !important;
    margin-top:18px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a{
    color:#E31D23 !important;
    font-weight:850 !important;
}

@media(max-width:900px){
    body.woocommerce-account:not(.logged-in) .site-main,
    body.woocommerce-account:not(.logged-in) main,
    body.woocommerce-account:not(.logged-in) .entry-content{
        padding:34px 14px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce{
        grid-template-columns:1fr !important;
        gap:18px !important;
        max-width:560px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
    body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
    body.woocommerce-account:not(.logged-in) .woocommerce:after{
        grid-column:1 !important;
        grid-row:auto !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
        min-height:0 !important;
        padding:30px 24px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:after{
        min-height:0 !important;
        padding:28px 24px !important;
        font-size:16px !important;
        line-height:1.85 !important;
        border-radius:20px !important;
    }
}

/* FINAL UPDATE: Premium Trade Login Benefits Panel */
body.woocommerce-account:not(.logged-in) .woocommerce{
    gap:36px !important;
    align-items:stretch !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after{
    content:"Why open a Trade Account?\A\A💶  Trade Pricing\AView exclusive wholesale prices instantly.\A\A📦  Repeat Orders\AReorder your regular lines in seconds.\A\A❤️  Favourites\ASave your most-used products for faster buying.\A\A📄  Invoices\AView and download invoices whenever needed.\A\A🚚  Order Tracking\AKeep account orders in one simple place." !important;
    white-space:pre-line !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    grid-column:2 !important;
    grid-row:1 !important;
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    min-height:540px !important;
    border-radius:30px !important;
    padding:52px 54px !important;
    box-sizing:border-box !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 15% 12%, rgba(255,255,255,.16) 0 0, transparent 32%),
        radial-gradient(circle at 92% 8%, rgba(227,29,35,.38) 0 0, transparent 28%),
        radial-gradient(circle at 86% 88%, rgba(255,255,255,.08) 0 0, transparent 34%),
        linear-gradient(145deg,#06142B 0%,#071b3a 48%,#0b2a56 100%) !important;
    box-shadow:
        0 28px 70px rgba(6,20,43,.24),
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 -1px 0 rgba(255,255,255,.06) !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:750 !important;
    text-align:left !important;
    letter-spacing:-.01em !important;
    text-shadow:0 1px 1px rgba(0,0,0,.12) !important;
}

/* Add subtle premium frame to benefits panel */
body.woocommerce-account:not(.logged-in) .woocommerce{
    counter-reset:tradebenefits;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    right:18px !important;
    top:18px !important;
    width:520px !important;
    height:520px !important;
    max-width:calc(50% - 18px) !important;
    border-radius:30px !important;
    pointer-events:none !important;
    z-index:1 !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,0) 34%, rgba(227,29,35,.16) 100%) !important;
    opacity:.9 !important;
    transform:translate(0,0) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.13) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
body.woocommerce-account:not(.logged-in) .woocommerce:after{
    position:relative !important;
    z-index:2 !important;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
    min-height:540px !important;
}

@media(max-width:900px){
    body.woocommerce-account:not(.logged-in) .woocommerce:before{
        display:none !important;
        content:none !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce:after{
        grid-column:1 !important;
        min-height:auto !important;
        border-radius:24px !important;
        padding:34px 28px !important;
        font-size:14px !important;
        line-height:1.5 !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
        min-height:0 !important;
    }
}

/* FINAL OVERRIDE: Trade login page redesigned benefits panel - larger, clearer, premium */
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) .entry-content{
  background:linear-gradient(180deg,#f6f8fc 0%,#eef3f8 100%) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:1180px !important;
  grid-template-columns:minmax(390px,520px) minmax(430px,560px) !important;
  gap:38px !important;
  align-items:stretch !important;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
  min-height:600px !important;
  padding:50px 48px !important;
  border-radius:26px !important;
}

body.woocommerce-account:not(.logged-in) form.login:before{
  content:"Welcome Back" !important;
  font-size:36px !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
  margin-bottom:8px !important;
}

body.woocommerce-account:not(.logged-in) form.login:after{
  content:"Sign in to access trade pricing, previous orders and invoices." !important;
  position:static !important;
  display:block !important;
  color:#667085 !important;
  font-size:16px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
  margin:-6px 0 28px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:22px !important;
  top:22px !important;
  width:560px !important;
  height:600px !important;
  max-width:calc(50% - 14px) !important;
  border-radius:34px !important;
  pointer-events:none !important;
  z-index:1 !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.22), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(227,29,35,.38), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0) 42%, rgba(227,29,35,.14)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16) !important;
  opacity:1 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after{
  content:"🔒  TRADE ACCOUNT\AWholesale buying made simple\A\A💶  Trade Pricing\AView exclusive wholesale prices instantly.\A\A📦  Previous Orders\ARepeat your regular orders in seconds.\A\A❤️  Favourites\ASave your most-used products for faster buying.\A\A📄  Download Invoices\AAccess invoices whenever needed.\A\A🚚  Order Tracking\AKeep every account order in one place." !important;
  white-space:pre-line !important;
  min-height:600px !important;
  border-radius:34px !important;
  padding:64px 62px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,.20), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(227,29,35,.42), transparent 28%),
    radial-gradient(circle at 78% 92%, rgba(255,255,255,.10), transparent 34%),
    linear-gradient(145deg,#06142B 0%,#071b3a 46%,#102f5c 100%) !important;
  box-shadow:0 30px 75px rgba(6,20,43,.26), inset 0 1px 0 rgba(255,255,255,.20) !important;
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  text-align:left !important;
  justify-content:center !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:after::first-line{
  font-size:40px !important;
}

body.woocommerce-account:not(.logged-in) .tirnan-login-apply-button{
  margin-top:26px !important;
}

@media(max-width:900px){
  body.woocommerce-account:not(.logged-in) .woocommerce{
    grid-template-columns:1fr !important;
    max-width:560px !important;
    gap:20px !important;
  }
  body.woocommerce-account:not(.logged-in) .woocommerce:before{
    display:none !important;
    content:none !important;
  }
  body.woocommerce-account:not(.logged-in) form.login,
  body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
    min-height:0 !important;
    padding:34px 24px !important;
    border-radius:24px !important;
  }
  body.woocommerce-account:not(.logged-in) form.login:before{
    font-size:30px !important;
  }
  body.woocommerce-account:not(.logged-in) .woocommerce:after{
    min-height:0 !important;
    border-radius:26px !important;
    padding:38px 28px !important;
    font-size:16px !important;
    line-height:1.55 !important;
  }
}

/* FINAL Trade Login page redesign - contact-page style pills */
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) main,
body.woocommerce-account:not(.logged-in) .entry-content{
    background:#f4f7fb !important;
    padding:54px 18px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce:before,
body.woocommerce-account:not(.logged-in) .woocommerce:after{
    display:none !important;
    content:none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce{
    max-width:1120px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(420px, 520px) minmax(420px, 520px) !important;
    gap:34px !important;
    align-items:stretch !important;
}

body.woocommerce-account:not(.logged-in) .u-columns,
body.woocommerce-account:not(.logged-in) .u-column1{
    width:100% !important;
    float:none !important;
    display:block !important;
    margin:0 !important;
}

body.woocommerce-account:not(.logged-in) .u-column2{
    display:none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .u-column1 > h2{
    display:none !important;
}

body.woocommerce-account:not(.logged-in) form.login{
    max-width:none !important;
    height:100% !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #dde6f1 !important;
    border-radius:24px !important;
    padding:42px !important;
    box-shadow:0 18px 55px rgba(6,20,43,.10) !important;
}

body.woocommerce-account:not(.logged-in) form.login:before{
    content:"Welcome Back" !important;
    display:block !important;
    color:#06142B !important;
    font-size:34px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    letter-spacing:-.03em !important;
    margin:0 0 8px !important;
}

body.woocommerce-account:not(.logged-in) form.login:after{
    content:"Sign in to access your trade account." !important;
    display:block !important;
    color:#667085 !important;
    font-size:15px !important;
    font-weight:700 !important;
    margin:-2px 0 26px !important;
    order:-1 !important;
}

.tirnan-trade-login-pills-panel{
    background:#fff !important;
    border:1px solid #dde6f1 !important;
    border-radius:24px !important;
    overflow:hidden !important;
    box-shadow:0 18px 55px rgba(6,20,43,.10) !important;
    position:relative !important;
    min-height:100% !important;
}

.tirnan-trade-login-pills-panel:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:7px;
    background:#E31D23;
}

.tirnan-trade-login-panel-inner{
    padding:42px 42px 38px 48px !important;
}

.tirnan-trade-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#E31D23;
    font-weight:950;
    font-size:13px;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin-bottom:10px;
}

.tirnan-trade-login-pills-panel h2{
    color:#06142B !important;
    font-size:34px !important;
    line-height:1.05 !important;
    letter-spacing:-.035em !important;
    margin:0 0 10px !important;
    font-weight:950 !important;
}

.tirnan-trade-intro{
    color:#5d6b7d !important;
    font-weight:700 !important;
    font-size:16px !important;
    line-height:1.55 !important;
    margin:0 0 24px !important;
}

.tirnan-trade-pill-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    margin:0 0 26px !important;
}

.tirnan-trade-pill{
    min-height:62px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:13px 15px !important;
    border:1.5px solid rgba(227,29,35,.25) !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#fff,#fff8f8) !important;
    color:#06142B !important;
    box-shadow:0 6px 18px rgba(6,20,43,.04) !important;
}

.tirnan-trade-pill span{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    background:#fff0f1 !important;
    font-size:16px !important;
}

.tirnan-trade-pill strong{
    color:#06142B !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
}

.tirnan-trade-panel-cta{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:56px !important;
    border-radius:14px !important;
    background:#E31D23 !important;
    color:#fff !important;
    font-size:17px !important;
    font-weight:950 !important;
    text-align:center !important;
    box-shadow:0 14px 30px rgba(227,29,35,.20) !important;
}

@media(max-width:980px){
    body.woocommerce-account:not(.logged-in) .woocommerce{
        grid-template-columns:1fr !important;
        max-width:620px !important;
        gap:22px !important;
    }
}

@media(max-width:600px){
    body.woocommerce-account:not(.logged-in) .site-main,
    body.woocommerce-account:not(.logged-in) main,
    body.woocommerce-account:not(.logged-in) .entry-content{
        padding:28px 14px !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    .tirnan-trade-login-panel-inner{
        padding:28px !important;
    }
    .tirnan-trade-login-pills-panel h2,
    body.woocommerce-account:not(.logged-in) form.login:before{
        font-size:29px !important;
    }
    .tirnan-trade-pill-grid{
        grid-template-columns:1fr !important;
    }
}

/* FINAL FIX: keep Trade Login benefits panel beside login box on desktop/tablet */
body.woocommerce-account:not(.logged-in) .woocommerce{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:34px !important;
    align-items:stretch !important;
    max-width:1180px !important;
    margin:0 auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

body.woocommerce-account:not(.logged-in) .tirnan-trade-login-pills-panel{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    align-self:stretch !important;
}

body.woocommerce-account:not(.logged-in) form.login{
    min-height:560px !important;
}

body.woocommerce-account:not(.logged-in) .tirnan-trade-login-panel-inner{
    min-height:560px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

@media(max-width:760px){
    body.woocommerce-account:not(.logged-in) .woocommerce{
        grid-template-columns:1fr !important;
        max-width:620px !important;
        gap:22px !important;
    }
    body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
    body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
    body.woocommerce-account:not(.logged-in) .tirnan-trade-login-pills-panel{
        grid-column:1 !important;
        grid-row:auto !important;
    }
    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) .tirnan-trade-login-panel-inner{
        min-height:0 !important;
    }
}

/* FINAL FIX: remove grey helper text under Trade Login / Apply for Trade Account button */
body.woocommerce-account:not(.logged-in) form.login:after,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login:after,
body.woocommerce-account:not(.logged-in) .trade-login-description,
body.woocommerce-account:not(.logged-in) .login-intro-text,
body.woocommerce-account:not(.logged-in) .woocommerce-info {
    content: none !important;
    display: none !important;
}

/* Special Offers cards: stack quantity above Add to Cart, matching main product cards */
.tirnan-special-offers-grid li.product .tirnan-loop-cart-row,
.tirnan-hot-offers li.product .tirnan-loop-cart-row,
.tirnan-special-products li.product .tirnan-loop-cart-row,
.tirnan-offers-grid li.product .tirnan-loop-cart-row,
section:has(.tirnan-special-offers-grid) li.product .tirnan-loop-cart-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 16px 18px !important;
    box-sizing: border-box !important;
}

.tirnan-special-offers-grid li.product .tirnan-loop-qty,
.tirnan-hot-offers li.product .tirnan-loop-qty,
.tirnan-special-products li.product .tirnan-loop-qty,
.tirnan-offers-grid li.product .tirnan-loop-qty,
section:has(.tirnan-special-offers-grid) li.product .tirnan-loop-qty {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 44px 1fr 44px !important;
    height: 44px !important;
}

.tirnan-special-offers-grid li.product .tirnan-loop-qty button,
.tirnan-special-offers-grid li.product .tirnan-loop-qty-input,
.tirnan-hot-offers li.product .tirnan-loop-qty button,
.tirnan-hot-offers li.product .tirnan-loop-qty-input,
.tirnan-special-products li.product .tirnan-loop-qty button,
.tirnan-special-products li.product .tirnan-loop-qty-input,
.tirnan-offers-grid li.product .tirnan-loop-qty button,
.tirnan-offers-grid li.product .tirnan-loop-qty-input,
section:has(.tirnan-special-offers-grid) li.product .tirnan-loop-qty button,
section:has(.tirnan-special-offers-grid) li.product .tirnan-loop-qty-input {
    height: 44px !important;
}

.tirnan-special-offers-grid li.product .tirnan-loop-qty-input,
.tirnan-hot-offers li.product .tirnan-loop-qty-input,
.tirnan-special-products li.product .tirnan-loop-qty-input,
.tirnan-offers-grid li.product .tirnan-loop-qty-input,
section:has(.tirnan-special-offers-grid) li.product .tirnan-loop-qty-input {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.tirnan-special-offers-grid li.product a.add_to_cart_button,
.tirnan-special-offers-grid li.product a.button,
.tirnan-hot-offers li.product a.add_to_cart_button,
.tirnan-hot-offers li.product a.button,
.tirnan-special-products li.product a.add_to_cart_button,
.tirnan-special-products li.product a.button,
.tirnan-offers-grid li.product a.add_to_cart_button,
.tirnan-offers-grid li.product a.button,
section:has(.tirnan-special-offers-grid) li.product a.add_to_cart_button,
section:has(.tirnan-special-offers-grid) li.product a.button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}


/* Special offers qty width fix */
.special-offers .quantity,
.home-special-offers .quantity,
.special-offers-card .quantity,
.offer-card .quantity{
  width:180px!important;
  max-width:180px!important;
  margin:0 auto 14px!important;
  display:flex!important;
}
.special-offers .quantity input.qty,
.home-special-offers .quantity input.qty{
  flex:1 1 auto!important;
  width:auto!important;
}
.special-offers form.cart,
.home-special-offers form.cart{
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
}
.special-offers .single_add_to_cart_button,
.home-special-offers .single_add_to_cart_button,
.special-offers .add_to_cart_button,
.home-special-offers .add_to_cart_button{
 width:180px!important;
 margin-top:0!important;
}

/* Checkout order summary refined typography */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td{
    font-size:15px !important;
    line-height:1.35 !important;
    padding:12px 14px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th{
    font-weight:800 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name *{
    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.35 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{
    font-size:14px !important;
    font-weight:700 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td *{
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.35 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th{
    font-size:15px !important;
    font-weight:700 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th{
    font-size:17px !important;
    font-weight:800 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount{
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
}

body.woocommerce-checkout #order_review_heading{
    font-size:26px !important;
    line-height:1.15 !important;
}

/* Checkout order summary - final compact price refinement */
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout h3#order_review_heading{
  font-size:24px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  margin-bottom:14px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table *{
  letter-spacing:0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td{
  font-size:14px !important;
  line-height:1.32 !important;
  padding:10px 12px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{
  font-size:14px !important;
  font-weight:700 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name a,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name strong,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name span{
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.28 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity{
  font-size:13px !important;
  font-weight:600 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td *{
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.32 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount th{
  font-size:14px !important;
  font-weight:650 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th{
  font-size:16px !important;
  font-weight:750 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total .amount{
  font-size:16px !important;
  font-weight:650 !important;
  line-height:1.3 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table bdi{
  font-size:14px !important;
  font-weight:600 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total bdi{
  font-size:16px !important;
  font-weight:650 !important;
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-payment{
  margin-top:22px !important;
}


/* Featured products - reduce image size to show full product */
.featured-products-section .tirnan-carousel-image{
    display:flex;
    align-items:center;
    justify-content:center;
}
.featured-products-section .tirnan-carousel-image img{
    width:82% !important;
    height:82% !important;
    object-fit:contain !important;
    margin:auto;
}

/* CART MOBILE OVERFLOW FIX - keep item totals and product rows inside screen */
@media (max-width: 700px){
    body.woocommerce-cart,
    body.woocommerce-cart .site,
    body.woocommerce-cart main,
    body.woocommerce-cart .content-wrap,
    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .wp-block-woocommerce-cart,
    body.woocommerce-cart .wc-block-cart,
    body.woocommerce-cart .wc-block-components-sidebar-layout{
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    body.woocommerce-cart .container,
    body.woocommerce-cart .entry-content,
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals{
        width:calc(100% - 34px) !important;
        max-width:calc(100% - 34px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        overflow-x:hidden !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .wc-block-cart-items,
    body.woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart table.cart,
    body.woocommerce-cart .shop_table.cart{
        width:100% !important;
        max-width:100% !important;
        table-layout:fixed !important;
        overflow:hidden !important;
    }

    body.woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-item{
        display:grid !important;
        grid-template-columns:92px minmax(0, 1fr) !important;
        column-gap:14px !important;
        align-items:start !important;
        width:100% !important;
        max-width:100% !important;
        padding:22px 0 !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image{
        grid-column:1 !important;
        width:92px !important;
        max-width:92px !important;
        padding:0 !important;
        margin:0 !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img,
    body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image img,
    body.woocommerce-cart .product-thumbnail img{
        width:82px !important;
        max-width:82px !important;
        height:110px !important;
        object-fit:contain !important;
        object-position:center !important;
    }

    body.woocommerce-cart .wc-block-cart-item__product,
    body.woocommerce-cart .wc-block-components-product-name,
    body.woocommerce-cart td.product-name{
        grid-column:2 !important;
        min-width:0 !important;
        max-width:100% !important;
        width:100% !important;
        padding:0 !important;
        overflow-wrap:anywhere !important;
        word-break:normal !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .wc-block-cart-item__total,
    body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__total,
    body.woocommerce-cart td.product-total{
        grid-column:2 !important;
        position:static !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:8px 0 0 !important;
        margin:0 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
    body.woocommerce-cart .wc-block-cart-item__total .woocommerce-Price-amount,
    body.woocommerce-cart td.product-total .woocommerce-Price-amount{
        display:inline-block !important;
        max-width:100% !important;
        white-space:nowrap !important;
        font-size:22px !important;
        line-height:1.15 !important;
    }

    body.woocommerce-cart .wc-block-cart-item__quantity,
    body.woocommerce-cart .tirnan-cart-controls-row{
        max-width:100% !important;
        flex-wrap:wrap !important;
    }
}

/* CART MOBILE LAYOUT CORRECTION - keep product total below item details, never over title */
@media (max-width: 700px){
  body.woocommerce-cart .tirnan-cart-table,
  body.woocommerce-cart .tirnan-cart-table tbody,
  body.woocommerce-cart .tirnan-cart-table tr,
  body.woocommerce-cart .tirnan-cart-table td{
    box-sizing:border-box !important;
  }

  body.woocommerce-cart .tirnan-cart-table thead{
    display:none !important;
  }

  body.woocommerce-cart .tirnan-cart-row{
    display:grid !important;
    grid-template-columns:112px minmax(0, 1fr) !important;
    column-gap:18px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
    padding:22px 0 28px !important;
    border-bottom:1px solid #d8e1ee !important;
    overflow:hidden !important;
  }

  body.woocommerce-cart .tirnan-cart-row td{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    text-align:left !important;
    position:static !important;
    float:none !important;
    clear:none !important;
  }

  body.woocommerce-cart .tirnan-cart-row .product-thumbnail{
    grid-column:1 !important;
    grid-row:1 / span 3 !important;
    width:112px !important;
    max-width:112px !important;
  }

  body.woocommerce-cart .tirnan-cart-row .product-thumbnail img{
    width:96px !important;
    max-width:96px !important;
    height:132px !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  body.woocommerce-cart .tirnan-cart-row .product-name{
    grid-column:2 !important;
    grid-row:1 !important;
    overflow:visible !important;
  }

  body.woocommerce-cart .tirnan-cart-row .product-name a{
    display:block !important;
    font-size:22px !important;
    line-height:1.12 !important;
    font-weight:900 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    max-width:100% !important;
  }

  body.woocommerce-cart .tirnan-cart-row .product-total{
    grid-column:2 !important;
    grid-row:2 !important;
    display:block !important;
    position:static !important;
    transform:none !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:10px 0 0 !important;
    margin:0 !important;
    text-align:left !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-size:22px !important;
    line-height:1.15 !important;
    z-index:1 !important;
  }

  body.woocommerce-cart .tirnan-cart-row .product-total .amount,
  body.woocommerce-cart .tirnan-cart-row .product-total bdi,
  body.woocommerce-cart .tirnan-cart-row .product-total .woocommerce-Price-amount{
    display:inline-block !important;
    max-width:100% !important;
    font-size:22px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }

  body.woocommerce-cart .tirnan-cart-line-price{
    font-size:20px !important;
    line-height:1.15 !important;
    margin:14px 0 12px !important;
  }

  body.woocommerce-cart .tirnan-cart-controls-row{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    max-width:100% !important;
  }

  body.woocommerce-cart .tirnan-cart-qty-control{
    width:168px !important;
    max-width:168px !important;
    grid-template-columns:48px 72px 48px !important;
  }
}

/* CART MOBILE FINAL CLEAN FIX - remove overlapping item total and show it neatly in details */
.tirnan-mobile-line-total{
    display:none;
}

@media (max-width:700px){
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .tirnan-cart-form,
    body.woocommerce-cart .tirnan-cart-table,
    body.woocommerce-cart .tirnan-cart-table tbody{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .tirnan-cart-table thead{
        display:none !important;
    }

    body.woocommerce-cart .tirnan-cart-row{
        display:grid !important;
        grid-template-columns:96px minmax(0, 1fr) !important;
        column-gap:18px !important;
        width:100% !important;
        max-width:100% !important;
        padding:22px 0 28px !important;
        border-bottom:1px solid #d8e1ee !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .tirnan-cart-row td{
        display:block !important;
        min-width:0 !important;
        max-width:100% !important;
        width:auto !important;
        padding:0 !important;
        margin:0 !important;
        border:0 !important;
        position:static !important;
        transform:none !important;
        float:none !important;
        clear:none !important;
        text-align:left !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .tirnan-cart-row .product-thumbnail{
        grid-column:1 !important;
        grid-row:1 !important;
        width:96px !important;
        max-width:96px !important;
        padding-top:4px !important;
    }

    body.woocommerce-cart .tirnan-cart-row .product-thumbnail img{
        display:block !important;
        width:88px !important;
        max-width:88px !important;
        height:132px !important;
        object-fit:contain !important;
        object-position:center top !important;
        margin:0 auto !important;
    }

    body.woocommerce-cart .tirnan-cart-row .product-name{
        grid-column:2 !important;
        grid-row:1 !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        overflow:hidden !important;
    }

    body.woocommerce-cart .tirnan-cart-row .product-name > a,
    body.woocommerce-cart .tirnan-cart-row .product-name a:not(.tirnan-cart-remove){
        display:block !important;
        max-width:100% !important;
        color:#06162F !important;
        font-size:22px !important;
        line-height:1.12 !important;
        font-weight:900 !important;
        white-space:normal !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
        margin:0 0 14px !important;
        text-align:left !important;
    }

    body.woocommerce-cart .tirnan-cart-row > .product-total{
        display:none !important;
    }

    body.woocommerce-cart .tirnan-mobile-line-total{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:12px !important;
        width:100% !important;
        max-width:100% !important;
        margin:8px 0 14px !important;
        padding:8px 0 0 !important;
        color:#06162F !important;
        border:0 !important;
        box-sizing:border-box !important;
    }

    body.woocommerce-cart .tirnan-mobile-line-total span{
        font-size:15px !important;
        line-height:1.2 !important;
        font-weight:800 !important;
        color:#5b6575 !important;
        white-space:nowrap !important;
    }

    body.woocommerce-cart .tirnan-mobile-line-total strong,
    body.woocommerce-cart .tirnan-mobile-line-total .amount,
    body.woocommerce-cart .tirnan-mobile-line-total bdi{
        display:inline-block !important;
        max-width:100% !important;
        color:#06162F !important;
        font-size:22px !important;
        line-height:1.15 !important;
        font-weight:950 !important;
        white-space:nowrap !important;
        text-align:right !important;
    }

    body.woocommerce-cart .tirnan-cart-line-price{
        color:#06162F !important;
        font-size:22px !important;
        line-height:1.15 !important;
        font-weight:950 !important;
        margin:0 0 8px !important;
        text-align:left !important;
    }

    body.woocommerce-cart .tirnan-cart-controls-row{
        display:flex !important;
        align-items:center !important;
        gap:12px !important;
        flex-wrap:wrap !important;
        max-width:100% !important;
        margin-top:8px !important;
    }

    body.woocommerce-cart .tirnan-cart-qty-control{
        width:168px !important;
        max-width:168px !important;
        grid-template-columns:48px 72px 48px !important;
    }

    body.woocommerce-cart .tirnan-cart-remove{
        margin:0 !important;
    }
}


/* CART MOBILE FINAL OVERRIDE - remove duplicate line total completely on mobile */
@media (max-width:700px){
    body.woocommerce-cart .tirnan-cart-row > .product-total,
    body.woocommerce-cart .tirnan-cart-row td.product-total,
    body.woocommerce-cart .tirnan-mobile-line-total,
    body.woocommerce-cart .wc-block-cart-item__total,
    body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__total{
        display:none !important;
        visibility:hidden !important;
        width:0 !important;
        height:0 !important;
        max-width:0 !important;
        max-height:0 !important;
        overflow:hidden !important;
        opacity:0 !important;
        position:absolute !important;
        left:-9999px !important;
        top:auto !important;
        margin:0 !important;
        padding:0 !important;
    }

    body.woocommerce-cart .tirnan-cart-row{
        grid-template-columns:96px minmax(0, 1fr) !important;
        column-gap:18px !important;
        overflow:hidden !important;
    }

    body.woocommerce-cart .tirnan-cart-row .product-name{
        grid-column:2 !important;
        max-width:100% !important;
        overflow:hidden !important;
    }

    body.woocommerce-cart .tirnan-cart-row .product-name > a,
    body.woocommerce-cart .tirnan-cart-row .product-name a:not(.tirnan-cart-remove){
        padding-right:0 !important;
        margin-right:0 !important;
        max-width:100% !important;
    }
}
