/* Product cards share a fixed image frame and aligned text/actions. */
.product-thumb-wrap { background:#fff; }
.product-thumb { padding:12px; object-fit:contain; }
.product-info { padding:14px 12px 10px; }
.product-title { font-size:13px; line-height:1.8; min-height:70px; max-height:70px; -webkit-line-clamp:3; margin-bottom:10px; }
.product-price-row { margin-bottom:12px; }
.card-action-btn,.btn-add-cart,.btn-submit,.btn-checkout { font-size:12px!important; font-weight:550; min-height:44px; padding:8px 12px; line-height:1.8; }
.card-action-btn > span { font-size:inherit; }
@media(max-width:767px) {
 .product-info { padding:10px 4px 4px; }
 .product-title { font-size:12px; min-height:65px; max-height:65px; }
 .card-action-btn { padding:8px 5px; font-size:11px!important; }
}

/* Soft photo backdrops: white studio backgrounds blend into the pastel frame. */
.product-card { --photo-tint:#edf3e9; }
.product-card:nth-child(4n+2) { --photo-tint:#f7f0e5; }
.product-card:nth-child(4n+3) { --photo-tint:#eaf1f7; }
.product-card:nth-child(4n+4) { --photo-tint:#f5edee; }
.product-card .product-thumb-wrap {
 background:radial-gradient(ellipse at 50% 36%,#ffffff70 0%,transparent 68%),var(--photo-tint);
 isolation:isolate;
}
.product-card .product-thumb { mix-blend-mode:multiply; }
.gallery-main { background:radial-gradient(ellipse at 50% 35%,#ffffff80,transparent 70%),#edf3e9; isolation:isolate; }
.gallery-main img { mix-blend-mode:multiply; }

/* Compact green masthead; decoration stays behind all navigation controls. */
.site-header.compact-header {
 background:radial-gradient(circle at 7% 130%,#ffffff0b 0 100px,transparent 101px),
 radial-gradient(circle at 80% -100%,#cce6ba10 0 180px,transparent 181px),#164f3e;
 isolation:isolate;
}
.site-header.compact-header::before {
 content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;
 background:radial-gradient(ellipse 100px 85px at 98% 100%,transparent 65%,#cce6ba18 66% 67%,transparent 68%);
}
.compact-header .header-row { min-height:72px;gap:18px; }
.compact-header .logo-icon { width:34px;height:38px;font-size:21px;border-radius:12px 12px 12px 4px; }
.compact-header .primary-menu a { padding:8px 10px; }

/* A shorter footer with quiet geometry and evenly spaced link columns. */
.site-footer {
 position:relative;isolation:isolate;margin-top:28px;padding-top:30px;
 background:radial-gradient(circle at 0% 100%,#cce6ba09 0 170px,transparent 171px),
 radial-gradient(circle at 100% 0%,#cce6ba08 0 120px,transparent 121px),#143c30;
 border-top:3px solid #c9ddac;
}
.site-footer .footer-grid { gap:24px;margin-bottom:22px;grid-template-columns:1.5fr 1fr 1.3fr 1.1fr; }
.site-footer .header-brand { font-size:15px;gap:10px;margin-bottom:10px!important; }
.site-footer .logo-icon { width:32px;height:36px;min-width:32px;font-size:20px;border-radius:10px 10px 10px 3px; }
.site-footer .footer-col > p { font-size:12px!important;line-height:1.9!important;margin-bottom:10px!important;color:#c8d7cf!important;max-width:36ch; }
.site-footer .footer-col > div[style*="font-size"] { font-size:12px!important;gap:5px!important; }
.site-footer .footer-col h4 { font-size:12px;line-height:1.9;margin-bottom:12px; }
.site-footer .footer-links { gap:0; }
.site-footer .footer-links a { display:flex;align-items:center;min-height:32px;font-size:12px;line-height:1.8; }
.site-footer .footer-bottom { padding-block:14px;font-size:10px;gap:12px; }
.site-footer a:focus-visible { outline:2px solid #d9edb8;outline-offset:3px;border-radius:3px; }
@media(min-width:768px) and (max-width:1023px) {
 .site-footer .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:767px) {
 .site-footer { margin-top:20px;padding-top:24px; }
 .site-footer .footer-grid { grid-template-columns:1fr 1fr;gap:20px 16px;margin-bottom:14px; }
 .site-footer .footer-col:first-child { grid-column:1/-1; }
 .site-footer .footer-col > p { max-width:46ch; }
 .site-footer .footer-links a { min-height:44px;font-size:11px; }
 .site-footer .footer-col:last-child .footer-links { gap:0 16px; }
 .site-footer .footer-bottom { gap:4px;padding-block:12px; }
 .site-footer .footer-bottom a { display:inline-flex;align-items:center;min-height:44px; }
}
@media(max-width:600px) {
 .compact-header .header-row { min-height:64px;gap:10px; }
 .compact-header .logo-icon { width:28px;height:32px;font-size:19px; }
}
