:root{--bg:#f7f4ee;--surface:#fffdf8;--ink:#1f2933;--muted:#5d6b75;--brand:#123c35;--brand-2:#8a6f3d;--accent:#c7972d;--line:#e7dfd2;--shadow:0 18px 45px rgba(31,41,51,.08);--radius:22px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;font-size:17px}img{max-width:100%;height:auto}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(92%,var(--max));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;z-index:999}.site-header{background:rgba(255,253,248,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:82px}.brand{display:flex;flex-direction:column}.site-title{font-weight:800;font-size:1.8rem;letter-spacing:.04em;color:var(--brand)}.site-tagline{font-size:.82rem;color:var(--muted);margin-top:-.25rem}.custom-logo{max-height:64px;width:auto}.primary-nav ul{display:flex;gap:1.25rem;align-items:center;list-style:none;margin:0;padding:0}.primary-nav a{font-weight:650;color:var(--ink);font-size:.96rem}.primary-nav a:hover{color:var(--brand)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.6rem 1rem;font-weight:700}.page-hero,.product-hero{background:linear-gradient(135deg,#123c35 0%,#1d554b 48%,#8a6f3d 100%);color:#fff;padding:76px 0}.page-hero.compact{padding:46px 0}.page-hero h1,.product-summary h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.03;margin:.1em 0 .2em}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;font-weight:800;color:#ead39a;margin:0 0 .5rem}.hero-summary{font-size:clamp(1.08rem,2vw,1.35rem);max-width:760px;color:rgba(255,255,255,.88)}.content-layout{padding:56px 0}.content-layout.narrow{max-width:920px}.content-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,3rem)}.content-body h2,.content-body h3{color:var(--brand);line-height:1.2}.content-body p,.content-body li{color:#2d3741}.entry-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}.product-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,5vw,4rem);align-items:center}.product-media{background:#fff;border-radius:28px;padding:1rem;box-shadow:var(--shadow)}.product-media img{border-radius:20px;width:100%;object-fit:contain}.term-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.term-pills a{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.35rem .8rem;font-size:.85rem}.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#1f2933;border-radius:999px;padding:.8rem 1.2rem;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.14)}.button.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}.button:hover{text-decoration:none;filter:brightness(1.02)}.product-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem;padding:56px 0}.product-sidebar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem;height:max-content;position:sticky;top:108px}.product-sidebar h2{font-size:1.15rem;color:var(--brand);margin-top:0}.ubtac-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;padding:54px 0}.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.product-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.product-card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f0eadf}.product-card-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{display:flex;align-items:center;justify-content:center;color:var(--brand);font-weight:900;letter-spacing:.2em}.placeholder-image.large{min-height:340px;background:#f0eadf;border-radius:20px}.product-card-body{padding:1.2rem}.product-card h2,.product-card h3{font-size:1.15rem;line-height:1.25;margin:.1rem 0 .55rem}.product-card p{font-size:.95rem;color:var(--muted)}.text-link{font-weight:800;color:var(--brand)}.site-footer{background:#102c28;color:#d8e4df;margin-top:50px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding:46px 0}.site-footer h2,.site-footer h3{color:#fff}.site-footer a{color:#ead39a}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1rem 0;color:#b9c8c2;font-size:.92rem}.footer-bottom p{margin:0}@media(max-width:900px){.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--line);padding:1rem 4%}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li{padding:.55rem 0}.product-hero-grid,.product-content-grid,.footer-grid{grid-template-columns:1fr}.product-sidebar{position:static}.ubtac-product-grid,.columns-4,.columns-3,.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero,.product-hero{padding:54px 0}}@media(max-width:620px){body{font-size:16px}.header-inner{min-height:72px}.primary-nav{top:72px}.ubtac-product-grid,.columns-4,.columns-3,.columns-2{grid-template-columns:1fr}.page-hero,.product-hero{padding:42px 0}.content-layout,.product-content-grid,.ubtac-product-grid{padding:34px 0}.content-body{padding:1rem;border-radius:16px}.footer-grid{gap:1rem}.cta-row .button{width:100%}}

/* Responsive media safeguard: prevents oversized legacy images from overflowing page width. */
.entry-content img,
.content-body img,
.product-content-grid img,
.product-summary img,
.taxonomy-description img,
.wp-block-image img,
.wp-block-media-text img,
.wp-caption img,
figure img,
img.alignnone,
img.aligncenter,
img.alignleft,
img.alignright,
img[class*="wp-image-"]{
    max-width:100% !important;
    height:auto !important;
}

.entry-content figure,
.content-body figure,
.wp-block-image,
.wp-caption{
    max-width:100% !important;
}

.wp-caption{
    width:auto !important;
}

.content-body iframe,
.entry-content iframe,
.content-body video,
.entry-content video,
.content-body embed,
.entry-content embed,
.content-body object,
.entry-content object{
    max-width:100% !important;
}

.content-body table,
.entry-content table{
    max-width:100%;
    display:block;
    overflow-x:auto;
}

@media(max-width:900px){
    .alignleft,
    .alignright{
        float:none !important;
        display:block;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

/* UBTAC overflow protection: keep legacy and large product guide images inside content width */
.site-main,
.entry-content,
.page-content,
.post-content,
.ubtac-content,
.ubtac-product-content,
.ubtac-category-content {
  max-width: 100%;
  overflow-x: hidden;
}

.entry-content img,
.page-content img,
.post-content img,
.ubtac-content img,
.ubtac-product-content img,
.ubtac-category-content img,
.wp-block-image img,
figure img,
.wp-caption img,
.entry-content a img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  display: block;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.entry-content figure,
.page-content figure,
.post-content figure,
.ubtac-content figure,
.wp-block-image,
.wp-caption {
  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden;
  box-sizing: border-box;
}

.entry-content iframe,
.page-content iframe,
.post-content iframe,
.entry-content video,
.page-content video,
.post-content video,
.entry-content table,
.page-content table,
.post-content table {
  max-width: 100% !important;
  box-sizing: border-box;
}

.entry-content table,
.page-content table,
.post-content table {
  display: block;
  overflow-x: auto;
  width: 100%;
}

.entry-content *,
.page-content *,
.post-content *,
.ubtac-content * {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
}

/* v1.1 compact dropdown menu and homepage layout */
.header-inner{
  position:relative;
}
.nav-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.menu-toggle{
  display:inline-flex !important;
  align-items:center;
  gap:.45rem;
  border:1px solid var(--line);
  background:#fffdf8;
  color:var(--brand);
  border-radius:999px;
  padding:.65rem 1rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(31,41,51,.06);
}
.menu-toggle-icon{
  font-size:1.05rem;
  line-height:1;
}
.primary-nav{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 14px);
  width:min(86vw,360px);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 22px 55px rgba(31,41,51,.16);
  padding:.75rem;
  z-index:100;
}
.primary-nav.is-open{
  display:block;
}
.primary-nav ul,
.primary-nav .primary-menu-list{
  display:block !important;
  list-style:none;
  margin:0;
  padding:0;
}
.primary-nav li{
  position:relative;
  padding:0;
  margin:0;
}
.primary-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--ink);
  font-weight:750;
  padding:.72rem .85rem;
  border-radius:14px;
  line-height:1.25;
}
.primary-nav a:hover,
.primary-nav li.current-menu-item > a,
.primary-nav li.current_page_item > a{
  background:#f0eadf;
  color:var(--brand);
  text-decoration:none;
}
.primary-nav .sub-menu,
.primary-nav .children{
  display:block !important;
  position:static;
  padding-left:.85rem;
  margin:.15rem 0 .35rem;
  border-left:2px solid var(--line);
  box-shadow:none;
  background:transparent;
}
.primary-nav .sub-menu a,
.primary-nav .children a{
  font-size:.92rem;
  color:var(--muted);
  padding:.55rem .75rem;
}
.primary-nav .menu-item-has-children > a::after,
.primary-nav .page_item_has_children > a::after{
  content:'▾';
  color:var(--accent);
  margin-left:.75rem;
}
body.menu-open::after{
  content:'';
  position:fixed;
  inset:0;
  background:rgba(16,44,40,.18);
  z-index:49;
}
.site-header{
  z-index:150;
}
.site-header .container{
  z-index:151;
}

