/*
Theme Name: Storefront Child
Template: storefront
Version: 1.0.0
Description: Child theme for Storefront (Tea Emporium)
*/

/* Tiny test change so we can confirm the child theme is active */
.site-header {
  border-bottom: 3px solid #111;
}
.tea-trust-note {
  margin-top: 10px;
  font-size: 0.95em;
  opacity: 0.85;
}
/* Typography – warm luxury */
body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: #2b2b2b;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}
/* Buttons – warm luxury */
.button,
button,
input[type="submit"] {
  background-color: #2F4F45;
  color: #ffffff;
  border-radius: 4px;
  padding: 0.75em 1.5em;
  font-weight: 500;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
  background-color: #243E37;
}
/* Header spacing – premium feel */
.site-header {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  background-color: #ffffff;
}

/* Menu typography */
.main-navigation a {
  font-weight: 500;
  letter-spacing: 0.04em;
}
/* Product title */
.single-product .product_title {
  font-size: 2.2rem;
  margin-bottom: 0.5rem;
}

/* Price emphasis */
.woocommerce div.product p.price {
  font-size: 1.4rem;
  color: #2F4F45;
}

/* Trust note styling */
.tea-trust-note {
  font-style: italic;
  color: #555;
}

/* ===== Homepage Hero (warm luxury) ===== */
.home .entry-content > .wp-block-group:first-child {
  padding: 4rem 0;
  background: #ffffff;
}

.home .entry-content > .wp-block-group:first-child h1 {
  font-size: 3rem;
  line-height: 1.15;
  margin-bottom: 1rem;
}

.home .entry-content > .wp-block-group:first-child p {
  font-size: 1.1rem;
  max-width: 42rem;
  color: #444;
}

.home .wp-block-buttons .wp-block-button__link {
  padding: 0.9em 1.8em;
  border-radius: 6px;
}

.home .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: #2F4F45;
  border: 2px solid #2F4F45;
}
/* ===== Homepage Hero Layout Fix ===== */

/* Constrain hero content width */
.home .entry-content > .wp-block-group:first-child .wp-block-columns {
  max-width: 1100px;
  margin: 0 auto;
  gap: 4rem;
}

/* Limit text width for readability */
.home .entry-content > .wp-block-group:first-child p {
  max-width: 40rem;
}

/* Clean button container */
.home .wp-block-buttons {
  margin-top: 1.5rem;
  gap: 1rem;
}

/* Remove unwanted borders around buttons */
.home .wp-block-buttons,
.home .wp-block-button__link {
  border: none;
}
/* Hero buttons – clean premium look */
.home .wp-block-button__link {
  background: #2F4F45;
  color: #fff;
  text-decoration: none;
  border: 2px solid #2F4F45;
  box-shadow: none;
}

.home .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: #2F4F45;
  border: 2px solid #2F4F45;
}
/* Hero image – aligned, consistent */
.home .entry-content > .wp-block-group:first-child img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 10px;
}
/* Reduce top spacing on Home page */
.home .site-content {
  padding-top: 1.5rem;
}
/* Homepage product sections spacing */
.home h3 {
  margin-top: 3rem;
  margin-bottom: 1.2rem;
  font-size: 1.8rem;
}

.home .wp-block-woocommerce-product-collection {
  margin-bottom: 2.5rem;
}
/* Product cards – warm luxury */
.home .woocommerce ul.products li.product {
  background: #ffffff;
  padding: 16px;
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home .woocommerce ul.products li.product:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
/* Consistent product image sizing */
.home .woocommerce ul.products li.product img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
}
/* Product title & price styling */
.home .woocommerce ul.products li.product h2 {
  font-size: 1rem;
  font-weight: 500;
  margin: 0.6rem 0 0.3rem;
}

.home .woocommerce ul.products li.product .price {
  color: #2F4F45;
  font-weight: 500;
}
/* Top announcement bar */
.top-announcement {
  background: #2F4F45;
  color: #fff;
  text-align: center;
  font-size: 0.95rem;
  padding: 10px 12px;
  letter-spacing: 0.02em;
}

.top-announcement a {
  color: #fff;
  text-decoration: underline;
}
/* Accent colour for links */
a {
  color: #2F4F45;
}
a:hover {
  color: #243E37;
}
:root {
  --lux-accent: #C2A75E;
}
/* Footer – warm, clean */
.site-footer {
  background: #FAF9F7;
  padding-top: 3rem;
}

.site-footer h3,
.site-footer h4 {
  font-family: 'Playfair Display', serif;
  margin-bottom: 0.8rem;
}

.site-footer p,
.site-footer a {
  font-size: 0.95rem;
  color: #444;
}

