/* Photography and catalogue presentation. No checkout/account/footer selectors. */
.aw-home .aw-section { padding-block: clamp(2.5rem, 6vw, 5rem); }
.aw-home .aw-hero-grid { gap: clamp(1.5rem, 4vw, 4rem); padding-block: clamp(1.5rem, 4vw, 3rem) clamp(2.5rem, 5vw, 4rem); }
.aw-home .aw-hero-copy { min-width: 0; }
.aw-home .aw-hero-copy h1 { font-size: clamp(2.35rem, 4.5vw, 4.3rem); line-height: 1.08; }
.aw-home .aw-hero-copy::before { content: ""; display: block; width: 3rem; border-top: 3px solid var(--aw-terra); margin-bottom: 1.5rem; }
.aw-home-photo { position: relative; min-width: 0; }
.aw-home .aw-home-photo-hero { aspect-ratio: 4 / 3; border-radius: 5rem var(--aw-radius) var(--aw-radius); }
.aw-home-photo-hero img { object-position: var(--aw-focus-mobile-x, 50%) var(--aw-focus-mobile-y, 50%); }
.aw-photo-empty { background: var(--aw-sand); position: relative; }
.aw-photo-empty::after { content: ""; position: absolute; inset: 1.25rem; border: 1px solid var(--aw-line); background-image: linear-gradient(45deg, transparent 48%, #3446370a 49%, #3446370a 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, #3446370a 49%, #3446370a 51%, transparent 52%); background-size: 3rem 3rem; }
.aw-home .aw-usp-list { gap: 1.25rem; padding-block: 1.5rem; }
.aw-home .aw-tax-card { box-shadow: 0 4px 18px #282c2905; }
.aw-home .aw-tax-card .aw-photo { aspect-ratio: 3 / 2; }
.aw-home .aw-tax-card .aw-card-copy { padding: clamp(1rem, 2vw, 1.6rem); }
.aw-home .aw-story-grid { border-block: 1px solid var(--aw-line); }
.aw-home .aw-story-grid > div:last-child { max-width: 34rem; }
.aw-home-photo-packages { aspect-ratio: 3 / 1; margin-bottom: 2rem; }
.aw-home-photo-packages.aw-photo-empty { display: none; }
.aw-home .aw-discover-callout { display: grid; gap: 1.5rem 2.5rem; padding: clamp(1.25rem, 3vw, 2.5rem); border: 0; }
.aw-home .aw-discover-callout > .button { justify-self: start; }
.aw-tasting-teaser { display: grid; gap: 2rem; align-items: center; padding: clamp(1.25rem, 3vw, 2.5rem); }
.aw-tasting-teaser .aw-home-photo { aspect-ratio: 4 / 3; }
.aw-tasting-copy { min-width: 0; }
.aw-tasting-copy > :first-child { margin-top: 0; }
.aw-home .aw-home-business, .aw-home .aw-home-contact { margin-top: 2rem; }

/* Shared product-card layout for archives, terms, search and WooCommerce shortcodes. */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; margin: 0; padding: 0; }
.woocommerce ul.products li.product { display: flex; flex-direction: column; float: none; width: auto; min-width: 0; margin: 0; padding: 0 1rem 1rem; box-sizing: border-box; border: 1px solid var(--aw-sand); border-radius: var(--aw-radius); background: var(--aw-white); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.woocommerce ul.products li.product .aw-image-stage { display: grid; place-items: center; width: auto; height: clamp(14.5rem, 28vw, 18rem); margin: 0 -1rem 1.15rem; padding: 1rem; overflow: hidden; box-sizing: border-box; background: var(--aw-cream); }
.woocommerce ul.products li.product .aw-image-stage > img { display: block !important; visibility: visible !important; opacity: 1 !important; position: relative !important; inset: auto !important; z-index: 1; width: auto !important; height: auto !important; max-width: 72% !important; max-height: 76% !important; margin: auto !important; object-fit: contain !important; object-position: center !important; transform: none !important; }
.woocommerce ul.products li.product .aw-image-stage > .aw-image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--aw-muted); text-align: center; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; min-height: 2.6em; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .product-origin { min-height: 3.2em; line-height: 1.6; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .taste-labels { min-height: 1.6em; }
.woocommerce ul.products li.product .price { margin-top: auto; padding-top: .75rem; }
.woocommerce ul.products li.product .aw-stock-note { min-height: 2.8em; margin: 0 0 .75rem; }
.woocommerce ul.products li.product .button { display: flex; align-items: center; justify-content: center; align-self: stretch; width: 100%; max-width: 100%; min-height: 48px; box-sizing: border-box; text-align: center; white-space: normal; }
.woocommerce ul.products li.product .aw-detail-link { align-self: center; }
@media (max-width: 39.99rem) {
    .woocommerce ul.products li.product .aw-image-stage { height: 15rem; }
    .woocommerce .aw-catalog-results ul.products li.product .aw-image-stage { height: 15rem; }
}
@media (min-width: 48rem) {
    .aw-home .aw-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
    .aw-home .aw-home-photo-hero { aspect-ratio: 5 / 4; }
    .aw-home-photo-hero img { object-position: var(--aw-focus-x, 50%) var(--aw-focus-y, 50%); }
    .aw-tasting-teaser { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .aw-home .aw-discover-callout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .aw-discover-callout .aw-home-photo { grid-row: 1 / span 2; }
    .aw-home .aw-discover-callout > .button { grid-column: 2; }
}
@media (max-width: 47.99rem) {
    .aw-home-photo-packages { aspect-ratio: 16 / 9; }
    .aw-home .aw-usp-list { grid-template-columns: minmax(0, 1fr); }
}