.home-hero{
  background:radial-gradient(circle at top right,rgba(199,151,45,.28),transparent 30%),linear-gradient(135deg,#102c28 0%,#123c35 48%,#735d33 100%);
  color:#fff;
  padding:clamp(3.5rem,8vw,6.5rem) 0;
}
.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
}
.home-hero h1{
  font-size:clamp(2.35rem,5.2vw,5rem);
  line-height:1.02;
  margin:.05em 0 .28em;
  letter-spacing:-.04em;
  max-width:860px;
}
.home-hero-card{
  background:rgba(255,253,248,.1);
  border:1px solid rgba(255,255,255,.22);
  border-radius:30px;
  padding:1.1rem;
  box-shadow:0 30px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}
.home-hero-card img{
  border-radius:22px;
  width:100%;
  height:auto;
  display:block;
}
.home-stat-card{
  background:rgba(255,253,248,.92);
  color:var(--ink);
  border-radius:20px;
  padding:1rem;
  margin:.6rem 0;
}
.home-stat-card strong{
  display:block;
  color:var(--brand);
  font-size:1.05rem;
}
.home-stat-card span{
  color:var(--muted);
  font-size:.95rem;
}
.home-intro-section,
.home-brand-section{
  padding:clamp(2.5rem,6vw,5rem) 0;
}
.home-two-col{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:1.5rem;
  align-items:start;
}
.home-main-content > :first-child{
  margin-top:0;
}
.home-side-panel{
  background:#102c28;
  color:#d8e4df;
  border-radius:var(--radius);
  padding:1.5rem;
  box-shadow:var(--shadow);
  position:sticky;
  top:110px;
}
.home-side-panel h2{
  color:#fff;
  margin-top:0;
}
.home-check-list{
  padding-left:1.1rem;
  margin:1rem 0 1.4rem;
}
.home-check-list li{
  margin:.55rem 0;
}
.eyebrow.dark{
  color:var(--brand-2);
}
.home-brand-section h2{
  font-size:clamp(1.9rem,3vw,3rem);
  color:var(--brand);
  margin:.1rem 0 1.4rem;
}
.home-brand-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.home-brand-card{
  display:block;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  padding:1.25rem;
  min-height:150px;
  box-shadow:var(--shadow);
}
.home-brand-card:hover{
  text-decoration:none;
  transform:translateY(-2px);
}
.home-brand-card strong{
  display:block;
  font-size:1.18rem;
  color:var(--brand);
  margin-bottom:.4rem;
}
.home-brand-card span{
  color:var(--muted);
}

@media(max-width:900px){
  .primary-nav{
    position:absolute;
    left:auto;
    right:0;
    top:calc(100% + 12px);
    width:min(92vw,380px);
    padding:.75rem;
  }
  .home-hero-grid,
  .home-two-col{
    grid-template-columns:1fr;
  }
  .home-side-panel{
    position:static;
  }
  .home-brand-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .header-inner{
    min-height:72px;
    gap:1rem;
  }
  .custom-logo{
    max-height:54px;
  }
  .menu-toggle{
    padding:.58rem .82rem;
  }
  .primary-nav{
    right:0;
    width:calc(100vw - 2rem);
  }
  .home-brand-grid{
    grid-template-columns:1fr;
  }
  .home-hero{
    padding:3rem 0;
  }
}


/* v1.2 editable homepage widget areas */
.home-widget-block{
  margin:0;
}
.home-hero .home-widget-title,
.home-hero .widget h1,
.home-hero .widget h2{
  color:#fff;
}
.home-hero .widget p,
.home-hero .widget li{
  color:rgba(255,255,255,.9);
}
.home-hero-card .widget,
.home-feature-boxes .widget{
  margin:0 0 .75rem;
}
.home-hero-card .widget:last-child{
  margin-bottom:0;
}
.home-hero-card .wp-block-image,
.home-hero-card figure{
  margin:0;
}
.home-hero-card img{
  max-width:100% !important;
  height:auto !important;
}
.home-side-panel .widget{
  margin:0 0 1rem;
}
.home-side-panel .widget:last-child{
  margin-bottom:0;
}
.home-side-panel h1,
.home-side-panel h2,
.home-side-panel h3,
.home-side-panel h4{
  color:#fff;
}
.home-side-panel a:not(.button){
  color:#ead39a;
}
.home-widget-product-lines .widget{
  margin:0 0 1rem;
}
.home-widget-product-lines .wp-block-columns{
  gap:1rem;
}
.home-widget-product-lines .wp-block-column,
.home-widget-product-lines .wp-block-group,
.home-widget-product-lines .widget_block > .wp-block-group{
  min-width:0;
}
.home-widget-product-lines .wp-block-button__link{
  border-radius:999px;
}
.home-widget-product-lines .wp-block-latest-posts,
.home-widget-product-lines .wp-block-categories-list,
.home-widget-product-lines ul{
  padding-left:1.2rem;
}
.home-bottom-section{
  padding:clamp(2rem,5vw,4rem) 0;
}
/* If user places six blocks/links in the Product Line widget area, make them behave like cards. */
.home-widget-product-lines > .widget_block > .wp-block-group.has-background,
.home-widget-product-lines .wp-block-column > .wp-block-group{
  border-radius:20px;
}