.site-footer a:hover {
  color: #2F4F45;
}
/* Constrain footer content width */
.site-footer .col-full {
  max-width: 1100px;
  margin: 0 auto;
}
/* Footer columns spacing */
.site-footer .footer-widgets {
  display: flex;
  gap: 3rem;
}
/* Footer headings & text polish */
.site-footer h3,
.site-footer h4 {
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

.site-footer p,
.site-footer a {
  line-height: 1.6;
}
.site-footer hr {
  opacity: 0.3;
}
/* Soft section separation */
.home section,
.home .wp-block-group {
  margin-bottom: 4rem;
}
/* Homepage section headings */
.home h2 {
  font-size: 2.1rem;
  margin-bottom: 1.5rem;
}
/* ===== Homepage section rhythm ===== */

/* Consistent spacing between sections */
.home .site-main > * {
  margin-bottom: 4rem;
}

/* Keep content nicely constrained */
.home .site-main {
  max-width: 1100px;
  margin: 0 auto;
}

/* Section headings */
.home h2 {
  font-size: 2.2rem;
  margin-bottom: 1rem;
}
.home h2 + p {
  margin-top: -0.3rem;
  color: #555;
}
/* Gift highlight card */
.gift-highlight {
  background: #FAF9F7;
  padding: 2.5rem;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.06);
}

.gift-highlight .wp-block-button__link {
  border-radius: 8px;
}
/* Header menu: smaller + tighter so items fit on one line */
.main-navigation a {
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  padding: 0.6rem 0.65rem; /* reduces space around each item */
  white-space: nowrap;     /* prevents “Gift Hampers” breaking */
}

