/*
Theme Name: MD Mahbubur Rahman - SEO & Performance Theme
Theme URI: https://mahbubur-rahman.com/
Author: MD. Mahbubur Rahman
Author URI: https://mahbubur-rahman.com/
Description: Complete, high-performance, conversion-engineered WordPress theme for SEO Engineers, Performance Marketers & Growth Consultants. Fully compatible with Gutenberg, standard WordPress Posts, Pages, Customizer, and REST API.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mahbubur-theme
Tags: portfolio, blog, one-column, custom-colors, custom-menu, featured-images, full-width-template, theme-options, translation-ready
*/

/* Reset and Core WordPress Alignments */
.alignwide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
}

.wp-block-image img {
  height: auto;
  border-radius: 0.75rem;
}

/* Shimmer & Glow Effects */
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.shimmer-active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  animation: shimmer 2.5s infinite;
}

/* Source-app visual effects preserved for the WordPress build */
@keyframes iconShine { 0% { transform: translateX(-150%) skewX(-25deg); } 25%, 100% { transform: translateX(250%) skewX(-25deg); } }
@keyframes buttonGlint { 0% { transform: translateX(-150%) skewX(-20deg); } 20%, 100% { transform: translateX(300%) skewX(-20deg); } }
@keyframes mdmrFadeIn { from { opacity: 0; } to { opacity: 1; } }
.shimmer-glow { position: relative; overflow: hidden; }
.shimmer-glow::after { content:''; position:absolute; inset:-50%; width:200%; height:200%; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 35%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.05) 65%,transparent 100%); animation:iconShine 3.5s cubic-bezier(.4,0,.2,1) infinite; pointer-events:none; }
.shimmer-button { position:relative; overflow:hidden; }
.shimmer-button::after { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 40%,rgba(255,255,255,.45) 50%,rgba(255,255,255,.1) 60%,transparent 100%); animation:buttonGlint 3s cubic-bezier(.4,0,.2,1) infinite; pointer-events:none; }
.animate-fade-in { animation: mdmrFadeIn .25s ease-out both; }
html { scroll-behavior: smooth; }
body { margin:0; }
img { max-width:100%; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }

/* Hero revenue message animation */
.wp-revenue-animate{display:block;overflow:visible;color:#fff;font-weight:900;line-height:1.45;}
.wp-revenue-animate .rev-word{display:inline-block;color:#fff;opacity:1;transform:none;filter:none;margin-right:.22em;}
.wp-revenue-animate .rev-highlight{color:#FDC500;text-shadow:0 0 18px rgba(253,197,0,.28);font-weight:950;}
.wp-revenue-sub{opacity:1;transform:none;filter:none;}
@keyframes revWordIn{to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}
@keyframes revSubIn{to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes revGlow{to{text-shadow:0 0 24px rgba(253,197,0,.38)}}
@media (prefers-reduced-motion:reduce){.wp-revenue-animate .rev-word,.wp-revenue-sub{opacity:1!important;transform:none!important;filter:none!important}}

/* Mobile Hero: show Mahbubur's photo first, while keeping desktop layout unchanged */
@media (max-width: 1023px) {
  .hero-portrait-column {
    order: -1;
    width: 100%;
    margin-bottom: .25rem;
  }
  .hero-text-column {
    order: 1;
  }
  .hero-portrait-column > div {
    width: min(100%, 360px);
  }
  .hero-portrait-column .aspect-\[4\/5\] {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .hero-portrait-column {
    margin-top: -0.25rem;
    margin-bottom: .5rem;
  }
  .hero-portrait-column > div {
    width: min(100%, 310px);
  }
}

/* Mobile hero: portrait appears before the text; desktop remains unchanged. */
@media (max-width: 1023px){
  .hero-portrait-column{order:-1; width:100%;}
  .hero-portrait-column > div{max-width:330px; margin:0 auto;}
  .hero-text-column{order:2;}
  .hero-portrait-column img{object-position:center top;}
}

/* Mobile glossy CTA polish + typing hero */
.wp-typing-line{min-height:2.7em;display:flex;align-items:center;position:relative;overflow:hidden;}
.wp-typing-line::after{content:"";display:inline-block;width:2px;height:1.1em;margin-left:4px;background:currentColor;animation:wpBlink .8s steps(1) infinite;}
@keyframes wpBlink{50%{opacity:0}}
@media (max-width:767px){
 a.wp-cta,.wp-cta,.btn,.button,button{border-radius:999px!important;box-shadow:0 8px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.55)!important;background-image:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,0) 45%)!important;}
 .wp-typing-line{font-size:.78rem;line-height:1.5;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:linear-gradient(120deg,rgba(255,255,255,.12),rgba(255,255,255,.04));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
}

/* Targeted premium motion only: button shine + WhatsApp pulse. No page-wide section movement. */
.wp-gloss-button{position:relative;overflow:hidden;isolation:isolate}
.wp-gloss-button::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-55%;width:28%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:buttonShine 3.8s ease-in-out infinite;pointer-events:none;z-index:2}
@keyframes buttonShine{0%,55%{left:-55%;opacity:0}65%{opacity:1}90%,100%{left:135%;opacity:0}}
.wp-wa-float{animation:waPulse 2.2s ease-in-out infinite}
@keyframes waPulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 10px 30px rgba(0,0,0,.18)}50%{transform:translateY(-4px) scale(1.035);box-shadow:0 16px 38px rgba(16,185,129,.30)}}
@media (max-width:767px){.wp-gloss-button::after{animation-duration:4.5s}}
@media (prefers-reduced-motion:reduce){.wp-gloss-button::after,.wp-wa-float{animation:none}}