/* v1.3: Product line widgets moved into the right homepage sidebar */
.home-brand-section{
  display:none;
}
.home-side-product-lines{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.2);
}
.home-side-product-lines .widget{
  margin:0 0 1rem;
}
.home-side-product-lines .widget:last-child{
  margin-bottom:0;
}
.home-side-product-lines .home-widget-title,
.home-side-product-lines h1,
.home-side-product-lines h2,
.home-side-product-lines h3,
.home-side-product-lines h4{
  color:#fff;
}
.home-side-product-lines p,
.home-side-product-lines li{
  color:rgba(255,255,255,.9);
}
.home-side-product-lines a:not(.button){
  color:#ead39a;
  font-weight:700;
}
.home-product-line-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.65rem;
}
.home-product-line-list a{
  display:block;
  padding:.7rem .85rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.08);
}
.home-product-line-list a:hover{
  text-decoration:none;
  background:rgba(255,255,255,.14);
}
.home-side-product-lines .wp-block-columns{
  display:block;
}
.home-side-product-lines .wp-block-column{
  margin-bottom:.75rem;
}
.home-side-product-lines .wp-block-group,
.home-side-product-lines .widget_block > .wp-block-group{
  min-width:0;
  border-radius:16px;
}
.home-side-product-lines img{
  max-width:100% !important;
  height:auto !important;
}


