/* =========================================================
   TopiaryTree — site-wide editorial restyle (theme.css)
   Loaded on every page. Header restyle + global tokens.
   ========================================================= */
:root{
  --tt-bg:#faf8f3; --tt-bg-alt:#f1ede4; --tt-ink:#1d2420; --tt-muted:#5d655c;
  --tt-green-900:#23302a; --tt-green-700:#3a4a3e; --tt-green-600:#4f6451; --tt-sage:#8a9a82;
  --tt-brass:#a9854f; --tt-brass-lt:#cdb892; --tt-line:rgba(29,36,32,.14);
  --tt-serif:"Fraunces",Georgia,serif; --tt-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------------- HEADER ---------------- */
/* Top contact bar */
.pls-header-topbar{
  background:var(--tt-green-900) !important;
  color:rgba(255,255,255,.8) !important;
  font-family:var(--tt-sans);
  font-size:.78rem; letter-spacing:.04em;
  padding:7px 0; border:0 !important;
}
.pls-header-topbar a,.pls-header-topbar .pls-header-topbar-content,.pls-header-topbar span,.pls-header-topbar p{color:rgba(255,255,255,.85) !important;}
.pls-header-topbar a:hover{color:var(--tt-brass-lt) !important;}
.pls-header-topbar strong,.pls-header-topbar b{color:#fff !important;}

/* Main bar (logo / search / icons) */
.pls-header-main{
  background:var(--tt-bg) !important;
  border-bottom:1px solid var(--tt-line);
  padding:16px 0;
}
.pls-header-main .pls-ajax-search .search-field,
.pls-header-main .searchform input[type=text],
.pls-header-main .searchform input[type=search]{
  font-family:var(--tt-sans) !important; font-size:.9rem !important;
  border:1px solid var(--tt-line) !important; border-radius:2px !important;
  background:#fff !important; color:var(--tt-ink) !important; box-shadow:none !important;
}
.pls-header-main .pls-ajax-search .search-field:focus{border-color:var(--tt-brass) !important;}
.pls-header-main .search-submit{color:var(--tt-green-700) !important;}
/* icons */
.pls-header-myaccount a,.pls-header-wishlist a,.pls-header-cart a,
.pls-header-main .pls-header-cart-icon,.pls-header-main .pls-header-wishlist-icon{color:var(--tt-ink) !important;}
.pls-header-myaccount a:hover,.pls-header-wishlist a:hover,.pls-header-cart a:hover{color:var(--tt-brass) !important;}
.pls-header-cart-count,.pls-header-wishlist-count{
  background:var(--tt-brass) !important; color:#fff !important; border:0 !important;
  font-family:var(--tt-sans) !important; font-weight:600 !important;
}

/* Navigation bar */
.pls-header-navigation{
  background:var(--tt-bg) !important;
  border-bottom:1px solid var(--tt-line);
}
.header-sticky.pls-stuck .pls-header-navigation,
.pls-header-navigation.pls-stuck{box-shadow:0 6px 24px rgba(20,28,23,.08);}
.pls-header-navigation .menu,.pls-main-navigation .menu{flex-wrap:nowrap !important;}
.pls-main-navigation .menu > .menu-item > .nav-link,
.pls-header-navigation .menu > .menu-item > a{
  font-family:var(--tt-sans) !important;
  font-size:.75rem !important; letter-spacing:.06em !important; text-transform:uppercase !important;
  font-weight:600 !important; color:var(--tt-green-900) !important; padding:18px 11px !important;
  white-space:nowrap !important;
}
.pls-header-navigation .menu > .menu-item > a:hover,
.pls-main-navigation .menu > .menu-item:hover > .nav-link{color:var(--tt-brass) !important;}
/* Browse-categories button */
.pls-categories-menu-title{
  font-family:var(--tt-sans) !important; font-size:.8rem !important; letter-spacing:.13em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  background:var(--tt-green-700) !important; color:#fff !important; border-radius:2px !important;
}
.pls-categories-menu-title:hover{background:var(--tt-green-900) !important;}
/* Balance the nav bar: the right header column is empty, so the primary links
   floated mid-row and never reached the gutter. Let the centre column grow and
   anchor the links to the right edge (aligned with the cart icon above), with
   the Browse-Categories block on the left and breathing space between. */
.pls-header-navigation .pls-header-col-right{display:none !important;}
.pls-header-navigation .pls-header-col-center{
  flex:1 1 auto !important; max-width:none !important; justify-content:flex-end !important;
}
.pls-header-navigation .menu > .menu-item:last-child > a{padding-right:0 !important;}
/* dropdown / sub menus */
.pls-header-navigation .sub-menu,.pls-main-navigation .sub-menu{
  background:#fff !important; border:1px solid var(--tt-line) !important;
  box-shadow:0 14px 40px rgba(20,28,23,.12) !important; border-radius:2px !important;
}
.pls-header-navigation .sub-menu a{
  font-family:var(--tt-sans) !important; font-size:.86rem !important; color:var(--tt-ink) !important;
  letter-spacing:.01em !important; text-transform:none !important;
}
.pls-header-navigation .sub-menu a:hover{color:var(--tt-brass) !important;background:var(--tt-bg-alt) !important;}

/* ---------------- GLOBAL TYPE / COLOR ---------------- */
body{font-family:var(--tt-sans);color:var(--tt-ink);}
h1,h2,h3,h4,h5,h6,
.product_title,.entry-title,.woocommerce-loop-product__title,
.page-title,.woocommerce-products-header__title,.widget-title,.wp-block-heading{
  font-family:var(--tt-serif) !important;font-weight:400;letter-spacing:-.01em;}
a:hover{color:var(--tt-brass);}

/* ---------------- BUTTONS ---------------- */
.button,button.button,input[type=submit],.wp-element-button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.added_to_cart,.pls-btn,.elementor-button{
  font-family:var(--tt-sans) !important;font-weight:600 !important;letter-spacing:.02em !important;
  text-transform:none !important;background:var(--tt-green-700) !important;color:#fff !important;
  border:1px solid var(--tt-green-700) !important;border-radius:2px !important;box-shadow:none !important;
  transition:background .25s ease,border-color .25s ease;}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.added_to_cart:hover,.wp-element-button:hover{
  background:var(--tt-green-900) !important;border-color:var(--tt-green-900) !important;color:#fff !important;}
/* outline/ghost secondary buttons */
.woocommerce .button.wc-backward,.woocommerce-message .button{background:transparent !important;color:var(--tt-green-900) !important;border-color:var(--tt-green-900) !important;}

/* ---------------- FORMS ---------------- */
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],
input[type=password],select,textarea,.select2-container--default .select2-selection--single{
  font-family:var(--tt-sans) !important;color:var(--tt-ink) !important;
  border:1px solid var(--tt-line) !important;border-radius:2px !important;background:#fff !important;box-shadow:none !important;}
input:focus,select:focus,textarea:focus{border-color:var(--tt-brass) !important;outline:none !important;}

/* ---------------- WOOCOMMERCE ARCHIVE ---------------- */
.woocommerce-products-header{padding-top:8px;}
.woocommerce-products-header__title,.page-title{font-size:clamp(1.9rem,3vw,2.6rem) !important;color:var(--tt-ink) !important;}
.term-description,.woocommerce-archive-description,.pls-archive-description{
  font-family:var(--tt-sans);color:var(--tt-muted);font-size:.96rem;line-height:1.7;}
.woocommerce-result-count,.woocommerce-ordering select{font-family:var(--tt-sans) !important;color:var(--tt-muted) !important;}

/* product cards (Alukas .products-wrap .product) */
.products-wrap .product{
  background:#fff;border:1px solid var(--tt-line);border-radius:3px;overflow:hidden;
  transition:box-shadow .3s ease,transform .3s ease;}
.products-wrap .product:hover{box-shadow:0 16px 38px rgba(20,28,23,.11);transform:translateY(-3px);}
.products-wrap .product .product-thumbnail img,.products-wrap .product img{margin:0 !important;}
.products-wrap .product .product-title,
.products-wrap .product .product-title a{
  font-family:var(--tt-serif) !important;font-size:1rem !important;line-height:1.3 !important;color:var(--tt-ink) !important;}
.products-wrap .product .product-title a:hover{color:var(--tt-brass) !important;}
.products-wrap .product .product-price,.products-wrap .product .price{
  color:var(--tt-green-700) !important;font-family:var(--tt-serif) !important;font-size:1.1rem !important;}
.products-wrap .product .product-price del,.products-wrap .product .price del{color:var(--tt-muted) !important;font-size:.9em;}
.request-quote-text-catalog{display:block;color:var(--tt-muted) !important;font-style:italic;font-family:var(--tt-serif);}

/* pagination */
.woocommerce nav.woocommerce-pagination ul{border:0 !important;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  font-family:var(--tt-sans) !important;border-radius:2px !important;color:var(--tt-ink) !important;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--tt-green-700) !important;color:#fff !important;}

/* relocated category SEO description (below grid) */
.tt-cat-longdesc{background:var(--tt-bg-alt);padding:clamp(48px,7vw,88px) 0;margin-top:48px;}
.tt-cat-longdesc__inner{max-width:1080px;margin:0 auto;padding-inline:clamp(20px,5vw,56px);}
.tt-cat-longdesc h2,.tt-cat-longdesc h3,.tt-cat-longdesc h4{font-family:var(--tt-serif) !important;color:var(--tt-ink) !important;margin:1.5em 0 .5em;line-height:1.15;}
.tt-cat-longdesc h2{font-size:clamp(1.5rem,2.4vw,2rem);}
.tt-cat-longdesc h3{font-size:1.3rem;}
.tt-cat-longdesc p,.tt-cat-longdesc li{color:var(--tt-muted);line-height:1.78;font-size:.98rem;}
.tt-cat-longdesc a{color:var(--tt-green-700);text-decoration:underline;text-underline-offset:2px;}
.tt-cat-longdesc table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.92rem;}
.tt-cat-longdesc th,.tt-cat-longdesc td{border:1px solid var(--tt-line);padding:10px 14px;text-align:left;}
.tt-cat-longdesc th{background:#fff;font-family:var(--tt-sans);font-weight:600;color:var(--tt-ink);}

/* breadcrumb */
.woocommerce-breadcrumb,.pls-breadcrumb{font-family:var(--tt-sans) !important;font-size:.82rem !important;color:var(--tt-muted) !important;letter-spacing:.02em;}
.woocommerce-breadcrumb a,.pls-breadcrumb a{color:var(--tt-muted) !important;}
.woocommerce-breadcrumb a:hover{color:var(--tt-brass) !important;}

/* ---------------- ARTICLE / SINGLE POST & CONTENT PAGES ---------------- */
/* scoped to post/page articles so product & Elementor pages are untouched */
article.post .entry-content,
article.page .entry-content{
  max-width:770px;margin-left:auto !important;margin-right:auto !important;}
article.post .entry-content > *,
article.page .entry-content > *{max-width:100%;}
article.post .entry-content p,article.page .entry-content p,
article.post .entry-content li,article.page .entry-content li{
  font-size:1.09rem;line-height:1.8;color:var(--tt-ink);}
article.post .entry-content h2,article.page .entry-content h2{font-family:var(--tt-serif) !important;font-size:clamp(1.5rem,2.4vw,2rem);margin:1.7em 0 .5em;line-height:1.15;}
article.post .entry-content h3,article.page .entry-content h3{font-family:var(--tt-serif) !important;font-size:1.4rem;margin:1.4em 0 .4em;}
article.post .entry-content a,article.page .entry-content a{color:var(--tt-green-700);text-decoration:underline;text-underline-offset:2px;}
article.post .entry-content a:hover,article.page .entry-content a:hover{color:var(--tt-brass);}
article.post .entry-content img,article.page .entry-content img{border-radius:3px;margin:1.2em 0;}
article.post .entry-content ul,article.page .entry-content ul,
article.post .entry-content ol,article.page .entry-content ol{padding-left:1.3em;margin:1em 0;}
article.post .entry-content li{margin:.4em 0;}
article.post .entry-content blockquote,article.page .entry-content blockquote{
  border-left:3px solid var(--tt-brass);padding-left:1.2em;margin:1.5em 0;font-family:var(--tt-serif);font-size:1.2rem;color:var(--tt-green-700);}
article.post .entry-content table,article.page .entry-content table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;}
article.post .entry-content th,article.page .entry-content th,
article.post .entry-content td,article.page .entry-content td{border:1px solid var(--tt-line);padding:10px 14px;text-align:left;}
article.post .entry-content th,article.page .entry-content th{background:var(--tt-bg-alt);font-family:var(--tt-sans);font-weight:600;}
/* keep the post/page title centered above the narrower body */
article.post .entry-header,article.page .entry-header{text-align:center;}
article.post .entry-header .entry-title,article.page .entry-header .entry-title{font-size:clamp(2rem,4vw,3.2rem) !important;}

/* ---------------- BLOG ---------------- */
.cat-links a,.post-categories a{
  display:inline-block;background:var(--tt-green-700) !important;color:#fff !important;
  font-family:var(--tt-sans) !important;font-size:.66rem !important;letter-spacing:.1em !important;
  text-transform:uppercase !important;padding:5px 10px !important;border-radius:2px !important;
  font-weight:600 !important;margin:0 4px 6px 0;}
.cat-links a:hover,.post-categories a:hover{background:var(--tt-brass) !important;color:#fff !important;}
.entry-title a{color:var(--tt-ink) !important;}
.entry-title a:hover{color:var(--tt-brass) !important;}
.more-link{
  display:inline-block;font-family:var(--tt-sans) !important;font-weight:600 !important;font-size:.82rem !important;
  background:var(--tt-green-700) !important;color:#fff !important;padding:11px 22px !important;border-radius:2px !important;
  border:1px solid var(--tt-green-700) !important;text-transform:none !important;letter-spacing:.02em;}
.more-link:hover{background:var(--tt-green-900) !important;color:#fff !important;}
.post-meta-label,.blog-meta,.post-meta,.entry-meta{font-family:var(--tt-sans) !important;color:var(--tt-muted) !important;font-size:.8rem !important;letter-spacing:.04em;}
.post-meta-label a,.entry-meta a{color:var(--tt-muted) !important;}
.post-meta-label a:hover{color:var(--tt-brass) !important;}

/* ---------------- FULL-BLEED CODED PAGES ---------------- */
/* Flatten the Bootstrap .container/.row wrapper Alukas injects, so coded
   page templates (contact, about) can run edge-to-edge with no side gap. */
body.tt-fullbleed #main-content > .container{max-width:100% !important;width:100% !important;padding:0 !important;margin:0 !important;}
body.tt-fullbleed #main-content > .container > .row{margin:0 !important;display:block !important;}
body.tt-fullbleed #main-content > .container > .row > *{max-width:100% !important;flex:0 0 100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;}
/* Hide the shared page-title band on coded pages — their own heroes title them. */
body.tt-fullbleed #page-title{display:none !important;}

/* ---------------- FOOTER (coded — replaces Elementor/ElementsKit) ---------------- */
.tt-footer{background:var(--tt-green-900);color:rgba(255,255,255,.74);font-family:var(--tt-sans);}
.tt-footer .tt-wrap{max-width:1240px;margin:0 auto;padding:0 24px;}
.tt-footer__main{padding:64px 0 48px;}
.tt-footer__grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.3fr;gap:48px;}

/* Brand column */
.tt-footer__logo{font-family:var(--tt-serif);font-size:1.7rem;font-weight:600;color:#fff;text-decoration:none;letter-spacing:.01em;display:inline-block;}
.tt-footer__logo:hover{color:var(--tt-brass-lt);}
.tt-footer__tag{margin:14px 0 18px;font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.66);max-width:34ch;}
.tt-footer__phone{font-family:var(--tt-serif);font-size:1.25rem;color:#fff;text-decoration:none;display:inline-block;margin-bottom:18px;}
.tt-footer__phone:hover{color:var(--tt-brass-lt);}
.tt-footer__social{display:flex;gap:18px;}
.tt-footer__social a{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.62);text-decoration:none;}
.tt-footer__social a:hover{color:var(--tt-brass-lt);}

/* Link columns */
.tt-footer__col h4{font-family:var(--tt-sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tt-brass-lt);font-weight:600;margin:0 0 18px;}
.tt-footer__col ul{list-style:none;margin:0;padding:0;}
.tt-footer__col li{margin:0 0 11px;}
.tt-footer__col a{color:rgba(255,255,255,.74);text-decoration:none;font-size:.9rem;}
.tt-footer__col a:hover{color:var(--tt-brass-lt);}
.tt-footer__visit address{font-style:normal;font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.74);margin:0 0 12px;}
.tt-footer__visit address strong{color:#fff;font-weight:600;}
.tt-footer__hours{font-size:.85rem;color:rgba(255,255,255,.6);margin:0 0 14px;}
.tt-footer__contact-link{color:var(--tt-brass-lt) !important;text-decoration:none;font-size:.85rem;font-weight:500;}
.tt-footer__contact-link:hover{color:#fff !important;}

/* Bottom bar */
.tt-footer__bar{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;}
.tt-footer__bar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.tt-footer__bar p{margin:0;font-size:.8rem;color:rgba(255,255,255,.55);}
.tt-footer__legal{display:flex;gap:22px;}
.tt-footer__legal a{font-size:.8rem;color:rgba(255,255,255,.62);text-decoration:none;}
.tt-footer__legal a:hover{color:var(--tt-brass-lt);}

@media (max-width:980px){
  .tt-footer__grid{grid-template-columns:1fr 1fr;gap:36px 32px;}
  .tt-footer__brand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .tt-footer__main{padding:48px 0 36px;}
  .tt-footer__grid{grid-template-columns:1fr;gap:32px;}
  .tt-footer__bar-inner{flex-direction:column;align-items:flex-start;gap:10px;}
}
