/*
Theme Name: Mehdi Ezzati Portfolio
Theme URI: https://www.mehdiezzati.com/
Author: Mehdi Ezzati
Description: Portfolio theme for Mehdi Ezzati, with Elementor-editable content and styling controls.
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mehdi-ezzati
*/

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#969696;color:#fff;font-family:var(--e-global-typography-text-font-family,"Abar Mid",Tahoma,Arial,sans-serif);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.hero{height:100svh;min-height:600px;display:grid;place-items:center;position:relative;padding:30px}
.hero-inner{text-align:center;transform:translateY(-3vh)}
.mez-hero-logo{display:block;height:auto;margin:0 auto 24px;max-width:100%;}
.name{font-family:var(--e-global-typography-primary-font-family,"Abar Mid",Tahoma,Arial,sans-serif);color:#050505;font-size:clamp(48px,7vw,94px);font-weight:400;letter-spacing:-.06em;line-height:.9;margin:0}
.role{font-size:clamp(12px,1.3vw,15px);color:#ffffff94;margin:14px 0 0}
.btn{display:inline-flex;margin-top:30px;background:#fff;color:#858585;border:0;border-radius:999px;padding:8px 23px;font-size:10px;font-weight:bold;letter-spacing:.06em;transition:.25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0002}
.socials{display:flex;gap:9px;justify-content:center;margin-top:28px}
.social{width:28px;height:28px;border-radius:50%;background:#fff;color:#03274a;display:grid;place-items:center;font-size:12px;font-weight:bold;transition:.2s}
.social i,.social svg{display:block;width:1em;height:1em}
.social:hover{transform:translateY(-3px)}
.scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.18em;color:#ffffff66;text-transform:uppercase}
.page{background:#f2f1ed;color:#222;min-height:100svh;padding:clamp(60px,8vw,110px) 5vw}
.wrap{max-width:1200px;margin:auto}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:70px;gap:20px}
.logo{font-size:14px;letter-spacing:-.03em;display:inline-flex;align-items:center;gap:10px}
.mez-brand-image{display:block;max-width:220px;max-height:70px;object-fit:contain;width:auto}
.back{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#777}
.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#888;margin-bottom:12px}
h1{font-family:var(--e-global-typography-primary-font-family,"Abar Mid",Helvetica,Arial,sans-serif);font-size:clamp(48px,8vw,110px);font-weight:400;letter-spacing:-.07em;line-height:.86;margin:0}
.intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}
.desc{max-width:370px;color:#777;font-size:13px;line-height:1.7;margin:0}
.grid{display:grid;grid-template-columns:repeat(var(--mez-columns,2),minmax(0,1fr));gap:18px}
.card{display:block;background:#ddd;overflow:hidden;min-width:0}
.card img{width:100%;aspect-ratio:var(--mez-image-ratio,4 / 3);display:block;object-fit:cover;transition:transform .45s ease}
.card:hover img{transform:scale(1.025)}
.card-info{padding:18px 2px 24px}
.card-title{font-size:18px;letter-spacing:-.03em}
.card-desc{font-size:12px;line-height:1.65;color:#777;margin-top:8px;max-width:480px}
.case-img{width:100%;display:block;border-radius:2px}
.meta{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:28px 0 80px}
.title{font-size:24px;letter-spacing:-.03em}
.copy{color:#777;font-size:13px;line-height:1.75;max-width:650px}
.next{border-top:1px solid #ccc;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.next a{color:inherit}
.contact{min-height:100svh;background:#222;color:#fff;display:grid;place-items:center;text-align:center;padding:60px}
.contact h1{margin-bottom:20px}
.contact a{color:#aaa;font-size:14px}
.mez-contact-home{margin-top:30px}
.mez-contact-home a{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.mez-no-link{color:#999;font-size:12px}
.mez-project-detail-notice{padding:20px;border:1px dashed #999}
.mez-hero-widget{width:100%}
.mez-portfolio-widget,.mez-project-detail-widget{width:100%}
.mez-portfolio-widget .grid{grid-template-columns:repeat(var(--mez-columns,2),minmax(0,1fr))}
.mez-portfolio-widget .card img{aspect-ratio:var(--mez-image-ratio,4 / 3)}
.mez-portfolio-widget .card img[alt=""]{object-fit:contain}
@media(max-width:900px){.mez-portfolio-widget .grid{grid-template-columns:repeat(min(var(--mez-columns,2),2),minmax(0,1fr))}}
@media(max-width:700px){.intro,.meta{display:block}.desc{margin-top:18px}.copy{margin-top:14px}.topbar{margin-bottom:50px}.grid,.mez-portfolio-widget .grid{grid-template-columns:1fr}.hero{min-height:520px}.next{align-items:flex-start;flex-direction:column}.mez-brand-image{max-width:150px;max-height:50px}}


/* Remove the unwanted outer frame on the Home canvas without overriding typography or spacing controls inside MEZ Hero. */
body.home .elementor > .e-con,
body.home .elementor > .elementor-section,
body.home .elementor > .elementor-element.e-con,
body.home .elementor > .elementor-element.elementor-section {
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
body.home .elementor {
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.home .elementor > .elementor-section > .elementor-container,
body.home .elementor > .elementor-element.elementor-section > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.home .elementor > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.home .elementor > .elementor-element.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.home .elementor > .e-con > .e-con-inner,
body.home .elementor > .elementor-element.e-con > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.home .elementor-widget-mez-hero,
body.home .elementor-widget-mez-hero > .elementor-widget-container,
body.home .mez-hero-widget {
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.home .elementor-widget-mez-hero > .elementor-widget-container {
    background: transparent !important;
}
body.home .mez-hero-widget {
    min-height: 100svh;
}
/* Rich-text project copy should retain paragraphs and readable Persian line spacing. */
.mez-project-detail-widget .desc p,
.mez-project-detail-widget .copy p,
.mez-portfolio-widget .card-desc p { margin: 0 0 .8em; }
.mez-project-detail-widget .desc p:last-child,
.mez-project-detail-widget .copy p:last-child,
.mez-portfolio-widget .card-desc p:last-child { margin-bottom: 0; }
.mez-project-detail-widget .desc,
.mez-project-detail-widget .copy,
.mez-portfolio-widget .card-desc { overflow-wrap: anywhere; }