/* v1.3.1 blog/archive featured-image cards */
.blog-list-layout{padding-top:48px;}
.blog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;align-items:stretch;}
.blog-card{padding:0;overflow:hidden;display:flex;flex-direction:column;margin:0;}
.archive-thumbnail{display:block;aspect-ratio:16/10;background:#f0eadf;overflow:hidden;border-bottom:1px solid var(--line);}
.archive-thumbnail img,.archive-image{width:100% !important;height:100% !important;object-fit:cover;display:block;transition:transform .25s ease;}
.archive-thumbnail:hover img{transform:scale(1.03);}
.blog-card-body{padding:1.25rem;display:flex;flex-direction:column;gap:.55rem;flex:1;}
.blog-card .entry-title{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.2;margin:0;}
.blog-card .entry-title a{color:var(--brand);}
.blog-card .entry-summary{color:var(--muted);font-size:.96rem;}
.blog-card .entry-summary p{margin:.2rem 0 .5rem;}
.read-more-link{margin-top:auto;display:inline-flex;align-items:center;}
.navigation.pagination{grid-column:1/-1;margin-top:2rem;}
.nav-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;}
.nav-links a,.nav-links span{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);}
.nav-links .current{background:var(--brand);color:#fff;border-color:var(--brand);}
@media(max-width:980px){.blog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.blog-card-grid{grid-template-columns:1fr;}.archive-thumbnail{aspect-ratio:16/9;}.blog-card-body{padding:1rem;}}

/* v1.3.2: Single blog post template */
.single-post-hero .post-meta {
  margin-top: 0.75rem;
  color: var(--muted, #64748b);
  font-size: 0.95rem;
}
.single-post-hero .meta-separator {
  margin: 0 0.5rem;
  color: var(--border, #cbd5e1);
}
.single-post-layout {
  max-width: 980px;
  margin-top: 2rem;
  margin-bottom: 3rem;
}
.single-post-content {
  width: 100%;
}
.single-featured-image {
  margin: 0 0 2rem;
}
.single-featured-image img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.post-navigation-minimal {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--border, #e2e8f0);
  padding-top: 1.5rem;
  margin-top: 2rem;
}
.post-navigation-minimal a {
  font-weight: 700;
  text-decoration: none;
}
@media (max-width: 700px) {
  .post-navigation-minimal {
    display: block;
  }
  .post-navigation-minimal > div + div {
    margin-top: 1rem;
  }
}

/* v1.3.3 desktop horizontal navigation with dropdown submenus */
@media (min-width: 901px) {
  .header-inner {
    align-items: center;
  }

  .nav-wrap {
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
  }

  .menu-toggle {
    display: none !important;
  }

  .primary-nav {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    z-index: auto;
  }

  .primary-nav ul,
  .primary-nav .primary-menu-list {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: .18rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .primary-nav li {
    position: relative;
    margin: 0;
    padding: 0;
  }

  .primary-nav > ul > li > a,
  .primary-nav .primary-menu-list > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .55rem .76rem;
    border-radius: 999px;
    color: var(--ink);
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.15;
    white-space: nowrap;
  }

  .primary-nav > ul > li > a:hover,
  .primary-nav > ul > li:hover > a,
  .primary-nav > ul > li:focus-within > a,
  .primary-nav .primary-menu-list > li > a:hover,
  .primary-nav .primary-menu-list > li:hover > a,
  .primary-nav .primary-menu-list > li:focus-within > a,
  .primary-nav li.current-menu-item > a,
  .primary-nav li.current-menu-ancestor > a,
  .primary-nav li.current_page_item > a,
  .primary-nav li.current_page_ancestor > a {
    background: #f0eadf;
    color: var(--brand);
    text-decoration: none;
  }

  .primary-nav .menu-item-has-children > a::after,
  .primary-nav .page_item_has_children > a::after {
    content: '▾';
    display: inline-block;
    margin-left: .38rem;
    color: var(--accent);
    font-size: .72rem;
    line-height: 1;
  }

  .primary-nav .sub-menu,
  .primary-nav .children {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px);
    left: 0;
    min-width: 230px;
    max-width: 320px;
    padding: .55rem !important;
    margin: 0 !important;
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px;
    box-shadow: 0 22px 55px rgba(31,41,51,.16) !important;
    z-index: 250;
  }

  .primary-nav li:hover > .sub-menu,
  .primary-nav li:focus-within > .sub-menu,
  .primary-nav li:hover > .children,
  .primary-nav li:focus-within > .children {
    display: block !important;
  }

  .primary-nav .sub-menu li,
  .primary-nav .children li {
    display: block;
    width: 100%;
  }

  .primary-nav .sub-menu a,
  .primary-nav .children a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: .65rem .75rem;
    border-radius: 12px;
    color: var(--ink);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: normal;
  }

  .primary-nav .sub-menu a:hover,
  .primary-nav .children a:hover,
  .primary-nav .sub-menu li.current-menu-item > a,
  .primary-nav .children li.current_page_item > a {
    background: #f0eadf;
    color: var(--brand);
    text-decoration: none;
  }

  .primary-nav .sub-menu .sub-menu,
  .primary-nav .children .children {
    top: 0;
    left: calc(100% + 8px);
  }

  body.menu-open::after {
    display: none !important;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .header-inner {
    gap: 1rem;
  }
  .primary-nav > ul > li > a,
  .primary-nav .primary-menu-list > li > a {
    padding-left: .56rem;
    padding-right: .56rem;
    font-size: .86rem;
  }
  .custom-logo {
    max-height: 56px;
  }
}

/* v5.5.1 Blog category bar and newest-first archive support */
.blog-category-bar {
  background: #fffdf8;
  border-bottom: 1px solid var(--line);
  border-top: 1px solid rgba(220, 210, 190, .55);
}
.blog-category-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  padding-top: .82rem;
  padding-bottom: .82rem;
  overflow: hidden;
}
.blog-category-label {
  flex: 0 0 auto;
  color: var(--muted);
  font-weight: 800;
  font-size: clamp(.72rem, .75vw, .86rem);
  margin-right: .1rem;
}
.category-pill {
  flex: 0 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  max-width: 180px;
  padding: .42rem .68rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 750;
  font-size: clamp(.68rem, .82vw, .84rem);
  line-height: 1.12;
  text-decoration: none;
  box-shadow: 0 5px 14px rgba(31, 41, 51, .04);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.category-pill:hover,
.category-pill:focus,
.category-pill.is-active {
  background: var(--brand);
  border-color: var(--brand);
  color: #ffffff;
  text-decoration: none;
}
.blog-card .entry-meta,
.blog-card-meta {
  color: var(--muted);
  font-size: .88rem;
  margin: .25rem 0 .65rem;
}
@media (min-width: 1024px) {
  .blog-category-inner {
    gap: .4rem;
  }
  .category-pill {
    max-width: 160px;
  }
}
@media (max-width: 760px) {
  .blog-category-inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-left: 1rem;
    padding-right: 1rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .blog-category-label {
    display: none;
  }
  .category-pill {
    flex: 0 0 auto;
    max-width: 155px;
    min-height: 30px;
    padding: .38rem .58rem;
    font-size: .72rem;
  }
}
@media (max-width: 420px) {
  .category-pill {
    max-width: 135px;
    font-size: .68rem;
    padding: .34rem .52rem;
  }
}

/* v5.6: Show featured image at the top of individual pages and posts */
.hero-featured-image {
  margin: 0 0 clamp(1.25rem, 3vw, 2.25rem);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 24px;
  padding: clamp(.45rem, 1.2vw, .8rem);
  box-shadow: 0 24px 55px rgba(0,0,0,.16);
  overflow: hidden;
  max-width: 980px;
}
.hero-featured-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 520px;
  object-fit: cover;
  border-radius: 18px;
}
.page-hero .hero-featured-image + .eyebrow,
.single-post-hero .hero-featured-image + .eyebrow {
  margin-top: 0;
}
@media (max-width: 700px) {
  .hero-featured-image {
    border-radius: 18px;
    margin-bottom: 1.1rem;
  }
  .hero-featured-image img {
    max-height: 360px;
    border-radius: 14px;
  }
}


/* v5.6.1: Keep featured images inside the content area, below the hero banner */
.content-featured-image {
  margin: 0 0 1.75rem;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: #f0eadf;
  border: 1px solid var(--line);
}

.content-featured-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  margin: 0 auto;
}

.single-content-featured-image img,
.page-content-featured-image img {
  object-fit: contain;
}

@media (max-width: 620px) {
  .content-featured-image {
    border-radius: 14px;
    margin-bottom: 1.25rem;
  }
}

/* v5.7 Product listing typography and visual refinement */
.ubtac-product-grid,
.product-card,
.product-card-body,
.taxonomy-ubtac_product_cat .product-card,
[class*="product"] .product-card {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.product-card {
  background: #fffdf8;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(31, 41, 51, 0.11);
  border-color: rgba(199, 151, 45, .38);
}

.product-card-body {
  padding: 1.25rem 1.25rem 1.35rem;
}

.product-card h1,
.product-card h2,
.product-card h3,
.product-card .entry-title,
.product-card .product-title {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--brand);
  font-size: clamp(1.08rem, 1.2vw, 1.28rem);
  line-height: 1.22;
  letter-spacing: -.01em;
  font-weight: 700;
  margin: 0 0 .58rem;
}

.product-card h1 a,
.product-card h2 a,
.product-card h3 a,
.product-card .entry-title a,
.product-card .product-title a {
  color: inherit;
  text-decoration: none;
}

.product-card h1 a:hover,
.product-card h2 a:hover,
.product-card h3 a:hover,
.product-card .entry-title a:hover,
.product-card .product-title a:hover {
  color: var(--accent);
}

.product-card p,
.product-card-body p,
.product-card .excerpt {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #52606d;
  font-size: .96rem;
  line-height: 1.62;
  margin: 0 0 1rem;
}

.product-card .text-link,
.product-card .read-more-link,
.product-card a.text-link,
.product-card-body > a:last-child {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--brand);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 2px solid rgba(199, 151, 45, .45);
  padding-bottom: .16rem;
}

.product-card .text-link:hover,
.product-card .read-more-link:hover,
.product-card a.text-link:hover,
.product-card-body > a:last-child:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

