/*
Theme Name: Djeema Premium Blog Card Style
Theme URI: https://www.djeema.com/
Author: Djeema Digital Marketing
Author URI: https://www.djeema.com/
Description: Premium black, red, and white one-page digital marketing homepage for Djeema.
Version: 2.8
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: djeema-premium-blog-card-style
*/



:root {
      --bg: #050505;
      --bg2: #0b0506;
      --card: rgba(255,255,255,.055);
      --card2: rgba(255,255,255,.085);
      --red: #ff202d;
      --red2: #b9000d;
      --white: #ffffff;
      --muted: #bdbdbd;
      --dark: #0c0c0f;
      --line: rgba(255, 32, 45, .35);
      --shadow: 0 20px 60px rgba(0,0,0,.55);
      --radius: 24px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, Arial, Helvetica, sans-serif;
      background:
        radial-gradient(circle at 18% 10%, rgba(255,32,45,.23), transparent 26%),
        radial-gradient(circle at 85% 28%, rgba(255,32,45,.14), transparent 25%),
        linear-gradient(135deg, #030303 0%, #0b0506 45%, #111 100%);
      color: var(--white);
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    .container { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
    .topbar {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(16px);
      background: rgba(5,5,5,.78);
      border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .nav {
      min-height: 92px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 14px;
      font-weight: 900;
      letter-spacing: .2px;
    }
    .brand img {
      width: 68px;
      height: 68px;
      object-fit: contain;
      filter: drop-shadow(0 0 14px rgba(255,32,45,.45));
    }
    .brand span { display: block; line-height: 1.02; font-size: 26px; font-weight: 900; }
    .brand small { color: var(--red); font-size: 16px; letter-spacing: 4px; font-weight: 800; }
    .menu {
      display: flex;
      align-items: center;
      gap: 26px;
      color: #eee;
      font-weight: 700;
      font-size: 16px;
    }
    .menu a:hover { color: var(--red); }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border: 1px solid rgba(255,255,255,.14);
      background: linear-gradient(135deg, var(--red), var(--red2));
      color: #fff;
      padding: 15px 22px;
      border-radius: 14px;
      font-weight: 800;
      box-shadow: 0 12px 26px rgba(255,32,45,.22);
      transition: .2s ease;
      white-space: nowrap;
    }
    .btn:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(255,32,45,.35); }
    .btn.secondary {
      background: rgba(255,255,255,.04);
      border-color: rgba(255,32,45,.45);
      box-shadow: none;
    }
    .hero {
      position: relative;
      padding: 78px 0 68px;
      overflow: hidden;
    }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255,32,45,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,32,45,.06) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: radial-gradient(circle at 40% 10%, #000, transparent 70%);
      pointer-events: none;
    }
    .hero-grid {
      position: relative;
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      align-items: center;
      gap: 34px;
    }
    .badge {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: #fff;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,32,45,.35);
      padding: 10px 14px;
      border-radius: 999px;
      font-weight: 800;
      margin-bottom: 24px;
    }
    .badge b { color: var(--red); }
    h1 {
      font-size: clamp(34px, 4.7vw, 68px);
      line-height: 1.02;
      margin: 0;
      letter-spacing: -1.4px;
    }
    h1 span { color: var(--red); text-shadow: 0 0 28px rgba(255,32,45,.35); }
    .lead {
      color: #e8e8e8;
      font-size: clamp(17px, 1.8vw, 21px);
      line-height: 1.65;
      max-width: 680px;
      margin: 20px 0 26px;
    }
    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
    .stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-top: 38px;
    }
    .stat {
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 18px;
      padding: 18px;
      text-align: center;
    }
    .stat strong { color: var(--red); font-size: 26px; display: block; }
    .stat small { color: var(--muted); font-weight: 700; }
    .phone-card {
      position: relative;
      width: min(420px, 100%);
      margin: 0 auto;
      border: 1px solid rgba(255,32,45,.55);
      border-radius: 42px;
      padding: 18px;
      background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.015));
      box-shadow: var(--shadow), 0 0 60px rgba(255,32,45,.15);
    }
    .phone-inner {
      border-radius: 32px;
      padding: 26px 22px;
      background:
        radial-gradient(circle at top, rgba(255,32,45,.22), transparent 36%),
        linear-gradient(180deg, #0c0c0f, #050505);
      min-height: 610px;
      border: 1px solid rgba(255,255,255,.08);
    }
    .phone-logo {
      display: flex;
      justify-content: center;
      margin: 8px 0 18px;
    }
    .phone-logo img { width: 118px; filter: drop-shadow(0 0 18px rgba(255,32,45,.5)); }
    .phone-title { text-align: center; }
    .phone-title h3 { margin: 0; font-size: 34px; }
    .phone-title p { color: var(--red); margin: 8px 0 22px; font-weight: 800; }
    .service-list {
      display: grid;
      gap: 14px;
      margin-top: 26px;
    }
    .service-line {
      display: flex;
      gap: 14px;
      align-items: center;
      padding: 12px 14px;
      background: rgba(255,255,255,.055);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 14px;
      font-weight: 800;
    }
    .check {
      width: 26px;
      height: 26px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--red);
      color: #fff;
      flex: 0 0 26px;
    }
    .phone-buttons {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 24px;
    }
    .mini-btn {
      padding: 13px 10px;
      border-radius: 14px;
      background: rgba(255,32,45,.12);
      border: 1px solid rgba(255,32,45,.4);
      text-align: center;
      font-weight: 800;
    }
    .section { padding: 78px 0; }
    .section-title {
      text-align: center;
      margin-bottom: 42px;
    }
    .section-title h2 {
      margin: 0;
      font-size: clamp(34px, 4vw, 54px);
      letter-spacing: -1px;
    }
    .section-title h2 span { color: var(--red); }
    .section-title p {
      color: var(--muted);
      font-size: 18px;
      line-height: 1.6;
      max-width: 720px;
      margin: 14px auto 0;
    }
    .services {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .card {
      background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      border: 1px solid rgba(255,255,255,.09);
      border-radius: var(--radius);
      padding: 28px;
      box-shadow: 0 16px 38px rgba(0,0,0,.22);
      transition: .2s ease;
    }
    .card:hover {
      transform: translateY(-5px);
      border-color: rgba(255,32,45,.45);
      box-shadow: 0 24px 48px rgba(0,0,0,.28), 0 0 20px rgba(255,32,45,.08);
    }
    .icon {
      width: 58px;
      height: 58px;
      border-radius: 18px;
      background: linear-gradient(135deg, var(--red), #ff6a73);
      display: grid;
      place-items: center;
      font-size: 26px;
      margin-bottom: 18px;
      box-shadow: 0 12px 26px rgba(255,32,45,.2);
    }
    .card h3 { margin: 0 0 10px; font-size: 22px; }
    .card p { margin: 0; color: var(--muted); line-height: 1.55; }
    .pricing {
      background: rgba(0,0,0,.28);
      border-top: 1px solid rgba(255,255,255,.07);
      border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .price-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .price {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 26px;
      padding: 28px;
    }
    .price.featured {
      border-color: rgba(255,32,45,.75);
      box-shadow: 0 0 38px rgba(255,32,45,.15);
    }
    .price h3 { margin: 0 0 8px; font-size: 24px; }
    .amount { font-size: 36px; font-weight: 900; color: var(--red); margin: 16px 0; }
    .amount small { font-size: 16px; color: var(--muted); }
    ul { padding: 0; margin: 18px 0 24px; list-style: none; }
    li { color: #e8e8e8; margin: 12px 0; display: flex; gap: 10px; align-items: flex-start; }
    li::before { content: "✓"; color: var(--red); font-weight: 900; }
    .portfolio {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 26px;
      align-items: center;
    }
    .sample {
      border-radius: 28px;
      padding: 26px;
      background: linear-gradient(135deg, rgba(255,32,45,.16), rgba(255,255,255,.04));
      border: 1px solid rgba(255,32,45,.25);
    }
    .sample h3 { font-size: 30px; margin: 0 0 14px; }
    .sample p { color: var(--muted); line-height: 1.65; }
    .mockup {
      min-height: 330px;
      border-radius: 30px;
      background:
        radial-gradient(circle at 72% 25%, rgba(255,32,45,.35), transparent 25%),
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
      border: 1px solid rgba(255,255,255,.08);
      display: grid;
      place-items: center;
      position: relative;
      overflow: hidden;
    }
    .mockup img { width: 170px; filter: drop-shadow(0 0 28px rgba(255,32,45,.35)); }
    .contact-box {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      align-items: center;
      background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 34px;
      padding: 34px;
    }
    .contact-box h2 { font-size: clamp(32px, 4vw, 52px); margin: 0 0 12px; }
    .contact-box p { color: var(--muted); line-height: 1.65; }
    .contact-links { display: grid; gap: 14px; }
    .contact-links a {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      padding: 16px 18px;
      border-radius: 16px;
      background: rgba(0,0,0,.28);
      border: 1px solid rgba(255,255,255,.08);
      font-weight: 800;
    }
    footer {
      border-top: 1px solid rgba(255,255,255,.08);
      padding: 28px 0;
      color: var(--muted);
      text-align: center;
      background: rgba(0,0,0,.3);
    }
    .whatsapp-float {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 55;
      width: 58px;
      height: 58px;
      border-radius: 50%;
      background: #25D366;
      display: grid;
      place-items: center;
      color: white;
      font-size: 28px;
      box-shadow: 0 12px 30px rgba(37,211,102,.35);
      font-weight: 900;
    }
    @media (max-width: 900px) {
      .menu { display: none; }
      .hero-grid, .portfolio, .contact-box { grid-template-columns: 1fr; }
      .services, .price-grid { grid-template-columns: 1fr 1fr; }
      .stats { grid-template-columns: 1fr 1fr; }
      .hero { padding-top: 58px; }
    }
    @media (max-width: 600px) {
      .services, .price-grid { grid-template-columns: 1fr; }
      .hero-actions { flex-direction: column; }
      .btn { width: 100%; }
      .phone-buttons { grid-template-columns: 1fr; }
      .brand span { font-size: 18px; }
      .brand img { width: 48px; height: 48px; }
      .content-pad { padding-left: 14px; padding-right: 14px; }
    }



/* Existing font bold premium update - no Poppins */
body {
  font-weight: 500;
}

h1, h2, h3,
.brand span,
.btn,
.mini-btn,
.service-line,
.stat strong,
.amount,
.price h3,
.card h3,
.contact-box h2 {
  font-weight: 900;
}

.menu,
.badge,
.contact-links a,
li,
.brand small,
.stat small {
  font-weight: 800;
}

.lead,
.card p,
.section-title p,
.contact-box p,
.price p {
  font-weight: 500;
}

h1 {
  letter-spacing: -1.5px;
}

h2 {
  letter-spacing: -1px;
}



/* Better heading font update */
h1, h2, h3,
.brand span,
.phone-title h3,
.person h3,
.section-title h2,
.contact-box h2 {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: 900;
  letter-spacing: -0.8px;
}

.hero h1,
h1 {
  font-size: clamp(44px, 5.4vw, 76px);
  line-height: 1.06;
  letter-spacing: -1.2px;
}

.section-title h2,
.contact-box h2 {
  line-height: 1.12;
}

.btn,
.mini-btn,
.menu,
.badge {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: 800;
}


    @media (max-width: 900px) {
      .menu { display: none; }
      .nav { min-height: 84px; }
      .brand img { width: 58px; height: 58px; }
      .brand span { font-size: 22px; }
      .brand small { font-size: 12px; letter-spacing: 3px; }
      .hero-grid,
      .about-grid,
      .cta-grid,
      .footer-grid { grid-template-columns: 1fr; }
      .services,
      .portfolio,
      .price-grid { grid-template-columns: 1fr; }
      .stats { grid-template-columns: 1fr 1fr; }
      .contact-list { grid-template-columns: 1fr; }
      .hero { padding-top: 62px; }
      h1 { font-size: clamp(34px, 9vw, 52px); line-height: 1.03; }
    }

/* Layout refinement update: header larger, hero heading smaller */
.hero-copy h1,
.hero h1 {
  max-width: 720px;
}
.hero-copy .lead,
.hero .lead {
  max-width: 700px;
}
.topbar .brand {
  flex-shrink: 0;
}




/* Final balance update: larger header + smaller hero + compact card */
.nav {
  min-height: 98px !important;
}

.brand {
  gap: 16px !important;
}

.brand img {
  width: 78px !important;
  height: 78px !important;
}

.brand span {
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.brand small {
  font-size: 15px !important;
  letter-spacing: 4px !important;
  font-weight: 900 !important;
}

.menu {
  font-size: 16px !important;
  gap: 30px !important;
}

.topbar .btn {
  padding: 16px 26px !important;
  font-size: 16px !important;
}

.hero {
  padding: 42px 0 62px !important;
}

.hero-grid {
  grid-template-columns: 1fr .82fr !important;
  gap: 54px !important;
  align-items: center !important;
}

.badge {
  margin-bottom: 24px !important;
}

.hero h1,
.hero-copy h1 {
  font-size: clamp(36px, 3.65vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -1px !important;
  max-width: 650px !important;
}

.hero .lead,
.hero-copy .lead {
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.62 !important;
  max-width: 640px !important;
  margin: 22px 0 26px !important;
}

.phone-card {
  width: min(365px, 100%) !important;
  border-radius: 34px !important;
  padding: 14px !important;
}

.phone-inner {
  min-height: 500px !important;
  padding: 22px 18px !important;
  border-radius: 28px !important;
}

.phone-logo {
  margin: 4px 0 14px !important;
}

.phone-logo img {
  width: 86px !important;
}

.phone-title h3 {
  font-size: 28px !important;
}

.phone-title p {
  font-size: 15px !important;
  margin: 6px 0 16px !important;
}

.service-list {
  gap: 9px !important;
  margin-top: 18px !important;
}

.service-line {
  padding: 10px 12px !important;
  font-size: 14px !important;
  border-radius: 13px !important;
}

.check {
  width: 24px !important;
  height: 24px !important;
  flex-basis: 24px !important;
  font-size: 15px !important;
}

.phone-buttons {
  margin-top: 18px !important;
  gap: 8px !important;
}

.mini-btn {
  padding: 11px 8px !important;
  font-size: 14px !important;
}

@media (max-width: 900px) {
  .nav {
    min-height: 84px !important;
  }
  .brand img {
    width: 58px !important;
    height: 58px !important;
  }
  .brand span {
    font-size: 22px !important;
  }
  .brand small {
    font-size: 12px !important;
    letter-spacing: 3px !important;
  }
  .hero {
    padding: 42px 0 56px !important;
  }
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .hero h1,
  .hero-copy h1 {
    font-size: clamp(34px, 9vw, 50px) !important;
    line-height: 1.08 !important;
  }
  .phone-card {
    width: min(390px, 100%) !important;
  }
}

@media (max-width: 520px) {
  .topbar .btn {
    display: none !important;
  }
  .brand img {
    width: 54px !important;
    height: 54px !important;
  }
  .brand span {
    font-size: 20px !important;
  }
  .brand small {
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
  }
}




/* Final compact homepage hero - professional balanced version */
.hero {
  padding: 34px 0 56px !important;
}

.hero-grid {
  grid-template-columns: 1fr .78fr !important;
  gap: 64px !important;
}

.hero h1,
.hero-copy h1 {
  font-size: clamp(30px, 2.9vw, 48px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.5px !important;
  max-width: 600px !important;
  font-weight: 900 !important;
}

.hero h1 span,
.hero-copy h1 span {
  display: inline !important;
}

.hero .lead,
.hero-copy .lead {
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.65 !important;
  max-width: 600px !important;
  margin: 20px 0 24px !important;
}

.badge {
  margin-bottom: 22px !important;
  font-size: 14px !important;
  padding: 9px 14px !important;
}

.hero-actions .btn {
  padding: 13px 18px !important;
  font-size: 14px !important;
}

.stats {
  margin-top: 28px !important;
}

.phone-card {
  width: min(340px, 100%) !important;
}

.phone-inner {
  min-height: 470px !important;
  padding: 20px 16px !important;
}

.phone-logo img {
  width: 78px !important;
}

.phone-title h3 {
  font-size: 25px !important;
}

.phone-title p {
  font-size: 14px !important;
  margin-bottom: 14px !important;
}

.service-line {
  padding: 9px 11px !important;
  font-size: 13px !important;
}

.phone-buttons {
  margin-top: 15px !important;
}

.nav {
  min-height: 96px !important;
}

.brand img {
  width: 76px !important;
  height: 76px !important;
}

.brand span {
  font-size: 29px !important;
}

@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .hero h1,
  .hero-copy h1 {
    font-size: clamp(32px, 8vw, 46px) !important;
    max-width: 100% !important;
  }
  .phone-card {
    width: min(360px, 100%) !important;
  }
}

@media (min-width: 1200px) {
  .container {
    width: min(1240px, calc(100% - 72px)) !important;
  }
}



/* Common header/footer and all pages update */
.topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

.site-footer {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 54px 0 24px;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,32,45,.12), transparent 28%),
    linear-gradient(180deg, rgba(0,0,0,.58), rgba(0,0,0,.92));
  color: var(--white);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr .8fr 1fr 1.1fr;
  gap: 28px;
  align-items: start;
}

.footer-brand {
  display: grid;
  gap: 12px;
}

.footer-brand img {
  width: 78px;
  height: 78px;
  object-fit: contain;
  filter: drop-shadow(0 0 16px rgba(255,32,45,.35));
}

.footer-brand strong {
  display: block;
  font-size: 28px;
  font-weight: 900;
}

.footer-brand span {
  display: block;
  color: var(--red);
  letter-spacing: 4px;
  font-size: 13px;
  font-weight: 900;
}

.footer-brand p,
.footer-bottom {
  color: var(--muted);
  line-height: 1.65;
}

.footer-links,
.footer-contact {
  display: grid;
  gap: 10px;
}

.footer-links h4,
.footer-contact h4 {
  color: var(--red);
  margin: 0 0 10px;
  font-size: 18px;
}

.footer-links a,
.footer-contact a {
  color: #efefef;
  font-weight: 700;
  font-size: 14px;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: var(--red);
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 36px;
  padding-top: 20px;
  text-align: center;
  font-size: 14px;
}

.page-main {
  min-height: 70vh;
}

.page-hero {
  padding: 90px 0 70px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,32,45,.18), transparent 30%),
    linear-gradient(135deg, rgba(55,5,8,.72), rgba(5,5,5,.92));
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-kicker {
  display: inline-flex;
  color: var(--red);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,32,45,.35);
  padding: 9px 14px;
  border-radius: 999px;
  font-weight: 900;
  margin-bottom: 18px;
}

.page-hero h1 {
  margin: 0;
  font-size: clamp(36px, 5vw, 68px);
  line-height: 1.08;
}

.page-content-section {
  padding: 64px 0;
}

.page-content-card {
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  padding: clamp(22px, 4vw, 42px);
  box-shadow: 0 20px 60px rgba(0,0,0,.28);
  color: #f3f3f3;
  line-height: 1.75;
}

.page-content-card h2,
.page-content-card h3 {
  color: #fff;
}

.page-content-card a {
  color: var(--red);
  font-weight: 800;
}

.blog-grid {
  display: grid;
  gap: 22px;
}

@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .page-hero {
    padding: 70px 0 54px;
  }
}

@media (max-width: 600px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .site-footer {
    padding-top: 38px;
  }
}




/* Full responsive update for mobile and tablet */
.mobile-menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,32,45,.45);
  background: rgba(255,255,255,.045);
  border-radius: 14px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  z-index: 1001;
}

