/*
Theme Name: Click Yamen
Theme URI: https://clickyamen.com
Description: قالب احترافي لشركة كليك يمين لتصميم المواقع وخدمات SEO — يدعم CPT وACF بشكل كامل
Author: Click Yamen
Author URI: https://clickyamen.com
Version: 1.0.0
Text Domain: clickyamen
Tags: rtl-language, arabic, custom-post-type, acf, seo, agency
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
*/

/* ════════════════════════════════════════════
   DESIGN TOKENS
════════════════════════════════════════════ */
:root {
  /* Brand Colors */
  --color-primary:        #1a3a6b;
  --color-primary-light:  #2a5298;
  --color-primary-dark:   #0f2447;
  --color-accent:         #f5a623;
  --color-accent-dark:    #c4830d;
  --color-accent-light:   #ffc659;

  /* Surfaces */
  --color-bg:             #f7f8fc;
  --color-surface:        #ffffff;
  --color-surface-2:      #f0f2f8;
  --color-border:         #dde2ef;

  /* Text */
  --color-text:           #1a1f36;
  --color-text-muted:     #5a6384;
  --color-text-faint:     #9ba3be;

  /* Type Scale */
  --text-xs:   clamp(0.75rem,  0.7rem  + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.8rem  + 0.35vw, 1rem);
  --text-base: clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem    + 0.75vw, 1.5rem);
  --text-xl:   clamp(1.5rem,   1.2rem  + 1.25vw, 2.25rem);
  --text-2xl:  clamp(2rem,     1.2rem  + 2.5vw,  3.5rem);
  --text-3xl:  clamp(2.5rem,   1rem    + 4vw,    5rem);

  /* Spacing */
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;

  /* Radius */
  --radius-sm: .375rem; --radius-md: .5rem; --radius-lg: .75rem;
  --radius-xl: 1rem; --radius-2xl: 1.5rem; --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(26,58,107,.08);
  --shadow-md: 0 4px 16px rgba(26,58,107,.12);
  --shadow-lg: 0 12px 40px rgba(26,58,107,.16);
  --shadow-xl: 0 24px 64px rgba(26,58,107,.2);

  /* Transitions */
  --ease: cubic-bezier(.16,1,.3,1);
  --trans: 200ms var(--ease);

  /* Fonts */
  --font-display: 'Cairo', 'Segoe UI', sans-serif;
  --font-body:    'Cairo', 'Segoe UI', sans-serif;

  /* Content widths */
  --content-narrow: 680px;
  --content-default: 1000px;
  --content-wide: 1200px;
}

/* ════════════════════════════════════════════
   BASE RESET
════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: none; text-size-adjust: none; -webkit-font-smoothing: antialiased; scroll-padding-top: 80px; }
body { font-family: var(--font-body); font-size: var(--text-base); color: var(--color-text); background: var(--color-bg); line-height: 1.7; direction: rtl; }
img, video { display: block; max-width: 100%; height: auto; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }
input, textarea, select { font: inherit; color: inherit; }
h1,h2,h3,h4,h5,h6 { line-height: 1.5; text-wrap: balance; font-family: var(--font-display); font-weight: 700; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; border-radius: var(--radius-sm); }
::selection { background: rgba(245,166,35,.2); color: var(--color-text); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* ════════════════════════════════════════════
   LAYOUT
════════════════════════════════════════════ */
.container { max-width: var(--content-wide); margin-inline: auto; padding-inline: var(--space-6); }
.container--narrow { max-width: var(--content-narrow); }
.section { padding-block: clamp(var(--space-12), 8vw, var(--space-24)); }
.text-center { text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* ════════════════════════════════════════════
   SCROLL REVEAL
════════════════════════════════════════════ */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.visible { opacity: 1; transform: none; }

/* ════════════════════════════════════════════
   TYPOGRAPHY HELPERS
════════════════════════════════════════════ */
.section-tag { display: inline-flex; align-items: center; gap: .5rem; background: rgba(245,166,35,.12); color: var(--color-accent-dark); font-size: var(--text-xs); font-weight: 700; padding: .35rem 1rem; border-radius: var(--radius-full); margin-bottom: var(--space-4); text-transform: uppercase; letter-spacing: .05em; }
.section-title { font-size: var(--text-2xl); font-weight: 900; color: var(--color-primary); line-height: 1.15; }
.section-title span { color: var(--color-accent); }
.section-desc { font-size: var(--text-base); color: var(--color-text-muted); margin-top: var(--space-4); max-width: 55ch; }

/* ════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════ */
.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .85rem 2rem; border-radius: var(--radius-full); font-weight: 700; font-size: var(--text-sm); transition: all var(--trans); cursor: pointer; white-space: nowrap; }
.btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); color: #fff; box-shadow: 0 4px 20px rgba(245,166,35,.35); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(245,166,35,.45); }
.btn-primary:active { transform: translateY(0); }
.btn-outline { background: transparent; color: var(--color-primary); border: 2px solid var(--color-primary); }
.btn-outline:hover { background: var(--color-primary); color: #fff; }
.btn-ghost { background: rgba(26,58,107,.08); color: var(--color-primary); }
.btn-ghost:hover { background: rgba(26,58,107,.15); }
.btn-sm { padding: .55rem 1.25rem; font-size: var(--text-xs); }

/* ════════════════════════════════════════════
   HEADER
════════════════════════════════════════════ */
.site-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--color-border); transition: box-shadow var(--trans); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); height: 72px; }
.site-logo { display: flex; align-items: center; gap: var(--space-3); text-decoration: none; flex-shrink: 0; }
.site-logo img { height: 54px; width: auto; }
.site-logo .logo-text { font-size: var(--text-lg); font-weight: 900; color: var(--color-primary); }
.site-logo .logo-text span { color: var(--color-accent); }
.main-nav { display: flex; align-items: center; gap: var(--space-2); }
.main-nav a { padding: .5rem 1rem; font-size: var(--text-sm); font-weight: 600; color: var(--color-text); border-radius: var(--radius-md); transition: all var(--trans); }
.main-nav a:hover, .main-nav a.active { background: rgba(26,58,107,.08); color: var(--color-primary); }
.header-cta { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; }
.header-phone { font-size: var(--text-sm); font-weight: 700; color: var(--color-primary); display: flex; align-items: center; gap: .4rem; }
.hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; cursor: pointer; background: var(--color-surface-2); border-radius: var(--radius-md); align-items: center; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--color-primary); border-radius: 2px; transition: all var(--trans); }
.mobile-nav { display: none; flex-direction: column; border-top: 1px solid var(--color-border); padding: var(--space-4); gap: var(--space-1); }
.mobile-nav a { display: block; padding: var(--space-3) var(--space-4); font-size: var(--text-base); font-weight: 600; color: var(--color-text); border-radius: var(--radius-md); transition: background var(--trans); }
.mobile-nav a:hover { background: rgba(26,58,107,.07); color: var(--color-primary); }
.mobile-nav.open { display: flex; }
@media (max-width: 900px) {
  .main-nav, .header-phone, .header-profile-btn { display: none; }
  .hamburger { display: flex; }
}

/* ════════════════════════════════════════════
   HERO SECTION
════════════════════════════════════════════ */
.hero { background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 60%, var(--color-primary-light) 100%); padding-block: clamp(var(--space-16), 10vw, var(--space-24)); overflow: hidden; position: relative; }
.hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%, rgba(245,166,35,.12) 0%, transparent 65%); pointer-events: none; }
.hero-inner { display: grid; grid-template-columns: 55fr 45fr; gap: var(--space-12); align-items: center; position: relative; }
.hero-tag { display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: var(--color-accent-light); font-size: var(--text-xs); font-weight: 700; padding: .4rem 1rem; border-radius: var(--radius-full); margin-bottom: var(--space-5); letter-spacing: .05em; }
.hero h1 { font-size: clamp(1.6rem, 4vw, 3rem); font-weight: 900; color: #fff; line-height: 1.5; }
.hero h1 span { color: var(--color-accent); }
.hero-desc { color: rgba(255,255,255,.8); font-size: clamp(.9rem, 1.1vw, 1.1rem); margin-top: var(--space-4); max-width: 52ch; line-height: 1.8; }
.hero-actions { display: flex; gap: var(--space-4); flex-wrap: wrap; margin-top: var(--space-8); }
.hero-stats { display: flex; gap: var(--space-8); margin-top: var(--space-10); flex-wrap: wrap; }
.hero-stat .num { font-size: var(--text-xl); font-weight: 900; color: var(--color-accent); display: block; }
.hero-stat .label { font-size: var(--text-xs); color: rgba(255,255,255,.65); margin-top: .2rem; }
.hero-visual { position: relative; display: flex; justify-content: center; align-items: center; }
.hero-visual img { border-radius: var(--radius-2xl); box-shadow: var(--shadow-xl); width: 100%; max-width: 500px; }
.hero-badge { position: absolute; bottom: -16px; right: -16px; background: #fff; border-radius: var(--radius-xl); padding: var(--space-4) var(--space-5); box-shadow: var(--shadow-lg); text-align: center; }
.hero-badge .badge-num { font-size: var(--text-xl); font-weight: 900; color: var(--color-primary); display: block; }
.hero-badge .badge-txt { font-size: var(--text-xs); color: var(--color-text-muted); }
@media (max-width: 768px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
}

/* ════════════════════════════════════════════
   SECTION HEADERS
════════════════════════════════════════════ */
.section-header { margin-bottom: clamp(var(--space-8), 4vw, var(--space-16)); }
.section-header.centered { text-align: center; }
.section-header.centered .section-desc { margin-inline: auto; }

/* ════════════════════════════════════════════
   SERVICES
════════════════════════════════════════════ */
.services-section { background: var(--color-surface); }
.services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px,100%), 1fr)); gap: var(--space-6); }
.service-card { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-8); transition: all var(--trans); position: relative; overflow: hidden; }
.service-card::before { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); transform: scaleX(0); transform-origin: right; transition: transform var(--trans); }
.service-card:hover { border-color: transparent; box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.service-card:hover::before { transform: scaleX(1); }
.service-icon { width: 56px; height: 56px; background: linear-gradient(135deg, rgba(26,58,107,.12), rgba(26,58,107,.05)); border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--color-primary); margin-bottom: var(--space-4); }
.service-icon svg { width: 28px; height: 28px; stroke: var(--color-primary); }
.service-icon img { width: 32px; height: 32px; object-fit: contain; }
.service-card h3 { font-size: clamp(1rem, 1.5vw, 1.15rem); font-weight: 700; color: var(--color-primary); line-height: 1.5; margin-top: var(--space-4); margin-bottom: var(--space-3); }
.service-card p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.7; }
.service-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: var(--space-5); color: var(--color-accent-dark); font-size: var(--text-sm); font-weight: 700; transition: gap var(--trans); }
.service-link:hover { gap: .75rem; }

