/* Appily Fifteen — Orchard Market home (layout preserved, visual system unique) */

body.page-home {
  --orchard-leaf: #0f3d2e;
  --orchard-leaf-mid: #1a6b4a;
  --orchard-canopy: #2f9e6b;
  --orchard-mist: #e8f6ef;
  --orchard-sun: #f4a261;
  --orchard-ripe: #e76f51;
  --orchard-berry: #c44569;
  --orchard-citrus: #f4d35e;
  --orchard-ink: #14211b;
  --orchard-soft: #4a6358;
  --orchard-line: rgba(15, 61, 46, 0.12);
  --orchard-glow: rgba(47, 158, 107, 0.22);
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Sora", system-ui, sans-serif;
  --teal: var(--orchard-canopy);
  --teal-dark: var(--orchard-leaf-mid);
  --teal-light: var(--orchard-mist);
  --ink: var(--orchard-ink);
  --ink-soft: var(--orchard-soft);
  --sale: var(--orchard-ripe);
  --font: var(--font-body);
  font-family: var(--font-body);
  background:
    radial-gradient(1200px 480px at 8% -10%, rgba(244, 211, 94, 0.18), transparent 55%),
    radial-gradient(900px 520px at 100% 8%, rgba(196, 69, 105, 0.1), transparent 50%),
    linear-gradient(180deg, #f7fcf9 0%, #ffffff 28%, #f3faf6 100%);
  color: var(--orchard-ink);
}

body.page-home .gm-brand strong,
body.page-home .gm-hero-copy h1,
body.page-home .gm-section-title,
body.page-home .gm-promo-card h3,
body.page-home .gm-banner-card h3,
body.page-home .gm-col-head h3,
body.page-home .gm-cat-name {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

/* ---------- Hero: full-bleed orchard atmosphere ---------- */
body.page-home .gm-hero-slider {
  background:
    linear-gradient(135deg, rgba(15, 61, 46, 0.94) 0%, rgba(26, 107, 74, 0.88) 42%, rgba(47, 158, 107, 0.82) 100%),
    radial-gradient(circle at 78% 30%, rgba(244, 211, 94, 0.35), transparent 42%),
    radial-gradient(circle at 18% 80%, rgba(196, 69, 105, 0.28), transparent 40%);
  isolation: isolate;
}

body.page-home .gm-hero-slider::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.08) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 60%, rgba(255, 255, 255, 0.07) 0 1.5px, transparent 3px),
    repeating-linear-gradient(
      -18deg,
      transparent 0 14px,
      rgba(255, 255, 255, 0.03) 14px 15px
    );
  animation: orchardDrift 28s linear infinite;
}

body.page-home .gm-hero-slider::after {
  content: "";
  position: absolute;
  left: -8%;
  bottom: -35%;
  width: 55%;
  height: 70%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244, 162, 97, 0.28), transparent 68%);
  filter: blur(8px);
  pointer-events: none;
  animation: orchardPulse 6s ease-in-out infinite;
}

body.page-home .gm-hero-track,
body.page-home .gm-hero-arrow {
  position: relative;
  z-index: 1;
}

body.page-home .gm-hero-slide {
  padding: 56px 0 64px;
}

body.page-home .gm-hero-copy h1 {
  color: #fff8ef;
  font-size: clamp(2rem, 4.4vw, 3.35rem);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
  animation: orchardRise 0.7s ease both;
}

body.page-home .gm-hero-sub {
  color: rgba(255, 248, 239, 0.82);
  font-size: 1rem;
  max-width: 34ch;
  animation: orchardRise 0.7s ease 0.08s both;
}

body.page-home .gm-hero-price {
  animation: orchardRise 0.7s ease 0.14s both;
}

body.page-home .gm-hero-price .gm-price {
  color: var(--orchard-citrus);
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 800;
}

body.page-home .gm-hero-price .gm-price-was {
  color: rgba(255, 248, 239, 0.55);
}