.mobile-menu-toggle span {
  display: block;
  width: 23px;
  height: 3px;
  border-radius: 99px;
  background: #fff;
  transition: .2s ease;
}

.mobile-menu-toggle.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.mobile-menu-toggle.is-open span:nth-child(2) {
  opacity: 0;
}
.mobile-menu-toggle.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.mobile-only-link {
  display: none !important;
}

@media (max-width: 1180px) {
  .container {
    width: min(100% - 40px, 1080px) !important;
  }

  .hero-grid {
    gap: 42px !important;
    grid-template-columns: 1fr .78fr !important;
  }

  .hero h1,
  .hero-copy h1 {
    font-size: clamp(30px, 3.15vw, 46px) !important;
  }

  .menu {
    gap: 22px !important;
  }
}

@media (max-width: 980px) {
  .topbar {
    position: sticky !important;
  }

  .nav {
    min-height: 82px !important;
    position: relative;
  }

  .brand img {
    width: 56px !important;
    height: 56px !important;
  }

  .brand span {
    font-size: 22px !important;
  }

  .brand small {
    font-size: 11px !important;
    letter-spacing: 2.7px !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    margin-left: auto;
  }

  .header-whatsapp {
    display: none !important;
  }

  .menu {
    position: absolute !important;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    padding: 16px !important;
    background: rgba(8,8,10,.98) !important;
    border: 1px solid rgba(255,32,45,.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 50px rgba(0,0,0,.5) !important;
    backdrop-filter: blur(18px);
  }

  .menu.is-open {
    display: flex !important;
  }

  .menu a {
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    font-size: 15px !important;
  }

  .mobile-only-link {
    display: block !important;
    background: linear-gradient(135deg, var(--red), var(--red2)) !important;
    text-align: center !important;
  }

  .hero {
    padding: 44px 0 52px !important;
  }

  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .hero h1,
  .hero-copy h1 {
    font-size: clamp(34px, 7.4vw, 54px) !important;
    max-width: 760px !important;
  }

  .hero .lead,
  .hero-copy .lead {
    max-width: 760px !important;
  }

  .hero-actions {
    max-width: 560px;
  }

  .stats {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 560px;
  }

  .phone-card {
    width: min(420px, 100%) !important;
    margin: 0 auto !important;
  }

  .services {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .price-grid {
    grid-template-columns: 1fr !important;
    max-width: 680px;
    margin: 0 auto;
  }

  .portfolio,
  .contact-box {
    grid-template-columns: 1fr !important;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 640px) {
  body {
    min-width: 0 !important;
  }

  .container {
    width: calc(100% - 28px) !important;
  }

  .nav {
    min-height: 76px !important;
  }

  .brand {
    gap: 10px !important;
  }

  .brand img {
    width: 48px !important;
    height: 48px !important;
  }

  .brand span {
    font-size: 19px !important;
  }

  .brand small {
    font-size: 9.5px !important;
    letter-spacing: 2px !important;
  }

  .mobile-menu-toggle {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .hero {
    padding: 34px 0 44px !important;
  }

  .badge {
    font-size: 12.5px !important;
    padding: 8px 11px !important;
    max-width: 100%;
  }

  .hero h1,
  .hero-copy h1 {
    font-size: clamp(30px, 10.5vw, 44px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.4px !important;
  }

  .hero .lead,
  .hero-copy .lead {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .hero-actions .btn,
  .btn {
    width: 100%;
  }

  .stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .stat {
    padding: 14px 10px !important;
  }

  .stat strong {
    font-size: 22px !important;
  }

  .stat small {
    font-size: 12px !important;
  }

  .phone-card {
    width: 100% !important;
    max-width: 380px !important;
  }

  .phone-inner {
    min-height: auto !important;
  }

  .phone-buttons {
    grid-template-columns: 1fr !important;
  }

  .services,
  .price-grid {
    grid-template-columns: 1fr !important;
  }

  .section {
    padding: 54px 0 !important;
  }

  .section-title {
    margin-bottom: 28px !important;
  }

  .section-title h2 {
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .card,
  .price,
  .sample,
  .contact-box,
  .page-content-card {
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .contact-links a {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .site-footer {
    padding: 40px 0 22px !important;
  }

  .footer-brand img {
    width: 64px !important;
    height: 64px !important;
  }

  .page-hero {
    padding: 54px 0 42px !important;
  }

  .page-hero h1 {
    font-size: clamp(32px, 10vw, 46px) !important;
  }

  .whatsapp-float {
    width: 54px !important;
    height: 54px !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}

@media (max-width: 390px) {
  .brand span {
    font-size: 17px !important;
  }

  .brand small {
    font-size: 8.5px !important;
    letter-spacing: 1.6px !important;
  }

  .hero h1,
  .hero-copy h1 {
    font-size: 30px !important;
  }

  .stats {
    grid-template-columns: 1fr !important;
  }
}




/* WordPress dynamic menu support */
.menu .menu-items,
.menu ul {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menu li {
  margin: 0 !important;
  padding: 0 !important;
}

.menu li a,
.menu > a {
  color: #eee;
  font-weight: 800;
}

.menu li a:hover,
.menu > a:hover {
  color: var(--red);
}

@media (max-width: 980px) {
  .menu .menu-items,
  .menu ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .menu li a,
  .menu > a {
    display: block !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    font-size: 15px !important;
  }
}




/* Header menu cleanup: remove check marks and improve desktop fit */
.topbar .menu li::before,
.topbar .menu li::after,
.topbar .menu .menu-item::before,
.topbar .menu .menu-item::after,
.topbar .menu-items li::before,
.topbar .menu-items li::after {
  content: none !important;
  display: none !important;
}

.topbar .menu,
.topbar .menu .menu-items,
.topbar .menu ul {
  gap: 18px !important;
}

.topbar .menu li a,
.topbar .menu > a {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
}

.topbar .brand img {
  width: 66px !important;
  height: 66px !important;
}

.topbar .brand span {
  font-size: 27px !important;
}

.topbar .brand small {
  font-size: 13px !important;
  letter-spacing: 3.6px !important;
}

.topbar .header-whatsapp {
  padding: 14px 22px !important;
  font-size: 15px !important;
}

@media (min-width: 981px) and (max-width: 1350px) {
  .topbar .container.nav {
    width: calc(100% - 42px) !important;
  }

  .topbar .menu,
  .topbar .menu .menu-items,
  .topbar .menu ul {
    gap: 14px !important;
  }

  .topbar .menu li a,
  .topbar .menu > a {
    font-size: 14px !important;
  }

  .topbar .brand img {
    width: 58px !important;
    height: 58px !important;
  }

  .topbar .brand span {
    font-size: 24px !important;
  }

  .topbar .brand small {
    font-size: 11px !important;
    letter-spacing: 2.8px !important;
  }

  .topbar .header-whatsapp {
    padding: 12px 18px !important;
    font-size: 14px !important;
  }
}

/* Mobile menu keeps button-card style */
@media (max-width: 980px) {
  .topbar .menu li a,
  .topbar .menu > a {
    display: block !important;
    white-space: normal !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    font-size: 15px !important;
  }
}




/* Inner page title cleanup */
.page-hero {
  padding: 54px 0 46px !important;
}

.page-kicker {
  font-size: 14px !important;
  padding: 8px 14px !important;
  margin-bottom: 16px !important;
}

.page-hero h1 {
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.6px !important;
  max-width: 980px !important;
}

@media (max-width: 700px) {
  .page-hero {
    padding: 42px 0 36px !important;
  }

  .page-hero h1 {
    font-size: clamp(28px, 9vw, 40px) !important;
    line-height: 1.15 !important;
  }
}




/* Softer typography update */
body {
  font-weight: 400 !important;
}

h1,
h2,
h3,
.section-title h2,
.hero h1,
.hero-copy h1,
.page-hero h1 {
  font-weight: 800 !important;
}

.hero h1,
.hero-copy h1 {
  font-size: clamp(30px, 2.75vw, 46px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.3px !important;
}

.page-hero {
  padding: 46px 0 40px !important;
}

.page-hero h1 {
  font-size: clamp(30px, 3.3vw, 48px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.2px !important;
  max-width: 980px !important;
  font-weight: 800 !important;
}

.page-kicker,
.badge {
  font-weight: 700 !important;
}

.menu li a,
.menu > a,
.btn,
.header-whatsapp,
.service-line,
.mini-btn,
.stat small {
  font-weight: 700 !important;
}

.brand span {
  font-weight: 800 !important;
}

.brand small {
  font-weight: 700 !important;
}

.lead,
.page-content-card,
.card p,
.price p,
.section-title p {
  font-weight: 400 !important;
}

@media (max-width: 700px) {
  .page-hero h1 {
    font-size: clamp(27px, 8vw, 38px) !important;
  }

  .hero h1,
  .hero-copy h1 {
    font-size: clamp(30px, 9vw, 42px) !important;
  }
}




/* Premium hover effects for homepage cards and blocks */
.card,
.price,
.sample,
.stat,
.phone-card,
.page-content-card,
.contact-box {
  position: relative;
  overflow: hidden;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
}

.card::before,
.price::before,
.sample::before,
.stat::before,
.page-content-card::before,
.contact-box::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(255,32,45,.20), transparent 32%);
  opacity: 0;
  transition: opacity .28s ease;
  pointer-events: none;
}

.card::after,
.price::after,
.sample::after,
.stat::after,
.page-content-card::after,
.contact-box::after {
  content: "";
  position: absolute;
  top: -140%;
  left: -65%;
  width: 55%;
  height: 280%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,.12), transparent);
  transform: rotate(18deg);
  opacity: 0;
  transition: transform .65s ease, opacity .35s ease;
  pointer-events: none;
}

.card:hover,
.price:hover,
.sample:hover,
.stat:hover,
.page-content-card:hover,
.contact-box:hover {
  transform: translateY(-8px);
  border-color: rgba(255,32,45,.72) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.44),
    0 0 34px rgba(255,32,45,.18);
  background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,32,45,.035));
}

.card:hover::before,
.price:hover::before,
.sample:hover::before,
.stat:hover::before,
.page-content-card:hover::before,
.contact-box:hover::before {
  opacity: 1;
}

.card:hover::after,
.price:hover::after,
.sample:hover::after,
.stat:hover::after,
.page-content-card:hover::after,
.contact-box:hover::after {
  transform: translateX(360%) rotate(18deg);
  opacity: 1;
}

/* Service icon animation */
.card .icon {
  transition: transform .28s ease, filter .28s ease;
}

.card:hover .icon {
  transform: translateY(-4px) scale(1.12) rotate(-3deg);
  filter: drop-shadow(0 0 14px rgba(255,32,45,.45));
}

/* Pricing card special effect */
.price.featured:hover,
.price:hover {
  transform: translateY(-9px) scale(1.015);
}

.price .amount {
  transition: transform .28s ease, text-shadow .28s ease;
}

.price:hover .amount {
  transform: scale(1.04);
  text-shadow: 0 0 22px rgba(255,32,45,.32);
}

/* Statistics cards */
.stat strong {
  transition: transform .25s ease, text-shadow .25s ease;
}

.stat:hover strong {
  transform: scale(1.08);
  text-shadow: 0 0 18px rgba(255,32,45,.35);
}

/* Phone mockup effect */
.phone-card {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.phone-card:hover {
  transform: translateY(-10px) rotateX(1.5deg) rotateY(-1.5deg);
  border-color: rgba(255,32,45,.86) !important;
  box-shadow:
    0 32px 85px rgba(0,0,0,.62),
    0 0 58px rgba(255,32,45,.25);
}

.phone-card:hover .phone-logo img {
  transform: scale(1.06);
  filter: drop-shadow(0 0 24px rgba(255,32,45,.65));
}

.phone-logo img {
  transition: transform .28s ease, filter .28s ease;
}

.service-line {
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.service-line:hover {
  transform: translateX(6px);
  background: rgba(255,32,45,.12);
  border-color: rgba(255,32,45,.42);
}

/* Buttons */
.btn,
.mini-btn,
.whatsapp-float {
  position: relative;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.btn::after,
.mini-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.24), transparent);
  transition: left .45s ease;
  pointer-events: none;
}

.btn:hover,
.mini-btn:hover {
  transform: translateY(-3px);
  filter: brightness(1.06);
}

.btn:hover::after,
.mini-btn:hover::after {
  left: 130%;
}

.whatsapp-float:hover {
  transform: translateY(-5px) scale(1.08);
  box-shadow:
    0 18px 42px rgba(37,211,102,.35),
    0 0 24px rgba(37,211,102,.35);
}

/* Header menu smooth underline */
.topbar .menu li a,
.topbar .menu > a {
  position: relative;
}

.topbar .menu li a::after,
.topbar .menu > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 0;
  height: 2px;
  border-radius: 99px;
  background: var(--red);
  transition: width .22s ease;
}

.topbar .menu li a:hover::after,
.topbar .menu > a:hover::after {
  width: 100%;
}

/* Respect users who prefer reduced animation */
@media (prefers-reduced-motion: reduce) {
  .card,
  .price,
  .sample,
  .stat,
  .phone-card,
  .page-content-card,
  .contact-box,
  .btn,
  .mini-btn,
  .whatsapp-float,
  .service-line,
  .card .icon,
  .price .amount,
  .stat strong,
  .phone-logo img {
    transition: none !important;
    transform: none !important;
  }

  .card::after,
  .price::after,
  .sample::after,
  .stat::after,
  .page-content-card::after,
  .contact-box::after,
  .btn::after,
  .mini-btn::after {
    display: none !important;
  }
}

/* On touch/mobile, keep effects light */
@media (hover: none) {
  .card:hover,
  .price:hover,
  .sample:hover,
  .stat:hover,
  .phone-card:hover,
  .page-content-card:hover,
  .contact-box:hover {
    transform: none;
  }
}



/* Floating website share button */
.share-float {
  position: fixed;
  left: 22px;
  bottom: 22px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 1px solid rgba(255,32,45,.55);
  background: linear-gradient(135deg, var(--red), var(--red2));
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 30px;
  font-weight: 800;
  box-shadow:
    0 18px 42px rgba(0,0,0,.35),
    0 0 28px rgba(255,32,45,.25);
  cursor: pointer;
  z-index: 998;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.share-float:hover {
  transform: translateY(-5px) scale(1.08);
  filter: brightness(1.08);
  box-shadow:
    0 22px 52px rgba(0,0,0,.46),
    0 0 34px rgba(255,32,45,.38);
}

.share-float::after {
  content: "Share";
  position: absolute;
  left: 72px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(8,8,10,.94);
  border: 1px solid rgba(255,32,45,.35);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  white-space: nowrap;
}

.share-float:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(4px);
}

.share-toast {
  position: fixed;
  left: 22px;
  bottom: 96px;
  background: rgba(8,8,10,.96);
  color: #fff;
  border: 1px solid rgba(255,32,45,.45);
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  z-index: 999;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.share-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 640px) {
  .share-float {
    width: 54px !important;
    height: 54px !important;
    left: 14px !important;
    bottom: 14px !important;
    font-size: 26px !important;
  }

  .share-float::after {
    display: none;
  }

  .share-toast {
    left: 14px;
    bottom: 78px;
    max-width: calc(100% - 28px);
  }
}



/* Fixed visible floating share button */
.djeema-share-float {
  position: fixed !important;
  left: 22px !important;
  bottom: 22px !important;
  min-width: 62px !important;
  height: 62px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,32,45,.7) !important;
  background: linear-gradient(135deg, #ff202d, #b9000d) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.42),
    0 0 32px rgba(255,32,45,.32) !important;
  cursor: pointer !important;
  z-index: 999999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.djeema-share-float:hover {
  transform: translateY(-5px) scale(1.05) !important;
  filter: brightness(1.08) !important;
  box-shadow:
    0 22px 52px rgba(0,0,0,.52),
    0 0 38px rgba(255,32,45,.42) !important;
}

.djeema-share-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.16) !important;
  font-size: 22px !important;
}

.djeema-share-label {
  display: inline-block !important;
}

.djeema-share-toast {
  position: fixed !important;
  left: 22px !important;
  bottom: 96px !important;
  background: rgba(8,8,10,.96) !important;
  color: #fff !important;
  border: 1px solid rgba(255,32,45,.45) !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.35) !important;
  z-index: 1000000 !important;
  opacity: 0 !important;
  transform: translateY(12px) !important;
  pointer-events: none !important;
  transition: opacity .22s ease, transform .22s ease !important;
}

.djeema-share-toast.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (max-width: 640px) {
  .djeema-share-float {
    left: 14px !important;
    bottom: 14px !important;
    min-width: 54px !important;
    height: 54px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
  }

  .djeema-share-icon {
    width: 26px !important;
    height: 26px !important;
    font-size: 20px !important;
  }

  .djeema-share-label {
    display: none !important;
  }

  .djeema-share-toast {
    left: 14px !important;
    bottom: 78px !important;
    max-width: calc(100% - 28px) !important;
  }
}



/* Better Blog Card Block Design */
.blog-grid.blog-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;align-items:stretch!important}
.blog-card-new{position:relative;overflow:hidden;display:grid;grid-template-columns:42% 1fr;min-height:300px;background:radial-gradient(circle at 10% 0%,rgba(255,32,45,.14),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022));border:1px solid rgba(255,255,255,.10);border-radius:28px;box-shadow:0 18px 55px rgba(0,0,0,.30);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.blog-card-new:hover{transform:translateY(-8px);border-color:rgba(255,32,45,.70);box-shadow:0 28px 80px rgba(0,0,0,.46),0 0 34px rgba(255,32,45,.18)}
.blog-card-new::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.10) 48%,transparent 58%);transform:translateX(-120%);opacity:.55;transition:transform .65s ease;pointer-events:none}
.blog-card-new:hover::after{transform:translateX(120%)}
.blog-thumb{position:relative;display:block;min-height:100%;background:#111;overflow:hidden}
.blog-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.42));pointer-events:none}
.blog-thumb img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block;transform:scale(1.01);transition:transform .35s ease,filter .35s ease}
.blog-card-new:hover .blog-thumb img{transform:scale(1.08);filter:brightness(.92) contrast(1.05)}
.blog-thumb-placeholder{min-height:300px;height:100%;display:grid;place-content:center;gap:6px;text-align:center;background:radial-gradient(circle at center,rgba(255,32,45,.32),transparent 42%),linear-gradient(135deg,#171717,#060606)}
.blog-thumb-placeholder span{color:#fff;font-size:28px;font-weight:800}.blog-thumb-placeholder small{color:var(--red);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.blog-card-body{position:relative;z-index:1;padding:30px 30px 28px;display:flex;flex-direction:column;justify-content:center}
.blog-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.blog-meta span{display:inline-flex;align-items:center;color:#fff;background:rgba(255,32,45,.14);border:1px solid rgba(255,32,45,.36);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}
.blog-card-new h2{margin:0 0 14px!important;font-size:clamp(22px,2vw,31px)!important;line-height:1.18!important;letter-spacing:-.2px!important}
.blog-card-new h2 a{color:#fff!important;text-decoration:none!important}.blog-card-new h2 a:hover{color:var(--red)!important}
.blog-excerpt{color:#eeeeee;font-size:16px;line-height:1.65;margin-bottom:22px}.blog-excerpt p{margin:0}
.blog-read-more{width:fit-content;display:inline-flex;align-items:center;gap:8px;color:#fff!important;background:linear-gradient(135deg,var(--red),var(--red2));border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:13px 18px;font-weight:800;text-decoration:none!important;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
.blog-read-more:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 14px 35px rgba(255,32,45,.24)}.blog-read-more span{transition:transform .22s ease}.blog-read-more:hover span{transform:translateX(4px)}
@media(max-width:1100px){.blog-grid.blog-card-grid{grid-template-columns:1fr!important}.blog-card-new{grid-template-columns:38% 1fr}}
@media(max-width:720px){.blog-card-new{grid-template-columns:1fr;min-height:0;border-radius:24px}.blog-thumb img,.blog-thumb-placeholder{min-height:220px;height:220px}.blog-thumb::after{background:linear-gradient(0deg,rgba(0,0,0,.42),transparent)}.blog-card-body{padding:24px}.blog-card-new h2{font-size:clamp(22px,7vw,30px)!important}}



/* Blog card image full visible fix */
.blog-card-new {
  grid-template-columns: 46% 1fr !important;
}

.blog-thumb {
  padding: 16px !important;
  background:
    radial-gradient(circle at center, rgba(255,32,45,.16), transparent 45%),
    #070707 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.blog-thumb::after {
  display: none !important;
}

.blog-thumb img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 260px !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.38) !important;
  background: #050505 !important;
}

.blog-card-new:hover .blog-thumb img {
  transform: scale(1.03) !important;
  filter: brightness(1) contrast(1.04) !important;
}

.blog-card-body {
  padding: 28px !important;
}

.blog-card-new h2 {
  font-size: clamp(20px, 1.65vw, 28px) !important;
}

.blog-excerpt {
  font-size: 15px !important;
  line-height: 1.58 !important;
}

@media (max-width: 1100px) {
  .blog-card-new {
    grid-template-columns: 44% 1fr !important;
  }
}

@media (max-width: 720px) {
  .blog-card-new {
    grid-template-columns: 1fr !important;
  }

  .blog-thumb {
    min-height: auto !important;
    padding: 14px !important;
  }

  .blog-thumb img {
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
  }
}



/* Premium blog card style - big visible image on top */
.blog-grid.blog-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  align-items: stretch !important;
}

.blog-card-new {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,32,45,.18), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.026)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.34) !important;
}