/* ════════════════════════════════════════════
   WHY US
════════════════════════════════════════════ */
.why-section { background: var(--color-bg); }
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16); align-items: center; }
.why-features { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-8); }
.why-feature { display: flex; gap: var(--space-5); align-items: flex-start; }
.why-feature-icon { flex-shrink: 0; width: 48px; height: 48px; background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)); color: #fff; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; font-size: 1.25rem; }
.why-feature h4 { font-size: var(--text-base); font-weight: 700; color: var(--color-primary); margin-bottom: .25rem; }
.why-feature p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.7; }
.why-image img { border-radius: var(--radius-2xl); box-shadow: var(--shadow-xl); width: 100%; }
@media (max-width: 768px) { .why-grid { grid-template-columns: 1fr; } .why-image { display: none; } }

/* ════════════════════════════════════════════
   PORTFOLIO
════════════════════════════════════════════ */
.portfolio-section { background: var(--color-surface); }
.archive-filters { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.filter-btn { padding: .5rem 1.25rem; border-radius: var(--radius-full); font-size: var(--text-sm); font-weight: 600; color: var(--color-text-muted); background: var(--color-bg); border: 1px solid var(--color-border); cursor: pointer; transition: all var(--trans); }
.filter-btn.active, .filter-btn:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.portfolio-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px,100%), 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.portfolio-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); overflow: hidden; transition: all var(--trans); }
.portfolio-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.portfolio-thumb { position: relative; overflow: hidden; }
.portfolio-thumb img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .4s var(--ease); }
.portfolio-card:hover .portfolio-thumb img { transform: scale(1.05); }
.portfolio-overlay { position: absolute; inset: 0; background: rgba(26,58,107,.75); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity var(--trans); }
.portfolio-card:hover .portfolio-overlay { opacity: 1; }
.view-btn { background: #fff; color: var(--color-primary); padding: .6rem 1.5rem; border-radius: var(--radius-full); font-weight: 700; font-size: var(--text-sm); }
.portfolio-info { padding: var(--space-5); }
.portfolio-cat { font-size: var(--text-xs); color: var(--color-accent-dark); font-weight: 700; margin-bottom: .4rem; }
.portfolio-info h3 { font-size: var(--text-base); font-weight: 700; color: var(--color-primary); }
.portfolio-info h3 a:hover { color: var(--color-accent-dark); }
.portfolio-info p { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: .4rem; line-height: 1.6; }

/* ════════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════════ */
.testimonials-section { background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); padding-block: clamp(var(--space-12), 8vw, var(--space-20)); }
.testimonials-section .section-title { color: #fff; }
.testimonials-section .section-tag { background: rgba(255,255,255,.1); color: var(--color-accent-light); }
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px,100%),1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.testimonial-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-xl); padding: var(--space-8); transition: all var(--trans); }
.testimonial-card:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); }
.testimonial-stars { color: var(--color-accent); font-size: var(--text-base); margin-bottom: var(--space-4); letter-spacing: .1em; }
.testimonial-text { font-size: var(--text-sm); color: rgba(255,255,255,.85); line-height: 1.8; font-style: italic; }
.testimonial-author { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-6); }
.testimonial-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,.2); flex-shrink: 0; }
.testimonial-avatar-placeholder { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, var(--color-accent-dark), var(--color-accent)); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 900; font-size: var(--text-base); flex-shrink: 0; }
.testimonial-name { font-size: var(--text-sm); font-weight: 700; color: #fff; }
.testimonial-pos { font-size: var(--text-xs); color: rgba(255,255,255,.55); margin-top: .15rem; }

/* ════════════════════════════════════════════
   CTA SECTION
════════════════════════════════════════════ */
.cta-section { background: var(--color-surface); }
.cta-box { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)); border-radius: var(--radius-2xl); padding: clamp(var(--space-10), 6vw, var(--space-16)); text-align: center; position: relative; overflow: hidden; }
.cta-box::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(245,166,35,.15) 0%, transparent 70%); }
.cta-box h2 { font-size: var(--text-2xl); font-weight: 900; color: #fff; position: relative; }
.cta-box p { color: rgba(255,255,255,.8); margin-top: var(--space-4); font-size: var(--text-base); position: relative; max-width: 50ch; margin-inline: auto; }
.cta-actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; margin-top: var(--space-8); position: relative; }

/* ════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════ */
.site-footer { background: var(--color-primary-dark); color: rgba(255,255,255,.75); }
.footer-main { padding-block: clamp(var(--space-12), 6vw, var(--space-20)); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: var(--space-10); }
.footer-brand .footer-logo { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.footer-brand .footer-logo img { height: 50px; }
.footer-brand .footer-logo span { font-size: var(--text-lg); font-weight: 900; color: #fff; }
.footer-brand .footer-logo span em { color: var(--color-accent); font-style: normal; }
.footer-desc { font-size: var(--text-sm); line-height: 1.8; max-width: 34ch; }
.footer-socials { display: flex; gap: var(--space-3); margin-top: var(--space-6); }
.footer-social { width: 38px; height: 38px; border-radius: var(--radius-md); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.65); transition: all var(--trans); }
.footer-social:hover { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.footer-col h4 { font-size: var(--text-sm); font-weight: 700; color: #fff; margin-bottom: var(--space-5); padding-bottom: var(--space-3); border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-col ul { display: flex; flex-direction: column; gap: var(--space-3); }
.footer-col ul a { font-size: var(--text-sm); color: rgba(255,255,255,.65); transition: color var(--trans); }
.footer-col ul a:hover { color: var(--color-accent); }
.footer-contact-item { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); color: rgba(255,255,255,.65); padding: var(--space-3) 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.footer-contact-item:last-child { border: none; }
.footer-contact-item .icon { flex-shrink: 0; width: 32px; height: 32px; background: rgba(255,255,255,.07); border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; font-size: .9rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-block: var(--space-5); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-4); }
.footer-bottom p { font-size: var(--text-xs); color: rgba(255,255,255,.45); }
@media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .footer-grid { grid-template-columns: 1fr; } }

/* ════════════════════════════════════════════
   CPT HERO (single pages)
════════════════════════════════════════════ */
.cpt-hero { background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); padding-block: clamp(var(--space-12), 6vw, var(--space-20)); }
.cpt-hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: center; }
.cpt-hero h1 { font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 900; color: #fff; line-height: 1.5; }
.cpt-hero-thumb img { border-radius: var(--radius-xl); box-shadow: var(--shadow-xl); width: 100%; }
.cpt-meta { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-6); align-items: center; }
.cpt-meta-item { display: flex; align-items: center; gap: .35rem; font-size: var(--text-sm); color: rgba(255,255,255,.75); background: rgba(255,255,255,.1); padding: .35rem .85rem; border-radius: var(--radius-full); }
.breadcrumb { display: flex; align-items: center; gap: .5rem; font-size: var(--text-xs); color: rgba(255,255,255,.6); flex-wrap: wrap; }
.breadcrumb a { color: rgba(255,255,255,.7); transition: color var(--trans); }
.breadcrumb a:hover { color: var(--color-accent); }
.breadcrumb span { color: rgba(255,255,255,.4); }
@media (max-width: 768px) { .cpt-hero-inner { grid-template-columns: 1fr; } .cpt-hero-thumb { display: none; } }

/* ════════════════════════════════════════════
   CPT CONTENT LAYOUT
════════════════════════════════════════════ */
.cpt-content { padding-block: clamp(var(--space-10), 5vw, var(--space-16)); }
.cpt-layout { display: grid; grid-template-columns: 1fr 340px; gap: var(--space-10); align-items: start; }
.cpt-main .entry-content { font-size: var(--text-base); line-height: 1.9; color: var(--color-text-muted); }
.cpt-main .entry-content h2 { font-size: var(--text-xl); color: var(--color-primary); margin-top: var(--space-8); margin-bottom: var(--space-4); }
.cpt-main .entry-content h3 { font-size: var(--text-lg); color: var(--color-primary); margin-top: var(--space-6); margin-bottom: var(--space-3); }
.cpt-main .entry-content p { margin-bottom: var(--space-5); }
.cpt-main .entry-content ul, .cpt-main .entry-content ol { padding-right: var(--space-6); margin-bottom: var(--space-5); }
.cpt-main .entry-content li { margin-bottom: var(--space-2); }
.cpt-sidebar { position: sticky; top: calc(72px + var(--space-6)); display: flex; flex-direction: column; gap: var(--space-5); }
@media (max-width: 900px) { .cpt-layout { grid-template-columns: 1fr; } .cpt-sidebar { position: static; } }

