/* Transfral Trading Premium v4: screenshot-driven header, catalog, gallery & footer refinements. */
:root{--tf-v4-navy:#102e44;--tf-v4-mid:#1b455b;--tf-v4-teal:#087c80;--tf-v4-teal-deep:#08636b;--tf-v4-gold:#d9ab6b;--tf-v4-line:#e4ecee;--tf-v4-subtle:#f5f8f8}
body{background:#fff;color:#183449;-webkit-font-smoothing:antialiased}
/* Type scale never exceeds requested 26px / 600 in v4-owned regions */
.tf-topbar,.tf-header,.tf-navline,.tf-footer,.tf-v3-home,.tf-v4-gallery,.woocommerce div.product,.tf-v3-page-head{font-family:var(--tf-font,system-ui,-apple-system,"Segoe UI",sans-serif)}
.tf-v3-home h1,.tf-v3-home h2,.tf-v3-home h3,.woocommerce div.product h1,.woocommerce div.product h2,.woocommerce div.product h3,.tf-footer h2,.tf-footer h3{font-weight:600!important}
.tf-v3-home h1,.woocommerce div.product h1{font-size:26px!important}.tf-v3-home h2,.woocommerce div.product h2{font-size:23px!important}.tf-v3-home h3,.woocommerce div.product h3{font-size:18px!important}
/* Compact editorial topbar */
.tf-topbar{background:linear-gradient(100deg,#10293f,#194157);border:0;color:#eaf4f3;font-size:11px;min-height:36px}
.tf-topbar .tf-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:37px}
.tf-topbar__identity,.tf-topbar__links{display:flex;align-items:center;gap:17px;min-width:0}
.tf-topbar__chip{letter-spacing:.07em;color:#f5e7d4;font-weight:600;font-size:10px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.tf-topbar__email,.tf-topbar__links span,.tf-topbar__links a{display:inline-flex;align-items:center;gap:7px;color:#e7f0f1;font-size:11px;white-space:nowrap;text-decoration:none}
.tf-topbar__identity svg,.tf-topbar__links svg{width:14px;height:14px;color:#e2ae68}
.tf-topbar__links a:hover,.tf-topbar__email:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* Header proportions, crisp logo, searchable full-width catalog */
.tf-header{background:#fff;border-bottom:1px solid #e8edef;box-shadow:0 9px 30px rgba(17,46,65,.035);top:auto!important}
.tf-header .tf-header__inner{min-height:84px;gap:23px;display:flex;align-items:center}
.tf-brand{flex:0 0 auto;max-width:170px;min-width:105px}
.tf-brand .custom-logo{max-width:165px;max-height:67px;object-fit:contain;width:auto}
.tf-header-search{margin:0;max-width:660px;height:46px;border:1px solid #d9e5e8;border-radius:10px;box-shadow:none;background:#fefefe;flex:1 1 auto}
.tf-header-search input{color:#193b4f;padding-left:16px;font-size:12px}
.tf-header-search button[type=submit]{background:var(--tf-v4-teal);border-radius:0 9px 9px 0}
.tf-header-search button[type=submit]:hover{background:var(--tf-v4-teal-deep)}
.tf-header__actions{gap:10px;margin-left:auto;flex:0 0 auto}
.tf-header__phone>svg{color:var(--tf-v4-teal)}.tf-header__phone strong{color:#193b4f;font-weight:600}
.tf-header-action{background:#fff;border-radius:9px;padding:6px 8px;min-height:42px;gap:7px}
.tf-header-action:hover{background:#f2f7f7}.tf-header-action>svg{width:21px;height:21px;color:#163c52}
.tf-cart-num{background:#0a8682!important;color:#fff;left:19px;top:-1px}
/* Restore prominent navigation links even when an inherited WP menu only listed 'All Categories' */
.tf-navline{background:#fff!important;border-bottom:1px solid var(--tf-v4-line);box-shadow:0 7px 16px rgba(13,49,65,.035)}
.tf-navline .tf-navline__inner{min-height:56px;display:flex;align-items:center;gap:15px}
.tf-departments{flex:0 0 205px;margin:5px 0;z-index:50}
.tf-departments .tf-departments__toggle{min-height:43px!important;height:43px!important;background:linear-gradient(110deg,#11405a,#11797d)!important;color:#fff!important;border:1px solid #155169!important;border-radius:9px!important;padding:0 14px!important;font-size:12px!important;gap:9px;box-shadow:0 7px 15px rgba(8,65,84,.13)}
.tf-departments .tf-departments__toggle:hover,.tf-departments .tf-departments__toggle[aria-expanded="true"]{background:linear-gradient(110deg,#0d344b,#076368)!important}
.tf-departments__panel{border-radius:11px!important;top:calc(100% + 6px)!important;box-shadow:0 22px 52px rgba(11,46,60,.17);border:1px solid #e2eceb;width:min(320px,90vw)}
.tf-departments__panel li a:hover{background:#eef7f6;color:var(--tf-v4-teal)}
.tf-main-nav{flex:1;min-width:0;padding:0}
.tf-main-nav .tf-menu{display:flex;gap:3px;align-items:center}
.tf-main-nav .tf-menu>li>a{color:#193d52!important;background:transparent!important;padding:16px 12px!important;font-size:12px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}
.tf-main-nav .tf-menu>li>a:hover,.tf-main-nav .tf-menu>li.current-menu-item>a{color:var(--tf-v4-teal)!important;border-bottom-color:var(--tf-v4-teal)}
.tf-navline__right.tf-navline__enquire{border-radius:9px;background:#eff8f6;padding:10px 13px!important;border:1px solid #cbe7de;color:#16765c;font-size:11px;font-weight:600;white-space:nowrap;margin-left:auto;display:inline-flex;gap:7px;align-items:center}
.tf-navline__right.tf-navline__enquire--wa{background:#e9f9f0;border-color:#bceacf;color:#137947}
.tf-navline__enquire .tf-icon{height:16px;width:16px}.tf-navline__enquire:hover{filter:brightness(.97);color:#0b5844}
/* Homepage sections: less empty space, stronger product presentation */
.tf-v3-hero{padding-top:20px}.tf-v3-hero__container{box-shadow:0 17px 34px rgba(18,54,73,.12);border-radius:18px}
.tf-v3-hero__product{box-shadow:0 16px 35px rgba(4,37,53,.17);border:1px solid rgba(231,240,244,.9)}
.tf-v3-hero__product-image{background:#fff;min-width:0}.tf-v3-hero__product-image img{object-fit:contain!important;object-position:center!important;width:100%;height:100%;image-rendering:auto}
.tf-v3-hero__product-name{font-size:11px!important;color:#203d4d}
.tf-v3-home .tf-product-card{border:1px solid #e7edef;border-radius:12px;overflow:hidden;box-shadow:0 6px 22px rgba(15,54,73,.045);transition:transform .2s,box-shadow .2s;background:#fff}
.tf-v3-home .tf-product-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(15,54,73,.09)}
.tf-v3-home .tf-product-card__image{background:#fff;display:flex;justify-content:center;align-items:center;padding:14px;min-height:175px}
.tf-v3-home .tf-product-card__image img{width:100%;height:100%;object-fit:contain;object-position:center}
.tf-v3-promos .tf-v3-promo{border-radius:14px;overflow:hidden}
.tf-v3-promo__image img{width:100%;height:100%;object-fit:contain;filter:none}
/* Replace unrelated random item in company story with a curated local vector (or selected Customizer photo). */
.tf-v3-story__visual{background:linear-gradient(140deg,#edf7f5,#d8e9e6);min-height:355px;border-radius:16px;overflow:hidden;box-shadow:0 12px 27px rgba(12,51,67,.06)}
.tf-v3-story__visual>img.tf-v4-story-custom-image{width:100%;height:100%;max-height:none;min-height:355px;object-fit:cover;mix-blend-mode:normal}
.tf-v3-story__image-label{background:rgba(9,44,63,.88);font-size:10px;left:16px;bottom:15px;padding:8px 12px}
.tf-v3-story__copy p{line-height:1.7}
.tf-v3-cta{padding:38px 0;background:linear-gradient(105deg,#13344a,#1a4857)}
/* Footer: NO duplicate red newsletter/marketing banner. */
.tf-footer{background:#102331;padding-top:34px}
.tf-footer__highlight{display:none!important}
.tf-footer__top{display:grid!important;grid-template-columns:minmax(0,1.22fr) repeat(2,minmax(0,.85fr)) minmax(0,1.2fr)!important;gap:25px;align-items:start;padding-top:0!important}
.tf-footer__brand{min-width:0}.tf-footer__brand-logo{max-width:120px!important;width:120px!important;max-height:115px!important;height:auto!important;border-radius:11px;overflow:hidden;background:#fff;padding:6px;display:block}
.tf-footer__brand-logo .custom-logo-link,.tf-footer__brand-logo .custom-logo{max-width:100%!important;max-height:98px!important;width:auto!important;height:auto!important;object-fit:contain}
.tf-footer__brand-logo .tf-wordmark{max-width:100%;transform:scale(.87);transform-origin:left center}
.tf-footer__brand p{margin:13px 0;color:#bfd2db;font-size:12px;line-height:1.7;max-width:280px}
.tf-footer h3{color:#fff;font-size:13px!important;margin:10px 0 17px;letter-spacing:0}
.tf-footer a,.tf-footer li{color:#c5d7de}.tf-footer a:hover{color:#f7e1c0}
.tf-footer__contact svg{color:#dbb375}
.tf-footer__assurance{margin-top:13px;font-size:10px}
.tf-footer__bottom{border-top:1px solid rgba(255,255,255,.11);margin-top:25px;padding:18px 0}
/* Reliable WooCommerce gallery (does not rely on FlexSlider initialization). */
.woocommerce div.product .tf-v4-gallery{grid-column:1;min-width:0;margin:0!important;max-width:100%;width:100%}
.tf-v4-gallery__stage{border:1px solid #e0ebee;background:linear-gradient(160deg,#fbfdfd,#f6f9fa);border-radius:16px;position:relative;overflow:hidden;width:100%;aspect-ratio:1.17 / 1;min-height:340px;max-height:480px;display:grid;place-items:center}
.tf-v4-gallery__image{position:absolute;inset:14px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tf-v4-gallery__main-image{display:block!important;object-fit:contain!important;object-position:center!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;background:none!important}
.tf-v4-gallery__zoom{position:absolute;right:14px;top:14px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #e2e9ed;border-radius:9px;background:#fff;color:#254b5c;z-index:2;box-shadow:0 3px 9px rgba(20,50,60,.07)}
.tf-v4-gallery__zoom svg{width:18px;height:18px}
.tf-v4-gallery__arrows{position:absolute;inset:0 9px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}
.tf-v4-gallery__arrows button{width:34px;height:34px;background:rgba(255,255,255,.9);border-radius:50%;border:1px solid #e1ecee;display:grid;place-items:center;pointer-events:auto;color:#124459}
.tf-v4-gallery__arrows button:first-child svg{transform:rotate(180deg)}.tf-v4-gallery__arrows svg{width:17px;height:17px}
.tf-v4-gallery__thumbs{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:10px 2px 4px}
.tf-v4-gallery__thumb{width:84px;height:82px;flex:0 0 84px;scroll-snap-align:start;border:1px solid #dfe9ec!important;background:#fff;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:7px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.tf-v4-gallery__thumb:hover,.tf-v4-gallery__thumb.is-active{border-color:#0b8a80!important;box-shadow:0 0 0 2px rgba(11,138,128,.13)}
.tf-v4-gallery__thumb img{object-fit:contain!important;width:100%!important;height:100%!important;opacity:1!important;border:0!important;max-width:100%!important;max-height:100%!important}
.tf-v4-gallery__count{display:block;text-align:right;color:#718a96;font-size:11px;margin-top:7px}
.woocommerce div.product .summary{grid-column:2;align-self:start;min-width:0}
.woocommerce div.product .summary .product_title{line-height:1.32;overflow-wrap:break-word;margin:0 0 17px}
.woocommerce div.product .summary .woocommerce-product-details__short-description{font-size:13px;line-height:1.7}
.woocommerce div.product .summary .woocommerce-product-details__short-description p{margin:0 0 12px}
.woocommerce div.product .tf-v3-enquiry-actions{margin:18px 0 20px;display:flex;align-items:stretch}
.woocommerce div.product .tf-v3-actionbtn{min-height:44px;border-radius:9px;font-size:12px}
.woocommerce div.product .tf-v3-actionbtn--wa{border-color:#b2e8c8;background:#e9f9ef;color:#167747}
/* Compact descriptions, with explicit expand control when content is long. */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1!important;padding:20px 24px!important;margin-top:21px!important;border:1px solid #e5edef!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 20px rgba(17,48,64,.035)}
.woocommerce div.product .woocommerce-tabs ul.tabs{margin-bottom:14px!important}
.woocommerce div.product .woocommerce-tabs .panel{margin-bottom:0!important;font-size:13px!important;line-height:1.65;color:#526a78;min-width:0;overflow-wrap:anywhere}
.woocommerce div.product .woocommerce-tabs .panel img{max-width:100%!important;width:auto!important;height:auto!important;max-height:320px!important;object-fit:contain!important;display:block;margin:12px auto!important}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 12px}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:18px!important}
.woocommerce div.product .woocommerce-tabs .panel iframe,.woocommerce div.product .woocommerce-tabs .panel video{max-width:100%;max-height:350px}
.woocommerce div.product .woocommerce-Tabs-panel--description.tf-v4-description-collapsible{position:relative;max-height:340px!important;overflow:hidden!important}
.woocommerce div.product .woocommerce-Tabs-panel--description.tf-v4-description-collapsible:not(.is-expanded):after{content:'';position:absolute;pointer-events:none;bottom:0;left:0;right:0;height:75px;background:linear-gradient(transparent,#fff)}
.woocommerce div.product .woocommerce-Tabs-panel--description.tf-v4-description-collapsible.is-expanded{max-height:none!important;overflow:visible!important}
.tf-v4-readmore{display:inline-flex;align-items:center;gap:9px;border:1px solid #cce2e2;background:#eff8f7;border-radius:8px;color:#086c6b;padding:9px 13px;font-size:12px;font-weight:600;margin-top:16px;cursor:pointer}
.tf-v4-readmore:hover{background:#e5f3f1}
.woocommerce div.product .related,.woocommerce div.product .upsells{margin-top:36px}
.woocommerce div.product .related>h2,.woocommerce div.product .upsells>h2{font-size:23px!important;font-weight:600!important;margin:0 0 20px}
.woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
.woocommerce div.product .related ul.products li.product,.woocommerce div.product .upsells ul.products li.product{border:1px solid #e5edf0;border-radius:12px;background:#fff;min-width:0;overflow:hidden}
.woocommerce div.product .related .tf-product-card__image img,.woocommerce div.product .upsells .tf-product-card__image img{object-fit:contain!important}
/* Tablet / Mobile: search stays visible, offcanvas menu accessible, galleries resize. */
@media(max-width:1200px){
 .tf-navline .tf-navline__inner{gap:7px}.tf-departments{flex-basis:188px}
 .tf-main-nav .tf-menu>li>a{padding:15px 8px!important;font-size:11px}
 .tf-navline__right.tf-navline__enquire{padding:9px 10px!important}
 .tf-topbar__identity,.tf-topbar__links{gap:10px}.tf-topbar__chip{font-size:9px}
}
@media(max-width:980px){
 .tf-topbar__links{display:none!important}.tf-topbar__identity{width:100%;justify-content:space-between}
 .tf-navline{display:block!important;background:transparent!important;height:0!important;min-height:0!important;border:0!important;overflow:visible!important;box-shadow:none!important;position:static!important}
 .tf-navline .tf-navline__inner{display:block!important;height:0!important;min-height:0!important;padding:0!important}
 .tf-departments,.tf-navline__right{display:none!important}
 .tf-main-nav{position:fixed!important;top:0!important;bottom:0!important;right:0!important;width:min(380px,90vw)!important;max-height:100dvh!important;background:#fff!important;z-index:121!important;display:block!important;padding:72px 22px 24px!important;overflow-y:auto!important;transform:translateX(110%)!important;transition:transform .28s ease!important;box-shadow:-20px 0 44px rgba(15,38,52,.14)!important}
 body.tf-menu-open .tf-main-nav{transform:translateX(0)!important}
 .tf-main-nav .tf-menu{display:block!important;width:100%}
 .tf-main-nav .tf-menu>li{border-bottom:1px solid #e5edef}
 .tf-main-nav .tf-menu>li>a{display:block!important;padding:14px 4px!important;border-bottom:0!important;color:#193b4d!important;font-size:13px!important}
 .tf-main-nav .tf-menu>li.current-menu-item>a{color:#087c80!important}
 .tf-mobile-menu-heading{display:flex!important;align-items:center;justify-content:space-between;position:relative;top:auto;left:auto;color:#123d51}
 .tf-mobile-categories{margin-top:16px}
 .tf-header .tf-header__inner{min-height:76px;gap:15px}
 .tf-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
 .tf-topbar{display:none!important}
 .tf-header .tf-header__inner{min-height:70px;gap:8px}
 .tf-brand{min-width:70px;max-width:136px}
 .tf-brand .custom-logo{max-width:135px;max-height:56px}
 .tf-header__actions{gap:4px}
 .tf-header-action{min-width:34px;width:37px;height:37px;padding:5px}
 .tf-header-search{height:43px;max-width:none}
 .tf-header-search input{font-size:12px}
 .tf-v3-story__visual{min-height:260px}
 .tf-v3-story__visual>img.tf-v4-story-custom-image{min-height:260px}
 .tf-v3-hero__product-image img{max-height:100%;width:auto;max-width:100%}
 .tf-v3-home .tf-product-card__image{min-height:130px;padding:8px}
 .tf-footer__top{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 17px}
 .tf-footer__brand-logo{width:98px!important;max-width:98px!important;max-height:96px!important}
 .tf-footer__brand-logo .custom-logo{max-height:83px!important}
 .woocommerce div.product .tf-v4-gallery{grid-column:1/-1}
 .woocommerce div.product .summary{grid-column:1/-1}
 .tf-v4-gallery__stage{min-height:270px;max-height:370px;aspect-ratio:1.12 / 1}
 .tf-v4-gallery__thumb{width:69px;height:69px;flex-basis:69px}
 .woocommerce div.product .woocommerce-tabs{padding:16px!important;margin-top:20px!important}
 .woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 .woocommerce div.product .related ul.products li.product.tf-product-card,.woocommerce div.product .upsells ul.products li.product.tf-product-card{display:flex!important;flex-direction:column!important}
}
@media(max-width:430px){
 .tf-v3-home .tf-product-card h3{font-size:12px!important}
 .tf-v4-gallery__stage{min-height:230px;max-height:315px}
 .tf-v4-gallery__thumb{width:62px;height:62px;flex-basis:62px}
 .tf-footer__top{grid-template-columns:1fr 1fr!important}
 .tf-footer__brand{grid-column:1/-1}
 .tf-v3-enquiry-actions .tf-v3-actionbtn{flex:1 1 100%}
 .woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .woocommerce div.product .related .tf-product-card__image,.woocommerce div.product .upsells .tf-product-card__image{min-height:120px;height:auto;aspect-ratio:1/1}
}
@media(prefers-reduced-motion:reduce){.tf-v4-gallery *{transition:none!important;animation:none!important}}
/* Small-screen header: logo/actions on row one, full product search on row two. */
@media(max-width:700px){
 .tf-header .tf-header__inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;gap:9px!important;padding:9px 0 11px!important;min-height:0!important}
 .tf-header .tf-brand{grid-column:1!important;grid-row:1!important;min-width:0!important;max-width:150px!important}
 .tf-header .tf-header__actions{grid-column:2!important;grid-row:1!important;justify-self:end!important;min-width:0!important;margin-left:0!important;display:flex!important;gap:3px!important}
 .tf-header .tf-header-search{grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;height:43px!important}
 .tf-header__phone{display:none!important}
}
@media(max-width:350px){
 .tf-header .tf-brand .custom-logo{max-width:105px!important;max-height:52px!important}
 .tf-header .tf-header-action{width:34px!important;min-width:34px!important;height:36px!important;padding:4px!important}
}

/* WhatsApp enquiry is always available from the mobile menu; desktop uses the top navigation CTA. */
.tf-mobile-wa-link{display:none}
@media(max-width:980px){
 .tf-main-nav .tf-mobile-wa-link{display:flex!important;align-items:center;justify-content:center;gap:8px;margin:14px 0 17px;padding:12px;border-radius:9px;background:#e4f7ee;border:1px solid #bce7cf;color:#106942!important;font-size:12px;font-weight:600;text-decoration:none}
 .tf-mobile-wa-link svg{height:17px;width:17px}
}
