/* =========================================================
   MAESTRI RAMAI v3 — "Tradizione Rossa", layout full-width
   ========================================================= */

.mr-section{ width: 100%; padding-left: clamp(20px,5vw,80px); padding-right: clamp(20px,5vw,80px); }
.mr-eyebrow{ color: var(--mr-red); font-size: 12px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; margin-bottom: 12px; display: inline-block; }
.mr-rule{ width: 56px; height: 3px; background: var(--mr-red); margin: 0 auto 18px; }
.mr-btn{ display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; transition: .25s; cursor: pointer; border: 1.5px solid transparent; text-decoration: none; font-family: 'Montserrat', sans-serif; }
.mr-btn-red{ background: var(--mr-red); color: var(--mr-white) !important; }
.mr-btn-red:hover{ background: var(--mr-red-dark); color: var(--mr-white) !important; }
.mr-btn-outline-dark{ border-color: rgba(255,255,255,.7); color: var(--mr-white) !important; background: rgba(0,0,0,.15); backdrop-filter: blur(2px); }
.mr-btn-outline-dark:hover{ background: rgba(0,0,0,.35); }
.mr-btn-outline-red{ border-color: var(--mr-red); color: var(--mr-red) !important; background: transparent; }
.mr-btn-outline-red:hover{ background: var(--mr-red); color: var(--mr-white) !important; }

