/*
Theme Name: Hortelands
Theme URI: https://www.hortelands.com/
Description: Tema hijo de Kadence diseñado para Hortelands.
Author: Hortelands
Template: kadence
Version: 1.0.0
Text Domain: hortelands
*/

:root {
  --hl-green: #2f8a3b;
  --hl-dark: #234e2d;
  --hl-orange: #f6a313;
  --hl-cream: #fff9ed;
  --hl-soft: #f7f3e9;
  --hl-ink: #243429;
  --hl-line: #dce5d8;
}

body {
  color: var(--hl-ink);
  background: #fff;
  font-family: "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

#masthead { display: none; }
.site-main-header-wrap { display: none !important; }

.hl-topbar {
  background: var(--hl-dark);
  color: #fff;
  text-align: center;
  padding: 9px 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}

.hl-header {
  background: #fff;
  border-bottom: 1px solid #eef1ec;
}

.hl-header-main {
  max-width: 1380px;
  margin: auto;
  min-height: 108px;
  padding: 16px 24px;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 280px minmax(240px, 1fr);
  align-items: center;
  gap: 24px;
}

.hl-logo img {
  display: block;
  width: 270px;
  max-height: 72px;
  margin: auto;
  object-fit: contain;
}

.hl-search {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #d9ded7;
  border-radius: 999px;
  background: #fff;
}

.hl-search input {
  width: 100%;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 13px 18px !important;
  font-size: 14px;
}

.hl-search button {
  border: 0;
  background: transparent;
  color: var(--hl-dark);
  padding: 12px 17px;
  font-size: 20px;
}

.hl-quicklinks {
  display: flex;
  justify-content: flex-end;
  gap: 24px;
}

.hl-quicklinks a {
  color: var(--hl-dark);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.hl-quicklinks img {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 2px;
  object-fit: contain;
}

.hl-category-nav {
  max-width: 1120px;
  margin: auto;
  padding: 8px 20px 14px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.hl-category-nav a {
  color: var(--hl-dark);
  text-decoration: none;
  text-align: center;
  font-family: Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: transform .2s ease, color .2s ease;
}

.hl-category-nav a:hover {
  color: var(--hl-orange);
  transform: translateY(-2px);
}

.hl-category-nav img {
  display: block;
  width: 66px;
  height: 50px;
  margin: 0 auto 5px;
  object-fit: contain;
}

.hl-promo {
  color: #fff;
  background: var(--hl-orange);
  padding: 10px 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .025em;
}

.content-area { margin-top: 0; }
.single-product .content-area { margin-top: 0; }
.single-product .site-container,
.single-product .content-container {
  max-width: none;
  padding: 0;
}

.single-product #primary { margin: 0; }
.single-product .entry-content-wrap {
  padding: 0;
  box-shadow: none;
}

.single-product .woocommerce-breadcrumb {
  max-width: 1320px;
  margin: 22px auto 16px;
  padding: 0 28px;
  color: #738071;
  font-size: 12px;
}

.single-product div.product {
  max-width: 1320px;
  margin: auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(400px, .95fr);
  column-gap: 64px;
  align-items: start;
}

.hl-product-gallery {
  position: sticky;
  top: 18px;
  align-self: start;
  min-width: 0;
}

.hl-main-image {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 3px;
  background: linear-gradient(to bottom, var(--hl-green) 0 31%, #fff 31% 100%);
  border: 1px solid #eef1ec;
}

.hl-main-image .hl-image-title {
  position: absolute;
  z-index: 2;
  top: 23px;
  left: 24px;
  right: 24px;
  color: #fff;
  text-align: center;
  font-family: "Arial Narrow", "Roboto Condensed", sans-serif;
  font-size: clamp(28px, 4.2vw, 58px);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.035em;
}

.hl-main-image .hl-orange-line {
  position: absolute;
  z-index: 2;
  top: 27%;
  left: 15%;
  width: 70%;
  height: 7px;
  border-radius: 9px;
  background: var(--hl-orange);
}

.hl-main-image > img {
  position: absolute;
  z-index: 1;
  left: 2%;
  bottom: -1%;
  width: 96%;
  height: 74%;
  object-fit: contain;
  object-position: center bottom;
}

.hl-eco {
  position: absolute;
  z-index: 3;
  left: 19px;
  bottom: 17px;
  padding: 7px 10px;
  border-radius: 5px;
  color: #fff;
  background: #8cc411;
  font-size: 11px;
  font-weight: 900;
}

.hl-product-logo {
  position: absolute;
  z-index: 3;
  right: 20px;
  bottom: 16px;
  width: 145px !important;
  height: 42px !important;
  object-fit: contain !important;
}

.hl-gallery-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.hl-gallery-thumbs button {
  width: 80px;
  height: 80px;
  padding: 3px;
  overflow: hidden;
  border: 1px solid var(--hl-line);
  border-radius: 8px;
  background: #fff;
}

.hl-gallery-thumbs button.active { border: 2px solid var(--hl-green); }
.hl-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }

.single-product div.product .summary {
  width: 100% !important;
  float: none !important;
  min-width: 0;
  margin: 10px 0 0;
}

.single-product .product_title {
  margin: 0 0 8px;
  color: var(--hl-green);
  font-family: Lora, Georgia, serif;
  font-size: clamp(32px, 2.65vw, 46px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.02em;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.hl-variety {
  margin: 0 0 22px;
  color: var(--hl-orange);
  font-family: Lora, Georgia, serif;
  font-size: 25px;
  font-style: italic;
  font-weight: 700;
}

.single-product .woocommerce-product-details__short-description {
  font-family: Lora, Georgia, serif;
  font-size: 17px;
  line-height: 1.75;
}

.single-product .price { display: none !important; }
.single-product .product_meta { display: none; }
.single-product .woocommerce-product-rating { margin-bottom: 12px; }

.hl-stock {
  margin: 22px 0 13px;
  color: var(--hl-green);
  font-family: Lora, Georgia, serif;
  font-weight: 700;
}

.hl-pack-title {
  margin: 18px 0 10px;
  color: var(--hl-dark);
  font-family: Lora, Georgia, serif;
  font-size: 20px;
  font-weight: 800;
}

.hl-packs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.hl-pack {
  position: relative;
  min-height: 116px;
  padding: 16px 10px 12px;
  border: 2px solid #dfe7da;
  border-radius: 16px;
  color: var(--hl-dark);
  background: #fff;
  text-align: center;
  cursor: pointer;
}

.hl-pack strong {
  display: block;
  font-family: Lora, Georgia, serif;
  font-size: 18px;
}

.hl-pack .hl-pack-price {
  display: block;
  margin-top: 5px;
  color: var(--hl-green);
  font-family: Lora, Georgia, serif;
  font-size: 24px;
  font-weight: 900;
}

.hl-pack small { color: #6f7b70; font-size: 11px; }
.hl-pack.selected { border-color: var(--hl-green); background: #f4faf3; }
.hl-pack.best { border-color: var(--hl-orange); }
.hl-pack em {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  padding: 3px 9px;
  border-radius: 99px;
  color: #fff;
  background: var(--hl-orange);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.hl-minimum {
  margin: 14px 0;
  padding: 13px 16px;
  border-radius: 14px;
  background: #fff3d8;
  color: #625023;
  font-size: 13px;
  line-height: 1.5;
}

.single-product form.cart.variations_form .variations { display: none; }
.single-product form.cart.variations_form .single_variation { display: none !important; }
.single-product form.cart {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}

.single-product form.cart .quantity .qty {
  min-height: 50px;
  border-radius: 12px;
}

.single-product .single_add_to_cart_button {
  flex: 1;
  min-height: 50px;
  border-radius: 12px !important;
  background: var(--hl-orange) !important;
  font-weight: 900 !important;
  letter-spacing: .03em;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--hl-green) !important;
}

.hl-guide {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 72px;
  padding: 62px max(28px, calc((100vw - 1260px) / 2));
  background: #fff;
  border-top: 1px solid #edf0ea;
}

.hl-guide h2 {
  margin: 0 0 24px;
  color: var(--hl-green);
  font-family: Lora, Georgia, serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 800;
  text-align: center;
}

.hl-calendar {
  overflow: hidden;
  margin-bottom: 34px;
  border: 1px solid var(--hl-line);
  border-radius: 20px;
  background: var(--hl-cream);
}

.hl-months {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.hl-months span {
  padding: 13px 4px;
  border-right: 1px solid var(--hl-line);
  text-align: center;
  font-size: 11px;
  font-weight: 800;
}

.hl-months span:last-child { border: 0; }
.hl-months .plant { background: #dcebcf; color: var(--hl-dark); }
.hl-months .harvest { background: #ffe1a4; color: #765111; }

.hl-legend {
  display: flex;
  justify-content: center;
  gap: 22px;
  padding: 12px;
  border-top: 1px solid var(--hl-line);
  font-size: 12px;
}

.hl-dot { display: inline-block; width: 11px; height: 11px; margin-right: 5px; border-radius: 50%; }
.hl-dot.plant { background: #b8d39e; }
.hl-dot.harvest { background: #f2bd51; }

.hl-cultivation {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.hl-cult-card {
  min-height: 190px;
  padding: 16px 12px;
  border: 1px solid var(--hl-line);
  border-radius: 20px;
  background: #fff;
  text-align: center;
}

.hl-cult-card img {
  width: 86px;
  height: 80px;
  object-fit: contain;
}

.hl-cult-card strong {
  display: block;
  margin: 5px 0;
  color: var(--hl-dark);
  font-family: Lora, Georgia, serif;
  font-size: 16px;
}

.hl-cult-card span {
  color: #687468;
  font-size: 12px;
  line-height: 1.45;
}

.hl-story {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 40px;
}

.hl-story article {
  padding: 24px;
  border-radius: 22px;
  background: var(--hl-soft);
}

.hl-story h3 {
  margin-top: 0;
  color: var(--hl-green);
  font-family: Lora, Georgia, serif;
}

.single-product .related {
  grid-column: 1 / -1;
  width: 100%;
  padding: 45px 0;
}

@media (max-width: 960px) {
  .hl-header-main { grid-template-columns: 1fr auto; }
  .hl-search { grid-column: 1 / -1; grid-row: 2; }
  .hl-logo { grid-row: 1; }
  .hl-quicklinks { grid-row: 1; grid-column: 2; }
  .hl-category-nav { grid-template-columns: repeat(3, 1fr); }
  .single-product div.product { grid-template-columns: 1fr; }
  .hl-product-gallery { position: relative; top: 0; }
  .single-product div.product .summary { margin-top: 28px; }
  .hl-cultivation { grid-template-columns: repeat(2, 1fr); }
  .hl-story { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .hl-topbar { font-size: 10px; }
  .hl-header-main { padding: 12px 16px; }
  .hl-logo img { width: 190px; }
  .hl-quicklinks span { display: none; }
  .hl-quicklinks { gap: 10px; }
  .hl-quicklinks img { width: 40px; height: 40px; }
  .hl-category-nav { gap: 6px; padding-inline: 8px; }
  .hl-category-nav img { width: 50px; height: 42px; }
  .hl-category-nav a { font-size: 11px; }
  .single-product div.product { padding: 0 16px; }
  .hl-main-image .hl-image-title { top: 15px; font-size: 32px; }
  .hl-packs { grid-template-columns: 1fr; }
  .hl-months { grid-template-columns: repeat(6, 1fr); }
  .hl-cultivation { grid-template-columns: 1fr; }
}
