/* FTS 0.1.23: photograph-led premium homepage. This file is enqueued in
   precisely the same order on the public site and inside the Gutenberg editor.
   All content/photo/card structures remain native movable WordPress blocks. */
:root { --fts-023-navy:#092844; --fts-023-blue:#076fbb; --fts-023-hair:#d9e6ef; }

/* Tight, restrained branding header. No cart/account controls in catalogue mode. */
.fts-block-topbar { background:#102b40; }
.fts-block-topbar-inner { min-height:26px; padding-block:5px; }
.fts-block-topbar-inner p { font-size:10px!important; letter-spacing:.012em; }
.fts-block-header { background:#fff; box-shadow:0 2px 15px rgba(8,32,52,.025); }
.fts-block-header-row { min-height:76px; gap:clamp(16px,3.3vw,38px); }
.fts-block-header-row .fts-header-logo { width:205px; max-width:30%; }
.fts-header-navigation .wp-block-navigation__container { column-gap:clamp(15px,1.5vw,26px); }
.fts-header-navigation .wp-block-navigation-item>a { color:#122d44; font-weight:660; font-size:12.8px; }
.fts-header-navigation .wp-block-navigation-item:last-child>a { background:none; border:0; padding:0; }
.fts-header-navigation .wp-block-navigation-item>a:hover { color:var(--fts-023-blue); }
.fts-header-quick-search .wp-block-search__button { padding:6px; }
.fts-header-quick-search .wp-block-search__button svg { width:20px; height:20px; }

/* Genuine source photo: native editable Image block behind the three editable
   component cutouts. Light left overlay ensures text contrast and readability. */
.fts-block-home-hero { isolation:isolate; position:relative; overflow:hidden; background:#e5f0f7!important; background-image:none!important; border-bottom:1px solid #d9e8f0; }
.fts-block-home-hero .fts-hero-background-photo {
 position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0;
 pointer-events:none; z-index:0; overflow:hidden; max-width:none;
}
.fts-block-home-hero .fts-hero-background-photo img {
 display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 40%;
}
.fts-block-home-hero:before {
 content:""; position:absolute; z-index:1; pointer-events:none; inset:0;
 background:
  linear-gradient(0deg,rgba(235,245,251,.84) 0%,rgba(236,246,252,.14) 17%,transparent 37%),
  linear-gradient(90deg,#f5f9fc 0%,rgba(246,250,253,.99) 22%,rgba(242,249,253,.88) 37%,rgba(235,246,252,.43) 61%,rgba(222,238,248,.07) 100%);
}
.fts-block-home-hero:after { display:none!important; }
.fts-block-home-hero .fts-home-hero-grid {
 position:relative;z-index:2;min-height:377px; gap:clamp(18px,3vw,50px);align-items:center;
}
.fts-block-home-hero .hero-copy { padding:36px 0 67px; }
.fts-block-home-hero .hero-copy .eyebrow {
 margin:0 0 15px;letter-spacing:.145em;color:#244d6a;font-size:10.5px;font-weight:750;
}
.fts-block-home-hero .hero-copy .eyebrow:before { width:20px;height:2px; }
.fts-block-home-hero .hero-copy h1 {
 max-width:590px; font-size:clamp(38px,3.38vw,52px); line-height:1.07;
 font-weight:780; letter-spacing:-.052em; color:#102b46; margin:0 0 15px;
}
.fts-block-home-hero .hero-copy>p:not(.eyebrow) {
 margin:0 0 20px; max-width:490px;font-size:15.5px;line-height:1.5;color:#345673;
}
.fts-block-home-hero .fts-hero-actions { margin:0;gap:11px; }
.fts-block-home-hero .fts-hero-actions>.wp-block-button .wp-block-button__link {
 min-height:46px; padding:11px 20px; border-radius:3px;font-size:13.5px;
}
.fts-block-home-hero .fts-hero-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link { background:#086fba; }
.fts-block-home-hero .fts-hero-actions .wp-block-button.is-style-outline .wp-block-button__link {
 background:rgba(247,252,255,.74);border-color:#bad0de;color:#0c3455;
}
.fts-block-home-hero .fts-hero-actions .wp-block-button.is-style-outline .wp-block-button__link:hover {background:#fff;}
.fts-block-home-hero .fts-hero-media-column {position:relative;min-width:0;z-index:2;}
.fts-block-home-hero .hero-products {
 height:362px;min-height:0;gap:0;margin:0;padding:0 0 32px;
 display:flex;align-items:center;overflow:visible;position:relative;
}
.fts-block-home-hero .hero-products:before {display:none;}
.fts-block-home-hero .fts-hero-main-image {min-width:0;}
.fts-block-home-hero .fts-hero-main-image .hero-chain {width:100%;height:338px;transform:translate(22px,5px) rotate(-3deg);}
.fts-block-home-hero .fts-hero-side-images {height:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;}
.fts-block-home-hero .fts-hero-side-images figure {height:155px;width:122%;transform:translate(-8px,1px);}
.fts-block-home-hero .fts-hero-side-images .hero-roller {height:149px;transform:translate(-20px,14px) rotate(2deg);}
.fts-block-home-hero .fts-hero-side-images .hero-bearings {height:170px;transform:translate(-18px,-6px);}
.fts-block-home-hero .hero-products img {filter:drop-shadow(0 17px 13px rgba(11,31,45,.28));}

/* Search is the primary conversion route and overlaps the lower edge of hero. */
.fts-home-search-area {margin-top:-34px!important;position:relative;z-index:9;isolation:isolate;}
.fts-home-search-area .search-panel {
 background:rgba(255,255,255,.985);border:1px solid #dce8ef;border-radius:5px;
 overflow:hidden;box-shadow:0 16px 38px rgba(13,46,71,.12);padding:0;
}
.fts-home-search-area .fts-search-routes {min-height:44px;background:#f8fbfd;border-bottom:1px solid #e4ecf2;}
.fts-home-search-area .fts-search-route {
 font-size:12.5px;padding:12px 22px;min-height:43px;border-right:0; color:#294960;
}
.fts-home-search-area .fts-search-route.is-current {color:#0f2c46;background:#fff;}
.fts-home-search-area .fts-search-route.is-current:after{height:3px;background:#117ac4;}
.fts-home-search-area .fts-search-panel-body {padding:13px 18px 16px;}
.fts-home-search-area .search-label {display:none;} /* Search tabs plus input already explain the task. */
.fts-home-search-area .search-fields {gap:9px;position:relative;align-items:stretch;}
.fts-home-search-area .search-fields input[type="search"] {
 height:46px;min-height:46px; border:1px solid #cbdae5;background:#fff;color:#213d52;
 border-radius:3px; padding:10px 14px 10px 43px;font-size:14px;line-height:1.4;
 background-repeat:no-repeat;background-position:14px center;background-size:19px 19px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23112d46' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E");
}
.fts-home-search-area .search-fields input:focus-visible {outline:2px solid #0876ba; outline-offset:2px;}
.fts-home-search-area .search-fields button {min-height:46px;padding:10px 24px;white-space:nowrap;background:#086fba;border-radius:3px;}
.fts-home-search-area .search-hint {margin:8px 0 0;font-size:11.7px;line-height:1.4;color:#5b7487;}
.fts-home-search-area .search-hint a {color:#086fba;font-weight:700;}

/* Keep category title and the cards in the first laptop viewport. */
.fts-home-category-section {padding-top:39px;padding-bottom:48px;}
.fts-home-category-section .fts-category-heading-row {margin-bottom:14px!important;align-items:end;}
.fts-home-category-section .fts-category-heading-row .eyebrow {margin:0 0 5px;}
.fts-home-category-section .fts-category-heading-row h2 {font-size:clamp(24px,2.4vw,31px);line-height:1.15;margin:0 0 5px;}
.fts-home-category-section .fts-category-heading-row p:not(.eyebrow) {font-size:13px;line-height:1.4;}
.fts-home-category-section .fts-editable-category-grid {gap:11px;}
.fts-home-category-section .fts-editable-category-grid .category-visual {height:122px;background:linear-gradient(150deg,#f5f9fb,#e9f1f5);}
.fts-home-category-section .fts-editable-category-grid .category-visual img {padding:6px 10px;object-fit:contain;}
.fts-home-category-section .fts-editable-category-grid .category-name {font-size:12px;line-height:1.2;padding:11px 9px;min-height:45px;}
.fts-home-category-section .fts-editable-category-grid .category-card {border:1px solid #e1eaf0;border-radius:3px;}
.fts-home-category-section .fts-home-directory {margin-top:29px!important;}

/* 1024px laptops: keep hero product-led while not colliding with navigation. */
@media(max-width:1170px) and (min-width:781px) {
 .fts-block-header-row{min-height:73px;gap:14px;}
 .fts-block-header-row .fts-header-logo{width:174px;}
 .fts-header-navigation .wp-block-navigation__container{column-gap:11px;}
 .fts-header-navigation .wp-block-navigation-item>a{font-size:11.5px;}
 .fts-block-home-hero .fts-home-hero-grid{min-height:351px;gap:15px;}
 .fts-block-home-hero .hero-copy{padding:35px 0 61px;}
 .fts-block-home-hero .hero-copy h1{font-size:clamp(34px,3.5vw,43px);}
 .fts-block-home-hero .hero-products{height:340px;}
 .fts-block-home-hero .fts-hero-main-image .hero-chain{height:320px;}
 .fts-block-home-hero .fts-hero-side-images figure{height:141px;}
 .fts-home-category-section .fts-editable-category-grid .category-visual{height:118px;}
}

/* Tablet and phone: mobile navigation, then purposeful photograph + product art. */
@media(max-width:970px) {
 .fts-block-header-row {min-height:67px;gap:12px;}
 .fts-block-header-row .fts-header-logo {order:1;width:165px;max-width:43%;}
 .fts-block-header-row .fts-header-quick-search{order:2;margin-left:auto;}
 .fts-block-header-row .fts-header-navigation{order:3;flex:0 0 auto;}
 .fts-header-navigation .wp-block-navigation__responsive-container-open {display:flex!important;align-items:center;justify-content:center;min-width:38px;min-height:43px;padding:7px;color:#122d44;}
 .fts-header-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {display:none!important;}
 .fts-header-navigation .wp-block-navigation__responsive-container.is-menu-open{display:flex!important;}
 .fts-header-quick-search {flex:0 0 auto;}
}
@media(min-width:601px) and (max-width:780px) {
 .fts-block-home-hero .fts-home-hero-grid {min-height:370px;display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;}
 .fts-block-home-hero .hero-copy{width:56%;flex-basis:56%!important;padding:28px 0 65px;}
 .fts-block-home-hero .hero-copy h1{font-size:clamp(31px,4.5vw,40px);}
 .fts-block-home-hero .hero-copy>p:not(.eyebrow){font-size:14px;}
 .fts-block-home-hero .fts-hero-media-column{width:44%;flex-basis:44%!important;}
 .fts-block-home-hero .hero-products{height:330px;}
 .fts-block-home-hero .fts-hero-main-image .hero-chain{height:290px;transform:translate(12px,0);}
 .fts-block-home-hero .fts-hero-side-images figure{height:122px;}
 .fts-home-search-area{margin-top:-35px!important;}
 .fts-home-category-section .fts-editable-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:600px) {
 .fts-block-topbar-inner {min-height:21px;padding:3px 0;}
 .fts-block-topbar-inner p {font-size:8.8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 .fts-block-header-row{min-height:64px;}
 .fts-block-header-row .fts-header-logo{width:153px;max-width:47%;}
 .fts-header-quick-search .wp-block-search__button svg{width:20px;height:20px;}
 .fts-block-home-hero .fts-home-hero-grid,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-home-hero-grid{display:block;min-height:0;padding-bottom:8px;}
 .fts-block-home-hero .hero-copy,
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy{max-width:none;width:100%;position:relative;z-index:3;padding:26px 0 28px;}
 .fts-block-home-hero .hero-copy .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:11px;max-width:290px;}
 .fts-block-home-hero .hero-copy h1,
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy h1{font-size:clamp(28px,7.25vw,35px);line-height:1.085;max-width:340px;margin:0 0 12px;letter-spacing:-.049em;}
 .fts-block-home-hero .hero-copy>p:not(.eyebrow),
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy>p:not(.eyebrow){font-size:12.8px;line-height:1.48;color:#345472;max-width:285px;margin:0 0 15px;}
 .fts-block-home-hero .fts-hero-actions,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-actions{display:flex;flex-direction:column;max-width:210px;gap:7px;align-items:stretch;}
 .fts-block-home-hero .fts-hero-actions>.wp-block-button,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-actions>.wp-block-button{flex:0 0 auto;margin:0;}
 .fts-block-home-hero .fts-hero-actions>.wp-block-button .wp-block-button__link,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-actions>.wp-block-button .wp-block-button__link{font-size:11.4px;min-height:42px;padding:10px 9px;width:100%;}
 /* The mobile hero retains one of the THREE native individual product images. */
 .fts-block-home-hero .fts-hero-media-column,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-media-column{display:block;position:absolute;z-index:2;right:-39px;bottom:0;max-width:none;width:49%;height:221px;pointer-events:none;
   -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.46) 18%,#000 36%);
   mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.46) 18%,#000 36%);
 }
 .fts-block-home-hero .hero-products,
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-products{height:100%;margin:0;display:block;padding:0;}
 .fts-block-home-hero .fts-hero-main-image,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-main-image{height:100%;width:100%;flex-basis:auto!important;}
 .fts-block-home-hero .fts-hero-main-image .hero-chain,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-main-image .hero-chain{height:100%;width:100%;transform:rotate(-4deg);}
 .fts-block-home-hero .fts-hero-side-images,
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-side-images{display:none;}
 .fts-block-home-hero:before{background:linear-gradient(0deg,rgba(239,247,252,.95) 0%,rgba(238,247,251,.17) 32%,transparent 57%),linear-gradient(90deg,rgba(247,251,253,.99) 0%,rgba(248,251,253,.95) 51%,rgba(229,243,249,.36) 100%);}
 .fts-block-home-hero .fts-hero-background-photo img{object-position:69% 43%;}
 .fts-home-search-area{margin-top:-5px!important;}
 .fts-home-search-area .search-panel{border-radius:5px;}
 .fts-home-search-area .fts-search-routes {gap:0;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain;}
 .fts-home-search-area .fts-search-route {flex:none;min-height:41px;padding:10px 12px;font-size:11.2px;}
 .fts-home-search-area .fts-search-panel-body{padding:12px 12px 13px;}
 .fts-home-search-area .search-fields{display:flex;flex-direction:column;gap:7px;}
 .fts-home-search-area .search-fields input[type="search"]{height:45px;min-height:45px;font-size:16px;padding:10px 12px 10px 40px;}
 .fts-home-search-area .search-fields button{height:45px;min-height:45px;width:100%;font-size:12.5px;}
 .fts-home-search-area .search-hint{margin:9px 0 0;font-size:11.1px;line-height:1.45;}
 .fts-home-category-section{padding-top:31px;padding-bottom:37px;}
 .fts-home-category-section .fts-category-heading-row{gap:5px;margin-bottom:13px!important;flex-direction:row;align-items:end;flex-wrap:wrap;}
 .fts-home-category-section .fts-category-heading-row h2{font-size:22px;line-height:1.15;}
 .fts-home-category-section .fts-category-heading-row p:not(.eyebrow){font-size:12px;}
 .fts-home-category-section .fts-category-heading-row .fts-home-view-all{margin-left:auto;}
 .fts-home-category-section .fts-editable-category-grid.fts-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:visible;}
 .fts-home-category-section .fts-editable-category-grid.fts-mobile-grid .category-card{display:block;width:auto;min-width:0;max-width:none;flex:none;}
 .fts-home-category-section .fts-editable-category-grid .category-visual{width:100%;height:103px;}
 .fts-home-category-section .fts-editable-category-grid .category-name{font-size:11px;padding:9px;min-height:47px;}
 .fts-home-category-section .fts-editable-category-grid .category-visual img{padding:5px;}
 .fts-home-directory{margin-top:20px!important;}
}
@media(max-width:370px) {
 .fts-block-topbar-inner p{font-size:8px!important;}
 .fts-block-header-row .fts-header-logo{width:137px;}
 .fts-block-home-hero .hero-copy h1,.fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy h1{font-size:28px;max-width:310px;}
 .fts-block-home-hero .hero-copy>p:not(.eyebrow),.fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy>p:not(.eyebrow){max-width:246px;}
 .fts-block-home-hero .fts-hero-media-column,.fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-media-column{right:-54px;width:52%;height:192px;}
 .fts-block-home-hero .fts-hero-actions,.fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-actions{max-width:185px;}
 .fts-home-category-section .fts-category-heading-row h2{font-size:20px;}
}
/* Make the photo selectable in the editor with List View, even though it is
   visually positioned behind other blocks. The photo itself is replaceable. */
.editor-styles-wrapper .fts-block-home-hero .fts-hero-background-photo{pointer-events:auto;}
@media(prefers-reduced-motion:reduce){.fts-block-home-hero .hero-products img{transition:none!important;}}
/* Override WordPress's default stacked Column width for the deliberately
   layered product illustration in the compact mobile hero. */
@media(max-width:600px){
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-home-hero-grid > .fts-hero-media-column{
  width:49%!important;max-width:200px!important;flex-basis:49%!important;right:-32px!important;bottom:0!important;
 }
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy h1{max-width:283px;}
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy>p:not(.eyebrow){max-width:260px;}
}
@media(max-width:370px){
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-home-hero-grid > .fts-hero-media-column{right:-35px!important;width:50%!important;max-width:170px!important;}
 .fts-block-home-hero.is-style-fts-mobile-overlay .hero-copy h1{max-width:270px;}
}
@media(max-width:600px){
 .fts-block-home-hero.is-style-fts-mobile-overlay .fts-hero-actions>.wp-block-button .wp-block-button__link{min-height:45px!important;}
}