/* Reduce spacing between menu items */
.main-navigation ul li {
  margin: 0;
}
/* Reduce header vertical padding */
.site-header {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
/* Make header search more compact */
.site-header .site-search .widget_product_search input[type="search"],
.site-header .site-search input[type="search"] {
  max-width: 260px;
}
/* Logo sizing */
.site-header .custom-logo {
  max-height: 55px;
  width: auto;
}
/* Remove harsh content top border */
.storefront-breadcrumb,
.woocommerce-breadcrumb,
.site-main > .storefront-breadcrumb {
  border-bottom: none !important;
}
.site-main {
  border-top: none !important;
}
/* Tighten space at top of homepage content */
.home .site-main {
  padding-top: 1.5rem;
}

.home .entry-header {
  margin-bottom: 1rem;
}

.home .entry-content {
  margin-top: 0;
}
/* Hero headline layout */
.home .entry-content h1,
.home .entry-content h2 {
  max-width: 780px;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
/* Remove Storefront top separator line on homepage */
.home .site-main {
  border-top: none !important;
}
.site-main {
  border-top: none !important;
}
/* Keep all menu items on one line */
.main-navigation ul {
  display: flex;
  flex-wrap: nowrap;
}
/* Remove Storefront separator line (definitive fix) */
.site-main::before,
.site-main::after,
.storefront-breadcrumb::after {
  display: none !important;
  content: none !important;
}
/* Pull hero content closer to header */
.home .entry-content {
  padding-top: 1.5rem;
}

.home .entry-header {
  display: none; /* removes duplicate page title spacing */
}
/* Menu refinement */
.main-navigation a {
  font-weight: 500;
}

.main-navigation .current-menu-item > a {
  color: #2F4F45;
}
/* Remove the black header separator line (Storefront) */
.site-header {
  border-bottom: none !important;
}
/* Fix broken icon-font characters in menu/cart by disabling pseudo-icon content */
.main-navigation .menu-item-has-children > a:after,
.site-header-cart .cart-contents:after,
.widget_product_search form:before {
  content: "" !important;
}

/* Add a clean CSS dropdown arrow */
.main-navigation .menu-item-has-children > a:after {
  content: "▾" !important;
  display: inline-block;
  margin-left: 6px;
  font-size: 0.8em;
  opacity: 0.75;
  position: relative;
  top: -1px;
}
/* If cart icon glyph is broken, hide it */
.site-header-cart .cart-contents:before,
.site-header-cart .cart-contents:after {
  content: "" !important;
}
.site-header-cart .cart-contents:before {
  content: "🛒" !important;
  margin-right: 6px;
}
/* Tighten top whitespace before hero */
.home .site-content {
  padding-top: 1.25rem !important;
}
.home .entry-content {
  margin-top: 0 !important;
}
/* HERO: soft luxury section */
.home .entry-content > .wp-block-group:first-of-type {
  background: #f7f4ef;            /* warm cream */
  border-radius: 18px;
  padding: 48px 52px;
  max-width: 1100px;
  margin: 0 auto 40px auto;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}
/* HERO typography balance */
.home .entry-content h1,
.home .entry-content h2 {
  margin-top: 0;
  line-height: 1.15;
}

.home .entry-content p {
  max-width: 720px;
}
/* HERO buttons refined */
.home .wp-block-button__link {
  background: #2F4F45;
  border-radius: 10px;
  padding: 12px 18px;
  font-weight: 600;
  text-decoration: none;
}

.home .wp-block-button__link:hover {
  background: #243E37;
}
/* HERO card: remove the huge empty space */
.home .entry-content > .wp-block-group:first-of-type{
  padding: 28px 34px !important;     /* smaller padding */
}

/* If the Group has a min-height set by editor/theme, cancel it */
.home .wp-block-group{
  min-height: auto !important;
}

/* Tighten spacing between blocks inside the hero group */
.home .entry-content > .wp-block-group:first-of-type > *{
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

/* Tighten headline spacing */
.home .entry-content > .wp-block-group:first-of-type h1,
.home .entry-content > .wp-block-group:first-of-type h2{
  margin: 0 0 14px 0 !important;
}
/* Hero image polish */
.home .entry-content > .wp-block-group:first-of-type img,
.home .entry-content > .wp-block-group:first-of-type .wp-block-cover{
  border-radius: 14px;
  overflow: hidden;
}
/* Pull hero closer to header */
.home .entry-content > .wp-block-group:first-of-type{
  margin-top: 10px !important;
}
/* HOME hero card spacing (white box) */
.home .entry-content > .wp-block-group:first-of-type{
  padding: 18px 34px 36px !important;  /* top right/left bottom */
  margin-top: 0px !important;         /* closer to menu */
  margin-bottom: 10px !important;      /* a bit more bottom */
}
/* Align hero group to Storefront content width */
.home .entry-content > .wp-block-group:first-of-type{
  max-width: 66.4989378333em;  /* Storefront col-full width */
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Bring the plantation image closer to the hero card */
.home .entry-content img{
  margin-top: 10px !important;
}
/* Tighten space below header on homepage */
.home .site-header {
  margin-bottom: 6px !important;
}

/* Remove extra spacing Storefront adds after header */
.home .site-content {
  padding-top: 0 !important;
}
/* FINAL fix: remove extra Storefront spacing below header */
.home header.site-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove Storefront content wrapper padding */
.home .site-content,
.home .content-area {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.home .entry-content {
  margin-top: -8px !important;
}
.home .entry-content img {
  filter: saturate(0.95) contrast(0.98);
}
/* Homepage product grid polish */
.home .woocommerce ul.products li.product {
  background: #fff;
  padding: 16px;
  border-radius: 12px;
  text-align: center;
}

.home .woocommerce ul.products li.product img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 10px;
}
/* Final footer compacting */
.site-footer {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.site-footer .widget {
  margin-bottom: 6px !important;
}

.site-info {
  font-size: 0.85rem;
  padding: 6px 0 !important;
}
/* Remove "Built with WooCommerce" footer text */
.site-info a[href*="woocommerce.com"] {
  display: none !important;
}
/* ===== Mobile header & menu ===== */
@media (max-width: 768px) {

  /* Reduce header height */
  .site-header {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  /* Logo slightly smaller on mobile */
  .site-header .custom-logo {
    max-height: 42px;
  }

  /* Tighter announcement bar */
  .top-announcement {
    font-size: 0.85rem;
    padding: 6px 10px;
  }
}
/* ===== Mobile hero polish ===== */
@media (max-width: 768px) {

  .home .entry-content > .wp-block-group:first-of-type {
    padding: 18px !important;
    border-radius: 12px;
  }

  .home .entry-content h1,
  .home .entry-content h2 {
    font-size: 1.8rem;
  }

  .home .entry-content img {
    margin-top: 12px !important;
  }
}
/* ===== Mobile product cards ===== */
@media (max-width: 768px) {

  .home .woocommerce ul.products li.product {
    padding: 14px;
    margin-bottom: 18px;
  }

  .home .woocommerce ul.products li.product img {
    height: 200px;
  }

  .home .woocommerce ul.products li.product h2 {
    font-size: 1rem;
  }
}
/* ===== Mobile footer ===== */
@media (max-width: 768px) {

  .site-footer {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .site-footer .widget {
    margin-bottom: 10px !important;
  }
}
/* ===== Mobile: reduce gap after hero image ===== */
@media (max-width: 768px) {

  /* Remove extra margin under hero image */
  .home .entry-content img {
    margin-bottom: 10px !important;
  }

  /* Pull next text closer */
  .home .entry-content p:first-of-type,
  .home .entry-content h2:first-of-type {
    margin-top: 10px !important;
  }
}
