/* Farm animals and products repeating across the entire storefront. */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    background-color: #f8f5ec;
    background-image:
        url('farm-pattern.svg'),
        radial-gradient(ellipse at 0 25%, #dbe2c53b, transparent 48%),
        radial-gradient(ellipse at 100% 65%, #e6d4aa30, transparent 45%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23877450' opacity='.045' filter='url(%23grain)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");
    background-size: 800px 800px, 100% 1400px, 100% 1400px, 160px 160px;
    background-repeat: repeat;
}
.coupon-feedback{padding:12px 14px;border:1px solid;border-radius:7px;font-size:13px;margin:12px 0}.coupon-feedback.is-error{color:#962f2b;background:#fcece8;border-color:#e7aaa6}.coupon-feedback.is-success{color:#216039;background:#e1f3e6;border-color:#9dcead}
.shop-toast{pointer-events:auto}.shop-toast-cart{display:block;margin-top:10px;padding:8px 12px;background:#fff;color:#304c34;border-radius:5px;text-align:center;font-weight:600;text-decoration:none}.shop-toast-cart:hover{background:#e7efdf}
.shop-toast{left:auto;right:24px;bottom:24px;transform:translateY(15px);max-width:min(420px,calc(100vw - 32px))}.shop-toast.visible{transform:translateY(0)}@media(max-width:760px){.shop-toast{right:16px;bottom:16px}}
.header-account-actions .account-link,.header-account-actions .account-link:hover,.header-account-actions .account-link span,.header-account-actions .account-link strong,.header-account-actions .account-link small{text-decoration:none}.header-account-actions .account-link svg{flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}
.header-account-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-account-actions .account-link{display:flex;align-items:center;gap:9px;margin:0;padding:9px 13px;border:1px solid #cbd1c2;border-radius:24px;font-size:13px;line-height:1.3}.header-account-actions .account-link.is-signed-in{background:#e5eddb;border-color:#92a780;color:#304c34}.header-account-actions .account-link strong{display:block;font-size:13px}.header-account-actions .account-link small{display:block;font-size:10px;margin-top:3px}.header-account-actions .account-link:hover{background:#dce8cf}.header-account-actions .basket{margin:0}@media(max-width:760px){.header-account-actions{gap:8px;margin-left:auto}.header-account-actions .account-link{padding:8px 10px;font-size:12px}.header-account-actions .basket{font-size:12px}}
body > header, body > main, body > footer, body > .topline {
    flex-shrink: 0;
}
body > main.container {
    width: 100%;
    margin-block: 0;
}
.checkout-grid > section {
    min-width: 0;
    padding: clamp(18px, 2.5vw, 30px);
    background: #fff;
    border: 1px solid #b9c5aa;
    border-radius: 16px;
    box-shadow: 0 3px 12px #263d2c08;
}
.checkout-grid > section > form > .cart-row:first-of-type { padding-top: 0; }
.checkout-grid textarea[name="note"] {
    height: 120px;
    min-height: 120px;
    max-height: 120px;
    resize: none;
    overflow-y: auto;
}
.header { background-color: #fcfaf4f5; }
.summary, .account-overview > a, .account-overview > div { background-color: #edf0e1; }
.account-page .panel, .customer-login { background-color: #fffdf8; }
.account-navigation,
.account-page > .section-heading {
    padding: clamp(18px, 2.5vw, 28px);
    margin-bottom: 25px;
    background: #fff;
    border: 1px solid #b9c5aa;
    border-radius: 16px;
    box-shadow: 0 3px 12px #263d2c08;
}
.account-navigation .account-tabs { margin-bottom: 0; }
.account-navigation > p { margin: 20px 0 0; }
.account-page > .section-heading > div { min-width: 0; }
.account-page > .section-heading > div > p { margin-bottom: 0; }
.product-grid > .product {
    min-width: 0;
    padding: 14px;
    border: 1px solid #b9c5aa;
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 3px 12px #263d2c08;
    transition: border-color .18s, box-shadow .18s;
}
.product-grid > .product:hover,
.product-grid > .product:focus-within {
    border-color: #7e956c;
    box-shadow: 0 5px 18px #263d2c12;
}
.product-grid > .product h3 { overflow-wrap: anywhere; }
.product-stock {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin: 0 0 14px;
    font-size: 12px;
    color: var(--green);
}
.stock-warning {
    padding: 2px 8px;
    border: 1px solid #d8bd83;
    border-radius: 20px;
    background: #fff2d5;
    color: #785019;
    font-weight: 600;
}
.product-grid > .product .product-details-link { margin-bottom: 4px; }
.product-detail-info {
    padding: clamp(20px, 3vw, 36px);
    background: #fff;
    border: 1px solid #b9c5aa;
    border-radius: 16px;
    box-shadow: 0 3px 12px #263d2c08;
}
.product-detail-info .button { max-width: 100%; min-width: 0; }
body > footer {
    margin-top: auto;
    background: var(--green);
    color: var(--paper);
    border-top: 1px solid var(--ink);
}
@media (max-width: 760px) {
    body { background-size: 560px 560px, 100% 1000px, 100% 1000px, 160px 160px; }
    .product-grid > .product { padding: 10px; border-radius: 12px; }
}
@media print {
    body, body > main { background: white; }
}