/* ════════════════════════════════════════════
   SIDEBAR WIDGETS
════════════════════════════════════════════ */
.sidebar-widget { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-6); }
.sidebar-widget h4 { font-size: var(--text-base); font-weight: 700; color: var(--color-primary); margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-border); }
.sidebar-cta { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light)); border-color: transparent; }
.sidebar-cta h4 { color: #fff; border-color: rgba(255,255,255,.15); }
.sidebar-cta p { font-size: var(--text-sm); color: rgba(255,255,255,.8); margin-bottom: var(--space-5); line-height: 1.7; }
.acf-field-row { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); font-size: var(--text-sm); }
.acf-field-row:last-child { border: none; }
.acf-field-label { color: var(--color-text-muted); font-weight: 600; flex-shrink: 0; }
.acf-field-value { color: var(--color-text); font-weight: 700; text-align: left; }
.acf-fields-box { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-6); }
.acf-fields-box h3 { font-size: var(--text-lg); font-weight: 700; color: var(--color-primary); margin-bottom: var(--space-2); }
.related-list { display: flex; flex-direction: column; gap: var(--space-4); }
.related-item {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) var(--space-3);
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--color-text);
  transition: background var(--trans);
  font-size: var(--text-sm);
  font-weight: 600;
}
.related-item:hover { background: var(--color-surface-offset); color: var(--color-primary); }
.related-item:hover .related-item-icon { background: var(--color-primary); }
.related-item:hover .related-item-icon svg { stroke: #fff; }
.related-item-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, rgba(26,58,107,.1), rgba(26,58,107,.05));
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--trans);
}
.related-item-icon svg { width: 22px; height: 22px; stroke: var(--color-primary); transition: stroke var(--trans); }
.related-item img { width: 44px; height: 44px; object-fit: cover; border-radius: var(--radius-md); flex-shrink: 0; }
.related-item span { flex: 1; line-height: 1.4; }


/* ════════════════════════════════════════════
   CONTACT PAGE
════════════════════════════════════════════ */
.contact-section {
  padding-block: clamp(var(--space-10), 6vw, var(--space-16));
}

.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  gap: clamp(var(--space-12), 6vw, var(--space-20));
  align-items: start;
}

/* ─── عمود المعلومات ─── */
.contact-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  transition: box-shadow var(--trans), border-color var(--trans);
}
.contact-item:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--color-primary);
}

.contact-item-icon {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(26,58,107,.25);
}
.contact-item-icon svg {
  width: 24px;
  height: 24px;
  display: block;
  stroke: #ffffff !important;
  fill: none;
  color: #ffffff !important;
}

.contact-item-icon--wa {
  background: linear-gradient(135deg, #25d366, #128c5e) !important;
  box-shadow: 0 4px 14px rgba(37,211,102,.30) !important;
}
.contact-item-icon--wa svg {
  fill: #ffffff !important;
  stroke: none !important;
}

.contact-item-text h5 {
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: .2rem;
}
.contact-item-text p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.6;
}

/* ─── عمود الفورم ─── */
.contact-form {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: clamp(var(--space-6), 4vw, var(--space-10));
  box-shadow: var(--shadow-md);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.form-group label {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: .85rem 1rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  background: var(--color-bg);
  color: var(--color-text);
  transition: border-color var(--trans), box-shadow var(--trans);
  font-family: inherit;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(26,58,107,.12);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: var(--color-text-faint);
}

.form-group textarea {
  resize: vertical;
  min-height: 130px;
  line-height: 1.7;
}

.form-group select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231a3a6b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 1rem center;
  padding-left: 2.5rem;
}

/* ─── Responsive ─── */
@media (max-width: 900px) {
  .contact-layout {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .contact-form {
    margin-top: var(--space-4);
  }
}

@media (max-width: 640px) {
  .form-row {
    grid-template-columns: 1fr;
  }
}


/* ════════════════════════════════════════════
   ARCHIVE HEADER (page titles)
════════════════════════════════════════════ */
.archive-header {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 60%, var(--color-primary-light) 100%);
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
  text-align: center;
  position: relative;
  overflow: hidden;
}

.archive-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 50%, rgba(245,166,35,.10) 0%, transparent 65%);
  pointer-events: none;
}

.archive-header .container {
  position: relative;
}

.archive-header h1 {
  font-size: var(--text-2xl);
  font-weight: 900;
  color: #fff;
  line-height: 1.15;
  margin-bottom: var(--space-4);
}

.archive-header p {
  font-size: var(--text-base);
  color: rgba(255,255,255,.78);
  max-width: 52ch;
  margin-inline: auto;
  line-height: 1.7;
}

.archive-header .archive-filters {
  justify-content: center;
  margin-top: var(--space-6);
}

/* text-center utility */
.text-center { text-align: center; }

/* ════════════════════════════════════════════
   ARCHIVE GRID SECTION
════════════════════════════════════════════ */
.archive-grid-section {
  padding-block: clamp(var(--space-10), 5vw, var(--space-16));
}

@media (max-width: 600px) {
  .archive-header h1 {
    font-size: var(--text-xl);
  }
}


/* ════════════════════════════════════════════
   BLOG ARCHIVE + SINGLE
════════════════════════════════════════════ */
.blog-preview-actions { margin-top: var(--space-10); text-align: center; }
.blog-preview-grid,
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-8);
}
.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--space-10);
  align-items: start;
}
.blog-sidebar { display: flex; flex-direction: column; gap: var(--space-5); }
.blog-archive-hero,
.blog-single-hero {
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  color: #fff;
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
}
.blog-archive-hero__inner,
.blog-single-hero__inner {
  max-width: 760px;
}
.blog-archive-hero h1,
.blog-single-hero h1 {
  font-size: clamp(1.9rem, 4vw, 3.1rem);
  line-height: 1.5;
  font-weight: 900;
  margin-top: var(--space-4);
}
.blog-archive-hero p,
.blog-single-lead {
  margin-top: var(--space-4);
  font-size: var(--text-base);
  line-height: 1.9;
  color: rgba(255,255,255,.84);
}
.blog-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform var(--trans), box-shadow var(--trans), border-color var(--trans);
}
.blog-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(245,166,35,.45);
}
.blog-card-thumb {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(26,58,107,.12), rgba(245,166,35,.18));
}
.blog-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms var(--ease);
}
.blog-card:hover .blog-card-thumb img { transform: scale(1.04); }
.blog-card-body { padding: var(--space-6); }
.blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  color: var(--color-text-faint);
  font-size: var(--text-xs);
  margin-bottom: var(--space-3);
}
.blog-card h2,
.blog-card h3 {
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.5;
  color: var(--color-primary);
  margin-bottom: var(--space-3);
}
.blog-card p {
  color: var(--color-text-muted);
  line-height: 1.9;
  margin-bottom: var(--space-4);
}
.blog-single-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--space-10);
  align-items: start;
}
.blog-single-article {
  min-width: 0;
}
.blog-single-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
}
.blog-single-cover img {
  width: 100%;
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-lg);
}
.blog-single-content {
  max-width: 100%;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: clamp(var(--space-6), 4vw, var(--space-10));
  margin-top: var(--space-8);
}
.blog-single-content > *:first-child { margin-top: 0; }
.blog-single-content p,
.blog-single-content li { line-height: 2; color: var(--color-text-muted); }
.blog-single-content h2,
.blog-single-content h3,
.blog-single-content h4 {
  color: var(--color-primary);
  line-height: 1.5;
}
.blog-single-footer {
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}
.blog-tags-title { color: var(--color-primary); font-weight: 700; margin-left: .35rem; }
.blog-single-tags a {
  display: inline-flex;
  align-items: center;
  padding: .45rem .8rem;
  margin: .25rem;
  background: var(--color-surface-2);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  color: var(--color-primary);
}
.blog-single-nav .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-top: var(--space-6);
}
.blog-single-nav .nav-previous a,
.blog-single-nav .nav-next a {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-height: 100%;
  padding: var(--space-5);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
}
.blog-single-nav span { color: var(--color-text-faint); font-size: var(--text-xs); }
.blog-single-nav strong { color: var(--color-primary); font-size: var(--text-sm); line-height: 1.6; }
.blog-mini-list { display: flex; flex-direction: column; gap: var(--space-3); }
.blog-mini-list li a {
  display: block;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text-muted);
  line-height: 1.8;
}
.blog-mini-list li:last-child a { border-bottom: none; }
.empty-state {
  text-align: center;
  padding: var(--space-20) 0;
  color: var(--color-text-muted);
}
.empty-state__icon { font-size: 3rem; margin-bottom: var(--space-4); }
@media (max-width: 900px) {
  .blog-layout,
  .blog-single-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .blog-card-body { padding: var(--space-5); }
  .blog-single-nav .nav-links { grid-template-columns: 1fr; }
}

/* ─── Blog Card Placeholder ─── */
.blog-card-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(26,58,107,.1), rgba(245,166,35,.15));
}

/* ─── Blog Archive Hero section-tag color fix ─── */
.blog-archive-hero .section-tag {
  background: rgba(245,166,35,.18);
  color: var(--color-accent-light);
  border: 1px solid rgba(245,166,35,.3);
}

/* ─── Blog single-hero meta ─── */
.blog-single-meta .cpt-meta-item {
  font-size: var(--text-xs);
}

/* ─── Blog section background ─── */
.blog-preview-section { background: var(--color-surface-2); }