/* Mobile hero buttons: intentional 1 + 2 + 1 layout with room for labels. Desktop untouched. */
@media (max-width:767px){
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;align-items:stretch;}
  .hero-actions > *{min-width:0;min-height:52px!important;height:52px!important;margin:0!important;padding:0 12px!important;border-radius:16px!important;justify-content:center!important;align-items:center!important;text-align:center!important;line-height:1.2!important;white-space:normal!important;}
  .hero-actions .hero-action-primary{grid-column:1 / -1;font-size:14px!important;}
  .hero-actions .hero-action-secondary{width:100%;font-size:12px!important;}
  .hero-actions .hero-action-whatsapp{grid-column:1 / -1;width:100%;font-size:12px!important;}
  .hero-actions svg{flex:0 0 auto;}
}

/* Mobile credibility row: keep the original horizontal order, with rating highlighted in gold. */
.hero-credibility-row{display:flex;align-items:center;justify-content:center;gap:7px;color:#bfdbfe;white-space:nowrap;}
.hero-rating{color:#FDC500;font-weight:800;}
.hero-credibility-divider{color:rgba(191,219,254,.55);}
@media (max-width:767px){
  .hero-credibility-row{gap:5px;font-size:10px!important;letter-spacing:-.01em;}
  .hero-rating{font-size:10px!important;}
}

/* Mobile hero cleanup: remove the project-status badge so the title follows the portrait directly. */
@media (max-width: 767px){
  .hero-text-column > div:first-child{display:none !important;}
  .hero-text-column{gap:1rem !important;}
}

/* Keep portrait identity card clean and readable without changing desktop layout. */
@media (max-width: 767px){
  .hero-portrait-column .rounded-xl .text-xs{line-height:1.45;}
}

/* Client video showcase: compact portfolio carousel on mobile, 3-column grid on desktop. */
.wp-client-video-scroller{scrollbar-width:thin;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.wp-client-video-scroller::-webkit-scrollbar{height:6px}
.wp-client-video-scroller::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px}
.wp-client-video-card{transition:border-color .2s ease,box-shadow .2s ease}
.wp-client-video-card:hover{border-color:rgba(34,211,238,.6);box-shadow:0 14px 34px rgba(0,0,0,.22)}
@media(max-width:767px){.wp-client-video-card{flex-basis:86%}.wp-client-video-scroller{padding-left:1px;padding-right:1px}}
@media(prefers-reduced-motion:reduce){.wp-client-video-scroller{scroll-behavior:auto}.wp-client-video-card{transition:none}}
