/* Rural's original stylesheet supplies layout, type, spacing, motion and breakpoints.
   These additions accommodate Vietnamese copy and the B2B catalogue controls. */
.nav-brand .brand-logo-image {width: 15em; height: auto; max-height: 5em; object-fit: contain;}
.nav-links-wrapper .nav-link-text {white-space: nowrap;}
.nav-links-wrapper .dropdown-cms-links {grid-template-columns: repeat(3, 1fr);}
.hero-fullscreen-title .heading.is-extra-large-title {font-size: 4.8em; line-height: 1.13;}
.tnc-hero-description {max-width: 70em; display: grid; gap: 1em;}
.tnc-hero-description .paragraph {max-width: 65ch; margin: 0;}
.hero-fullscreen-layout {gap: 2em;}
.hero-fullscreen-padding {padding-top: 14em; padding-bottom: 12em;}
.tnc-feature-section .about-farm-grid-2-layout {display: flex; flex-direction: column; gap: 1.5em;}
.tnc-feature-section .about-farm-grid-2-layout p {margin: 0;}
.tnc-section-intro {white-space: pre-line; max-width: 68ch;}
.tnc-catalogue-section .section-content-block > div:last-child,
.store-cta-button {display: flex; flex-wrap: wrap; gap: 1em; justify-content: center;}
.tnc-article-excerpt {margin-top: 1.1em;}
.tnc-image-note {opacity: .72; margin-top: 1em;}
.tnc-quote-link {white-space: normal;}
.tnc-catalogue-tools {display: flex; flex-direction: column; align-items: stretch; gap: 1em; margin-bottom: 3em;}
.tnc-catalogue-tools .form-field {max-width: 35em;}
.tnc-category-filters {display: flex; flex-wrap: wrap; gap: .6em;}
.tnc-filter {cursor: pointer; font-family: inherit; font-size: 1.2em; padding: .8em 1.1em;}
.tnc-filter.is-active {background: var(--green-2); color: var(--green-10);}
.tnc-gallery-extra {margin-top: 6em; grid-template-columns: repeat(3, 1fr);}
.tnc-specs {width: 100%; border-collapse: collapse; margin: 2em 0; font-size: 1.1em;}
.tnc-specs caption {text-align: left; margin-bottom: 1em; font-weight: 700;}
.tnc-specs th,.tnc-specs td {padding: 1em; border-bottom: 1px solid var(--green-7); text-align: left; vertical-align: top;}
.tnc-specs th {width: 30%;}
.contact-info-content,.contact-info-form {padding-top: 8em; padding-bottom: 8em;}
.contact-form-block {max-width: 45em;}
.contact-form-block label,.tnc-catalogue-tools > label {font-size: 1.4em;}
.contact-info-content a {overflow-wrap: anywhere;}
.hero-gallery .cover-video img {width: 100%; height: 100%; object-fit: cover;}
.fs-menu-column-contact .fs-contact-link {overflow-wrap: anywhere;}
[hidden] {display: none !important;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[role="button"]:focus-visible {outline: 2px solid currentColor; outline-offset: 5px;}
@media screen and (max-width: 991px) {
  .hero-fullscreen-title .heading.is-extra-large-title {font-size: 4em;}
  .nav-brand .brand-logo-image {width: 13em;}
  .hero-fullscreen-padding {padding-top: 12em; padding-bottom: 10em;}
  .contact-info-content,.contact-info-form {padding: 7em 5vw;}
}
@media screen and (max-width: 767px) {
  .hero-fullscreen-title .heading.is-extra-large-title {font-size: 3.3em;}
  .tnc-title-break {display: none;}
  .hero-fullscreen-layout {gap: 2em;}
  .tnc-gallery-extra {grid-template-columns: 1fr;}
  .tnc-specs th,.tnc-specs td {padding: .75em .4em;}
  .contact-info-grid {grid-template-columns: 1fr;}
  .contact-info-content,.contact-info-form {padding: 6em 8vw;}
  .tnc-category-filters .tnc-filter {flex: 0 1 auto;}
}
@media screen and (max-width: 479px) {
  .hero-fullscreen-title .heading.is-extra-large-title {font-size: 3em;}
  .hero-fullscreen-padding {padding-top: 10em; padding-bottom: 7em;}
  .nav-brand .brand-logo-image {width: 13em; max-height: 3.5em;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  *,*::before,*::after {animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important;}
  ._3d-trigger,.cover-image.is-parallax {transform: none !important;}
}


/* ==========================================================================
   TASK POLISH-009 ADDITIONS
   ========================================================================== */

/* 1. Header Desktop Brand Logo */
.nav-brand .brand-logo-image {
  width: auto !important;
  height: 2.7em !important;
  max-height: 2.7em !important;
  max-width: 9.5em !important;
  object-fit: contain !important;
  display: block !important;
}
.nav-brand .brand-name-text {
  display: none !important;
}

/* 3. Mobile Hero: Hide mobile logo */
.tnc-mobile-hero-logo {
  display: none !important;
}

/* 6. Product Dropdown in Desktop Header - 6 Equal-Width Cards */
@media screen and (min-width: 992px) {
  .dropdown-link.is-harvest .dropdown-cms-links {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 1.2em !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-item {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-block {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0.9em 0.8em 1.2em !important;
    box-sizing: border-box !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-image {
    width: 100% !important;
    height: 7.5em !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-text {
    font-size: 1.15em !important;
    line-height: 1.3em !important;
    white-space: normal !important;
    text-align: center !important;
    margin-top: 0.8em !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
}

/* 7. Remove Roman Numeral Decoration */
.marker-number {
  display: none !important;
}

/* 8. Gallery Image Aspect Ratio */
.hero-gallery .gallery-collage-wrapper {
  max-width: 62em;
}
.hero-gallery .gallery-lightbox.in-large {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  max-height: 35em;
}
.hero-gallery .gallery-collage-image {
  width: 24em;
  height: auto;
  aspect-ratio: 3 / 2;
}
.hero-gallery .gallery-collage-image.is-left-2nd,
.hero-gallery .gallery-collage-image.is-right-2nd {
  width: 20em;
  height: auto;
  aspect-ratio: 3 / 2;
}
.hero-gallery .gallery-thumbnail,
.hero-gallery .cover-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.tnc-gallery-extra .gallery-lightbox {
  height: auto;
  aspect-ratio: 3 / 2;
}
.tnc-gallery-extra .gallery-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* 4. Compact Footer Desktop & Mobile */
.footer.tnc-compact-footer {
  background: var(--green-1, #172526) !important;
  color: var(--body-color, #edf1e1) !important;
  padding: 0 !important;
}
.footer.tnc-compact-footer .padding {
  padding-top: 2.2em !important;
  padding-bottom: 2.2em !important;
}
.tnc-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1.3fr;
  gap: 2em 3em;
  align-items: start;
  width: 100%;
}
.tnc-footer-left {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
}
.tnc-footer-logo {
  width: 9em;
  max-width: 180px;
  height: auto;
  object-fit: contain;
  display: block;
}
.tnc-footer-company {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
.tnc-footer-company .tnc-company-line1 {
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(237, 241, 225, 0.85);
  letter-spacing: -0.01em;
}
.tnc-footer-company .tnc-company-line2 {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  color: #edf1e1;
}
.tnc-footer-company .tnc-business-license {
  font-size: 0.76rem;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(237, 241, 225, 0.65);
  margin-top: 0.3em;
  max-width: 32em;
}
.tnc-footer-center {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.tnc-footer-center .footer-small-text,
.tnc-footer-right .footer-small-text {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(237, 241, 225, 0.55);
  margin-bottom: 0.4em;
  font-weight: 600;
}
.tnc-footer-nav {
  display: flex;
  flex-direction: column;
  gap: 0.45em;
}
.tnc-footer-link {
  color: #edf1e1;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 400;
  transition: color 0.2s ease;
  line-height: 1.4;
}
.tnc-footer-link:hover {
  color: var(--green-9, #b5e2cb);
}
.tnc-footer-right {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.tnc-footer-contact-block {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.tnc-footer-contact-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em 1.2em;
}
.tnc-footer-contact-items .footer-contact-link {
  color: #edf1e1;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.4;
}
.tnc-footer-contact-items .footer-contact-link:hover {
  color: var(--green-9, #b5e2cb);
}
.tnc-footer-addresses {
  display: flex;
  flex-direction: column;
  gap: 0.35em;
  margin-top: 0.2em;
}
.tnc-footer-addresses .footer-address-text {
  font-size: 0.84rem;
  line-height: 1.5;
  color: rgba(237, 241, 225, 0.75);
  margin: 0;
}
.tnc-footer-bct-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.5em;
}
.tnc-footer-bct-wrap .tnc-bct-logo {
  width: 120px;
  height: auto;
  max-width: 130px;
  object-fit: contain;
}

@media screen and (max-width: 991px) {
  .tnc-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.8em;
  }
  .tnc-footer-right {
    grid-column: 1 / -1;
  }
}
@media screen and (max-width: 767px) {
  .footer.tnc-compact-footer .padding {
    padding-top: 1.8em !important;
    padding-bottom: 1.8em !important;
  }
  .tnc-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.4em;
  }
  .tnc-footer-left {
    gap: 0.6em;
  }
  .tnc-footer-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4em 1em;
  }
  .tnc-footer-contact-items {
    flex-direction: column;
    gap: 0.3em;
  }
  .tnc-footer-bct-wrap {
    justify-content: flex-end;
    margin-top: 0.4em;
  }
  .tnc-footer-bct-wrap .tnc-bct-logo {
    width: 105px;
  }
  .hero-gallery .gallery-collage-wrapper {
    width: 88%;
    font-size: .65em;
  }
}


/* ==========================================================================
   TASK POLISH-010 CSS ADDITIONS
   ========================================================================== */

/* 1. Blog Card AEON - Exact 2 lines on desktop */
@media screen and (min-width: 992px) {
  .tnc-aeon-card-heading {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15em !important;
  }
  .tnc-aeon-card-heading .tnc-aeon-line {
    display: block !important;
    white-space: nowrap !important;
  }
}
@media screen and (max-width: 991px) {
  .tnc-aeon-card-heading .tnc-aeon-line {
    display: inline;
  }
}

/* 2. Footer Menu - 2 Columns */
.tnc-footer-nav-2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.45em 1.8em !important;
}
.tnc-footer-nav-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45em !important;
}

/* 3. Mobile Hero Logo */
@media screen and (min-width: 992px) {
  .tnc-mobile-hero-logo-wrap {
    display: none !important;
  }
}
@media screen and (max-width: 991px) {
  .tnc-mobile-hero-logo-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 2.2em auto 1.4em auto !important;
  }
  .tnc-mobile-hero-logo {
    display: block !important;
    width: 195px !important;
    max-width: 58vw !important;
    height: auto !important;
    max-height: 65px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.4)) !important;
  }
}

/* 4. Mobile Hero Eyebrow */
@media screen and (max-width: 991px) {
  .tnc-rural-home .tnc-hero-brand-copy,
  .tnc-rural-home .tnc-hero-eyebrow-sep {
    display: none !important;
  }
  .tnc-rural-home .marker {
    max-width: 100% !important;
    width: auto !important;
  }
  .tnc-rural-home .marker-title {
    white-space: nowrap !important;
    font-size: clamp(0.85rem, 3.8vw, 1.05rem) !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
  }
  .tnc-rural-home .marker-title-wrapper {
    justify-content: center !important;
    width: 100% !important;
  }
}

/* 5. Mobile Hamburger Menu: hide secondary links */
.fs-menu-small-links {
  display: none !important;
}

/* 6. Footer Legal Name 1 Line on Desktop across site */
@media screen and (min-width: 992px) {
  .tnc-footer-grid {
    grid-template-columns: 1.65fr 1.1fr 1.35fr !important;
    gap: 2em 2.5em !important;
  }
  .tnc-footer-company .tnc-company-line1 {
    white-space: nowrap !important;
    font-size: clamp(0.78rem, 1.05vw, 0.88rem) !important;
  }
}

/* 7. Scroll to top component styling */
.tnc-scroll-top {
  position: fixed !important;
  z-index: 1000 !important;
  right: 24px !important;
  bottom: 24px !important;
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  place-items: center !important;
  border: 1px solid rgba(237,241,225,.42) !important;
  border-radius: 50% !important;
  background: rgba(31,51,41,.72) !important;
  color: #edf1e1 !important;
  text-decoration: none !important;
  backdrop-filter: blur(8px) !important;
  cursor: pointer !important;
  transition: opacity 0.3s ease, transform 0.2s ease !important;
}
.tnc-scroll-top[hidden] {
  display: none !important;
}
.tnc-scroll-top svg {
  width: 20px !important;
  height: 20px !important;
}
.tnc-scroll-top:focus-visible {
  outline: 2px solid #edf1e1 !important;
  outline-offset: 3px !important;
}
.tnc-scroll-top:hover {
  transform: translateY(-2px) !important;
  background: rgba(31,51,41,.88) !important;
}
@media screen and (max-width: 767px) {
  .tnc-scroll-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 40px !important;
    height: 40px !important;
  }
}

/* 8 & 9. Equal-width Product Mega Menu on Home & Inner */
@media screen and (min-width: 992px) {
  .dropdown-link.is-harvest .dropdown-cms-links {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 1.2em !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-item {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-block {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0.9em 0.8em 1.2em !important;
    box-sizing: border-box !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-image {
    width: 100% !important;
    height: 7.5em !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .dropdown-link.is-harvest .dropdown-cms-link-text {
    font-size: 1.15em !important;
    line-height: 1.3em !important;
    white-space: normal !important;
    text-align: center !important;
    margin-top: 0.8em !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
}

/* 10. Temporarily disable search site-wide */
.search,
.search-in-full-menu,
.search-input,
.search-button,
.search-input-in-full-menu,
.search-button-in-full-menu,
#catalogue-search {
  pointer-events: none !important;
  user-select: none !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
}
.search input,
.search-in-full-menu input {
  pointer-events: none !important;
  cursor: not-allowed !important;
}