.product-card-image {
  background: linear-gradient(180deg, #f6f0e6 0%, #ece3d5 100%);
}

.product-card-image img {
  transition: transform .24s ease;
}

.product-card:hover .product-card-image img {
  transform: scale(1.025);
}

/* Keep legacy product shortcodes and migrated WooCommerce markup visually coherent */
.products,
ul.products,
.woocommerce ul.products {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.products .product,
ul.products li.product,
.woocommerce ul.products li.product {
  background: #fffdf8;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.07);
  overflow: hidden;
  padding: 0 0 1.2rem !important;
}

.products .product h2,
ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--brand);
  font-size: clamp(1.08rem, 1.2vw, 1.28rem) !important;
  line-height: 1.22;
  font-weight: 700;
  padding: .95rem 1.1rem .35rem !important;
}

.products .product .price,
.woocommerce ul.products li.product .price {
  color: var(--brand);
  font-weight: 800;
  padding: 0 1.1rem;
}

.products .product .button,
.woocommerce ul.products li.product .button {
  margin: .7rem 1.1rem 0 !important;
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.product-sidebar,
.product-detail,
.product-summary,
.product-content-grid {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.product-summary h1,
.product-detail h1,
.product-detail h2,
.product-detail h3,
.product-sidebar h2,
.taxonomy-ubtac_product_cat .page-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.015em;
}

/* v5.8 Product card typography correction
   Product listings should use the same clean, elegant sans-serif family as the rest of the site. */
:root {
  --ubtac-heading-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ubtac-body-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ubtac-product-grid,
.product-card,
.product-card *,
.products,
.products *,
ul.products,
ul.products *,
.woocommerce ul.products,
.woocommerce ul.products *,
.wp-block-woocommerce-product-template,
.wp-block-woocommerce-product-template *,
.wc-block-grid,
.wc-block-grid *,
.entry-content .product,
.entry-content .product * {
  font-family: var(--ubtac-body-font) !important;
}

.product-card h1,
.product-card h2,
.product-card h3,
.product-card .entry-title,
.product-card .product-title,
.products .product h1,
.products .product h2,
.products .product h3,
ul.products li.product h1,
ul.products li.product h2,
ul.products li.product h3,
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-post.product .wp-block-post-title,
.entry-content .product h1,
.entry-content .product h2,
.entry-content .product h3 {
  font-family: var(--ubtac-heading-font) !important;
  color: var(--brand) !important;
  font-size: clamp(1.02rem, 1.05vw, 1.18rem) !important;
  line-height: 1.25 !important;
  font-weight: 760 !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  margin: 0 0 .55rem !important;
}

.product-card h1 a,
.product-card h2 a,
.product-card h3 a,
.product-card .entry-title a,
.product-card .product-title a,
.products .product h1 a,
.products .product h2 a,
.products .product h3 a,
ul.products li.product h1 a,
ul.products li.product h2 a,
ul.products li.product h3 a,
ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.wc-block-grid__product-title a,
.wp-block-post.product .wp-block-post-title a,
.entry-content .product h1 a,
.entry-content .product h2 a,
.entry-content .product h3 a {
  color: var(--brand) !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}

.product-card p,
.product-card-body p,
.product-card .excerpt,
.products .product p,
ul.products li.product p,
.woocommerce ul.products li.product p,
.wc-block-grid__product .wc-block-grid__product-short-description,
.entry-content .product p {
  font-family: var(--ubtac-body-font) !important;
  color: #52606d !important;
  font-size: .94rem !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.product-card .text-link,
.product-card .read-more-link,
.product-card a.text-link,
.product-card-body > a:last-child,
.products .product .button,
.products .product a.button,
.products .product a:last-child,
ul.products li.product .button,
ul.products li.product a.button,
ul.products li.product a:last-child,
.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart a,
.entry-content .product a.button,
.entry-content .product a:last-child {
  font-family: var(--ubtac-body-font) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  color: var(--brand) !important;
}

/* Make legacy product lists align visually with theme cards. */
.entry-content .products,
.entry-content ul.products,
.woocommerce ul.products,
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  margin: 1.75rem 0 2.25rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.entry-content .products .product,
.entry-content ul.products li.product,
.woocommerce ul.products li.product,
.wc-block-grid__product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  background: #fffdf8 !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(31, 41, 51, .07) !important;
  overflow: hidden !important;
  padding: 0 0 1rem !important;
}

.entry-content .products .product img,
.entry-content ul.products li.product img,
.woocommerce ul.products li.product img,
.wc-block-grid__product img {
  width: 100% !important;
  height: 210px !important;
  object-fit: contain !important;
  background: #f6f0e6 !important;
  padding: .75rem !important;
  margin: 0 0 .9rem !important;
}

.entry-content .products .product h2,
.entry-content .products .product h3,
.entry-content ul.products li.product h2,
.entry-content ul.products li.product h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  padding: 0 1rem !important;
}

.entry-content .products .product p,
.entry-content ul.products li.product p,
.woocommerce ul.products li.product p,
.wc-block-grid__product .wc-block-grid__product-short-description {
  padding: 0 1rem !important;
}

.entry-content .products .product .button,
.entry-content .products .product a.button,
.entry-content .products .product a:last-child,
.entry-content ul.products li.product .button,
.entry-content ul.products li.product a.button,
.entry-content ul.products li.product a:last-child,
.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart a {
  margin: .35rem 1rem 0 !important;
}

@media (max-width: 980px) {
  .entry-content .products,
  .entry-content ul.products,
  .woocommerce ul.products,
  .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .entry-content .products,
  .entry-content ul.products,
  .woocommerce ul.products,
  .wc-block-grid__products {
    grid-template-columns: 1fr !important;
  }
  .entry-content .products .product img,
  .entry-content ul.products li.product img,
  .woocommerce ul.products li.product img,
  .wc-block-grid__product img {
    height: 190px !important;
  }
}

/* v1.3.6: More stable desktop dropdown menus.
   Keeps submenus open while the cursor moves from parent item to dropdown. */
@media (min-width: 901px) {
  .primary-nav li.menu-item-has-children,
  .primary-nav li.page_item_has_children {
    position: relative;
  }

  .primary-nav .sub-menu,
  .primary-nav .children {
    display: block !important;
    top: calc(100% + 4px) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility 0s linear .32s;
  }

  .primary-nav li:hover > .sub-menu,
  .primary-nav li:focus-within > .sub-menu,
  .primary-nav li:hover > .children,
  .primary-nav li:focus-within > .children {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s, 0s, 0s;
  }

  /* Invisible hover bridge between the main menu item and dropdown panel. */
  .primary-nav .sub-menu::before,
  .primary-nav .children::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -16px;
    height: 16px;
    display: block;
  }

  /* Stable flyout submenus. */
  .primary-nav .sub-menu .sub-menu,
  .primary-nav .children .children {
    top: -8px !important;
    left: calc(100% + 4px) !important;
  }

  .primary-nav .sub-menu .sub-menu::before,
  .primary-nav .children .children::before {
    left: -16px;
    top: 0;
    bottom: 0;
    right: auto;
    width: 16px;
    height: auto;
  }
}