.blog-thumb {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1200 / 630 !important;
  padding: 0 !important;
  display: block !important;
  background: #070707 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  overflow: hidden !important;
}

.blog-thumb::after {
  display: none !important;
}

.blog-thumb img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  background: #070707 !important;
}

.blog-card-new:hover .blog-thumb img {
  transform: scale(1.045) !important;
  filter: brightness(.96) contrast(1.06) !important;
}

.blog-thumb-placeholder {
  width: 100% !important;
  aspect-ratio: 1200 / 630 !important;
  min-height: 0 !important;
  height: auto !important;
}

.blog-card-body {
  padding: 28px 30px 30px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 310px !important;
}

.blog-meta {
  margin-bottom: 14px !important;
}

.blog-card-new h2 {
  font-size: clamp(22px, 1.85vw, 30px) !important;
  line-height: 1.16 !important;
  margin: 0 0 14px !important;
}

.blog-excerpt {
  font-size: 15.5px !important;
  line-height: 1.62 !important;
  margin-bottom: 22px !important;
}

.blog-read-more {
  margin-top: auto !important;
}

@media (max-width: 1100px) {
  .blog-grid.blog-card-grid {
    grid-template-columns: 1fr !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 720px) {
  .blog-grid.blog-card-grid {
    gap: 24px !important;
  }

  .blog-card-new {
    border-radius: 24px !important;
  }

  .blog-card-body {
    min-height: 0 !important;
    padding: 22px !important;
  }

  .blog-card-new h2 {
    font-size: clamp(22px, 7vw, 30px) !important;
  }
}
/* ==================================================
   DJEEMA HOMEPAGE — LATEST BLOG POSTS
================================================== */

.djeema-latest-blog {
    position: relative;
    padding: 90px 22px;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(255, 32, 45, 0.16),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #050505 0%,
            #110607 55%,
            #050505 100%
        );
}

