/* Pear Lai homepage: mountain gifts, clear shopping, deliberate Chinese type. */
.storefront-home {
  --paper: #fff; --cream: #f0f4ec; --pine: #4c6142; --ink: #303c2c;
  --line: #dfe5d9; --forest: #193e32; --fruit-gold: #d5be7b;
  --home-display: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
  background: var(--paper);
}
.storefront-home .page-width, .storefront-home .site-header, .storefront-home .site-footer { width: min(1240px, calc(100% - 96px)); }
.storefront-home .site-header { min-height: 100px; border: 0; padding-block: 16px; }
.storefront-home .site-header nav { gap: 32px; font-size: .9rem; }
.storefront-home .site-header nav a { padding-block: 10px; }
.storefront-home .site-header .brand-art { width: 202px; }
.storefront-home .seasonal-hero { width: calc(100% - 32px); max-width: 1800px; margin: 0 auto 100px; position: relative; min-height: 640px; display: grid; grid-template-columns: 0.85fr 1.25fr; border: 0; border-radius: 0; background: #faf9f6; color: var(--ink); overflow: hidden; }
.home-feature-photo { grid-column: 2; grid-row: 1; min-width: 0; align-self: stretch; }
.home-feature-photo picture { display: block; height: 100%; }
.home-feature-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 52% center; }
.home-photo-fallback { display: grid; place-items: center; height: 100%; min-height: 400px; color: var(--fruit-gold); font: 2rem var(--home-display); }
.storefront-home .seasonal-copy { grid-column: 1; grid-row: 1; padding: 72px 16px 110px max(40px, calc((100vw - 1240px) / 2 - 16px)); background: transparent; align-items: flex-start; z-index: 1; }
.hero-origin { font-size: .86rem; letter-spacing: .2em; color: #68715e; margin-bottom: 30px; }
.storefront-home .seasonal-copy h1 { font-family: var(--home-display); font-weight: 400; font-size: clamp(3rem, 4.7vw, 4.8rem); line-height: 1.3; letter-spacing: .025em; color: var(--forest); max-width: none; margin: 0 0 30px; }
.storefront-home .season-intro { color: #596352; line-height: 1.9; font-size: 1rem; margin-bottom: 28px; }
.storefront-home .button { border-radius: 0; min-height: 48px; padding: 14px 24px; font-family: var(--body); transition: background-color .18s ease, color .18s ease; }
.storefront-home .seasonal-copy .button { background: var(--pine); border: 1px solid var(--pine); color: white; display: inline-flex; gap: 36px; align-items: center; }
.storefront-home .seasonal-copy .button:hover { background: #354a2e; }
.hero-season-note { position: absolute; bottom: 26px; left: max(40px, calc((100vw - 1240px) / 2 - 16px)); right: 40px; display: flex; align-items: center; gap: 22px; font-size: .8rem; color: #596352; }
.hero-season-note strong { font-weight: 500; color: var(--pine); }
.hero-season-note span:last-child { margin-left: auto; }
.storefront-home h2 { font: 400 clamp(1.8rem, 3vw, 2.8rem)/1.5 var(--home-display); color: var(--forest); letter-spacing: .035em; }
.storefront-home .harvest-section { padding: 0 0 96px; }
.storefront-home .section-heading { align-items: center; gap: 32px; margin-bottom: 38px; }
.storefront-home .section-heading h2 { margin: 0; }
.storefront-home .section-heading p { color: #596352; font-size: .95rem; margin: 0; line-height: 1.9; }
.home-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 40px; }
.home-product-card { min-width: 0; display: grid; grid-template-columns: 1fr; align-content: start; }
.home-product-card .product-photo-link { display: block; width: 100%; overflow: hidden; background: var(--cream); }
.home-product-card .product-cover { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; display: block; border-radius: 0; transition: transform .35s ease; }
@media (hover: hover) { .home-product-card .product-photo-link:hover .product-cover { transform: scale(1.025); } }
.home-product-card .product-stamp { width: 100%; aspect-ratio: 4/3; border-radius: 0; background: var(--cream); min-height: 0; }
.home-product-card .product-stamp > span:last-child { font: .85rem var(--body); color: #596352; letter-spacing: 0; }
.home-product-card .product-copy { padding: 24px 0 20px; }
.home-product-card .spec-label { color: #596352; font: .85rem var(--body); letter-spacing: .04em; }
.home-product-card .product-copy h3 { font: 500 1.5rem/1.5 var(--home-display); margin: 10px 0; }
.home-product-card .product-copy h3 a { text-decoration: none; }
.home-product-card .product-copy h3 a:hover { text-decoration: underline; }
.home-product-card .product-copy p { color: #596352; font-size: .95rem; line-height: 1.85; }
.home-product-card .product-action { display: grid; grid-template-columns: 1fr auto; align-items: center; justify-items: stretch; gap: 14px; margin-top: auto; text-align: left; }
.home-product-card .price { font: 500 1.3rem var(--body); color: var(--forest); }
.home-product-card .text-link { grid-column: 1 / -1; justify-self: start; padding-block: 8px; font-size: .85rem; }
.home-product-card .stock-note { display: block; margin-top: 8px; }
.home-product-featured { grid-column: 1/-1; grid-template-columns: 1.15fr 1fr; column-gap: 64px; background: #f0f4ec; }
.home-product-featured > .product-photo-link, .home-product-featured > .product-stamp { grid-row: 1/3; }
.home-product-featured .product-cover { height: 100%; min-height: 430px; aspect-ratio: 1.2; }
.home-product-featured .product-copy { padding: 52px 48px 24px 0; align-self: end; }
.home-product-featured .product-copy h3 { font-size: clamp(1.65rem, 2.6vw, 2.3rem); margin-block: 16px; }
.home-product-featured .product-action { padding: 0 48px 40px 0; margin-top: 0; align-self: start; }
.home-product-featured .product-stamp { height: 100%; aspect-ratio: auto; min-height: 360px; }
.home-assurance { padding: 40px 0 48px; border-block: 1px solid var(--line); margin-bottom: 88px; }
.home-assurance h2 { margin-bottom: 32px; }
.home-assurance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; }
.home-assurance h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 12px; }
.home-assurance p { font-size: .93rem; line-height: 1.9; color: #596352; }
.storefront-home .fruit-calendar { padding-bottom: 90px; }
.storefront-home .calendar-heading { padding: 0; border: 0; }
.storefront-home .fruit-calendar-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.storefront-home .fruit-season-card { min-height: 180px; padding: 26px 22px; border: 0; border-radius: 0; background: var(--cream); }
.storefront-home .fruit-season-card::before { content: none; }
.storefront-home .fruit-season-card[data-status="ON_SALE"] { background: var(--forest); }
.storefront-home .fruit-season-card[data-status="ON_SALE"] :is(h3, .fruit-status, .fruit-season-range, .text-link) { color: white; }
.storefront-home .fruit-season-range { font: .85rem var(--body); color: #596352; letter-spacing: 0; }
.storefront-home .fruit-season-card h3 { font: 500 1.4rem var(--home-display); margin: 8px 0 18px; }
.storefront-home .fruit-status { font-size: .82rem; margin-bottom: 16px; }
.storefront-home .fruit-status > span:first-child { background: #819a67; }
.home-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 9%; padding-bottom: 96px; }
.story-photo { margin: 0; position: relative; }
.story-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; }
.story-photo figcaption { margin-top: 12px; font-size: .78rem; color: #596352; }
.story-intro { font-size: .88rem; color: #596352; margin-bottom: 22px; }
.story-copy h2 { font-size: clamp(2rem, 3.4vw, 3.4rem); line-height: 1.65; margin-bottom: 28px; }
.story-copy > p:not(.story-intro) { max-width: 32em; font-size: .95rem; line-height: 2; color: #596352; }
.story-copy .text-link { display: inline-block; margin-top: 16px; padding-block: 8px; }
.storefront-home a:focus-visible, .storefront-home button:focus-visible { outline: 3px solid #ad7825; outline-offset: 5px; }
.storefront-home .site-footer { padding-top: 48px; padding-bottom: 40px; }
@media (max-width: 1000px) {
  .storefront-home .page-width, .storefront-home .site-header, .storefront-home .site-footer { width: calc(100% - 64px); }
  .storefront-home .seasonal-hero { min-height: 570px; }
  .storefront-home .seasonal-copy { padding-left: 32px; }
  .hero-season-note { left: 32px; right: 32px; }
  .home-product-featured { column-gap: 32px; }
  .home-product-featured .product-copy { padding: 32px 28px 20px 0; }
  .home-product-featured .product-action { padding: 0 28px 28px 0; grid-template-columns: 1fr; }
  .home-product-featured .product-cover { min-height: 420px; }
  .home-assurance-grid { gap: 28px; }
}
@media (max-width: 700px) {
  .storefront-home .page-width, .storefront-home .site-header, .storefront-home .site-footer { width: calc(100% - 40px); }
  .storefront-home .site-header { flex-direction: column; gap: 4px; padding: 12px 0; min-height: auto; }
  .storefront-home .site-header .brand-art { width: 168px; }
  .storefront-home .site-header nav { width: 100%; gap: 4px 12px; justify-content: space-between; font-size: .8rem; flex-wrap: wrap; }
  .storefront-home .site-header nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .storefront-home .seasonal-hero { width: calc(100% - 16px); min-height: 0; grid-template-columns: 1fr; margin-bottom: 56px; }
  .storefront-home .seasonal-copy { grid-row: 1; grid-column: 1; padding: 34px 28px 0; }
  .hero-origin { margin-bottom: 20px; font-size: .78rem; }
  .storefront-home .seasonal-copy h1 { font-size: clamp(2.7rem, 10.6vw, 4.2rem); margin-bottom: 20px; }
  .storefront-home .season-intro { font-size: .9rem; margin-bottom: 20px; }
  .storefront-home .seasonal-copy .button { min-height: 48px; padding: 12px 20px; }
  .home-feature-photo { grid-row: 2; grid-column: 1; }
  .home-feature-photo img { width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; }
  .home-photo-fallback { min-height: 230px; }
  .hero-season-note { position: static; grid-column: 1; padding: 14px 24px 24px; flex-wrap: wrap; gap: 6px 16px; font-size: .75rem; }
  .hero-season-note span:last-child { margin-left: 0; }
  .storefront-home .section-heading { display: block; margin-bottom: 26px; }
  .storefront-home .section-heading h2 { margin-bottom: 14px; }
  .storefront-home h2 { font-size: 1.85rem; }
  .home-product-grid { grid-template-columns: 1fr; gap: 36px; }
  .home-product-featured { display: grid; grid-template-columns: 1fr; column-gap: 0; background: var(--cream); }
  .home-product-featured > .product-photo-link, .home-product-featured > .product-stamp { grid-row: auto; }
  .home-product-featured .product-cover, .home-product-card .product-cover { min-height: 0; height: auto; aspect-ratio: 4/3; }
  .home-product-featured .product-stamp { min-height: 0; aspect-ratio: 4/3; }
  .home-product-featured .product-copy { padding: 24px 24px 20px; }
  .home-product-featured .product-action { padding: 0 24px 24px; grid-template-columns: 1fr; }
  .home-product-card .product-action { grid-template-columns: 1fr; gap: 14px; }
  .home-product-card .button { width: 100%; }
  .home-product-card .text-link { justify-self: start; min-height: 44px; }
  .storefront-home .harvest-section { padding-bottom: 56px; }
  .home-assurance { padding-block: 32px; margin-bottom: 48px; }
  .home-assurance-grid { grid-template-columns: 1fr; gap: 14px; }
  .storefront-home .fruit-calendar { padding-bottom: 48px; }
  .storefront-home .fruit-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .storefront-home .fruit-season-card { min-height: 180px; padding: 22px 16px; }
  .storefront-home .fruit-season-card h3 { font-size: 1.15rem; }
  .home-story { grid-template-columns: 1fr; gap: 32px; padding-bottom: 56px; }
  .story-photo img { aspect-ratio: 1; object-position: center 35%; }
  .story-copy h2 { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .storefront-home *, .storefront-home *::before, .storefront-home *::after { transition: none !important; animation: none !important; }
  html:has(.storefront-home) { scroll-behavior: auto; }
}

/* Review pass: keep purchase controls aligned across differing descriptions. */
.home-product-card:not(.home-product-featured) { grid-template-rows: auto 1fr auto; }
.home-product-featured .product-action form .button { width: 100%; }
@media (min-width: 701px) and (max-width: 1000px) {
  .home-product-card:not(.home-product-featured) .product-action { grid-template-columns: 1fr; }
  .home-product-card:not(.home-product-featured) .product-action .button { width: 100%; }
}

/* Keep the entire still-life visible on narrow screens. */
@media (max-width:700px) { .home-feature-photo { margin-top: 28px; } .home-feature-photo img { aspect-ratio: 1.5; } .hero-season-note { padding-top: 20px; } }

/* Keep seasonal status on the quiet text surface, not over photography. */
@media (min-width:701px) { .hero-season-note { right: auto; max-width: 38%; flex-wrap: wrap; gap: 8px 16px; } .hero-season-note span:last-child { margin-left: 0; } }

/* The brand headline supports seasonally configured text, not a fixed pear slogan. */
.storefront-home .seasonal-copy h1 { max-width: 7em; }
.storefront-home .season-intro { max-width: 27em; }
.story-photo figcaption { line-height: 1.8; }

/* Quality review: Chinese wrapping and touch/focus clearance. */
.storefront-home :is(a, button) { touch-action: manipulation; }
.storefront-home .home-product-card { min-width: 0; }
.storefront-home .price { font-variant-numeric: tabular-nums; }
.storefront-home :is(section[id], a, button) { scroll-margin-block: 24px 90px; }
@media (max-width: 700px) {
  .storefront-home .seasonal-copy h1 { font-size: clamp(2rem, 8.7vw, 3.4rem); }
  .storefront-home:has(.mobile-cart) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}