/* v5.10.1: Publication dates on blog/article cards, date only */
.blog-card-meta.entry-meta {
  display: flex;
  align-items: center;
  gap: .35rem;
  color: var(--muted);
  font-family: var(--font-body, inherit);
  font-size: .86rem;
  font-weight: 650;
  letter-spacing: .01em;
  margin: -.15rem 0 .25rem;
}
.blog-card-meta time {
  display: inline-flex;
  align-items: center;
}
/* Date-only display: no "Published" label before the date. */
.blog-card-meta time:before {
  content: none !important;
}
@media (max-width: 620px) {
  .blog-card-meta.entry-meta {
    font-size: .82rem;
  }
}

/* v5.11 Product detail layout: inline top-right featured image with natural text wrap */
.single-ubtac_product .product-hero-single-column {
  display: block;
  max-width: var(--max);
}

.single-ubtac_product .product-summary {
  max-width: 900px;
}

.single-ubtac_product .product-detail {
  display: flow-root;
}

.single-ubtac_product .product-inline-featured-image {
  float: right;
  width: min(34%, 320px);
  max-width: 320px;
  margin: .15rem 0 1.25rem 1.75rem;
  padding: .85rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
}

.single-ubtac_product .product-inline-featured-image img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 360px;
  object-fit: contain;
  margin: 0 auto;
  border-radius: 12px;
}

.single-ubtac_product .product-detail > h1:first-child,
.single-ubtac_product .product-detail > h2:first-child,
.single-ubtac_product .product-detail > h3:first-child,
.single-ubtac_product .product-detail > p:first-of-type {
  margin-top: 0;
}

@media (max-width: 900px) {
  .single-ubtac_product .product-inline-featured-image {
    float: none;
    width: min(100%, 420px);
    max-width: 420px;
    margin: 0 auto 1.5rem;
  }
}


/* v5.11.1: Apply inline featured-image product layout to legacy /product/ post type too. */
.single-product .product-hero-single-column {
  display: block;
  max-width: var(--max);
}

.single-product .product-summary {
  max-width: 900px;
}

.single-product .product-detail,
.single-product .product-detail-inline-image {
  display: flow-root;
}

.single-product .product-inline-featured-image {
  float: right;
  width: min(34%, 320px);
  max-width: 320px;
  margin: .15rem 0 1.25rem 1.75rem;
  padding: .85rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
}

.single-product .product-inline-featured-image img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 360px;
  object-fit: contain;
  margin: 0 auto;
  border-radius: 12px;
}

.single-product .product-detail > h1:first-child,
.single-product .product-detail > h2:first-child,
.single-product .product-detail > h3:first-child,
.single-product .product-detail > p:first-of-type {
  margin-top: 0;
}

@media (max-width: 900px) {
  .single-product .product-inline-featured-image {
    float: none;
    width: min(100%, 420px);
    max-width: 420px;
    margin: 0 auto 1.5rem;
  }
}

/* v5.11.2: force product detail pages to use full-width content with a small top-right featured image. */
.single-product .product-content-grid,
.single-ubtac_product .product-content-grid {
  grid-template-columns: 1fr !important;
  max-width: var(--max);
}
.single-product .product-sidebar,
.single-ubtac_product .product-sidebar {
  position: static !important;
  width: 100%;
  max-width: 760px;
  margin: 1.5rem auto 0;
}
.single-product .content-body.product-detail,
.single-ubtac_product .content-body.product-detail,
.single-product .product-detail-inline-image,
.single-ubtac_product .product-detail-inline-image {
  display: flow-root !important;
  width: 100% !important;
}
.single-product .product-inline-featured-image,
.single-ubtac_product .product-inline-featured-image {
  float: right !important;
  width: min(30vw, 300px) !important;
  max-width: 300px !important;
  min-width: 190px;
  margin: .15rem 0 1.2rem 1.8rem !important;
  padding: .75rem !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08) !important;
}
.single-product .product-inline-featured-image img,
.single-ubtac_product .product-inline-featured-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 340px !important;
  object-fit: contain !important;
}

/* Override legacy WooCommerce single-product two-column gallery/summary layout when WooCommerce is still active. */
.single-product.woocommerce div.product,
.woocommerce.single-product div.product,
.single-product div.product {
  display: block !important;
  width: 100% !important;
}
.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery,
.woocommerce.single-product div.product div.images,
.woocommerce.single-product div.product .woocommerce-product-gallery {
  float: right !important;
  clear: right !important;
  width: min(30vw, 300px) !important;
  max-width: 300px !important;
  min-width: 190px !important;
  margin: .15rem 0 1.2rem 1.8rem !important;
  padding: .75rem !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08) !important;
}
.single-product div.product div.summary,
.woocommerce.single-product div.product div.summary {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: block !important;
}
.single-product div.product div.images img,
.single-product div.product .woocommerce-product-gallery img,
.woocommerce.single-product div.product div.images img,
.woocommerce.single-product div.product .woocommerce-product-gallery img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 340px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}
.single-product div.product:after,
.woocommerce.single-product div.product:after {
  content: "";
  display: table;
  clear: both;
}
@media (max-width: 900px) {
  .single-product .product-inline-featured-image,
  .single-ubtac_product .product-inline-featured-image,
  .single-product div.product div.images,
  .single-product div.product .woocommerce-product-gallery,
  .woocommerce.single-product div.product div.images,
  .woocommerce.single-product div.product .woocommerce-product-gallery {
    float: none !important;
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    min-width: 0 !important;
    margin: 0 auto 1.5rem !important;
  }
}


/* v6.1 Product card image fit fix
   Show the full portrait product photo instead of cropping the center.
   This is important for feed bags and product packaging images. */