body.page-home .gm-btn-shop {
  background: linear-gradient(135deg, var(--orchard-citrus), var(--orchard-sun));
  color: var(--orchard-leaf);
  border-radius: 999px;
  padding: 15px 34px;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 12px 28px rgba(244, 162, 97, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
  animation: orchardRise 0.7s ease 0.2s both;
}

body.page-home .gm-btn-shop:hover {
  background: linear-gradient(135deg, #ffe27a, var(--orchard-citrus));
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 16px 34px rgba(244, 162, 97, 0.45);
  filter: brightness(1.03);
}

body.page-home .gm-hero-visual-orb {
  background:
    radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.95), transparent 38%),
    radial-gradient(circle at 55% 55%, var(--hero-orb-mid, #ffe8cc), var(--hero-orb-edge, #ffb366));
  animation: orchardOrb 7s ease-in-out infinite;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.25),
    0 30px 60px rgba(0, 0, 0, 0.18);
}

body.page-home .gm-hero-visual-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-radius: 28px 28px 40px 28px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow:
    0 28px 50px rgba(8, 40, 28, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  transform: rotate(-1.5deg);
  transition: transform 0.35s ease;
  animation: orchardFloat 5.5s ease-in-out infinite;
}

body.page-home .gm-hero-visual:hover .gm-hero-visual-card {
  transform: rotate(0deg) translateY(-4px);
}

body.page-home .gm-hero-visual-tag {
  color: var(--orchard-leaf);
  background: linear-gradient(90deg, rgba(244, 211, 94, 0.55), rgba(47, 158, 107, 0.2));
  border-radius: 999px;
  letter-spacing: 0.14em;
}

body.page-home .gm-hero-visual-imgwrap {
  background:
    radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.9), transparent 55%),
    linear-gradient(165deg, #fff9ef, #eef8f2);
  border-radius: 22px;
  border-color: rgba(15, 61, 46, 0.08);
}

body.page-home .gm-hero-visual-imgwrap img {
  transition: transform 0.45s ease;
}

body.page-home .gm-hero-visual:hover .gm-hero-visual-imgwrap img {
  transform: scale(1.05) rotate(-2deg);
}

body.page-home .gm-hero-visual--citrus {
  --hero-orb-mid: #ffe9b8;
  --hero-orb-edge: #f4a261;
}
body.page-home .gm-hero-visual--tropical {
  --hero-orb-mid: #fff3a8;
  --hero-orb-edge: #2f9e6b;
}
body.page-home .gm-hero-visual--berry {
  --hero-orb-mid: #ffd0de;
  --hero-orb-edge: #c44569;
}

body.page-home .gm-hero-arrow {
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(8px);
  color: #fff;
  transition: background 0.2s, transform 0.2s;
}

body.page-home .gm-hero-arrow:hover {
  background: var(--orchard-sun);
  color: var(--orchard-leaf);
  transform: translateY(-50%) scale(1.06);
}

/* ---------- Features ---------- */
body.page-home .gm-features {
  border-bottom: 0;
  padding: 0;
  margin-top: -18px;
  position: relative;
  z-index: 2;
}

body.page-home .gm-features-grid {
  gap: 14px;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(12px);
  border: 1px solid var(--orchard-line);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 18px 40px rgba(15, 61, 46, 0.08);
}

body.page-home .gm-feature {
  padding: 10px 12px;
  border-radius: 16px;
  transition: background 0.25s ease, transform 0.25s ease;
}

body.page-home .gm-feature:hover {
  background: var(--orchard-mist);
  transform: translateY(-2px);
}

body.page-home .gm-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(145deg, var(--orchard-mist), #fff);
  color: var(--orchard-leaf-mid);
  border: 1px solid var(--orchard-line);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  animation: orchardIconBob 3.8s ease-in-out infinite;
}