.djeema-latest-blog::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 32, 45, 0.8),
        transparent
    );
}

.djeema-blog-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.djeema-blog-heading {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.djeema-blog-heading span {
    display: inline-block;
    margin-bottom: 10px;
    color: #ff202d;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.djeema-blog-heading h2 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1.1;
}

.djeema-blog-heading p {
    margin: 0;
    color: #bdbdbd;
    font-size: 17px;
    line-height: 1.7;
}

.djeema-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.djeema-blog-card {
    overflow: hidden;
    border: 1px solid rgba(255, 32, 45, 0.3);
    border-radius: 22px;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.075),
        rgba(255, 255, 255, 0.025)
    );
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.34);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.djeema-blog-card:hover {
    transform: translateY(-8px);
    border-color: #ff202d;
    box-shadow:
        0 28px 60px rgba(0, 0, 0, 0.48),
        0 0 24px rgba(255, 32, 45, 0.12);
}

.djeema-blog-image {
    display: block;
    overflow: hidden;
    background: #111111;
}

.djeema-blog-image img {
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.djeema-blog-card:hover .djeema-blog-image img {
    transform: scale(1.05);
}

.djeema-blog-placeholder {
    display: grid;
    place-items: center;
    height: 230px;
    color: rgba(255, 255, 255, 0.45);
    font-weight: 800;
    letter-spacing: 4px;
    background:
        radial-gradient(
            circle at center,
            rgba(255, 32, 45, 0.24),
            transparent 55%
        ),
        #101010;
}

.djeema-blog-content {
    padding: 25px;
}

.djeema-blog-date {
    margin-bottom: 12px;
    color: #ff4a55;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.djeema-blog-content h3 {
    margin: 0 0 13px;
    font-size: 22px;
    line-height: 1.35;
}

.djeema-blog-content h3 a {
    color: #ffffff;
    text-decoration: none;
}

.djeema-blog-content h3 a:hover {
    color: #ff3541;
}

.djeema-blog-content p {
    margin: 0 0 20px;
    color: #bdbdbd;
    font-size: 15px;
    line-height: 1.7;
}

.djeema-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.djeema-read-more span {
    color: #ff202d;
    font-size: 19px;
    transition: transform 0.2s ease;
}

.djeema-read-more:hover span {
    transform: translateX(5px);
}

.djeema-view-all-wrap {
    margin-top: 42px;
    text-align: center;
}

.djeema-view-all {
    display: inline-block;
    padding: 15px 28px;
    border: 1px solid #ff202d;
    border-radius: 12px;
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
    background: linear-gradient(
        135deg,
        #ff202d,
        #b50814
    );
    box-shadow: 0 12px 30px rgba(255, 32, 45, 0.22);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.djeema-view-all:hover {
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(255, 32, 45, 0.32);
}

.djeema-no-posts {
    color: #cccccc;
    text-align: center;
}

@media (max-width: 900px) {
    .djeema-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .djeema-latest-blog {
        padding: 65px 16px;
    }

    .djeema-blog-grid {
        grid-template-columns: 1fr;
    }

    .djeema-blog-image img,
    .djeema-blog-placeholder {
        height: 215px;
    }

    .djeema-blog-heading {
        margin-bottom: 32px;
    }
}

/* ==================================================
   FINAL SAFE COMPACT RESPONSIVE HOMEPAGE BLOG
   This section affects only .djeema-* blog classes.
================================================== */

.djeema-latest-blog {
    width: 100%;
    max-width: 100%;
    padding: 48px 18px;
    overflow: hidden;
}

.djeema-latest-blog,
.djeema-latest-blog *,
.djeema-latest-blog *::before,
.djeema-latest-blog *::after {
    box-sizing: border-box;
}

.djeema-blog-container {
    width: 100%;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
}

.djeema-blog-heading {
    margin-bottom: 28px;
}

.djeema-blog-heading h2 {
    font-size: clamp(28px, 4vw, 40px);
}

.djeema-blog-heading p {
    font-size: 15px;
}

.djeema-blog-grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.djeema-blog-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    overflow: hidden;
}

.djeema-blog-image {
    display: block;
    width: 100%;
    height: 145px;
    overflow: hidden;
}

.djeema-blog-image img,
.djeema-blog-placeholder {
    display: block;
    width: 100%;
    height: 145px;
    max-height: 145px;
    object-fit: cover;
    object-position: center;
}

.djeema-blog-content {
    padding: 17px;
}

.djeema-blog-content h3 {
    margin-bottom: 10px;
    font-size: 17px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.djeema-blog-content p {
    margin-bottom: 15px;
    font-size: 13px;
    line-height: 1.55;
}

.djeema-blog-date {
    font-size: 10px;
}

.djeema-read-more {
    font-size: 13px;
}

.djeema-view-all-wrap {
    margin-top: 26px;
}

.djeema-view-all {
    padding: 11px 22px;
    font-size: 14px;
}

@media (max-width: 900px) {
    .djeema-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .djeema-blog-image,
    .djeema-blog-image img,
    .djeema-blog-placeholder {
        height: 135px;
        max-height: 135px;
    }
}

@media (max-width: 620px) {
    .djeema-latest-blog {
        padding: 36px 14px;
    }

    .djeema-blog-heading {
        margin-bottom: 24px;
    }

    .djeema-blog-heading h2 {
        font-size: 27px;
    }

    .djeema-blog-heading p {
        font-size: 14px;
        line-height: 1.6;
    }

    .djeema-blog-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .djeema-blog-card {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }

    .djeema-blog-image,
    .djeema-blog-image img,
    .djeema-blog-placeholder {
        height: 125px;
        max-height: 125px;
    }

    .djeema-blog-content {
        padding: 15px;
    }

    .djeema-blog-card:hover {
        transform: none;
    }
}

/* ==================================================
   DJEEMA SAFE MOBILE WIDTH FIX
   Removes sideways movement without changing desktop
================================================== */

@media screen and (max-width: 767px) {

    html,
    body,
    body.home {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow-x: hidden !important;
    }

    body.home *,
    body.home *::before,
    body.home *::after {
        box-sizing: border-box !important;
    }

    body.home .topbar,
    body.home main,
    body.home section,
    body.home .hero,
    body.home .pricing,
    body.home .page-main,
    body.home .page-hero,
    body.home .page-content-section,
    body.home .site-footer,
    body.home footer {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.home .container,
    body.home .topbar .container,
    body.home .site-footer .container,
    body.home footer .container {
        width: calc(100% - 28px) !important;
        min-width: 0 !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.home .hero-grid,
    body.home .services,
    body.home .price-grid,
    body.home .portfolio,
    body.home .contact-box,
    body.home .footer-grid,
    body.home .djeema-blog-grid {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.home .hero-grid > *,
    body.home .services > *,
    body.home .price-grid > *,
    body.home .portfolio > *,
    body.home .contact-box > *,
    body.home .footer-grid > *,
    body.home .djeema-blog-grid > * {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.home img,
    body.home video,
    body.home iframe,
    body.home svg {
        max-width: 100% !important;
    }

    body.home .phone-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 380px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.home .djeema-latest-blog {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 36px 14px !important;
        overflow: hidden !important;
    }

    body.home .djeema-blog-container {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    body.home .djeema-blog-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: hidden !important;
    }

    body.home .djeema-blog-image,
    body.home .djeema-blog-image img,
    body.home .djeema-blog-placeholder {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 125px !important;
        max-height: 125px !important;
        object-fit: contain !important;
        object-position: center !important;
        background: #0b0b0b !important;
    }

    body.home .djeema-blog-content {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 15px !important;
    }

    body.home .share-float,
    body.home .djeema-share-float,
    body.home .whatsapp-float {
        max-width: calc(100% - 28px) !important;
    }
}