/* HERO — full bleed */
.mr-hero{ position: relative; width: 100%; min-height: 640px; display: flex; align-items: center; overflow: hidden; background: #0d0b09; }
.mr-hero-bg{ position: absolute; inset: 0; }
.mr-hero-bg img{ width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) sepia(.18) contrast(1.12) brightness(.78); }
.mr-hero-bg:after{
	content: '';
	position: absolute; inset: 0;
	background:
		radial-gradient(120% 140% at 50% 100%, rgba(10,8,6,.55) 0%, rgba(10,8,6,0) 55%),
		linear-gradient(90deg, rgba(10,8,6,.94) 0%, rgba(10,8,6,.72) 42%, rgba(10,8,6,.32) 75%, rgba(10,8,6,.15) 100%);
}
.mr-hero-content{ position: relative; z-index: 2; max-width: 560px; padding: 80px clamp(20px,5vw,80px); }
.mr-hero-content .mr-eyebrow{ color: #E88; }
.mr-hero-content h1{ color: var(--mr-white); font-size: 52px; line-height: 1.12; margin: 0 0 22px; }
.mr-hero-content p{ color: #E8E2D8; font-size: 15px; max-width: 420px; margin: 0 0 34px; }
.mr-hero-actions{ display: flex; gap: 16px; flex-wrap: wrap; }

/* PRODUCTS */
.mr-products{ background: var(--mr-cream); padding: 90px 0; text-align: center; }
.mr-products-head{ max-width: 640px; margin: 0 auto 46px; }
.mr-products-head h2{ font-size: 32px; margin: 8px 0 14px; }
.mr-products-head p{ color: #5a5147; font-size: 14.5px; margin: 0; }
.mr-prod-grid{ display: grid; grid-template-columns: repeat(6,1fr); gap: 18px; text-align: left; margin: 0 0 40px; padding: 0 clamp(20px,5vw,80px); }
.mr-prod-card{ display: block; text-decoration: none; color: inherit; }
.mr-prod-card .mr-img{ aspect-ratio: 1/1; background: #241811; position: relative; overflow: hidden; margin-bottom: 14px; border-radius: var(--mr-radius); }
.mr-prod-card .mr-img img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.mr-prod-card:hover .mr-img img{ transform: scale(1.05); }
.mr-prod-card h4{ font-size: 11.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; margin: 0 0 4px; }
.mr-prod-card .mr-link{ font-size: 11px; color: var(--mr-red); font-weight: 600; }

/* CHI SIAMO */
.mr-chisiamo{ background: var(--mr-white); padding: 90px 0; text-align: center; }
.mr-chisiamo-inner{ max-width: 720px; margin: 0 auto; padding: 0 clamp(20px,5vw,80px); }
.mr-chisiamo-inner h2{ font-size: 32px; margin: 8px 0 18px; }
.mr-chisiamo-inner p{ color: #5a5147; font-size: 14.5px; line-height: 1.8; margin: 0 0 44px; }
.mr-chisiamo-stats{ display: flex; justify-content: center; gap: 56px; flex-wrap: wrap; }
.mr-chisiamo-stat .mr-num{ font-family: 'Playfair Display', serif; font-size: 38px; font-weight: 700; color: var(--mr-red); line-height: 1; }
.mr-chisiamo-stat .mr-label{ font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #8b877e; margin-top: 8px; }

/* CUSTOM PROJECT */
.mr-custom-project{ display: grid; grid-template-columns: 1fr 1fr; min-height: 460px; }
.mr-cp-copy{ background: var(--mr-cream-2); display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(20px,5vw,80px); }
.mr-cp-copy h2{ font-size: 32px; margin: 0 0 18px; max-width: 380px; }
.mr-cp-copy p{ color: #5a5147; font-size: 14.5px; max-width: 400px; margin: 0 0 28px; }
.mr-cp-image{ position: relative; overflow: hidden; }
.mr-cp-image img{ width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.82) sepia(.14) contrast(1.08) brightness(.86); }
.mr-cp-image:after{
	content: '';
	position: absolute; inset: 0;
	background: radial-gradient(120% 120% at 50% 50%, rgba(20,14,10,0) 40%, rgba(20,14,10,.45) 100%);
	pointer-events: none;
}

/* GALLERY */
.mr-gallery{ padding: 90px 0; text-align: center; }
.mr-gallery-grid{ display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr 1.1fr; gap: 14px; margin: 26px 0 36px; padding: 0 clamp(20px,5vw,80px); }
.mr-gallery-grid .mr-g-item{ aspect-ratio: 4/5; overflow: hidden; position: relative; background: #241811; }
.mr-gallery-grid .mr-g-item img{ width: 100%; height: 100%; object-fit: cover; display: block; }

/* FEATURES BANNER — full bleed red */
.mr-features-banner{ background: var(--mr-red); padding: 46px 0; }
.mr-fb-grid{ display: grid; grid-template-columns: repeat(5,1fr); gap: 20px; }
.mr-fb-item{ display: flex; align-items: flex-start; gap: 14px; color: var(--mr-white); }
.mr-fb-item .mr-icon{ width: 34px; height: 34px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.mr-fb-item h5{ font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; margin: 0 0 4px; line-height: 1.3; }
.mr-fb-item p{ font-size: 11.5px; color: #F1DAD9; line-height: 1.4; margin: 0; }

/* FOOTER (widget content classes) */
.mr-footer-brand h5{ color: var(--mr-white); font-size: 14px; font-weight: 700; letter-spacing: 1px; margin: 0 0 6px; font-family: 'Playfair Display', serif !important; }
.mr-footer-brand p{ opacity: .9; max-width: 260px; margin: 0; }
.mr-footer-col-title{ color: var(--mr-white); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px; font-weight: 700; font-family: 'Montserrat', sans-serif !important; }
.mr-footer-links{ display: flex; flex-direction: column; gap: 9px; font-size: 13px; }
.mr-footer-links a, .mr-footer-links span{ color: #F1DAD9; text-decoration: none; opacity: .9; }
.mr-footer-links a:hover{ opacity: 1; color: var(--mr-white); }
.mr-footer-contact-item{ display: flex; gap: 8px; align-items: flex-start; }

@media only screen and (max-width: 64em){
	.mr-prod-grid{ grid-template-columns: repeat(3, 1fr); }
	.mr-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
	.mr-fb-grid{ grid-template-columns: 1fr 1fr; }
}

@media only screen and (max-width: 48em) {
	.mr-hero-content{ padding: 60px 20px; }
	.mr-hero-content h1{ font-size: 32px; }
	.mr-products{ padding: 56px 0; }
	.mr-chisiamo{ padding: 56px 0; }
	.mr-chisiamo-stats{ gap: 32px; }
	.mr-prod-grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.mr-custom-project{ grid-template-columns: 1fr; }
	.mr-gallery{ padding: 56px 0; }
	.mr-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
	.mr-fb-grid{ grid-template-columns: 1fr; gap: 22px; }
}