.product-card-image,
.ubtac-product-card-image,
.entry-content .product-card-image {
  aspect-ratio: 1 / 1.08 !important;
  min-height: 260px !important;
  background: #fffdf8 !important;
  padding: .85rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product-card-image img,
.ubtac-product-card-image img,
.product-card .wp-post-image,
.entry-content .product-card-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  display: block !important;
}

/* Legacy WooCommerce shortcode/product list image areas */
.entry-content .products .product > a:first-child,
.entry-content ul.products li.product > a:first-child,
.woocommerce ul.products li.product > a:first-child,
.wc-block-grid__product-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fffdf8 !important;
  min-height: 270px !important;
  padding: .85rem !important;
}

.entry-content .products .product img,
.entry-content ul.products li.product img,
.woocommerce ul.products li.product img,
.wc-block-grid__product img {
  width: 100% !important;
  height: 255px !important;
  max-height: 255px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 auto .9rem !important;
}

@media (max-width: 620px) {
  .product-card-image,
  .ubtac-product-card-image,
  .entry-content .product-card-image {
    min-height: 230px !important;
  }
  .entry-content .products .product > a:first-child,
  .entry-content ul.products li.product > a:first-child,
  .woocommerce ul.products li.product > a:first-child,
  .wc-block-grid__product-image {
    min-height: 240px !important;
  }
  .entry-content .products .product img,
  .entry-content ul.products li.product img,
  .woocommerce ul.products li.product img,
  .wc-block-grid__product img {
    height: 225px !important;
    max-height: 225px !important;
  }
}


/* v6.2: Blog category bar search box */
.blog-category-search {
  flex: 0 1 320px;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .4rem;
  min-width: 240px;
}
.blog-category-search-field {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  padding: .45rem .8rem;
  font: inherit;
  font-size: .86rem;
  line-height: 1.2;
  outline: none;
  box-shadow: 0 5px 14px rgba(31, 41, 51, .04);
}
.blog-category-search-field:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(42, 96, 69, .14);
}
.blog-category-search-submit {
  min-height: 36px;
  border: 1px solid var(--brand);
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  padding: .42rem .85rem;
  font-weight: 800;
  font-size: .82rem;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}
