/* Full-width premium A+ modular homepage. Scope to .mgv112-main to preserve theme menus. */
.mgv112-main{width:100%;background:#f5efe5;padding:0 0 60px;min-height:40vh}
.mgv112-home{width:min(100%,1500px);margin:0 auto;padding:18px clamp(12px,2.7vw,40px) 0;box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(20px,3vw,46px);color:#252423}
.mgv112-block{min-width:0;width:100%;margin:0}
.mgv112-block-image,.mgv112-block-carousel{background:transparent}
.mgv112-picture-link,.mgv112-picture{display:block;width:100%;max-width:100%;line-height:0}
.mgv112-picture img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;background:#e6e0d6;border-radius:6px;box-shadow:0 7px 23px rgba(31,28,22,.035)}
.mgv112-module-caption{padding:16px 8px 4px;line-height:1.65}
.mgv112-module-caption h2{font-size:clamp(22px,3.4vw,40px);font-weight:800;letter-spacing:-.025em;line-height:1.35;margin:0 0 6px;color:#212121}
.mgv112-module-caption p{font-size:clamp(14px,1.6vw,17px);color:#726960;margin:0;line-height:1.75}
.mgv112-carousel-track{position:relative;overflow:hidden}
.mgv112-carousel-slide{display:none;margin:0}
.mgv112-carousel-slide.is-active{display:block;animation:mgv112-fade .35s ease}
@keyframes mgv112-fade{from{opacity:.72}to{opacity:1}}
.mgv112-carousel-controls{display:flex;align-items:center;gap:14px;padding:12px 0 4px;justify-content:space-between}
.mgv112-carousel-controls .mgv112-prev,.mgv112-carousel-controls .mgv112-next{display:inline-flex;align-items:center;justify-content:center;width:54px;height:44px;border:1px solid #b5a7a1;border-radius:3px;cursor:pointer;background:#783943;color:#fff;font-size:25px;line-height:1}
.mgv112-carousel-controls button:focus-visible{outline:3px solid #3079bd;outline-offset:2px}
.mgv112-dots{display:flex;align-items:center;justify-content:center;gap:9px;flex:1}
.mgv112-dots button{background:#c8bcb3;border:0;border-radius:50px;width:10px;height:10px;padding:0;cursor:pointer}
.mgv112-dots button.is-active{background:#783943;width:27px}
.mgv112-count{font-size:13px;color:#6e665f;min-width:44px;text-align:center}
.mgv112-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 20px;flex-wrap:wrap}
.mgv112-section-heading h2{margin:0!important;color:#222;font-size:clamp(30px,4vw,54px)!important;line-height:1.15;font-weight:850;letter-spacing:-.025em}
.mgv112-section-heading p{margin:0;color:#716a62;font-size:14px;line-height:1.6}
.mgv112-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.mgv112-product{min-width:0;display:flex;flex-direction:column;gap:0}
.mgv112-product-image{display:block;background:#ede9e3;overflow:hidden;border-radius:2px}
.mgv112-product-image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .22s ease}
.mgv112-product-image:hover img{transform:scale(1.025)}
.mgv112-product-info{display:flex;flex-direction:column;flex:1;padding:12px 2px 0}
.mgv112-product-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:65px}
.mgv112-product-heading h3{flex:1;min-width:0;margin:0!important;font-size:15px!important;line-height:1.5;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mgv112-product-heading h3 a{color:#2a2826;text-decoration:none}
.mgv112-product-price{white-space:nowrap;color:#793b45;font-weight:800;font-size:15px;line-height:1.6;text-align:right}
.mgv112-product-price .amount{color:inherit!important;font-size:inherit;font-weight:inherit}
.mgv112-product-button{margin-top:8px;display:flex;align-items:center;justify-content:center;min-height:43px;width:100%;text-decoration:none!important;background:#783943;color:#fff!important;border-radius:3px;font-size:14px;font-weight:750}
.mgv112-product-button:hover{background:#5d2935;color:#fff!important}
@media(max-width:980px){.mgv112-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){
 .mgv112-main{padding-bottom:42px}
 .mgv112-home{gap:28px;padding:13px 13px 0}
 .mgv112-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}
 .mgv112-product-heading{display:flex;align-items:flex-start;min-height:72px;gap:5px}
 .mgv112-product-price{text-align:right;margin-top:0;font-size:12px;max-width:90px;white-space:normal}
 .mgv112-product-heading h3{font-size:13px!important;flex:1;min-width:0}
 .mgv112-product-button{min-height:42px;margin-top:3px}
 .mgv112-module-caption{padding:11px 4px 0}
 .mgv112-carousel-controls{gap:10px}
 .mgv112-carousel-controls .mgv112-prev,.mgv112-carousel-controls .mgv112-next{width:46px;height:40px}
}

/* V1.2.1: fixed-ratio CARD BOX, not a forced / stretched product image.
   Stronger selectors protect against theme / WooCommerce global img rules. */
.mgv112-home .mgv112-product-grid{align-items:start!important;grid-auto-rows:auto!important}
.mgv112-home .mgv112-product{align-self:start!important;min-width:0!important}
.mgv112-home .mgv112-product-image{
 display:block!important;position:relative!important;width:100%!important;
 height:auto!important;aspect-ratio:4 / 5!important;max-height:none!important;
 overflow:hidden!important;background:#eee9e1;line-height:0!important;
}
.mgv112-home .mgv112-product-image img,
.mgv112-home .mgv112-product-image img.attachment-woocommerce_thumbnail{
 position:absolute!important;inset:0!important;display:block!important;
 width:100%!important;height:100%!important;max-width:none!important;
 max-height:none!important;min-height:0!important;margin:0!important;
 aspect-ratio:auto!important;object-fit:contain!important;
 object-position:center!important;transform:none!important;
}
.mgv112-home .mgv112-product-info{padding:9px 1px 0!important}
.mgv112-home .mgv112-product-heading{min-height:0!important;gap:6px!important;align-items:start!important}
.mgv112-home .mgv112-product-heading h3{font-size:15px!important;line-height:1.4!important;min-height:2.8em!important;max-height:2.8em!important}
.mgv112-home .mgv112-product-price{flex:none;min-width:0;font-size:14px!important;white-space:nowrap!important}
.mgv112-home .mgv112-product-button{margin-top:9px!important;min-height:40px!important}
.mgv112-home .mgv112-section-heading h2{overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance;max-width:100%;}
/* The first banner is always readable; only the active carousel item should be visible. */
.mgv112-home .mgv112-carousel-track{min-width:0;min-height:0}
.mgv112-home .mgv112-carousel-slide{display:none!important}
.mgv112-home .mgv112-carousel-slide.is-active{display:block!important}
.mgv112-home .mgv112-carousel-track:not(:has(.mgv112-carousel-slide.is-active))>.mgv112-carousel-slide:first-child{display:block!important}
.mgv112-home .mgv112-carousel-slide .mgv112-picture img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
@media(max-width:767px){
 .mgv112-home{gap:19px!important;padding-top:10px!important}
 .mgv112-home .mgv112-section-heading{margin-bottom:12px!important}
 .mgv112-home .mgv112-section-heading h2{font-size:clamp(23px,6vw,30px)!important;line-height:1.22!important;letter-spacing:-.035em!important}
 .mgv112-home .mgv112-product-grid{gap:16px 10px!important}
 .mgv112-home .mgv112-product-heading{display:block!important;min-height:0!important}
 .mgv112-home .mgv112-product-heading h3{font-size:13px!important;min-height:2.9em!important;max-height:2.9em!important;line-height:1.45!important;margin:0!important}
 .mgv112-home .mgv112-product-price{font-size:14px!important;white-space:nowrap!important;text-align:left!important;margin-top:3px!important}
 .mgv112-home .mgv112-product-button{margin-top:8px!important;min-height:38px!important;font-size:13px!important}
 .mgv112-home .mgv112-module-caption{padding:9px 4px 0!important}
}
