/*
 * R11 design extension
 * - Reliable custom single-product gallery so featured/gallery images always show.
 * - More premium surface treatment across key pages.
 * - Extra open-source maple-leaf decoration used tastefully site-wide.
 */

/* =========================
   Single product gallery
   ========================= */
.product-main-media-v10{overflow:hidden!important;isolation:isolate!important}
.product-main-media-v10:before{width:min(560px,82%)!important;transform:translate(-50%,-47%)!important;background:radial-gradient(circle at 50% 50%,rgba(255,248,233,.96),rgba(216,158,24,.08))!important;border-color:rgba(216,158,24,.16)!important}
.product-main-media-v10:after{opacity:.042!important;right:26px!important;top:32px!important;width:138px!important;height:138px!important}
.mhf-product-gallery{position:relative;z-index:3;display:flex;flex-direction:column;gap:16px;flex:1 1 auto;width:100%}
.mhf-product-gallery-stage-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:565px;padding:18px 62px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.16));box-shadow:inset 0 0 0 1px rgba(255,255,255,.38)}
.mhf-product-gallery-stage{display:flex;align-items:center;justify-content:center;width:100%;min-height:525px}
.mhf-product-gallery-stage img{display:block;width:auto;height:auto;max-width:min(100%,500px);max-height:530px;object-fit:contain;object-position:center;filter:drop-shadow(0 34px 36px rgba(9,36,27,.17));transform:translateZ(0)}
.mhf-gallery-nav{position:absolute;top:50%;translate:0 -50%;width:44px;height:44px;border-radius:999px;border:1px solid rgba(9,36,27,.12);background:rgba(255,255,255,.92);color:var(--green);font-size:30px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 24px rgba(9,36,27,.10);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;z-index:4}
.mhf-gallery-nav:hover{transform:translateY(-2px);box-shadow:0 18px 28px rgba(9,36,27,.14);background:#fff}
.mhf-gallery-nav.prev{left:16px}
.mhf-gallery-nav.next{right:16px}
.mhf-product-gallery-thumbs{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.mhf-product-thumb{width:82px;height:82px;padding:6px;border:1px solid rgba(9,36,27,.10);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 10px 22px rgba(9,36,27,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.mhf-product-thumb:hover{transform:translateY(-2px);border-color:rgba(216,158,24,.46);background:#fff}
.mhf-product-thumb img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:none!important}
.mhf-product-thumb.is-active{border-color:rgba(216,158,24,.72);box-shadow:0 14px 28px rgba(9,36,27,.10), inset 0 0 0 2px rgba(216,158,24,.28);background:#fff}
.product-media-caption{position:relative;z-index:3}
.product-main-media-v10 .woocommerce-product-gallery,
.product-main-media-v10 .woocommerce-product-gallery__trigger{display:none!important}
.product-commerce-line,.product-purchase-card,.product-details-card,.product-help-card,.product-fact,.product-assurance-item{backdrop-filter:blur(8px)}
.product-heading-block h1{max-width:11ch}
.product-purchase-card{position:relative;overflow:hidden}
.product-purchase-card:after{content:'';position:absolute;right:-14px;bottom:-18px;width:100px;height:100px;background:var(--gold);opacity:.045;-webkit-mask:url('../decor/maple-leaf.svg') center/contain no-repeat;mask:url('../decor/maple-leaf.svg') center/contain no-repeat;transform:rotate(-14deg);pointer-events:none}
.product-details-card:after,.product-help-card:after{content:'';position:absolute;inset:auto auto -50px -40px;width:120px;height:120px;background:var(--green);opacity:.035;-webkit-mask:url('../decor/maple-leaf.svg') center/contain no-repeat;mask:url('../decor/maple-leaf.svg') center/contain no-repeat;transform:rotate(14deg);pointer-events:none}

/* =========================
   Stronger page polish
   ========================= */
.page-hero,.v4-world,.v4-closing-panel,.product-card,.faq-item,.contact-info,.form-aside,.application-step,.wholesale-product-tile,.fulfilment-item,.scope-item,.vision-cell,.name-row,.shipping-notice,.newsletter-inner,.role-row{position:relative;overflow:hidden;isolation:isolate}
.page-hero:before,.product-card:after,.faq-item:after,.contact-info:after,.form-aside:after,.application-step:after,.wholesale-product-tile:after,.fulfilment-item:after,.scope-item:after,.vision-cell:after,.name-row:after,.shipping-notice:after,.newsletter-inner:after,.role-row:after{content:'';position:absolute;pointer-events:none;-webkit-mask:url('../decor/maple-leaf.svg') center/contain no-repeat;mask:url('../decor/maple-leaf.svg') center/contain no-repeat}
.page-hero:before{right:-28px;top:-28px;width:150px;height:150px;background:var(--gold);opacity:.05;transform:rotate(12deg)}
.product-card:after{right:10px;top:10px;width:56px;height:56px;background:var(--green);opacity:.04;transform:rotate(10deg)}
.faq-item:after,.contact-info:after,.form-aside:after,.application-step:after,.wholesale-product-tile:after,.fulfilment-item:after,.scope-item:after,.vision-cell:after,.name-row:after,.shipping-notice:after,.newsletter-inner:after,.role-row:after{right:-12px;bottom:-12px;width:92px;height:92px;background:var(--gold);opacity:.038;transform:rotate(-9deg)}

.page-hero,.v4-world,.v4-closing-panel,.product-card,.faq-item,.contact-info,.form-aside,.application-step,.wholesale-product-tile,.fulfilment-item,.scope-item,.vision-cell,.name-row,.shipping-notice,.newsletter-inner,.role-row{box-shadow:0 18px 45px rgba(9,36,27,.06),0 2px 0 rgba(255,255,255,.45) inset}
.v4-world,.v4-closing-panel{border-color:rgba(9,36,27,.08)!important}
.page-hero-copy h1,.section-heading h2,.v4-section-intro h2,.product-heading-block h1{letter-spacing:-.04em}
.page-hero-copy .lede,.section-heading p,.v4-section-intro p,.contact-detail,.contact-info p,.faq-a,.product-subtitle,.product-purchase-note{color:rgba(20,32,25,.72)!important}
.section-green .section-heading p,.section-green .lede,.v4-brand-copy p,.v4-brand-copy .link-arrow,.v4-brand-story .v4-values-row span,.v4-private-panel p{color:rgba(255,255,255,.82)!important}
.v4-store-panel p{color:#42544a!important}

.v4-world,.v4-closing-panel{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.v4-world:hover,.v4-closing-panel:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(9,36,27,.12)}
.product-card{border-radius:24px!important}
.product-body{position:relative;z-index:1}
.v4-shop-section .product-card,.related-products-v10 .product-card{background:linear-gradient(180deg,#fff,#fbf7ef)!important;border:1px solid rgba(9,36,27,.08)!important}
.v4-shop-section .product-media,.related-products-v10 .product-media{background:radial-gradient(circle at 50% 38%,rgba(255,250,241,.98),rgba(246,231,196,.52))!important;border-radius:22px!important}
.v4-shop-section .product-media img,.related-products-v10 .product-media img{filter:drop-shadow(0 24px 28px rgba(9,36,27,.14))!important}

.v4-brand-art,.private-label-visual,.page-hero-visual{border-radius:34px!important;overflow:hidden!important;box-shadow:0 24px 60px rgba(9,36,27,.14)!important}
.page-hero-grid,.v4-dual-wrap,.contact-layout,.form-layout,.faq-layout,.vision-split{gap:clamp(22px,3.2vw,42px)!important}
.role-row,.fulfilment-item,.application-step,.scope-item,.vision-cell,.name-row,.shipping-notice,.contact-info,.form-aside,.faq-item{border:1px solid rgba(9,36,27,.08)!important;border-radius:24px!important;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(251,246,235,.96))!important}
.section-green .role-row,.section-green .fulfilment-item,.section-green .application-step,.section-green .scope-item,.section-green .vision-cell,.section-green .name-row,.section-green .shipping-notice{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 18px 44px rgba(0,0,0,.14)!important}

.utility-bar .shell,.header-inner,.footer-grid,.newsletter-inner{position:relative;z-index:1}
.newsletter-inner{border:1px solid rgba(255,255,255,.16)!important}
.site-footer{position:relative;overflow:hidden}
.site-footer:before{content:'';position:absolute;left:-70px;bottom:-80px;width:260px;height:260px;background:var(--gold);opacity:.04;-webkit-mask:url('../decor/maple-leaf.svg') center/contain no-repeat;mask:url('../decor/maple-leaf.svg') center/contain no-repeat;transform:rotate(24deg);pointer-events:none}
.site-footer:after{content:'';position:absolute;right:-60px;top:18px;width:200px;height:200px;background:#fff;opacity:.04;-webkit-mask:url('../decor/maple-leaf.svg') center/contain no-repeat;mask:url('../decor/maple-leaf.svg') center/contain no-repeat;transform:rotate(-18deg);pointer-events:none}

/* A few extra floating maple leaves without cluttering the content. */
.mhf-leaf-drift .leaf-e,.mhf-leaf-drift .leaf-f{position:absolute;display:block;background:var(--gold);opacity:.03;will-change:transform;-webkit-mask:url('../decor/maple-leaf.svg') center/contain no-repeat;mask:url('../decor/maple-leaf.svg') center/contain no-repeat}
.mhf-leaf-drift .leaf-e{width:64px;height:64px;left:47vw;top:16vh;transform:rotate(-16deg);animation:mhfLeafFloatB 11s ease-in-out infinite}
.mhf-leaf-drift .leaf-f{width:56px;height:56px;right:16vw;top:58vh;background:var(--green);opacity:.024;transform:rotate(18deg);animation:mhfLeafFloatA 14s ease-in-out infinite reverse}

@media (max-width:1200px){
  .mhf-product-gallery-stage-wrap{min-height:510px;padding:16px 56px}
  .mhf-product-gallery-stage{min-height:470px}
  .mhf-product-gallery-stage img{max-height:470px}
}
@media (max-width:960px){
  .mhf-product-gallery-stage-wrap{min-height:460px;padding:14px 52px;border-radius:24px}
  .mhf-product-gallery-stage{min-height:420px}
  .mhf-product-gallery-stage img{max-height:418px}
  .v4-brand-art,.private-label-visual,.page-hero-visual{border-radius:28px!important}
  .mhf-leaf-drift .leaf-e{left:auto;right:8vw;top:10vh}
}
@media (max-width:767px){
  .mhf-product-gallery-stage-wrap{min-height:390px;padding:12px 44px;border-radius:22px}
  .mhf-product-gallery-stage{min-height:350px}
  .mhf-product-gallery-stage img{max-height:340px;max-width:95%}
  .mhf-product-thumb{width:68px;height:68px;border-radius:14px}
  .mhf-gallery-nav{width:38px;height:38px;font-size:26px}
  .product-heading-block h1{max-width:none}
  .page-hero:before{opacity:.032}
  .mhf-leaf-drift .leaf-e,.mhf-leaf-drift .leaf-f{display:none}
}
@media (prefers-reduced-motion:reduce){
  .v4-world,.v4-closing-panel,.mhf-gallery-nav,.mhf-product-thumb{transition:none!important}
  .mhf-leaf-drift .leaf-e,.mhf-leaf-drift .leaf-f{animation:none!important}
}