.blog-category-search-submit:hover,
.blog-category-search-submit:focus {
  background: var(--brand-dark, #183f2e);
  border-color: var(--brand-dark, #183f2e);
}
@media (max-width: 900px) {
  .blog-category-search {
    flex: 1 1 100%;
    margin-left: 0;
    order: 20;
    min-width: 100%;
  }
}
@media (max-width: 760px) {
  .blog-category-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
    overflow: visible;
  }
  .blog-category-inner .category-pill {
    width: max-content;
  }
  .blog-category-inner > .category-pill {
    display: inline-flex;
  }
  .blog-category-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .blog-category-inner::before {
    content: '';
    display: none;
  }
  .blog-category-search {
    min-width: 0;
    width: 100%;
  }
  .blog-category-search-field {
    min-width: 0;
  }
}


/* v6.3: Stronger, clearer inline links across site content */
:root {
  --ubtac-link: #005a9c;
  --ubtac-link-hover: #0b7d3e;
}

.entry-content a,
.page-content a,
.post-content a,
.single-content a,
.product-content a,
.site-main article a:not(.button):not(.btn):not(.read-more):not(.product-card-image):not(.category-pill):not(.post-card-image),
.widget a,
.footer-widget a,
.site-footer a,
.breadcrumbs a {
  color: var(--ubtac-link) !important;
  font-weight: 650;
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}

.entry-content a:hover,
.entry-content a:focus,
.page-content a:hover,
.page-content a:focus,
.post-content a:hover,
.post-content a:focus,
.single-content a:hover,
.single-content a:focus,
.product-content a:hover,
.product-content a:focus,
.site-main article a:not(.button):not(.btn):not(.read-more):not(.product-card-image):not(.category-pill):not(.post-card-image):hover,
.site-main article a:not(.button):not(.btn):not(.read-more):not(.product-card-image):not(.category-pill):not(.post-card-image):focus,
.widget a:hover,
.widget a:focus,
.footer-widget a:hover,
.footer-widget a:focus,
.site-footer a:hover,
.site-footer a:focus,
.breadcrumbs a:hover,
.breadcrumbs a:focus {
  color: var(--ubtac-link-hover) !important;
  text-decoration: underline;
}

/* Keep navigation and card buttons visually consistent with theme button styles */
.primary-menu a,
.menu a,
.nav-menu a,
.main-navigation a,
.site-header a,
.product-card h3 a,
.ubtac-product-grid .product-card h3 a,
.text-link,
.read-more,
.category-pill,
.blog-category-search-submit {
  font-weight: inherit;
}

.product-card .text-link,
.ubtac-product-grid .text-link {
  color: var(--ubtac-link) !important;
  font-weight: 750 !important;
}
.product-card .text-link:hover,
.ubtac-product-grid .text-link:hover {
  color: var(--ubtac-link-hover) !important;
}


/* v6.4: Unified product/catalog compatibility
   Old WooCommerce-style product cards and new UBTAC Catalog Product cards
   should render as one catalog system. */
.unified-product-grid,
.entry-content .ubtac-product-grid,
.entry-content .products,
.entry-content ul.products,
.woocommerce ul.products,
.wc-block-grid__products {
  clear: both;
}

.unified-product-card,
.entry-content .products .product,
.entry-content ul.products li.product,
.woocommerce ul.products li.product,
.wc-block-grid__product {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
}

.unified-product-card .product-card-image,
.entry-content .products .product > a:first-child,
.entry-content ul.products li.product > a:first-child,
.woocommerce ul.products li.product > a:first-child,
.wc-block-grid__product-image {
  aspect-ratio: 1 / 1.08 !important;
  min-height: 280px !important;
  height: auto !important;
  background: #fffdf8 !important;
  padding: .9rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.unified-product-card .product-card-image img,
.entry-content .products .product img,
.entry-content ul.products li.product img,
.woocommerce ul.products li.product img,
.wc-block-grid__product img {
  width: 100% !important;
  height: 265px !important;
  max-height: 265px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.single-product .product-content-grid,
.single-ubtac_product .product-content-grid,
.single-product .unified-product-content,
.single-ubtac_product .unified-product-content {
  grid-template-columns: minmax(0, 1fr) 320px !important;
}

.single-product .product-inline-featured-image,
.single-ubtac_product .product-inline-featured-image {
  float: right !important;
  width: min(34%, 340px) !important;
  max-width: 340px !important;
  margin: 0 0 1.1rem 1.6rem !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  padding: .75rem !important;
  box-shadow: 0 12px 30px rgba(31,41,51,.08) !important;
}

.single-product .product-inline-featured-image img,
.single-ubtac_product .product-inline-featured-image img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 900px) {
  .single-product .product-content-grid,
  .single-ubtac_product .product-content-grid,
  .single-product .unified-product-content,
  .single-ubtac_product .unified-product-content {
    grid-template-columns: 1fr !important;
  }
  .single-product .product-inline-featured-image,
  .single-ubtac_product .product-inline-featured-image {
    float: none !important;
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    margin: 0 auto 1.5rem !important;
  }
}


/* v6.5: Product shortcode card portrait image fix
   Use taller image wells and the original uncropped image proportions so feed bags,
   bottles, and Metrovet packs show from top to bottom. */
.ubtac-product-grid .product-card-image,
.unified-product-grid .product-card-image,
.entry-content .ubtac-product-grid .product-card-image,
.entry-content .unified-product-grid .product-card-image {
  aspect-ratio: 3 / 4 !important;
  min-height: 380px !important;
  height: auto !important;
  background: #fffdf8 !important;
  padding: 1rem !important;
  overflow: visible !important;
}

.ubtac-product-grid .product-card-image img,
.unified-product-grid .product-card-image img,
.entry-content .ubtac-product-grid .product-card-image img,
.entry-content .unified-product-grid .product-card-image img,
.product-card.unified-product-card .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Extra compatibility for legacy WooCommerce / block product grids still embedded by shortcode. */
.entry-content .products .product > a:first-child,
.entry-content ul.products li.product > a:first-child,
.woocommerce ul.products li.product > a:first-child,
.wc-block-grid__product-image {
  aspect-ratio: 3 / 4 !important;
  min-height: 380px !important;
  height: auto !important;
  padding: 1rem !important;
  overflow: visible !important;
}

.entry-content .products .product img,
.entry-content ul.products li.product img,
.woocommerce ul.products li.product img,
.wc-block-grid__product img {
  width: 100% !important;
  height: 340px !important;
  max-height: 340px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}

@media (max-width: 900px) {
  .ubtac-product-grid .product-card-image,
  .unified-product-grid .product-card-image,
  .entry-content .products .product > a:first-child,
  .entry-content ul.products li.product > a:first-child,
  .woocommerce ul.products li.product > a:first-child,
  .wc-block-grid__product-image {
    min-height: 340px !important;
  }
  .entry-content .products .product img,
  .entry-content ul.products li.product img,
  .woocommerce ul.products li.product img,
  .wc-block-grid__product img {
    height: 310px !important;
    max-height: 310px !important;
  }
}

@media (max-width: 620px) {
  .ubtac-product-grid .product-card-image,
  .unified-product-grid .product-card-image,
  .entry-content .products .product > a:first-child,
  .entry-content ul.products li.product > a:first-child,
  .woocommerce ul.products li.product > a:first-child,
  .wc-block-grid__product-image {
    min-height: 320px !important;
  }
  .entry-content .products .product img,
  .entry-content ul.products li.product img,
  .woocommerce ul.products li.product img,
  .wc-block-grid__product img {
    height: 290px !important;
    max-height: 290px !important;
  }
}

/* v1.3.4: accessible, collapsible mobile navigation */
.mobile-submenu-toggle {
  display: none;
}

@media (max-width: 900px) {
  .nav-wrap {
    position: relative;
  }

  .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 44px;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle-icon {
    transform: rotate(90deg);
  }

  .menu-toggle-icon {
    transition: transform .2s ease;
  }

  .primary-nav,
  .primary-nav:not(.is-open) {
    display: none !important;
  }

  .primary-nav.is-open {
    display: block !important;
  }

  .primary-nav {
    max-height: min(70vh, 560px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .primary-nav .sub-menu,
  .primary-nav .children {
    display: none !important;
  }

  .primary-nav li.is-submenu-open > .sub-menu,
  .primary-nav li.is-submenu-open > .children {
    display: block !important;
  }

  .primary-nav .menu-item-has-children > a::after,
  .primary-nav .page_item_has_children > a::after {
    display: none;
  }

  .primary-nav .menu-item-has-children,
  .primary-nav .page_item_has_children {
    padding-right: 3.1rem;
  }

  .primary-nav .menu-item-has-children > a,
  .primary-nav .page_item_has_children > a {
    min-height: 44px;
  }

  .mobile-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: .3rem;
    right: .35rem;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fffdf8;
    color: var(--brand);
    cursor: pointer;
    font-size: 1.18rem;
    line-height: 1;
  }

  .mobile-submenu-toggle span {
    display: block;
    transition: transform .2s ease;
  }

  .is-submenu-open > .mobile-submenu-toggle span {
    transform: rotate(180deg);
  }

  .primary-nav .sub-menu,
  .primary-nav .children {
    margin-top: .2rem;
    margin-bottom: .45rem;
  }
}

@media (min-width: 901px) {
  .mobile-submenu-toggle {
    display: none !important;
  }
}


/* v6.9.1: Blog/article list thumbnail fit fix
   Show the complete featured image inside the card instead of cropping it.
   This is important for poster-style, portrait, square, and text-heavy article images. */
.blog-card .archive-thumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 16 / 10;
  min-height: 210px;
  padding: .65rem !important;
  background: #f6f0e6 !important;
  overflow: hidden !important;
}

.blog-card .archive-thumbnail img,
.blog-card .archive-thumbnail .archive-image,
.blog-card .archive-thumbnail .wp-post-image,
.archive-thumbnail img.archive-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: auto !important;
  padding: 0 !important;
  background: transparent !important;
  transform: none !important;
}

.blog-card .archive-thumbnail:hover img,
.blog-card .archive-thumbnail:focus img,
.blog-card .archive-thumbnail:hover .archive-image,
.blog-card .archive-thumbnail:focus .archive-image {
  transform: none !important;
}

@media (max-width: 980px) {
  .blog-card .archive-thumbnail {
    min-height: 220px;
  }
}

@media (max-width: 620px) {
  .blog-card .archive-thumbnail {
    aspect-ratio: 16 / 10 !important;
    min-height: 230px;
    padding: .6rem !important;
  }
}
