/* TASK 005: typography/branding only. Rural owns layout, spacing and motion. */
:root {
  --heading-font: 'Be Vietnam Pro', sans-serif;
  --content-font: 'Be Vietnam Pro', sans-serif;
}
body,p,input,textarea,button,select,a {font-family:var(--content-font);}
h1,h2,h3,h4,h5,h6,.heading,.marker-title,.marker-number,.footer-brand-name {
  font-family:var(--heading-font); font-weight:500;
}
.heading {letter-spacing:-.025em; line-height:1.2;}
.main-button-text,.nav-link-text {font-weight:500;}
.hero-fullscreen-title > .paragraph {margin-top:1.5em; line-height:1.7;}
.brand-logo-image {width:3em; height:3em; object-fit:contain;}
.footer-brand-slogan {font-weight:400; line-height:1.7;}
.footer-brand-name > img {width:8em; height:auto; max-width:100%;}
.footer {background:var(--green-1);}
.footer-socials > img {width:160px; height:auto;}
.subfooter-links .paragraph {font-size:1.2em;}
/* Source mask has display:none in its base CSS. Enable the original reveal. */
.image-animation-trigger .animation-color-bg {display:block;}
/* The source entrance must release transform for its own scroll parallax. */
.hero-fullscreen .cover-image {animation-fill-mode:none;}
.custom-lightbox-view img {width:auto; height:auto; max-width:100%; max-height:85vh; object-fit:contain;}
/* Whole product subjects remain visible inside Rural's unchanged card frames. */
.product-shop-image .cover-image {object-fit:contain; background:#e9eee7;}
/* Original collage crop boundaries; select image focal points, no new geometry. */
.home-about-grid-image .cover-image {object-position:center;}
.image-in-collage-small .cover-image,.image-in-collage-medium .cover-image {object-position:center;}
@media screen and (max-width:991px) {
  .harvest-image .cover-image {object-fit:contain; background:var(--green-2);}
}
@media (prefers-reduced-motion:reduce) {
  .hero-fullscreen .cover-image {animation:none;}
}

/* TASK POLISH-005: homepage-only text, image crop and compact footer fixes. */
.tnc-rural-home .marker-number {visibility:hidden;}
.tnc-rural-home #discover .section-content-block h2 .tnc-home-line {display:block;}
.tnc-rural-home #harvest-categories .harvest-item:first-child h2 {white-space:nowrap; letter-spacing:-.05em; font-size:clamp(1.45em,2vw,2.2em);}
.tnc-rural-home #store .section-content-block h2 {white-space:nowrap; letter-spacing:-.045em; font-size:clamp(1.6em,2.5vw,3em);}
.tnc-rural-home #the-farm .about-farm-grid-2-image > .image-3d-parallax > ._3d-block > ._3d-trigger > .image-animation-trigger > .parallax-animation > .cover-image {object-fit:contain; background:#e9eee7;}
.tnc-rural-home #contact .footer-wrapper {position:relative; padding-top:2em; padding-bottom:0;}
.tnc-rural-home #contact .padding {padding-top:2em; padding-bottom:2em;}
.tnc-rural-home #contact .footer-brand-wrapper {align-items:flex-start;}
.tnc-rural-home .tnc-company-line1 {display:block; white-space:nowrap; font-size:13px; font-weight:500; line-height:1.5; letter-spacing:-.025em;}
.tnc-rural-home .tnc-company-line2 {display:block; margin-top:.1em; font-size:18px; font-weight:700; line-height:1.4;}
.tnc-rural-home .tnc-business-license {display:block; max-width:42em; margin-top:.65em; font-size:12px; font-weight:400; line-height:1.6;}
.tnc-rural-home .tnc-bct-top {position:absolute; top:0; right:0; width:130px; max-width:26vw; height:auto;}
.tnc-rural-home #contact .footer-flex-wrapper {gap:1.2em;}
.tnc-rural-home #contact .footer-flex-block {gap:.65em;}
.tnc-rural-home #contact .tnc-bct-top {position:static; width:130px; max-width:26vw; margin:0;}
.tnc-rural-home .tnc-footer-subfooter {display:flex; justify-content:flex-end; align-items:center; width:100%; margin-top:1.25em; padding-top:1em; border-top:1px solid rgba(255,255,255,.16);}
.tnc-rural-home #contact .footer-links {display:flex; flex-flow:row wrap; align-items:center; gap:.5em 1.5em;}
.tnc-rural-home #contact .footer-text-link {font-size:clamp(18px,1.65vw,25px); line-height:1.25;}
.tnc-rural-home #contact .footer-flex-wrapper {justify-content:space-between; gap:2em 2.5em;}
.tnc-rural-home #contact .footer-flex-block {min-width:9em;}
.tnc-rural-home #contact .footer-address-wrapper {display:flex; flex:1 1 28em; justify-content:flex-end; gap:2em;}
.tnc-rural-home #contact .footer-address-wrapper .footer-flex-block {max-width:18em;}
.tnc-rural-home #aeon .section-content-block h2,
.tnc-rural-home #blog > .padding > .container > .section-content-block h2 {width:max-content; max-width:none; white-space:nowrap;}
.tnc-rural-home #blog .tnc-aeon-article {grid-column:1 / -1; flex:1 1 100%;}
.tnc-rural-home .tnc-mobile-hero-logo {display:none;}
.tnc-rural-home .tnc-scroll-top {position:fixed; z-index:1000; right:24px; bottom:24px; display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(237,241,225,.42); border-radius:50%; background:rgba(31,51,41,.72); color:#edf1e1; text-decoration:none; backdrop-filter:blur(8px);}
.tnc-rural-home .tnc-scroll-top[hidden] {display:none;}
.tnc-rural-home .tnc-scroll-top svg {width:20px; height:20px;}
.tnc-rural-home .tnc-scroll-top:focus-visible {outline:2px solid #edf1e1; outline-offset:3px;}
@media screen and (max-width:767px) {
  .tnc-rural-home #contact .footer-wrapper {padding-top:2em; gap:1.5em;}
  .tnc-rural-home #contact .footer-links-wrapper {display:none;}
  .tnc-rural-home #contact .footer-flex-wrapper {display:grid; grid-template-columns:1fr 1fr; gap:1.25em 1em;}
  .tnc-rural-home #contact .footer-flex-block {min-width:0;}
  .tnc-rural-home #contact .footer-address-wrapper {grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:1em;}
  .tnc-rural-home #contact .footer-address-wrapper .footer-flex-block {max-width:none;}
  .tnc-rural-home #contact .footer-brand-wrapper {width:100%;}
  .tnc-rural-home #contact .tnc-bct-top {width:112px; max-width:30vw;}
  .tnc-rural-home .tnc-footer-subfooter {margin-top:.25em; padding-top:.75em;}
  .tnc-rural-home .tnc-company-line1 {font-size:clamp(9px,2.8vw,12px); letter-spacing:-.035em;}
  .tnc-rural-home .tnc-company-line2 {font-size:17px;}
  .tnc-rural-home .tnc-business-license {font-size:11px;}
  .tnc-rural-home .tnc-hero-brand-copy {display:none;}
  .tnc-rural-home .tnc-mobile-hero-logo {display:block; grid-column:1 / -1; justify-self:center; width:clamp(132px,39vw,174px); height:auto; max-height:54px; object-fit:contain; margin:0 auto .35em;}
  .tnc-rural-home #harvest-categories .harvest-item:nth-child(1) .harvest-image .cover-image {content:url("../assets/generated/product-melon-v2.webp");}
  .tnc-rural-home #harvest-categories .harvest-item:nth-child(2) .harvest-image .cover-image {content:url("../assets/generated/hero-02-native.webp");}
  .tnc-rural-home #harvest-categories .harvest-item:nth-child(3) .harvest-image .cover-image {content:url("../assets/generated/product-jeju-fish-v2.webp");}
  .tnc-rural-home #harvest-categories .harvest-image {height:auto !important; aspect-ratio:3 / 2;}
  .tnc-rural-home #harvest-categories .harvest-image .cover-image {object-fit:cover; background:transparent;}
  .tnc-rural-home #gallery .section-content-block > h2 {width:max-content; max-width:100%; white-space:nowrap; font-size:clamp(1.45em,5.2vw,2em);}
  .tnc-rural-home #aeon .section-content-block h2,
  .tnc-rural-home #blog > .padding > .container > .section-content-block h2 {width:auto; white-space:normal;}
  .tnc-rural-home #contact .footer-text-link {font-size:18px;}
  .tnc-rural-home .tnc-scroll-top {right:14px; bottom:16px; width:40px; height:40px;}
}


/* ==========================================================================
   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;
}

/* Mobile Top Logo Removed (TASK POLISH-011) */
@media screen and (max-width: 991px) {
  .nav-wrapper .nav-brand {
    display: none !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;
}