/* ─── Pagination styling ─── */
.pagination { margin-top: var(--space-10); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; }
.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 44px; padding: 0 var(--space-3);
  border: 1.5px solid var(--color-border); border-radius: var(--radius-md);
  color: var(--color-primary); font-weight: 600; font-size: var(--text-sm);
  transition: all var(--trans);
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
  background: var(--color-primary); color: #fff; border-color: var(--color-primary);
}

@media (max-width: 900px) {
  .blog-layout { grid-template-columns: 1fr; }
  .blog-single-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .blog-preview-grid,
  .blog-grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .blog-card-body { padding: var(--space-5); }
  .blog-single-nav .nav-links { grid-template-columns: 1fr; }
}


.author-archive-hero{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:#fff;padding-block:clamp(var(--space-12),7vw,var(--space-20));}
.author-archive-hero h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.5;font-weight:900;margin-top:var(--space-4);}


/* ===== Blog Single Clean Desktop Reading ===== */
.blog-single-page .site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(16,24,40,.06);}
.blog-single-hero--clean{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);color:var(--color-text);padding-block:clamp(2rem,5vw,4rem);border-bottom:1px solid rgba(16,24,40,.06);}
.blog-single-hero--clean .blog-single-hero__inner{max-width:920px;}
/* blog-single h1 desktop → see Final Layout block */
.blog-single-hero--clean .blog-single-lead{max-width:820px;color:var(--color-text-muted);font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:2;}
.blog-single-hero--clean .blog-single-meta{margin-top:var(--space-3);margin-bottom:var(--space-2);}
.blog-single-shell{max-width:1360px;}
.blog-single-layout--wide{grid-template-columns:minmax(0,840px) 280px;justify-content:space-between;gap:clamp(2rem,3vw,4rem);}
.blog-single-article--clean{width:100%;}
.blog-single-content--clean{background:transparent;border:none;border-radius:0;padding:0;margin-top:var(--space-8);max-width:100%;box-shadow:none;}
.blog-single-content--clean p,
.blog-single-content--clean li{font-size:clamp(1.05rem,1.18vw,1.22rem);line-height:2.15;color:#334155;}
.blog-single-content--clean h2{font-size:clamp(1.6rem,2.2vw,2.1rem);line-height:1.5;color:var(--color-primary-dark);margin-top:var(--space-10);margin-bottom:var(--space-4);}
.blog-single-content--clean h3{font-size:clamp(1.3rem,1.7vw,1.65rem);line-height:1.5;color:var(--color-primary-dark);margin-top:var(--space-8);margin-bottom:var(--space-3);}
.blog-single-content--clean h4{font-size:clamp(1.12rem,1.35vw,1.3rem);line-height:1.7;color:var(--color-primary);margin-top:var(--space-6);margin-bottom:var(--space-3);}
.blog-single-content--clean img{border-radius:22px;box-shadow:0 12px 40px rgba(15,35,71,.08);margin:var(--space-8) auto;}
.blog-single-content--clean blockquote{margin:var(--space-8) 0;padding:1rem 1.25rem;border-right:4px solid #f5a623;background:#fff8eb;border-radius:18px;color:var(--color-primary-dark);font-weight:700;}
.blog-single-content--clean ul,
.blog-single-content--clean ol{padding-right:1.3rem;margin-bottom:var(--space-6);}
.blog-single-cover{margin-bottom:var(--space-4);}
.blog-single-cover img{border-radius:28px;box-shadow:0 20px 60px rgba(15,35,71,.12);}
.blog-sidebar{position:sticky;top:110px;align-self:start;}
.blog-sidebar .sidebar-widget{background:#fff;border:1px solid rgba(16,24,40,.08);border-radius:22px;padding:1.2rem 1.1rem;box-shadow:0 10px 35px rgba(15,35,71,.06);}
.blog-sidebar .sidebar-widget h4{color:var(--color-primary-dark);margin-bottom:var(--space-4);font-size:1.05rem;}
.blog-mini-list li a{color:var(--color-text-muted);padding:0.85rem 0;}
.blog-mini-list li a:hover{color:var(--color-primary);}
@media (min-width: 1180px){
  .blog-single-section--clean .container{padding-inline:32px;}
}
@media (max-width: 1100px){
  .blog-single-layout--wide{grid-template-columns:minmax(0,1fr);}
  .blog-sidebar{position:static;top:auto;}
}
@media (max-width: 767px){
  .blog-single-hero--clean{padding-block:2rem 1.6rem;}
/* blog-single h1 mobile  → see Final Layout block */
  .blog-single-content--clean p,
  .blog-single-content--clean li{font-size:1rem;line-height:2;}
}


/* ===== Blog Single Header + Meta Fix ===== */
.blog-single-page{padding-top:0;}
.blog-single-page .site-header{position:relative;top:auto;z-index:120;background:#fff;backdrop-filter:none;box-shadow:none;}
.blog-single-page .header-inner{min-height:72px;height:auto;flex-wrap:nowrap;}
.blog-single-page .main-nav{flex:1;justify-content:center;min-width:0;gap:.15rem;}
.blog-single-page .main-nav a{padding:.45rem .75rem;font-size:.95rem;white-space:nowrap;}
.blog-single-page .header-cta{gap:.65rem;}
.blog-single-page .site-logo img{height:48px;}
.blog-single-hero--clean{padding-top:clamp(2.2rem,4vw,3.5rem)!important;}
.blog-single-hero--clean .blog-single-meta{display:flex !important;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-start;opacity:1;visibility:visible;position:relative;z-index:3;}
.blog-single-hero--clean .blog-single-meta .cpt-meta-item,
.blog-single-page .blog-single-meta .cpt-meta-item{display:inline-flex !important;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:999px;background:#eef4ff !important;color:var(--color-primary-dark) !important;border:1px solid rgba(26,58,107,.10);font-size:.92rem;font-weight:700;line-height:1.2;opacity:1 !important;visibility:visible !important;}
.blog-single-page .breadcrumbs,
.blog-single-page .cy-breadcrumbs,
.blog-single-page nav.breadcrumbs{margin-bottom:1rem;position:relative;z-index:3;opacity:1;visibility:visible;}
.blog-single-page .breadcrumbs a,
.blog-single-page .cy-breadcrumbs a,
.blog-single-page nav.breadcrumbs a{color:var(--color-text-muted);}
.blog-single-page .breadcrumbs,
.blog-single-page .cy-breadcrumbs,
.blog-single-page nav.breadcrumbs,
.blog-single-page .breadcrumbs *,
.blog-single-page .cy-breadcrumbs *,
.blog-single-page nav.breadcrumbs *{color:var(--color-text-muted) !important;}
@media (min-width: 1025px){
  .blog-single-page .site-header .container{max-width:1280px;}
  .blog-single-page .header-inner{gap:1rem;}
  .blog-single-page .main-nav a{font-size:.9rem;padding:.42rem .62rem;}
}
@media (max-width: 1024px){
  .blog-single-page .site-header{position:relative;}
  .blog-single-page .header-inner{height:auto;min-height:78px;}
}
@media (max-width: 767px){
  .blog-single-page .site-header{position:relative;}
  .blog-single-page .blog-single-hero--clean{padding-top:1.8rem !important;}
  .blog-single-hero--clean .blog-single-meta{justify-content:space-between;gap:.65rem;}
  .blog-single-hero--clean .blog-single-meta .cpt-meta-item{font-size:.78rem;padding:.42rem .65rem;}
  .blog-single-page .header-inner{align-items:center;gap:.8rem;}
  .blog-single-page .site-logo img{height:42px;}
}




/* ===== Blog Single Final Layout ===== */
.blog-single-page{padding-top:0;}
.blog-single-page .site-header{position:relative;top:auto;z-index:120;background:#fff;border-bottom:1px solid rgba(16,24,40,.08);backdrop-filter:none;box-shadow:none;}
.blog-single-page .site-header .container{max-width:1280px;}
.blog-single-page .header-inner{min-height:74px;height:auto;gap:1rem;flex-wrap:nowrap;}
.blog-single-page .main-nav{flex:1;justify-content:center;min-width:0;gap:.2rem;}
.blog-single-page .main-nav a{padding:.5rem .72rem;font-size:.92rem;white-space:nowrap;}
.blog-single-page .header-cta{gap:.7rem;flex-shrink:0;}
.blog-single-page .site-logo img{height:48px;}

.blog-single-hero-container{max-width:1160px;}
.blog-single-hero--clean{
  background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));
  color:#fff;
  padding:clamp(2rem,4vw,3.2rem) 0 clamp(2rem,4vw,3rem);
  border-bottom:none;
}
.blog-single-page .breadcrumbs,
.blog-single-page .cy-breadcrumbs,
.blog-single-page nav.breadcrumbs{
  margin-bottom:.85rem;
  color:rgba(255,255,255,.78);
  position:relative;
  z-index:2;
  font-size:.95rem;
}
.blog-single-page .breadcrumbs *,
.blog-single-page .cy-breadcrumbs *,
.blog-single-page nav.breadcrumbs *{color:rgba(255,255,255,.78) !important;}
.blog-single-hero--clean .blog-single-hero__inner{max-width:980px;}
.blog-single-hero--clean h1{
  display:block;
  max-width:980px;
  font-size:clamp(1.65rem,3.5vw,3rem);
  line-height:1.5;
  font-weight:900;
  color:#fff;
  margin:0;
}
.blog-single-meta--under-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.8rem;
  margin-top:1rem;
  margin-bottom:0;
}
.blog-single-meta--under-title .cpt-meta-item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.52rem .92rem;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-size:.92rem;
  font-weight:700;
  line-height:1.2;
}
.blog-single-hero--clean .blog-single-lead{
  max-width:860px;
  margin-top:1rem;
  color:rgba(255,255,255,.88);
  font-size:clamp(1.02rem,1.28vw,1.18rem);
  line-height:1.95;
}

.blog-single-shell{max-width:1360px;}
.blog-single-layout--wide{
  display:grid;
  grid-template-columns:minmax(0,850px) 280px;
  justify-content:space-between;
  gap:clamp(2rem,3vw,4rem);
  align-items:start;
}
.blog-single-article--clean{min-width:0;width:100%;}
.blog-single-cover{margin-bottom:var(--space-6);}
.blog-single-cover img{width:100%;border-radius:28px;box-shadow:0 20px 60px rgba(15,35,71,.12);}
.blog-single-content--clean{background:transparent;border:none;border-radius:0;padding:0;margin-top:0;max-width:100%;box-shadow:none;}
.blog-single-content--clean > *:first-child{margin-top:0;}
.blog-single-content--clean p,
.blog-single-content--clean li{font-size:clamp(1.03rem,1.08vw,1.18rem);line-height:2.1;color:#334155;}
.blog-single-content--clean h2{font-size:clamp(1.55rem,2vw,2rem);line-height:1.5;color:var(--color-primary-dark);margin-top:var(--space-10);margin-bottom:var(--space-4);}
.blog-single-content--clean h3{font-size:clamp(1.26rem,1.5vw,1.55rem);line-height:1.5;color:var(--color-primary-dark);margin-top:var(--space-8);margin-bottom:var(--space-3);}
.blog-single-content--clean h4{font-size:clamp(1.08rem,1.2vw,1.22rem);line-height:1.7;color:var(--color-primary);margin-top:var(--space-6);margin-bottom:var(--space-3);}
.blog-single-content--clean img{border-radius:22px;box-shadow:0 12px 40px rgba(15,35,71,.08);margin:var(--space-8) auto;}
.blog-single-content--clean blockquote{margin:var(--space-8) 0;padding:1rem 1.25rem;border-right:4px solid #f5a623;background:#fff8eb;border-radius:18px;color:var(--color-primary-dark);font-weight:700;}
.blog-single-content--clean ul,
.blog-single-content--clean ol{padding-right:1.3rem;margin-bottom:var(--space-6);}
.blog-sidebar{position:sticky;top:110px;align-self:start;}
.blog-sidebar .sidebar-widget{background:#fff;border:1px solid rgba(16,24,40,.08);border-radius:22px;padding:1.2rem 1.1rem;box-shadow:0 10px 35px rgba(15,35,71,.06);}
.blog-sidebar .sidebar-widget h4{color:var(--color-primary-dark);margin-bottom:var(--space-4);font-size:1.05rem;}
.blog-mini-list li a{color:var(--color-text-muted);padding:.85rem 0;}
.blog-mini-list li a:hover{color:var(--color-primary);}

@media (min-width:1180px){
  .blog-single-section--clean .container{padding-inline:32px;}
}
@media (max-width:1100px){
  .blog-single-page .main-nav a{font-size:.88rem;padding:.45rem .52rem;}
  .blog-single-layout--wide{grid-template-columns:minmax(0,1fr);}
  .blog-sidebar{position:static;top:auto;}
}
@media (max-width:767px){
  .blog-single-page .site-header{position:relative;}
  .blog-single-page .header-inner{min-height:78px;gap:.8rem;}
  .blog-single-page .site-logo img{height:42px;}
  .blog-single-hero--clean{
    padding:1.4rem 0 1.6rem;
  }
  .blog-single-page .breadcrumbs,
  .blog-single-page .cy-breadcrumbs,
  .blog-single-page nav.breadcrumbs{
    margin-bottom:.6rem;
    font-size:.82rem;
    line-height:1.6;
  }
  .blog-single-hero--clean .blog-single-hero__inner{max-width:100%;}
  .blog-single-hero--clean h1{
    font-size:clamp(1.4rem,6.5vw,1.85rem);
    line-height:1.5;
    max-width:100%;
  }
  .blog-single-meta--under-title{
    gap:.55rem;
    margin-top:.85rem;
  }
  .blog-single-meta--under-title .cpt-meta-item{
    font-size:.8rem;
    padding:.42rem .7rem;
  }
  .blog-single-hero--clean .blog-single-lead{
    font-size:.98rem;
    line-height:1.9;
  }
  .blog-single-content--clean p,
  .blog-single-content--clean li{
    font-size:1rem;
    line-height:2;
  }
}


/* ===== Safe Article Performance Polish ===== */
.blog-single-cover img{width:100%;height:auto;display:block;}
.blog-single-content--clean img{height:auto;max-width:100%;}
.blog-single-content--clean{content-visibility:auto;contain-intrinsic-size:1px 1800px;}
.blog-single-content--clean p,
.blog-single-content--clean li{overflow-wrap:anywhere;word-break:normal;}
.blog-single-hero--clean .blog-single-lead{max-width:760px;}
@media (max-width:767px){
  .blog-single-section--clean.section{padding-top:1.5rem;}
  .blog-single-cover{margin-bottom:1.25rem;}
}


/* ===== Safe Desktop Image + CSS Cleanup ===== */
.blog-single-shell{max-width:1240px;}
.blog-single-layout--wide{grid-template-columns:minmax(0,780px) 260px;gap:clamp(1.5rem,2.4vw,3rem);}
.blog-single-article--clean{max-width:780px;}
.blog-single-cover{max-width:780px;margin:0 0 var(--space-6);}
.blog-single-cover img{width:100%;max-width:780px;aspect-ratio:2/1;object-fit:cover;height:auto;border-radius:24px;box-shadow:0 14px 42px rgba(15,35,71,.1);}
.blog-single-content--clean{max-width:780px;content-visibility:auto;contain-intrinsic-size:1px 1600px;}
.blog-single-content--clean img{max-width:100%;height:auto;}
.blog-single-content--clean p,
.blog-single-content--clean li{font-size:clamp(1rem,.95rem + .28vw,1.1rem);line-height:2;color:#334155;}
.blog-single-content--clean h2{font-size:clamp(1.45rem,1.25rem + .8vw,1.85rem);}
.blog-single-content--clean h3{font-size:clamp(1.2rem,1.08rem + .55vw,1.45rem);}
.blog-sidebar .sidebar-widget{box-shadow:0 8px 24px rgba(15,35,71,.05);}
@media (max-width:1100px){
  .blog-single-shell{max-width:100%;}
  .blog-single-layout--wide{grid-template-columns:minmax(0,1fr);gap:2rem;}
  .blog-single-article--clean,.blog-single-cover,.blog-single-content--clean{max-width:100%;}
}
@media (max-width:767px){
  .blog-single-cover img{border-radius:20px;}
  .blog-single-content--clean p,
  .blog-single-content--clean li{font-size:1rem;line-height:1.95;}
}


/* ===== Desktop Header Emergency Fix ===== */
@media (min-width: 1101px){
  body:not(.blog-single-page) .site-header .container{max-width:var(--content-wide);}
  body:not(.blog-single-page) .header-inner{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:var(--space-8) !important;height:72px !important;min-height:72px !important;flex-wrap:nowrap !important;}
  body:not(.blog-single-page) .main-nav{display:flex !important;align-items:center !important;justify-content:center !important;gap:var(--space-2) !important;flex:1 1 auto !important;min-width:0 !important;}
  body:not(.blog-single-page) .main-nav a{display:inline-flex !important;padding:.5rem 1rem !important;font-size:var(--text-sm) !important;line-height:1.2 !important;white-space:nowrap !important;}
  body:not(.blog-single-page) .header-cta{display:flex !important;align-items:center !important;gap:var(--space-3) !important;flex-shrink:0 !important;}
  body:not(.blog-single-page) .site-logo{flex-shrink:0 !important;}
  body:not(.blog-single-page) .site-logo img{height:54px !important;width:auto !important;}
}


/* ===== Desktop Header Structural Fix ===== */
@media (min-width: 1101px){
  .site-header .header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;height:72px;min-height:72px;}
  .site-header .main-nav{display:flex !important;align-items:center;justify-content:center;min-width:0;}
  .site-header .main-nav > div,
  .site-header .main-nav .menu-primary-container{display:flex !important;align-items:center;justify-content:center;min-width:0;width:100%;}
  .site-header .main-nav ul,
  .site-header .main-nav .menu{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:.25rem !important;list-style:none !important;margin:0 !important;padding:0 !important;flex-wrap:nowrap !important;}
  .site-header .main-nav li{display:flex !important;align-items:center !important;flex:0 0 auto !important;margin:0 !important;padding:0 !important;}
  .site-header .main-nav a{display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:.5rem .9rem !important;white-space:nowrap !important;line-height:1.2 !important;}
  .site-header .header-cta{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:.75rem !important;}
  .site-header .hamburger,
  .site-header .mobile-nav{display:none !important;}
}


/* ===== Blog Cards Size Fix ===== */
.blog-preview-grid,
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.75rem);
  align-items:stretch;
}
.blog-card{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.blog-card-thumb{
  aspect-ratio:16/10;
  min-height:auto;
  max-height:none;
  overflow:hidden;
}
.blog-card-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.blog-card-body{
  padding:var(--space-5);
}
.blog-card h2,
.blog-card h3{
  font-size:clamp(1.1rem,1rem + .4vw,1.35rem);
  line-height:1.6;
}
.blog-card p{
  font-size:1rem;
  line-height:1.9;
}
@media (max-width: 1100px){
  .blog-preview-grid,
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .blog-preview-grid,
  .blog-grid{grid-template-columns:1fr;gap:var(--space-6);}
}


/* ===== Blog Archive 3 Columns Fix ===== */
@media (min-width: 1101px){
  .blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:clamp(1.25rem,2vw,1.75rem) !important;
  }
}


/* ===== Blog Grid Desktop Exact 3 Columns ===== */
@media (min-width: 1101px){
  .blog-layout{grid-template-columns:minmax(0,1fr) 320px;}
  .blog-layout .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (min-width: 700px) and (max-width: 1100px){
  .blog-layout .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}


/* ===== Blog Archive Layout Width Fix ===== */
@media (min-width: 1101px){
  .blog-archive-section .container{max-width:1360px;}
  .blog-layout{grid-template-columns:minmax(0,1fr) 260px !important;gap:1.5rem !important;align-items:start;}
  .blog-layout .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:1.25rem !important;}
  .blog-layout .blog-card{min-width:0;width:100%;}
  .blog-layout .blog-card-body{padding:1.1rem !important;}
  .blog-layout .blog-card h2,
  .blog-layout .blog-card h3{font-size:1.5rem !important;line-height:1.45 !important;}
}


/* ===== Blog Archive No Sidebar – Full 3 Cols ===== */
.blog-grid-only{display:block;}
.blog-grid-only .blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.25rem,2vw,2rem);
  align-items:stretch;
}
@media (max-width:1100px){
  .blog-grid-only .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .blog-grid-only .blog-grid{grid-template-columns:1fr;gap:var(--space-6);}
}


/* ===== Single Post Desktop Sidebar/Search Refinement ===== */
@media (min-width: 1101px){
  .blog-single-shell{max-width:1440px;}
  .blog-single-layout--wide{grid-template-columns:minmax(0,880px) 340px;gap:clamp(2rem,3vw,4.25rem);}
  .blog-sidebar{width:100%;}
  .blog-sidebar .sidebar-widget{padding:1.35rem 1.25rem;border-radius:24px;}
  .blog-sidebar .widget_search .wp-block-search__inside-wrapper,
  .blog-sidebar .search-form,
  .blog-sidebar form[role="search"]{display:flex;align-items:stretch;gap:0;overflow:hidden;border-radius:18px;border:1px solid rgba(16,24,40,.08);background:#fff;}
  .blog-sidebar .widget_search input[type="search"],
  .blog-sidebar .search-field,
  .blog-sidebar .wp-block-search__input{
    flex:1;min-width:0;height:52px;padding:0 1rem;border:none !important;outline:none;font-size:.95rem !important;line-height:1.2;color:var(--color-text);
  }
  .blog-sidebar .widget_search button,
  .blog-sidebar .search-submit,
  .blog-sidebar .wp-block-search__button{
    height:52px;padding:0 1.15rem;border:none !important;background:var(--color-primary-dark);color:#fff;font-size:.92rem !important;font-weight:700;white-space:nowrap;
  }
  .blog-sidebar .widget_search input::placeholder,
  .blog-sidebar .search-field::placeholder,
  .blog-sidebar .wp-block-search__input::placeholder{font-size:.92rem;color:#94a3b8;}
  .blog-single-content--clean p,
  .blog-single-content--clean li{font-size:clamp(1rem,.92rem + .28vw,1.1rem) !important;line-height:2.05 !important;}
}


/* ===== Single Post Title Size Tweak ===== */
.blog-single-hero--clean h1,
.blog-single-page .blog-single-hero h1{
  font-size:clamp(2rem,3.2vw,3.45rem) !important;
  line-height:1.35 !important;
  max-width:16ch;
}
@media (max-width: 767px){
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    font-size:clamp(1.7rem,7vw,2.35rem) !important;
    line-height:1.4 !important;
    max-width:100%;
  }
}


/* ===== Single Post Title Responsive Fix ===== */
.blog-single-hero--clean .blog-single-hero__inner{max-width:1180px !important;}
.blog-single-hero--clean h1,
.blog-single-page .blog-single-hero h1{
  max-width:none !important;
  width:100%;
  font-size:clamp(2.15rem,2rem + 1.6vw,3.6rem) !important;
  line-height:1.28 !important;
  text-wrap:balance;
}
@media (min-width: 1101px){
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    font-size:clamp(2.35rem,1.55rem + 1.9vw,3.85rem) !important;
    line-height:1.25 !important;
  }
}
@media (max-width: 767px){
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    max-width:100% !important;
    font-size:clamp(1.7rem,6.4vw,2.3rem) !important;
    line-height:1.35 !important;
  }
}


