/* Tenaci 2: product-led layout. Loaded after Storefront's Customizer colours. */
body { --tn-red:#dc2026; --tn-ink:#181a1c; --tn-line:#dedfe0; --tn-surface:#f5f5f3; }
body .site-header { padding:22px 0 0; background:#111315; border-bottom:0; }
body .site-header .site-branding img { max-width:220px; }
body .site-header .site-branding { margin-bottom:18px; }
body .site-header .site-search { margin-bottom:18px; }
body .site-header .storefront-primary-navigation { background:#202326; border-top:1px solid #35383a; }
body .main-navigation ul.menu>li>a { padding-top:16px; padding-bottom:16px; font-weight:600; }
body .site-header .storefront-primary-navigation .main-navigation ul.menu > li > a,
body .site-header .storefront-primary-navigation .site-header-cart a.cart-contents {
    color:#f5f5f5 !important; opacity:1;
}
body .site-header .storefront-primary-navigation .main-navigation ul.menu > li > a:hover,
body .site-header .storefront-primary-navigation .main-navigation ul.menu > li > a:focus-visible,
body .site-header .storefront-primary-navigation .site-header-cart a.cart-contents:hover {
    color:#fff !important;
}
body .site-header .storefront-primary-navigation .main-navigation ul.menu ul.sub-menu {
    background:#202326;
}
body .site-header .storefront-primary-navigation .main-navigation ul.menu ul.sub-menu a {
    color:#f5f5f5 !important;
}
body .site-header-cart .cart-contents { padding-block:16px; }
body .site-header .site-search input { border-radius:3px; }
body .site-header .dgwt-wcas-search-wrapp { padding:0; border-radius:3px; }
body .site-header .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input { border-radius:3px; min-height:46px; }
/* Keep typed text and the caret readable when Storefront uses a dark header. */
body .site-header .site-search input[type="search"],
body .site-header .site-search input[type="text"],
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar input.dgwt-wcas-search-input {
    background:#fff; color:#181a1c !important; -webkit-text-fill-color:#181a1c; caret-color:#181a1c;
    font-size:16px;
}
body .site-header .site-search input[type="search"]::placeholder,
body .site-header .site-search input[type="text"]::placeholder,
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar input.dgwt-wcas-search-input::placeholder {
    color:#60656a; opacity:1;
}
body .storefront-handheld-footer-bar li.search .site-search input[type="search"],
body .storefront-handheld-footer-bar li.search .site-search input[type="text"] {
    background:#fff; color:#181a1c; -webkit-text-fill-color:#181a1c;
    caret-color:#181a1c; font-size:16px;
}
body .storefront-handheld-footer-bar li.search .site-search input::placeholder {
    color:#60656a; opacity:1;
}
body .tnm { margin-block:0; }
body .tnm .tnm-bar { padding-block:12px; border-top:0; }
body .tnm .tnm-toggle { background:var(--tn-red); border-radius:2px; }
body .storefront-breadcrumb { padding:18px 0; margin-bottom:10px; }
body.single-product .content-area { float:none; width:100%; margin:0; }
body.single-product #secondary { display:none; }
body.single-product .site-main > div.product {
    display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:24px 48px;
}
body.single-product .site-main > div.product > * { grid-column:1 / -1; min-width:0; }
body.single-product .site-main > div.product > .product_title {
    max-width:1000px; margin:0 0 8px; font-size:clamp(26px,3.1vw,42px); line-height:1.15;
    letter-spacing:-.035em; color:var(--tn-ink); font-weight:700;
}
body.single-product .site-main > div.product > .woocommerce-product-gallery {
    grid-column:1; float:none; width:100%; margin:0; align-self:start;
}
body.single-product .site-main > div.product > .summary {
    grid-column:2; float:none; width:100%; margin:0; padding:28px;
    border:1px solid var(--tn-line); border-top:3px solid var(--tn-ink); border-radius:3px;
    background:#fff; align-self:start;
}
body.single-product div.product .woocommerce-product-gallery__image img {
    width:100%; max-height:510px; object-fit:contain; background:#fff;
}
body.single-product div.product .flex-control-thumbs { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
body.single-product div.product .flex-control-thumbs li { width:64px; margin:0; float:none; }
body.single-product div.product .flex-control-thumbs img { width:64px; height:64px; object-fit:contain; border:1px solid var(--tn-line); }
body.single-product div.product .summary .price { color:var(--tn-ink); font-size:30px; margin:0 0 12px; font-weight:700; }
body.single-product div.product .summary form.cart { padding:20px 0 0; margin:20px 0; }
body.single-product div.product .summary form.cart .single_add_to_cart_button {
    display:block; width:100%; float:none; clear:both; margin-top:14px;
    min-height:52px; background:var(--tn-red); color:#fff; border:0; font-size:17px;
}
body.single-product div.product .summary form.cart .single_add_to_cart_button:hover { background:#b8161c; }
body.single-product div.product .summary form.cart .single_add_to_cart_button:disabled { opacity:.5; }
body.single-product div.product .summary form.cart .quantity { margin-bottom:12px; }
body.single-product .tenaci-product-information { border-block:1px solid var(--tn-line); margin:20px 0; }
body.single-product .tenaci-product-information summary {
    cursor:pointer; padding:18px 0; font-size:16px; font-weight:700; color:var(--tn-ink); list-style-position:inside;
}
body.single-product .tenaci-product-information summary:focus-visible { outline:2px solid var(--tn-red); outline-offset:3px; }
body.single-product .tenaci-product-information .woocommerce-product-details__short-description { padding:0 0 12px; font-size:15px; }
body.single-product div.product .product_meta { padding:0; border:0; font-size:13px; }
body.single-product div.product .woocommerce-tabs { border-top:1px solid var(--tn-line); margin-top:20px; padding-top:24px; }
body.single-product .woocommerce-tabs ul.tabs { width:25%; }
body.single-product .woocommerce-tabs .panel { width:70%; }
body.single-product .woocommerce-tabs .panel :is(h1,h2) { font-size:26px; font-weight:600; }
body.single-product .woocommerce-tabs .panel p { line-height:1.7; }
body.single-product .storefront-product-pagination { display:none; }
body .site-main ul.products li.product { border:1px solid var(--tn-line); padding:16px; background:#fff; }
body .site-main ul.products li.product .button { background:var(--tn-ink); color:#fff; }
body .woocommerce-ordering { display:none !important; }
@media(min-width:768px) {
    body.single-product .site-content > .col-full { max-width:1240px; }
}
@media(max-width:767px) {
    body .site-header { padding:16px 0 0; }
    body .site-header > .col-full { min-height:44px; }
    body .site-header .site-branding { width:calc(100% - 100px); margin:0 0 16px; }
    body .site-header .site-branding img { max-width:170px; max-height:48px; object-fit:contain; }
    body .site-header .site-search { display:block; width:100%; float:none; clear:both; margin:0 0 14px; }
    body .site-header .site-search .widget_product_search { margin:0; }
    body .site-header .site-search .dgwt-wcas-search-wrapp { max-width:none; min-width:0; width:100%; }
    body .site-header .site-search input[type="search"],
    body .site-header .site-search input[type="text"] { min-height:48px; }
    html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar { background:#fff; color:#181a1c; }
    html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp {
        background:#fff; color:#181a1c; -webkit-overflow-scrolling:touch;
    }
    body .site-header button.menu-toggle { position:absolute; right:16px; top:16px; margin:0; min-height:44px; color:white; border:1px solid #666; }
    body .site-header .main-navigation .handheld-navigation { margin:0; }
    body .main-navigation.toggled .handheld-navigation { padding:12px 0; }
    body .tnm .tnm-bar { gap:8px; padding:10px 0; }
    body .tnm .tnm-toggle { padding:12px 14px; font-size:14px; }
    body .tnm .tnm-shop { font-size:13px; }
    body .storefront-breadcrumb { padding:12px 0; margin-bottom:4px; }
    body .woocommerce-breadcrumb { font-size:11px; }
    body.single-product .site-main > div.product { display:flex; flex-direction:column; gap:16px; }
    body.single-product .site-main > div.product > .product_title { font-size:25px; margin:0; }
    body.single-product .site-main > div.product > .summary { padding:20px; }
    body.single-product div.product .woocommerce-product-gallery__image img { max-height:245px; object-fit:contain; }
    body.single-product div.product .flex-control-thumbs { justify-content:center; margin:8px 0 0; gap:8px; }
    body.single-product div.product .flex-control-thumbs li,
    body.single-product div.product .flex-control-thumbs img { width:46px; height:46px; }
    body.single-product div.product .summary .price { font-size:26px; }
    body.single-product div.product .summary form.cart { margin:12px 0 18px; padding-top:14px; }
    body.single-product .woocommerce-tabs ul.tabs,
    body.single-product .woocommerce-tabs .panel { float:none; width:100%; }
    body.single-product .woocommerce-tabs ul.tabs { display:flex; overflow-x:auto; gap:20px; margin-bottom:20px; }
    body.single-product .woocommerce-tabs ul.tabs li { flex-shrink:0; border:0; }
    body.single-product .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--tn-red); }
    body.single-product .woocommerce-tabs ul.tabs li::after { display:none; }
    body .site-main ul.products li.product { padding:12px; }
}
/* Keep thumbnail sizing independent of gallery column settings. */
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    display:flex; gap:8px; justify-content:flex-start; flex-wrap:nowrap;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex:0 0 56px; width:56px !important; margin:0 !important; padding:0;
}
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    width:56px; height:56px;
}
@media(max-width:767px) {
    body.single-product div.product .woocommerce-product-gallery__image img { max-height:190px; }
    body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { justify-content:center; }
    body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { flex-basis:42px; width:42px !important; }
    body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { width:42px; height:42px; }
    body.single-product .site-main > div.product > .summary { padding:16px; }
    body.single-product .site-main > div.product > .product_title { font-size:23px; }
}
