/*
Theme Name: Imtiaz Portfolio
Theme URI: https://imtiazr.com/
Author: Custom portfolio conversion
Description: Cinematic performance marketing and AI automation portfolio, converted from the supplied static site.
Version: 2.9.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: imtiaz-portfolio
License: GPL-2.0-or-later
*/
/* WordPress-only additions; original styles in css/styles.css and css/pages.css unchanged. */
.nav__links .menu-item,.footer__links .menu-item{list-style:none}
.nav__links .current-menu-item>a{color:var(--cream)}
.nav__logo .custom-logo{max-height:48px;width:auto;object-fit:contain}
.footer__widgets{display:flex;gap:24px;flex-wrap:wrap}
.ir-wp-listing,.ir-wp-single,.ir-error-page,.ir-user-content{padding-top:clamp(108px,8.5vw,132px);min-height:65vh}
.ir-wp-listing .card{display:block;margin-top:32px}
.ir-wp-listing .card__title{margin:12px 0}
.ir-wp-single .ir-post-image{margin:35px 0}
.ir-wp-single .ir-post-image img{width:auto;height:auto;max-width:100%}
.ir-wp-single .ir-post-body{max-width:78ch;margin:35px 0;line-height:1.7}
.ir-post-body p,.ir-user-content p{margin:1em 0}
.ir-form-status{border-left:3px solid var(--emerald);padding:12px 16px;background:rgba(31,221,139,.08)}
.ir-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.nav__links .menu-item{width:100%}}

/* At narrow widths the original grid's min-content items could force horizontal scrolling. */
.contact-grid>*{min-width:0}
.contact-grid .contact__value{overflow-wrap:anywhere}
@media(max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}

.nav .custom-logo-link .custom-logo{max-height:48px;width:auto;object-fit:contain}

/* Native body retains the source floating-contact UI across all templates. */
.whatsapp-float{z-index:120}

/* Preserve the source navigation geometry when an actual WP menu is assigned. */
.ir-wp-menu,.ir-wp-footer-menu{display:contents;list-style:none;margin:0;padding:0}
.ir-wp-menu>.menu-item,.ir-wp-footer-menu>.menu-item{display:contents}
.ir-detail{max-width:80ch;margin:32px 0;line-height:1.65}
.ir-detail h2{font-size:clamp(22px,2.4vw,34px);margin-bottom:12px}
.ir-detail .case-gallery figure{margin:0}
.ir-detail .case-gallery img{width:100%;height:auto;border-radius:12px}