body.page-home .gm-feature:nth-child(2) .gm-feature-icon { animation-delay: 0.4s; }
body.page-home .gm-feature:nth-child(3) .gm-feature-icon { animation-delay: 0.8s; }
body.page-home .gm-feature:nth-child(4) .gm-feature-icon { animation-delay: 1.2s; }

body.page-home .gm-feature strong {
  color: var(--orchard-leaf);
  font-weight: 700;
}

/* ---------- Categories ---------- */
body.page-home .gm-categories {
  padding: 52px 0 28px;
}

body.page-home .gm-cat-card {
  border-radius: 24px;
  border: 1px solid transparent;
  background-image: none;
  box-shadow: 0 10px 24px rgba(15, 61, 46, 0.06);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  overflow: hidden;
}

body.page-home .gm-cat-card::before {
  content: "";
  position: absolute;
  inset: auto -20% -40% auto;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  transition: transform 0.35s ease;
}

body.page-home .gm-cat-card:hover {
  transform: translateY(-8px) rotate(-0.5deg);
  box-shadow: 0 22px 40px rgba(15, 61, 46, 0.14);
  border-color: rgba(47, 158, 107, 0.25);
}

body.page-home .gm-cat-card:hover::before {
  transform: scale(1.35);
}

body.page-home .gm-cat-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--orchard-leaf);
}

body.page-home .gm-cat-link {
  color: var(--orchard-leaf-mid);
  text-decoration: none;
  font-weight: 600;
  position: relative;
}

body.page-home .gm-cat-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

body.page-home .gm-cat-card:hover .gm-cat-link::after {
  transform: scaleX(1);
}

body.page-home .gm-cat-img {
  width: 84px;
  height: 84px;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.12));
  transition: transform 0.35s ease;
}

body.page-home .gm-cat-card:hover .gm-cat-img {
  transform: scale(1.08) rotate(-6deg);
}