/* ===== Single Post Hero Title + Breadcrumb Spacing Fix ===== */
.blog-single-page .breadcrumbs,
.blog-single-page .cy-breadcrumbs,
.blog-single-page nav.breadcrumbs{
  margin-bottom:1.6rem !important;
}
.blog-single-hero--clean .blog-single-hero__inner,
.blog-single-hero-container .blog-single-hero__inner{
  padding-top:.35rem;
}
.blog-single-hero--clean h1,
.blog-single-page .blog-single-hero h1{
  font-size:clamp(1.95rem,1.45rem + 1.45vw,3rem) !important;
  line-height:1.22 !important;
  margin-top:.2rem !important;
}
@media (min-width: 1101px){
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    font-size:clamp(2.1rem,1.35rem + 1.25vw,3.15rem) !important;
    line-height:1.2 !important;
  }
}
@media (max-width: 767px){
  .blog-single-page .breadcrumbs,
  .blog-single-page .cy-breadcrumbs,
  .blog-single-page nav.breadcrumbs{
    margin-bottom:1rem !important;
  }
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    font-size:clamp(1.6rem,6vw,2.15rem) !important;
    line-height:1.3 !important;
  }
}


/* ===== Single Post Title Final Readability Fix ===== */
.blog-single-hero--clean h1,
.blog-single-page .blog-single-hero h1{
  font-size:clamp(1.85rem,1.3rem + 1.2vw,2.8rem) !important;
  line-height:1.5em !important;
  letter-spacing:0 !important;
}
@media (min-width: 1101px){
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    font-size:clamp(2rem,1.45rem + 1vw,3rem) !important;
    line-height:1.5em !important;
  }
}
@media (max-width: 767px){
  .blog-single-hero--clean h1,
  .blog-single-page .blog-single-hero h1{
    font-size:clamp(1.5rem,5.6vw,2.05rem) !important;
    line-height:1.5em !important;
  }
}