/* A real server-rendered H1 text node for no-script SEO; visible letters are drawn by the original script. */
.ir-h1-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Accessible async-form status; hidden status must not reserve layout space. */
.ir-form-status[hidden]{display:none!important}
.ir-form-status[data-state="error"]{border-left-color:#ec8f82;background:rgba(236,143,130,.08)}
.form button[aria-busy="true"]{cursor:progress;opacity:.8}

/* Mobile drawer: solid panel, viewport-fixed even when the header is scrolled. */
@media(max-width:900px){
  .nav.is-open{background:var(--ink)}
  .nav.is-open .nav__links{
    position:fixed;inset:var(--nav-h) 0 0;z-index:2;
    background:var(--ink);height:calc(100dvh - var(--nav-h));
    min-height:calc(100vh - var(--nav-h));overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .nav.is-open .nav__cta{z-index:3}
}

/* Blog extends existing color, typography and bordered project-card language. */
.ir-blog{max-width:1600px;margin:auto;padding-bottom:clamp(70px,8vw,130px)}
.ir-blog__lede{max-width:62ch;color:var(--muted);margin:18px 0 38px;line-height:1.75}
.ir-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
.ir-blog-card{min-width:0;margin:0;display:flex;flex-direction:column;padding:0;overflow:hidden}
.ir-blog-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink-2)}
.ir-blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease-out)}
.ir-blog-card:hover .ir-blog-card__image img{transform:scale(1.035)}
.ir-blog-card__body{padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;flex:1}
.ir-blog-card__meta,.ir-blog-post__meta{color:var(--emerald);font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.ir-blog-card__title{font-family:var(--display);font-size:clamp(25px,2.5vw,38px);line-height:1.14;text-transform:uppercase;margin:12px 0}
.ir-blog-card__title a:hover{color:var(--emerald)}
.ir-blog-card__excerpt{color:var(--cream);opacity:.82;margin-bottom:22px;line-height:1.7}
.ir-blog-card__read{align-self:flex-start;margin-top:auto;color:var(--emerald);font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.ir-blog-card__read:hover{text-decoration:underline;text-underline-offset:5px}
.ir-blog-pagination{margin:50px 0 0}
.ir-blog-pagination .nav-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.ir-blog-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(242,237,227,.22);border-radius:8px}
.ir-blog-pagination .page-numbers.current,.ir-blog-pagination a.page-numbers:hover{border-color:var(--emerald);color:var(--emerald)}
.ir-blog-post{max-width:1000px;margin:0 auto;padding-bottom:clamp(70px,8vw,130px)}
.ir-blog-post__meta{margin:20px 0 30px}
.ir-blog-post__image{margin:30px 0 42px;aspect-ratio:16/9;overflow:hidden;border-radius:18px}
.ir-blog-post__image img{width:100%;height:100%;object-fit:cover}
.ir-blog-post .ir-post-body{max-width:78ch;margin:0 auto;overflow-wrap:anywhere}
.ir-post-body h2,.ir-post-body h3,.ir-post-body h4{font-family:var(--display);line-height:1.2;margin:1.5em 0 .55em}
.ir-post-body h2{font-size:clamp(29px,3.5vw,46px)}
.ir-post-body h3{font-size:clamp(23px,2.6vw,34px)}
.ir-post-body :is(ul,ol){padding-left:1.5em;margin:1.2em 0}
.ir-post-body li+li{margin-top:.35em}
.ir-post-body blockquote{border-left:3px solid var(--emerald);padding:10px 0 10px 24px;margin:30px 0;color:var(--cream)}
.ir-post-body a:not(.btn){color:var(--emerald);text-decoration:underline;text-underline-offset:4px}
.ir-post-body img{max-width:100%;height:auto}
.ir-post-body :is(pre,.wp-block-table){max-width:100%;overflow-x:auto}
.ir-post-body pre{padding:20px;background:var(--ink-2);border-radius:8px}
.ir-post-body table{border-collapse:collapse;width:100%}
.ir-post-body td,.ir-post-body th{padding:10px;border:1px solid rgba(242,237,227,.25)}
.ir-post-body .wp-block-image,.ir-post-body figure{margin:28px 0}
.ir-blog-post__nav{display:flex;justify-content:space-between;gap:20px;margin-top:55px}
.ir-blog-post__nav a{color:var(--emerald);overflow-wrap:anywhere}
@media(max-width:1023px){.ir-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ir-blog-grid{grid-template-columns:minmax(0,1fr)}.ir-blog-card__image{aspect-ratio:16/10}.ir-blog-post__nav{flex-direction:column}}

/* Keep original form styling; make the requested exact success copy prominent. */
.ir-form-status[data-state="success"]{padding:20px 22px 20px 56px;font-weight:600;font-size:clamp(16px,2vw,19px);line-height:1.6;position:relative}
.ir-form-status[data-state="success"]::before{content:"✓";position:absolute;left:22px;top:20px;color:var(--emerald);font-size:23px}

/* v2.6: Blog-only heading font. Keep site navigation, the archive title
   text, article body copy and all non-blog page typography unchanged. */
.ir-blog-card__title,
.ir-blog-post .page-hero__title,
.ir-blog-post .ir-post-body :is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Bricolage Grotesque', var(--body);
  font-optical-sizing: auto;
  font-weight: 700;
  text-transform: none;
  letter-spacing: -.025em;
}
.ir-blog-card__title {
  font-size: clamp(23px, 2.2vw, 32px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.ir-blog-post .page-hero__title {
  max-width: none;
  font-size: clamp(38px, 5.1vw, 68px);
  line-height: 1.09;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.ir-blog-post .page-hero__crumb {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.7;
}
.ir-blog-post .ir-post-body :is(h2, h3, h4, h5, h6) {
  line-height: 1.22;
  overflow-wrap: break-word;
}