body.page-home .gm-cat-peach { background: linear-gradient(160deg, #ffe0c2, #ffd0a8); }
body.page-home .gm-cat-lavender { background: linear-gradient(160deg, #ffd9e4, #f7c4d4); }
body.page-home .gm-cat-mint { background: linear-gradient(160deg, #d8f5e8, #b8ebd4); }
body.page-home .gm-cat-sky { background: linear-gradient(160deg, #d9f0ea, #c2e6dc); }
body.page-home .gm-cat-lemon { background: linear-gradient(160deg, #fff0b8, #ffe28a); }
body.page-home .gm-cat-rose { background: linear-gradient(160deg, #ffd5c8, #ffbfae); }
body.page-home .gm-cat-sage { background: linear-gradient(160deg, #dcefdc, #c4e3c4); }

/* ---------- Section titles ---------- */
body.page-home .gm-section {
  padding: 56px 0;
}

body.page-home .gm-section-muted {
  background:
    linear-gradient(180deg, rgba(232, 246, 239, 0.65), rgba(255, 255, 255, 0.4)),
    repeating-linear-gradient(
      90deg,
      transparent 0 22px,
      rgba(15, 61, 46, 0.025) 22px 23px
    );
  border-block: 1px solid var(--orchard-line);
}

body.page-home .gm-section-title {
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-weight: 800;
  color: var(--orchard-leaf);
  margin-bottom: 36px;
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
}

body.page-home .gm-section-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--orchard-sun), var(--orchard-berry));
  animation: orchardBar 2.8s ease-in-out infinite;
}

/* ---------- Product cards on home ---------- */
body.page-home .gm-product-card {
  border: 1px solid var(--orchard-line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

body.page-home .gm-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 36px rgba(15, 61, 46, 0.12);
  border-color: rgba(47, 158, 107, 0.35);
}

body.page-home .gm-product-img {
  background:
    radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.95), transparent 60%),
    linear-gradient(180deg, #f8fcfa, #eef7f2);
}

body.page-home .gm-product-img img {
  transition: transform 0.4s ease;
}

body.page-home .gm-product-card:hover .gm-product-img img {
  transform: scale(1.06);
}

body.page-home .gm-sale-badge {
  background: linear-gradient(135deg, var(--orchard-ripe), var(--orchard-berry));
  border-radius: 999px;
  letter-spacing: 0.04em;
}

body.page-home .gm-product-btn {
  background: var(--orchard-mist);
  color: var(--orchard-leaf);
  border-radius: 999px;
  font-weight: 700;
}

body.page-home .gm-product-card:hover .gm-product-btn,
body.page-home .gm-product-btn:hover {
  background: linear-gradient(135deg, var(--orchard-leaf-mid), var(--orchard-canopy));
  color: #fff;
}

body.page-home .gm-price.is-sale {
  color: var(--orchard-ripe);
}

/* ---------- Promo cards ---------- */
body.page-home .gm-promos {
  padding: 8px 0 56px;
}

body.page-home .gm-promo-card {
  border-radius: 28px;
  min-height: 180px;
  padding: 30px 26px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 16px 32px rgba(15, 61, 46, 0.08);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

body.page-home .gm-promo-card::after {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 180px;
  height: 180px;
  border-radius: 40% 60% 55% 45%;
  background: rgba(255, 255, 255, 0.28);
  animation: orchardBlob 8s ease-in-out infinite;
}

body.page-home .gm-promo-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 24px 44px rgba(15, 61, 46, 0.14);
}

body.page-home .gm-promo-card h3,
body.page-home .gm-promo-card p,
body.page-home .gm-promo-discount,
body.page-home .gm-promo-price,
body.page-home .gm-promo-tag {
  position: relative;
  z-index: 1;
}

body.page-home .gm-promo-card h3 {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--orchard-leaf);
  max-width: 14ch;
}

body.page-home .gm-promo-tag {
  background: var(--orchard-leaf);
  color: #fff8ef;
  border-radius: 999px;
  padding: 4px 10px;
}

body.page-home .gm-promo-tag-sale {
  background: var(--orchard-berry);
}

body.page-home .gm-promo-discount,
body.page-home .gm-promo-price {
  font-family: var(--font-display);
  background: linear-gradient(120deg, var(--orchard-ripe), var(--orchard-berry));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

body.page-home .gm-promo-mint {
  background: linear-gradient(145deg, #c8f0dc, #8fd9b5 55%, #6ec89a);
}
body.page-home .gm-promo-lavender {
  background: linear-gradient(145deg, #ffd3c4, #f7b59a 55%, #e76f51);
}
body.page-home .gm-promo-sage {
  background: linear-gradient(145deg, #fff0a8, #f4d35e 50%, #f4a261);
}

/* ---------- Category columns ---------- */
body.page-home .gm-col-block {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--orchard-line);
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(15, 61, 46, 0.05);
}

body.page-home .gm-col-head {
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(90deg, var(--orchard-canopy), transparent) 1;
  margin-bottom: 14px;
}

body.page-home .gm-col-head h3 {
  color: var(--orchard-leaf);
  font-weight: 800;
}

body.page-home .gm-col-head a {
  color: var(--orchard-leaf-mid);
  font-weight: 600;
}

body.page-home .gm-product-row {
  border: 1px solid transparent;
  background: linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(47, 158, 107, 0.25), rgba(244, 162, 97, 0.2)) border-box;
  border-radius: 16px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.page-home .gm-product-row:hover {
  transform: translateX(4px);
  box-shadow: 0 10px 22px rgba(15, 61, 46, 0.1);
}

/* ---------- Carousel ---------- */
body.page-home .gm-carousel-btn {
  background: var(--orchard-leaf);
  color: #fff;
  border: 0;
  box-shadow: 0 10px 22px rgba(15, 61, 46, 0.25);
}

body.page-home .gm-carousel-btn:hover {
  background: var(--orchard-sun);
  color: var(--orchard-leaf);
}

/* ---------- Testimonials ---------- */
body.page-home .gm-testimonial {
  border: 0;
  border-radius: 24px;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.95), rgba(232, 246, 239, 0.9));
  box-shadow: 0 14px 30px rgba(15, 61, 46, 0.08);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
}

body.page-home .gm-testimonial::before {
  content: "“";
  position: absolute;
  top: 8px;
  right: 18px;
  font-family: var(--font-display);
  font-size: 4rem;
  line-height: 1;
  color: rgba(47, 158, 107, 0.18);
}

body.page-home .gm-testimonial:hover {
  transform: translateY(-5px);
}

body.page-home .gm-testimonial p {
  color: var(--orchard-soft);
}

body.page-home .gm-star.is-filled {
  color: var(--orchard-sun);
}

/* ---------- Duo banners ---------- */
body.page-home .gm-banner-duo {
  padding: 0 0 64px;
}

body.page-home .gm-banner-card {
  border-radius: 28px;
  padding: 36px 30px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 18px 36px rgba(15, 61, 46, 0.1);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

body.page-home .gm-banner-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, 0.28) 50%, transparent 60%);
  transform: translateX(-120%);
  transition: transform 0.7s ease;
}

body.page-home .gm-banner-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 48px rgba(15, 61, 46, 0.16);
}

body.page-home .gm-banner-card:hover::before {
  transform: translateX(120%);
}

body.page-home .gm-banner-card h3 {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--orchard-leaf);
  position: relative;
  z-index: 1;
}

body.page-home .gm-banner-card p,
body.page-home .gm-banner-card .gm-promo-tag,
body.page-home .gm-banner-card .gm-promo-price,
body.page-home .gm-banner-card .gm-promo-discount {
  position: relative;
  z-index: 1;
}

body.page-home .gm-banner-cream {
  background:
    radial-gradient(circle at 90% 20%, rgba(244, 211, 94, 0.55), transparent 40%),
    linear-gradient(135deg, #fff6d6, #d8f0e0);
}

body.page-home .gm-banner-pink {
  background:
    radial-gradient(circle at 85% 25%, rgba(255, 255, 255, 0.45), transparent 42%),
    linear-gradient(135deg, #ffd0de, #f4a261 120%);
}

/* ---------- Motion utilities (same layout) ---------- */
@keyframes orchardRise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes orchardFloat {
  0%, 100% { transform: rotate(-1.5deg) translateY(0); }
  50% { transform: rotate(-1.5deg) translateY(-10px); }
}

@keyframes orchardOrb {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@keyframes orchardPulse {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes orchardDrift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-40px, 18px, 0); }
}

@keyframes orchardIconBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes orchardBar {
  0%, 100% { width: 64px; opacity: 1; }
  50% { width: 88px; opacity: 0.75; }
}

@keyframes orchardBlob {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(-12px, 10px) rotate(18deg); }
}

@keyframes orchardReveal {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}

body.page-home .gm-features,
body.page-home .gm-categories,
body.page-home .gm-section,
body.page-home .gm-promos,
body.page-home .gm-banner-duo {
  animation: orchardReveal 0.7s ease both;
}

body.page-home .gm-categories { animation-delay: 0.05s; }
body.page-home .gm-section:nth-of-type(1) { animation-delay: 0.08s; }
body.page-home .gm-promos { animation-delay: 0.1s; }

@media (prefers-reduced-motion: reduce) {
  body.page-home *,
  body.page-home *::before,
  body.page-home *::after {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 900px) {
  body.page-home .gm-features {
    margin-top: 0;
    padding: 20px 0 0;
  }

  body.page-home .gm-features-grid {
    border-radius: 18px;
  }

  body.page-home .gm-hero-slide {
    padding: 36px 0 44px;
  }

  body.page-home .gm-hero-visual-card {
    transform: none;
    animation: none;
  }
}