/* ===== Single Post Mobile Overflow + Title Fix ===== */
html, body{overflow-x:hidden;}
@media (max-width: 767px){
  .blog-single-page,
  .blog-single-page .site-header,
  .blog-single-page .container,
  .blog-single-page .blog-single-hero-container,
  .blog-single-page .blog-single-shell,
  .blog-single-page .blog-single-layout--wide,
  .blog-single-page .blog-single-article--clean,
  .blog-single-page .blog-single-content--clean,
  .blog-single-page .blog-single-cover,
  .blog-single-page .blog-single-cover img,
  .blog-single-page .blog-sidebar{
    max-width:100% !important;
    width:100%;
    min-width:0 !important;
  }
  .blog-single-page .container{padding-inline:16px !important;}
  .blog-single-page .blog-single-hero--clean{overflow:hidden;}
  .blog-single-page .blog-single-hero__inner{max-width:100% !important;overflow:hidden;}
  .blog-single-page .breadcrumbs,
  .blog-single-page .cy-breadcrumbs,
  .blog-single-page nav.breadcrumbs{overflow-wrap:anywhere;word-break:break-word;}
  .blog-single-page .blog-single-hero h1,
  .blog-single-page .blog-single-hero--clean h1{
    font-size:clamp(1.28rem,5.2vw,1.68rem) !important;
    line-height:1.5em !important;
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .blog-single-page .blog-single-meta--under-title{gap:.45rem;}
  .blog-single-page .blog-single-meta--under-title .cpt-meta-item{font-size:.76rem;padding:.4rem .58rem;}
}


/* ===== Mobile Horizontal Scroll Hard Fix ===== */
@media (max-width: 767px){
  html, body, .site, .site-main, #page, #content, #main-content{max-width:100%; overflow-x:hidden !important;}
  .blog-single-page *{box-sizing:border-box;}
  .blog-single-page .site-header .container,
  .blog-single-page .header-inner,
  .blog-single-page .blog-single-hero,
  .blog-single-page .blog-single-hero--clean,
  .blog-single-page .blog-single-hero-container,
  .blog-single-page .blog-single-hero__inner,
  .blog-single-page .blog-single-section,
  .blog-single-page .blog-single-section .container,
  .blog-single-page .blog-single-shell,
  .blog-single-page .blog-single-layout,
  .blog-single-page .blog-single-layout--wide,
  .blog-single-page article,
  .blog-single-page aside,
  .blog-single-page img,
  .blog-single-page iframe,
  .blog-single-page table,
  .blog-single-page .wp-block-image,
  .blog-single-page .wp-block-group,
  .blog-single-page .wp-block-columns,
  .blog-single-page .wp-block-cover{
    max-width:100% !important;
  }
  .blog-single-page .site-header .container,
  .blog-single-page .blog-single-hero-container,
  .blog-single-page .blog-single-section .container,
  .blog-single-page .blog-single-shell{padding-left:16px !important;padding-right:16px !important;}
  .blog-single-page .header-inner{gap:.65rem !important;}
  .blog-single-page .site-logo{max-width:96px;overflow:hidden;flex-shrink:1;}
  .blog-single-page .site-logo img{max-width:100%;height:auto;}
  .blog-single-page .header-cta{min-width:0;}
  .blog-single-page .blog-single-content--clean img,
  .blog-single-page .blog-single-cover img,
  .blog-single-page .wp-block-image img{width:100% !important;max-width:100% !important;height:auto !important;}
  .blog-single-page table{display:block;overflow-x:auto;}
}


/* ===== Single Post Mobile Header Overflow Fix ===== */
@media (max-width: 767px){
  .blog-single-page .site-header .container{padding-inline:12px !important;}
  .blog-single-page .header-inner{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .blog-single-page .hamburger{display:flex !important;order:1;}
  .blog-single-page .header-cta{order:2;min-width:0;display:flex !important;justify-content:center;}
  .blog-single-page .header-phone,
  .blog-single-page .header-profile-btn{display:none !important;}
  .blog-single-page .site-logo{
    order:3;
    justify-self:end;
    max-width:88px !important;
    overflow:hidden !important;
  }
  .blog-single-page .site-logo img{display:block;max-width:88px !important;height:auto !important;}
  .blog-single-page .header-cta .btn,
  .blog-single-page .header-cta a.btn,
  .blog-single-page .header-cta .cta-btn{
    max-width:100%;
    padding:.72rem 1rem !important;
    font-size:.95rem !important;
    white-space:nowrap;
  }
  .blog-single-page .blog-single-hero--clean,
  .blog-single-page .blog-single-section,
  .blog-single-page .site-footer{margin-inline:0 !important;}
}


/* ===== SINGLE POST ONLY: Isolated Mobile Overflow Final Fix ===== */
@media (max-width: 767px){
  body.single-post{
    overflow-x:hidden !important;
  }
  body.single-post .site,
  body.single-post #page,
  body.single-post #content,
  body.single-post #main-content,
  body.single-post .blog-single-page,
  body.single-post .blog-single-page > section,
  body.single-post .blog-single-page .container,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell,
  body.single-post .blog-single-layout,
  body.single-post .blog-single-layout--wide,
  body.single-post .blog-single-article,
  body.single-post .blog-single-article--clean,
  body.single-post .blog-single-content,
  body.single-post .blog-single-content--clean,
  body.single-post .blog-single-cover,
  body.single-post .blog-sidebar,
  body.single-post .site-header,
  body.single-post .site-header .container,
  body.single-post .header-inner,
  body.single-post .site-footer,
  body.single-post .site-footer .container,
  body.single-post .footer-grid,
  body.single-post .footer-col{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:hidden !important;
  }

  body.single-post .blog-single-page .container,
  body.single-post .site-header .container,
  body.single-post .site-footer .container,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.single-post .header-inner{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 84px !important;
    gap:10px !important;
    align-items:center !important;
  }
  body.single-post .site-logo{max-width:84px !important;justify-self:end !important;overflow:hidden !important;}
  body.single-post .site-logo img{max-width:84px !important;height:auto !important;}
  body.single-post .header-phone,
  body.single-post .header-profile-btn,
  body.single-post .main-nav{display:none !important;}
  body.single-post .header-cta{min-width:0 !important;overflow:hidden !important;}
  body.single-post .header-cta .btn,
  body.single-post .header-cta a.btn,
  body.single-post .header-cta .cta-btn{
    max-width:100% !important;
    white-space:nowrap !important;
    padding:.72rem .95rem !important;
    font-size:.92rem !important;
  }

  body.single-post img,
  body.single-post video,
  body.single-post iframe,
  body.single-post canvas,
  body.single-post svg,
  body.single-post table,
  body.single-post pre,
  body.single-post .wp-block-image,
  body.single-post .wp-block-image img,
  body.single-post .wp-block-cover,
  body.single-post .wp-block-gallery,
  body.single-post .wp-block-columns,
  body.single-post .wp-block-group,
  body.single-post .alignwide,
  body.single-post .alignfull{
    max-width:100% !important;
  }

  body.single-post table,
  body.single-post pre{
    display:block !important;
    overflow-x:auto !important;
  }

  body.single-post .blog-single-cover img,
  body.single-post .blog-single-content--clean img,
  body.single-post .wp-block-image img{
    width:100% !important;
    height:auto !important;
  }

  body.single-post .site-footer *{max-width:100% !important;}
  body.single-post .footer-grid{grid-template-columns:1fr !important;}
}


/* ===== SAFE ROLLBACK + SINGLE POST CONTENT OVERFLOW FIX ===== */
@media (max-width: 767px){
  body.single-post .site-header,
  body.single-post .site-header .container,
  body.single-post .header-inner,
  body.single-post .site-logo,
  body.single-post .site-logo img,
  body.single-post .header-cta,
  body.single-post .hamburger{
    overflow:visible !important;
    max-width:none !important;
    width:auto !important;
    min-width:auto !important;
    margin:0 !important;
  }

  body.single-post .blog-single-page,
  body.single-post .blog-single-page > section,
  body.single-post .blog-single-hero,
  body.single-post .blog-single-hero--clean,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-hero__inner,
  body.single-post .blog-single-shell,
  body.single-post .blog-single-layout,
  body.single-post .blog-single-layout--wide,
  body.single-post .blog-single-article,
  body.single-post .blog-single-article--clean,
  body.single-post .blog-single-content,
  body.single-post .blog-single-content--clean,
  body.single-post .blog-single-cover,
  body.single-post .blog-sidebar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.single-post .blog-single-page .container,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body.single-post .blog-single-cover img,
  body.single-post .blog-single-content--clean img,
  body.single-post .wp-block-image img,
  body.single-post img{
    max-width:100% !important;
    height:auto !important;
  }

  body.single-post .blog-single-content--clean iframe,
  body.single-post .blog-single-content--clean table,
  body.single-post .blog-single-content--clean pre,
  body.single-post .wp-block-embed,
  body.single-post .wp-block-table{
    max-width:100% !important;
    overflow-x:auto !important;
  }
}


/* ===== SINGLE POST MOBILE FINAL CONTAINMENT FIX ===== */
@media (max-width: 767px){
  body.single-post,
  body.single-post #page,
  body.single-post #content,
  body.single-post #main-content,
  body.single-post .blog-single-page{
    overflow-x:clip !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.single-post .blog-single-hero--clean,
  body.single-post .blog-single-section--clean,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell,
  body.single-post .blog-single-layout--wide,
  body.single-post .blog-single-article--clean,
  body.single-post .blog-single-content--clean,
  body.single-post .blog-single-cover,
  body.single-post .blog-sidebar{
    overflow-x:clip !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.single-post .blog-single-page .container,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell{
    width:100% !important;
    max-width:100% !important;
    padding-inline:16px !important;
    margin-inline:auto !important;
  }

  body.single-post .blog-single-cover img,
  body.single-post .blog-single-content--clean img,
  body.single-post .wp-block-image img{
    display:block !important;
    max-width:100% !important;
    width:100% !important;
    height:auto !important;
  }

  body.single-post .blog-single-content--clean *{
    max-width:100%;
  }
}


/* ===== SINGLE POST MOBILE SURGICAL FIX ===== */
@media (max-width: 767px){
  /* Restore header to theme mobile defaults on single post */
  body.single-post .site-header .container{max-width:100% !important;padding-inline:var(--space-6) !important;overflow:visible !important;}
  body.single-post .header-inner{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:var(--space-4) !important;height:auto !important;min-height:72px !important;flex-wrap:nowrap !important;overflow:visible !important;}
  body.single-post .hamburger{display:flex !important;flex:0 0 44px !important;width:44px !important;height:44px !important;}
  body.single-post .header-cta{display:flex !important;align-items:center !important;gap:var(--space-3) !important;flex-shrink:0 !important;min-width:auto !important;overflow:visible !important;}
  body.single-post .site-logo{display:flex !important;align-items:center !important;flex-shrink:0 !important;max-width:none !important;overflow:visible !important;}
  body.single-post .site-logo img{height:42px !important;width:auto !important;max-width:none !important;}
  body.single-post .main-nav,
  body.single-post .header-phone,
  body.single-post .header-profile-btn{display:none !important;}

  /* Contain only single post content area */
  body.single-post,
  body.single-post #page,
  body.single-post #content,
  body.single-post #main-content,
  body.single-post .blog-single-page{overflow-x:hidden !important;}

  body.single-post .blog-single-hero--clean,
  body.single-post .blog-single-section--clean,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell,
  body.single-post .blog-single-layout--wide,
  body.single-post .blog-single-article--clean,
  body.single-post .blog-single-content--clean,
  body.single-post .blog-single-cover,
  body.single-post .blog-sidebar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell,
  body.single-post .blog-single-page .container{padding-inline:16px !important;}

  body.single-post .blog-single-cover img,
  body.single-post .blog-single-content--clean img,
  body.single-post .wp-block-image img,
  body.single-post .wp-block-cover,
  body.single-post .wp-block-gallery,
  body.single-post iframe,
  body.single-post video,
  body.single-post canvas,
  body.single-post svg{
    max-width:100% !important;
    height:auto !important;
  }

  body.single-post table,
  body.single-post pre{
    display:block !important;
    max-width:100% !important;
    overflow-x:auto !important;
  }
}


/* ===== SINGLE POST MOBILE LEFT GAP FIX ===== */
@media (max-width: 767px){
  body.single-post .blog-single-page,
  body.single-post .blog-single-page > section,
  body.single-post .blog-single-hero--clean,
  body.single-post .blog-single-section--clean{
    margin-inline:0 !important;
    inset-inline:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  body.single-post .blog-single-page .container,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell,
  body.single-post .blog-single-hero__inner,
  body.single-post .blog-single-layout--wide,
  body.single-post .blog-single-article--clean,
  body.single-post .blog-single-content--clean,
  body.single-post .blog-single-cover{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-inline:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
    transform:none !important;
  }

  body.single-post .blog-single-cover img,
  body.single-post .blog-single-content--clean img{
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* ===== SINGLE POST MOBILE PAGE WRAPPER FIX ===== */
@media (max-width: 767px){
  body.single-post,
  body.single-post #page,
  body.single-post #content,
  body.single-post .site,
  body.single-post .site-main,
  body.single-post #main-content,
  body.single-post .blog-single-page{
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.single-post .site-header,
  body.single-post .site-footer,
  body.single-post .blog-single-page > section{
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100% !important;
  }

  body.single-post .site-header .container,
  body.single-post .blog-single-page .container,
  body.single-post .blog-single-hero-container,
  body.single-post .blog-single-shell,
  body.single-post .site-footer .container{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* ===== BLOG SINGLE RESET BUILD ===== */
body.single-post .blog-single-page.blog-single-reset-page,
body.single-post .blog-single-reset-page *{box-sizing:border-box;}
body.single-post .blog-single-reset-page{padding-top:0;margin:0;overflow-x:hidden;background:#f6f8fb;}
body.single-post .blog-single-reset-page .site-header{position:relative;}
body.single-post .blog-single-reset-page .container,
body.single-post .blog-single-reset-container{width:min(100%,1200px);margin-inline:auto;padding-inline:24px;}
body.single-post .blog-single-reset-hero{background:linear-gradient(135deg,var(--color-primary-dark) 0%, var(--color-primary) 100%);padding:32px 0 28px;color:#fff;overflow:hidden;}
body.single-post .blog-single-reset-head{max-width:860px;}
body.single-post .blog-single-reset-head h1{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.35;color:#fff;margin:0 0 16px;font-weight:900;}
body.single-post .blog-single-reset-lead{color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.95;margin-top:14px;max-width:70ch;}
body.single-post .blog-single-reset-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;}
body.single-post .blog-single-reset-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:#fff;color:var(--color-primary-dark);border-radius:999px;font-weight:800;font-size:.95rem;line-height:1.2;}
body.single-post .blog-single-reset-page .breadcrumbs,
body.single-post .blog-single-reset-page .cy-breadcrumbs,
body.single-post .blog-single-reset-page nav.breadcrumbs{margin:0 0 18px;color:rgba(255,255,255,.82);}
body.single-post .blog-single-reset-page .breadcrumbs *,
body.single-post .blog-single-reset-page .cy-breadcrumbs *,
body.single-post .blog-single-reset-page nav.breadcrumbs *{color:rgba(255,255,255,.82) !important;}
body.single-post .blog-single-reset-body{padding:32px 0 48px;overflow-x:hidden;}
body.single-post .blog-single-reset-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start;}
body.single-post .blog-single-reset-article,
body.single-post .blog-single-reset-sidebar{min-width:0;max-width:100%;}
body.single-post .blog-single-reset-cover{margin-bottom:24px;overflow:hidden;border-radius:24px;}
body.single-post .blog-single-reset-cover img{display:block;width:100%;max-width:100%;height:auto;border-radius:24px;box-shadow:0 18px 48px rgba(15,35,71,.12);}
body.single-post .blog-single-reset-content{background:transparent;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
body.single-post .blog-single-reset-content > *:first-child{margin-top:0;}
body.single-post .blog-single-reset-content p,
body.single-post .blog-single-reset-content li{font-size:1.08rem;line-height:2.05;color:#334155;}
body.single-post .blog-single-reset-content h2{font-size:clamp(1.55rem,2vw,2rem);line-height:1.5;color:var(--color-primary-dark);margin:32px 0 14px;}
body.single-post .blog-single-reset-content h3{font-size:clamp(1.28rem,1.6vw,1.55rem);line-height:1.5;color:var(--color-primary-dark);margin:28px 0 12px;}
body.single-post .blog-single-reset-content h4{font-size:1.1rem;line-height:1.6;color:var(--color-primary);margin:24px 0 10px;}
body.single-post .blog-single-reset-content img,
body.single-post .blog-single-reset-content iframe,
body.single-post .blog-single-reset-content video,
body.single-post .blog-single-reset-content canvas,
body.single-post .blog-single-reset-content svg{max-width:100% !important;height:auto !important;display:block;}
body.single-post .blog-single-reset-content table,
body.single-post .blog-single-reset-content pre{display:block;max-width:100%;overflow-x:auto;}
body.single-post .blog-single-reset-content ul,
body.single-post .blog-single-reset-content ol{padding-right:1.2rem;margin-bottom:1.25rem;}
body.single-post .blog-single-reset-content blockquote{margin:24px 0;padding:16px 18px;border-right:4px solid #f5a623;background:#fff8eb;border-radius:18px;color:var(--color-primary-dark);font-weight:700;}
body.single-post .blog-single-reset-sidebar .sidebar-widget{background:#fff;border:1px solid rgba(15,35,71,.08);border-radius:22px;padding:20px;box-shadow:0 12px 30px rgba(15,35,71,.06);}
body.single-post .blog-single-reset-footer{margin-top:28px;}
body.single-post .blog-single-reset-nav .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
body.single-post .blog-single-reset-nav .nav-previous a,
body.single-post .blog-single-reset-nav .nav-next a{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:#fff;border:1px solid rgba(15,35,71,.08);border-radius:18px;color:var(--color-text);text-decoration:none;}
body.single-post .blog-single-reset-nav span{color:var(--color-text-faint);font-size:.82rem;}
body.single-post .blog-single-reset-nav strong{color:var(--color-primary);font-size:.96rem;line-height:1.7;}
@media (max-width: 1100px){
  body.single-post .blog-single-reset-grid{grid-template-columns:minmax(0,1fr);}
}
@media (max-width: 767px){
  body.single-post .blog-single-reset-page,
  body.single-post .blog-single-reset-hero,
  body.single-post .blog-single-reset-body{overflow-x:hidden !important;}
  body.single-post .blog-single-reset-page .container,
  body.single-post .blog-single-reset-container{width:100%;max-width:100%;padding-inline:16px;}
  body.single-post .blog-single-reset-hero{padding:22px 0 20px;}
  body.single-post .blog-single-reset-head h1{font-size:clamp(1.9rem,7vw,2.6rem);line-height:1.45;}
  body.single-post .blog-single-reset-lead{font-size:1rem;line-height:1.95;}
  body.single-post .blog-single-reset-meta{gap:10px;justify-content:space-between;}
  body.single-post .blog-single-reset-pill{font-size:.88rem;padding:.6rem .85rem;}
  body.single-post .blog-single-reset-body{padding:20px 0 36px;}
  body.single-post .blog-single-reset-grid{gap:22px;}
  body.single-post .blog-single-reset-cover{border-radius:18px;margin-bottom:18px;}
  body.single-post .blog-single-reset-cover img{border-radius:18px;}
  body.single-post .blog-single-reset-content p,
  body.single-post .blog-single-reset-content li{font-size:1rem;line-height:1.95;}
  body.single-post .blog-single-reset-nav .nav-links{grid-template-columns:1fr;}
}


/* ===== BLOG SINGLE VIEWPORT ISOLATION FIX ===== */
body.single-post .blog-single-reset-viewport{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  overflow-x:hidden;
}
body.single-post .blog-single-reset-container{
  width:min(1200px,100%);
  max-width:100%;
  margin-inline:auto;
  padding-inline:24px;
}
@media (max-width: 767px){
  body.single-post,
  body.single-post #page,
  body.single-post .site,
  body.single-post #content,
  body.single-post #main-content,
  body.single-post .blog-single-page,
  body.single-post .blog-single-reset-hero,
  body.single-post .blog-single-reset-body,
  body.single-post .blog-single-reset-viewport{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow-x:hidden !important;
  }
  body.single-post .blog-single-reset-container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* ===== SINGLE POST FINAL OFFSET + TYPOGRAPHY FIX ===== */
body.single-post .blog-single-reset-content h2{font-size:clamp(1.45rem,1.35rem + .55vw,1.85rem);line-height:1.45;}
body.single-post .blog-single-reset-content h3{font-size:clamp(1.2rem,1.15rem + .4vw,1.45rem);line-height:1.5;}
body.single-post .blog-single-reset-content h4{font-size:clamp(1.02rem,.98rem + .25vw,1.16rem);line-height:1.6;}

@media (max-width: 767px){
  body.single-post .blog-single-reset-page{
    position:relative;
    left:-14px;
    width:calc(100% + 14px) !important;
    max-width:calc(100% + 14px) !important;
    overflow-x:hidden !important;
  }
  body.single-post .blog-single-reset-hero,
  body.single-post .blog-single-reset-body,
  body.single-post .blog-single-reset-viewport{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  body.single-post .blog-single-reset-container{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  body.single-post .blog-single-reset-content h2{font-size:1.34rem !important;line-height:1.45 !important;margin-top:1.5rem !important;margin-bottom:.65rem !important;}
  body.single-post .blog-single-reset-content h3{font-size:1.14rem !important;line-height:1.5 !important;margin-top:1.25rem !important;margin-bottom:.55rem !important;}
  body.single-post .blog-single-reset-content h4{font-size:1rem !important;line-height:1.55 !important;margin-top:1rem !important;margin-bottom:.45rem !important;}
}


/* ===== SINGLE POST TITLE SIZE ONLY ===== */
body.single-post .blog-single-reset-head h1{font-size:clamp(1.5rem,4.5vw,2.4rem) !important;line-height:1.4 !important;}
@media (max-width: 767px){
  body.single-post .blog-single-reset-head h1{font-size:clamp(1.35rem,5.5vw,1.75rem) !important;line-height:1.45 !important;}
}
