/*
Theme Name: Sammt Studio
Theme URI: https://example.com/sammt-studio
Author: Sammt Sound Production Studio
Author URI: https://example.com
Description: A bilingual (Arabic RTL / English LTR) block theme for sound, recording & production studios. Magenta-on-ink design, full-site editing, custom Service & Project post types, a secure native contact form, JSON-LD local-business schema, and hardened security defaults. Converted from the Sammt Studio landing page.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sammt-studio
Tags: full-site-editing, block-patterns, rtl-language-support, translation-ready, custom-colors, custom-logo, custom-menu, featured-images, blog, portfolio, one-column, two-columns, right-sidebar
*/

/* =========================================================================
   DESIGN TOKENS
   The whole theme uses CSS logical properties (inset-inline, padding-block…)
   so the SAME stylesheet works for both RTL (Arabic) and LTR (English).
   ========================================================================= */
:root {
  --magenta:#D633F4; --magenta-deep:#A21AC0; --magenta-soft:#F4D6FA; --accent-rgb:214,51,244;
  --ink:#0E0A14; --bone:#FAF7FB; --surface:#FFFFFF; --line:#ECE4F0;
  --text:#110B16; --muted:#5B5366;
  --font:"Tajawal",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-md:14px; --r-lg:22px; --r-xl:32px; --r-pill:999px;
  --shadow-sm:0 2px 6px rgba(14,10,20,.06);
  --shadow-md:0 6px 20px rgba(14,10,20,.08);
  --shadow-cta:0 10px 28px rgba(214,51,244,.35);
  --container:1180px;
  --pad:clamp(56px,8vw,112px);
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  margin:0;
  font-family:var(--font);
  font-size:clamp(16px,1.05vw,17px);
  line-height:1.65;
  color:var(--text);
  background:var(--bone);
  -webkit-font-smoothing:antialiased;
}
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; border:0; background:none; color:inherit; }
:focus-visible { outline:3px solid var(--magenta); outline-offset:3px; border-radius:6px; }

.container,
.wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { }
.container {
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:clamp(20px,4vw,40px);
}

/* ---- Accessibility: skip link ---- */
.skip-link { position:absolute; inset-inline-start:-9999px; top:0; }
.skip-link:focus {
  inset-inline-start:16px; top:16px; background:var(--magenta); color:#fff;
  padding:10px 16px; border-radius:var(--r-md); z-index:100; font-weight:700;
}

/* =========================================================================
   HEADER + PRIMARY NAV
   ========================================================================= */
.site-header {
  position:sticky; top:0; z-index:50;
  background:#0E0A14;
  border-block-end:1px solid rgba(255,255,255,.08);
}
.site-header__inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding-block:14px;
}
.logo { display:flex; align-items:center; gap:12px; color:#fff; font-weight:700; font-size:clamp(20px,2.4vw,24px); line-height:1; }
.logo__mark { flex:0 0 auto; }
.logo__wordmark .en {
  display:block; font-weight:500; font-size:11px; letter-spacing:.18em;
  color:rgba(255,255,255,.7); margin-block-start:2px; text-transform:uppercase;
}
.header-actions { display:flex; align-items:center; gap:10px; }

/* primary menu */
.primary-nav { display:none; }
@media (min-width:960px){ .primary-nav { display:block; } }
.primary-nav ul { list-style:none; display:flex; align-items:center; gap:6px; margin:0; padding:0; }
.primary-nav a {
  display:inline-block; color:rgba(255,255,255,.86);
  padding:8px 12px; border-radius:var(--r-pill);
  font-weight:500; font-size:15px; transition:color .15s, background .15s;
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a { color:#fff; background:rgba(214,51,244,.16); }

.lang-toggle {
  color:#fff; border:1.5px solid rgba(255,255,255,.25);
  padding:9px 14px; border-radius:var(--r-pill);
  font-weight:700; font-size:13px; letter-spacing:.04em;
  min-height:40px; transition:border-color .15s,background .15s;
}
.lang-toggle:hover { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.06); }

.header-cta {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--magenta); color:#fff;
  padding:12px 20px; border-radius:var(--r-pill);
  font-weight:700; font-size:15px;
  box-shadow:var(--shadow-cta);
  transition:background .15s,transform .15s;
  min-height:44px;
}
.header-cta:hover { background:var(--magenta-deep); transform:translateY(-1px); }
.header-cta svg { width:18px; height:18px; }

/* mobile menu toggle */
.menu-toggle { display:inline-flex; color:#fff; width:42px; height:42px; align-items:center; justify-content:center; border:1.5px solid rgba(255,255,255,.25); border-radius:var(--r-pill); }
.menu-toggle svg { width:22px; height:22px; }
@media (min-width:960px){ .menu-toggle { display:none; } }
.mobile-nav { display:none; background:#0E0A14; border-block-start:1px solid rgba(255,255,255,.08); }
.mobile-nav.is-open { display:block; }
.mobile-nav ul { list-style:none; margin:0; padding:10px clamp(20px,4vw,40px) 18px; display:flex; flex-direction:column; gap:4px; }
.mobile-nav a { display:block; color:rgba(255,255,255,.88); padding:12px 8px; border-radius:var(--r-md); font-weight:500; }
.mobile-nav a:hover { background:rgba(214,51,244,.16); color:#fff; }

@media (max-width:480px) {
  .header-cta { padding:10px 14px; font-size:14px; }
  .header-cta .lbl-long { display:none; }
}
@media (min-width:481px) {
  .header-cta .lbl-short { display:none; }
}

/* =========================================================================
   HERO
   ========================================================================= */
.hero { position:relative; background:var(--ink); color:#fff; overflow:hidden; padding-block:clamp(72px,12vw,144px); }
.hero__waves { position:absolute; inset-block-end:0; inset-inline:0; width:100%; height:140px; opacity:.18; pointer-events:none; }
.hero__inner { position:relative; display:grid; gap:clamp(40px,6vw,80px); grid-template-columns:1fr; align-items:center; }
@media (min-width:960px) { .hero__inner { grid-template-columns:1.15fr 1fr; } }
.hero__eyebrow {
  display:inline-flex; align-items:center; gap:10px; padding:8px 16px; border-radius:var(--r-pill);
  background:rgba(214,51,244,.14); border:1px solid rgba(214,51,244,.35);
  color:#F4D6FA; font-size:14px; font-weight:500; margin-block-end:24px;
}
.hero__eyebrow .dot { width:8px; height:8px; border-radius:999px; background:var(--magenta); box-shadow:0 0 0 4px rgba(214,51,244,.18); }
.hero h1 { font-weight:900; font-size:clamp(40px,7vw,76px); line-height:1.1; letter-spacing:-.01em; margin:0 0 20px; }
.hero h1 .accent { color:var(--magenta); }
.hero__sub { font-size:clamp(17px,1.7vw,20px); line-height:1.7; color:rgba(255,255,255,.82); max-width:560px; margin-block-end:36px; }
.hero__ctas { display:flex; gap:14px; flex-wrap:wrap; }

.btn-call {
  display:inline-flex; align-items:center; gap:12px; background:var(--magenta); color:#fff;
  padding:18px 30px; border-radius:var(--r-pill); font-weight:900; font-size:clamp(17px,1.6vw,19px);
  box-shadow:var(--shadow-cta); transition:background .15s,transform .15s;
  animation:ctaPulse 2.6s ease-in-out infinite; min-height:56px;
}
.btn-call:hover { background:var(--magenta-deep); transform:translateY(-2px); }
.btn-call svg { width:22px; height:22px; }

.btn-whatsapp {
  display:inline-flex; align-items:center; gap:10px; background:transparent; color:#fff;
  padding:16px 26px; border-radius:var(--r-pill); border:1.5px solid rgba(255,255,255,.35);
  font-weight:700; font-size:16px; transition:background .15s,border-color .15s,transform .15s; min-height:56px;
}
.btn-whatsapp:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.55); transform:translateY(-1px); }
.btn-whatsapp svg { width:20px; height:20px; }

.hero__microcopy { display:flex; align-items:center; gap:8px; margin-block-start:22px; font-size:14px; color:rgba(255,255,255,.65); }
.hero__microcopy svg { width:16px; height:16px; color:var(--magenta); }

.hero__visual { position:relative; aspect-ratio:4/5; border-radius:var(--r-xl); overflow:hidden; background:#1A1320; box-shadow:0 30px 60px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06) inset; }
.hero__visual img { width:100%; height:100%; object-fit:cover; opacity:.9; }
.hero__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(14,10,20,0) 40%,rgba(14,10,20,.7) 100%); pointer-events:none; }
.hero__visual-tag { position:absolute; inset-block-end:24px; inset-inline:24px; color:#fff; z-index:2; }
.hero__visual-tag .num { font-weight:900; font-size:clamp(40px,5vw,56px); line-height:1; color:var(--magenta); }
.hero__visual-tag .lbl { font-size:15px; color:rgba(255,255,255,.8); margin-block-start:4px; }

@keyframes ctaPulse {
  0%,100% { box-shadow:var(--shadow-cta), 0 0 0 0 rgba(var(--accent-rgb),.55); }
  60% { box-shadow:var(--shadow-cta), 0 0 0 16px rgba(var(--accent-rgb),0); }
}

/* =========================================================================
   TRUST
   ========================================================================= */
.trust { background:var(--surface); border-block-end:1px solid var(--line); }
.trust__row { display:grid; grid-template-columns:repeat(2,1fr); padding-block:24px; }
@media (min-width:720px) { .trust__row { grid-template-columns:repeat(4,1fr); } }
.trust__cell { display:flex; align-items:center; gap:14px; padding:16px 18px; border-inline-end:1px solid var(--line); }
.trust__cell:last-child { border-inline-end:0; }
@media (max-width:719px) {
  .trust__cell { border-block-end:1px solid var(--line); }
  .trust__cell:nth-child(2n) { border-inline-end:0; }
  .trust__cell:nth-last-child(-n+2) { border-block-end:0; }
}
.trust__icon { width:44px; height:44px; border-radius:12px; background:var(--magenta-soft); color:var(--magenta-deep); display:grid; place-items:center; flex:0 0 auto; }
.trust__icon svg { width:22px; height:22px; }
.trust__text { font-weight:700; line-height:1.4; font-size:15px; }
.trust__text small { display:block; font-weight:400; color:var(--muted); font-size:13px; margin-block-start:2px; }

/* =========================================================================
   GENERIC SECTIONS
   ========================================================================= */
.section { padding-block:var(--pad); }
.section--surface { background:var(--surface); }
.section--ink { background:var(--ink); color:#fff; }
.section--bone { background:var(--bone); }
.section__head { max-width:720px; margin-block-end:56px; }
.section__head--center { margin-inline:auto; text-align:center; }
.section__eyebrow { display:inline-block; font-weight:700; font-size:13px; letter-spacing:.16em; color:var(--magenta-deep); text-transform:uppercase; margin-block-end:14px; }
.section--ink .section__eyebrow { color:var(--magenta); }
.section h2 { font-weight:900; font-size:clamp(28px,4.2vw,46px); line-height:1.2; margin:0 0 16px; letter-spacing:-.005em; }
.section__lead { font-size:clamp(16px,1.4vw,18px); line-height:1.75; color:var(--muted); margin:0; }
.section--ink .section__lead { color:rgba(255,255,255,.75); }

/* =========================================================================
   SERVICES
   ========================================================================= */
.services { display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:720px) { .services { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px) { .services { grid-template-columns:repeat(3,1fr); } }
.service-card { background:var(--bone); border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s,border-color .2s; }
.service-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--magenta-soft); }
.service-card__media { aspect-ratio:4/3; background:var(--ink); overflow:hidden; }
.service-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.service-card:hover .service-card__media img { transform:scale(1.04); }
.service-card__body { padding:24px 24px 28px; flex:1; display:flex; flex-direction:column; }
.service-card h3 { font-weight:900; font-size:22px; margin:0 0 10px; }
.service-card p { color:var(--muted); margin:0 0 18px; font-size:15.5px; line-height:1.7; flex:1; }
.service-card__call { display:inline-flex; align-items:center; gap:8px; color:var(--magenta-deep); font-weight:700; font-size:15px; align-self:flex-start; }
.service-card__call svg { width:16px; height:16px; }
[dir="ltr"] .service-card__call svg { transform:scaleX(-1); }
.service-card__call:hover { color:var(--magenta); text-decoration:underline; text-underline-offset:4px; }

/* =========================================================================
   WHY
   ========================================================================= */
.why { display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:720px) { .why { grid-template-columns:repeat(2,1fr); } }
.why-item { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:var(--r-lg); padding:28px; display:grid; grid-template-columns:56px 1fr; gap:20px; align-items:start; }
.why-item__num { width:56px; height:56px; border-radius:14px; background:linear-gradient(135deg,var(--magenta) 0%,var(--magenta-deep) 100%); color:#fff; display:grid; place-items:center; font-weight:900; font-size:22px; }
.why-item h3 { font-weight:700; font-size:19px; margin:4px 0 8px; color:#fff; }
.why-item p { margin:0; color:rgba(255,255,255,.72); line-height:1.7; font-size:15.5px; }

/* =========================================================================
   PROOF
   ========================================================================= */
.proof { display:grid; gap:32px; grid-template-columns:1fr; align-items:stretch; }
@media (min-width:900px) { .proof { grid-template-columns:1.1fr 1fr; } }
.proof__quote { background:var(--ink); color:#fff; border-radius:var(--r-xl); padding:clamp(36px,5vw,56px); position:relative; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.proof__quote::before { content:"\201C"; position:absolute; inset-block-start:-10px; inset-inline-start:30px; font-size:180px; color:var(--magenta); opacity:.35; line-height:1; }
.proof__quote blockquote { margin:0; position:relative; z-index:1; font-weight:500; font-size:clamp(22px,2.4vw,30px); line-height:1.4; }
.proof__quote cite { display:block; margin-block-start:22px; font-style:normal; color:rgba(255,255,255,.65); font-size:15px; }
.proof__ig { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl); padding:32px; display:flex; flex-direction:column; gap:18px; box-shadow:var(--shadow-sm); }
.proof__ig-head { display:flex; align-items:center; gap:14px; }
.proof__ig-avatar { width:56px; height:56px; border-radius:999px; background:linear-gradient(135deg,#D633F4 0%,#6C2BD9 100%); display:grid; place-items:center; color:#fff; }
.proof__ig-avatar svg { width:28px; height:28px; }
.proof__ig-handle { font-weight:900; font-size:18px; }
.proof__ig-handle small { display:block; font-weight:400; font-size:13px; color:var(--muted); }
.proof__ig-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; border-radius:var(--r-md); overflow:hidden; }
.proof__ig-grid img { aspect-ratio:1; object-fit:cover; width:100%; }
.proof__ig-cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--ink); color:#fff; padding:14px 22px; border-radius:var(--r-pill); font-weight:700; font-size:15px; transition:background .15s,transform .15s; align-self:flex-start; min-height:44px; }
.proof__ig-cta:hover { background:var(--magenta-deep); transform:translateY(-1px); }
.proof__ig-cta svg { width:16px; height:16px; }

/* =========================================================================
   SAMPLES / REVIEWS / FAQ / MAP
   ========================================================================= */
.samples__grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:760px){.samples__grid{grid-template-columns:repeat(3,1fr)}}
.sample-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}
.sample-card h3{margin:0 0 6px;font-size:17px}
.sample-card small{color:var(--muted);display:block;margin-bottom:12px}
.sample-card audio{width:100%}
.reviews__grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:760px){.reviews__grid{grid-template-columns:repeat(3,1fr)}}
.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}
.review-card__stars{color:#F5A623;letter-spacing:2px;font-size:18px}
.review-card__text{margin:0;line-height:1.7}
.review-card__name{font-weight:700;margin:0}
.reviews__cta{display:inline-flex;align-items:center;gap:8px;margin-top:26px;background:#fff;border:1.5px solid var(--line);color:var(--text);padding:12px 20px;border-radius:var(--r-pill);font-weight:700;box-shadow:var(--shadow-sm)}
.section--ink .reviews__cta{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.faq{max-width:820px;margin-inline:auto}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--magenta);font-size:24px;font-weight:700;line-height:1;flex:0 0 auto}
.faq-item[open] summary::after{content:"\2013"}
.faq-item__a{padding:0 22px 20px;color:var(--muted);line-height:1.8;margin:0}
.map-embed{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);margin-top:8px}
.map-embed iframe{display:block;width:100%;height:340px;border:0}

/* =========================================================================
   CONTACT + FORM
   ========================================================================= */
.contact { background:linear-gradient(180deg,var(--magenta) 0%,var(--magenta-deep) 100%); color:#fff; position:relative; overflow:hidden; }
.contact__grid { display:grid; gap:clamp(36px,5vw,64px); grid-template-columns:1fr; align-items:start; position:relative; z-index:1; }
@media (min-width:900px) { .contact__grid { grid-template-columns:1fr 1fr; } }
.contact h2 { font-size:clamp(30px,4.4vw,50px); margin-block-end:14px; }
.contact__lead { font-size:18px; line-height:1.7; color:rgba(255,255,255,.92); margin-block-end:32px; max-width:480px; }
.contact__primary { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.btn-call--on-magenta { background:#fff; color:var(--magenta-deep); box-shadow:0 12px 30px rgba(0,0,0,.18); animation:ctaPulseLight 2.6s ease-in-out infinite; }
.btn-call--on-magenta:hover { background:#fff; color:var(--magenta-deep); box-shadow:0 18px 40px rgba(0,0,0,.24); transform:translateY(-2px); }
@keyframes ctaPulseLight {
  0%,100% { box-shadow:0 12px 30px rgba(0,0,0,.18), 0 0 0 0 rgba(255,255,255,.55); }
  60% { box-shadow:0 12px 30px rgba(0,0,0,.18), 0 0 0 16px rgba(255,255,255,0); }
}
.btn-whatsapp--on-magenta { border-color:rgba(255,255,255,.5); color:#fff; }
.btn-whatsapp--on-magenta:hover { background:rgba(255,255,255,.12); border-color:#fff; }
.contact__direct { margin-block-start:28px; display:flex; flex-direction:column; gap:8px; }
.contact__direct a { font-weight:900; font-size:clamp(26px,3.2vw,36px); color:#fff; letter-spacing:.02em; direction:ltr; display:inline-block; }
.contact__direct a:hover { text-decoration:underline; text-underline-offset:6px; }
.contact__direct small { color:rgba(255,255,255,.82); font-size:14px; }

.form-card { background:#fff; color:var(--text); border-radius:var(--r-xl); padding:clamp(28px,4vw,40px); box-shadow:0 20px 50px rgba(0,0,0,.18); }
.form-card__head { margin-block-end:22px; }
.form-card__head h3 { font-weight:900; font-size:22px; margin:0 0 6px; }
.form-card__head p { margin:0; color:var(--muted); font-size:14.5px; }
.form-card__note { background:var(--magenta-soft); color:var(--magenta-deep); padding:10px 14px; border-radius:var(--r-md); font-size:13.5px; font-weight:700; margin-block-end:18px; }
.field { display:flex; flex-direction:column; gap:6px; margin-block-end:16px; }
.field label { font-size:14px; font-weight:700; }
.field input,.field textarea { font-family:inherit; font-size:15.5px; padding:13px 14px; border-radius:var(--r-md); border:1.5px solid var(--line); background:var(--bone); color:var(--text); transition:border-color .15s,background .15s; min-height:48px; width:100%; }
.field textarea { resize:vertical; min-height:90px; }
.field input:focus,.field textarea:focus { border-color:var(--magenta); background:#fff; outline:none; box-shadow:0 0 0 4px rgba(214,51,244,.12); }
.field .err { color:#C2185B; font-size:13px; font-weight:500; min-height:16px; }
.field--error input,.field--error textarea { border-color:#C2185B; background:#FFF3F7; }
/* honeypot — visually hidden but present for bots */
.hp-field { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.form-submit { width:100%; background:var(--ink); color:#fff; padding:16px; border-radius:var(--r-pill); font-family:inherit; font-weight:900; font-size:16px; transition:background .15s,transform .15s; min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.form-submit:hover { background:#000; transform:translateY(-1px); }
.form-submit:disabled { opacity:.7; cursor:wait; }
.form-submit svg { width:18px; height:18px; }
.form-footnote { font-size:13px; color:var(--muted); margin:12px 0 0; text-align:center; }
.form-success { display:none; text-align:center; padding:8px 0 12px; }
.form-success.is-active { display:block; }
.form-card.is-success .form-card__head,
.form-card.is-success .form-card__note,
.form-card.is-success form { display:none; }
.form-success__check { width:64px; height:64px; background:#E8F8EF; color:#1E8E5B; border-radius:999px; display:grid; place-items:center; margin:0 auto 18px; }
.form-success__check svg { width:32px; height:32px; }
.form-success h3 { font-weight:900; font-size:22px; margin:0 0 8px; }
.form-success p { color:var(--muted); margin:0 0 20px; }
.form-success__phone { display:inline-flex; align-items:center; gap:10px; background:var(--magenta); color:#fff; padding:16px 28px; border-radius:var(--r-pill); font-weight:900; font-size:18px; box-shadow:var(--shadow-cta); min-height:52px; }
.form-success__phone:hover { background:var(--magenta-deep); }
.form-success__phone svg { width:20px; height:20px; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer { background:var(--ink); color:rgba(255,255,255,.78); padding-block:clamp(48px,6vw,80px) 28px; }
.site-footer__grid { display:grid; gap:36px; grid-template-columns:1fr; }
@media (min-width:720px) { .site-footer__grid { grid-template-columns:1.4fr 1fr 1fr; } }
.site-footer h4 { font-weight:700; font-size:15px; color:#fff; margin:0 0 16px; letter-spacing:.04em; }
.site-footer__about p { margin:14px 0 0; font-size:14.5px; line-height:1.7; color:rgba(255,255,255,.7); max-width:360px; }
.site-footer ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; font-size:15px; }
.site-footer ul a { display:inline-flex; align-items:center; gap:8px; transition:color .15s; }
.site-footer ul a:hover { color:var(--magenta); }
.site-footer ul svg { width:16px; height:16px; opacity:.8; }
.site-footer__bottom { margin-block-start:40px; padding-block-start:24px; border-block-start:1px solid rgba(255,255,255,.08); display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; font-size:13.5px; color:rgba(255,255,255,.55); }
.site-footer__hashtag { color:var(--magenta); font-weight:700; font-size:15px; }

/* =========================================================================
   FAB (mobile sticky call)
   ========================================================================= */
.fab-call { position:fixed; inset-block-end:18px; inset-inline-end:18px; z-index:1000; display:none; align-items:center; gap:10px; background:var(--magenta); color:#fff; padding:14px 22px 14px 18px; border-radius:var(--r-pill); font-weight:900; font-size:16px; box-shadow:0 12px 28px rgba(214,51,244,.5); animation:ctaPulse 2.6s ease-in-out infinite; min-height:52px; }
.fab-call svg { width:22px; height:22px; }
@media (max-width:768px) { .fab-call { display:inline-flex; } body.has-fab { padding-block-end:80px; } }

/* =========================================================================
   PAGE HEADER (inner pages / archives)
   ========================================================================= */
.page-hero { background:var(--ink); color:#fff; padding-block:clamp(56px,9vw,104px); position:relative; overflow:hidden; }
.page-hero__eyebrow { display:inline-block; font-weight:700; font-size:13px; letter-spacing:.16em; color:var(--magenta); text-transform:uppercase; margin-block-end:12px; }
.page-hero h1 { font-weight:900; font-size:clamp(32px,5vw,56px); line-height:1.12; margin:0 0 14px; }
.page-hero p { color:rgba(255,255,255,.78); font-size:clamp(16px,1.5vw,19px); max-width:620px; margin:0; }

/* =========================================================================
   BLOG / POSTS / CPT cards
   ========================================================================= */
.post-grid { display:grid; gap:28px; grid-template-columns:1fr; }
@media (min-width:640px) { .post-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px) { .post-grid { grid-template-columns:repeat(3,1fr); } }
.post-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s, border-color .2s; }
.post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--magenta-soft); }
.post-card__media { aspect-ratio:16/10; background:var(--ink); overflow:hidden; }
.post-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.post-card:hover .post-card__media img { transform:scale(1.04); }
.post-card__body { padding:22px 22px 26px; flex:1; display:flex; flex-direction:column; gap:10px; }
.post-card__meta { font-size:13px; color:var(--muted); letter-spacing:.02em; }
.post-card h3 { font-weight:900; font-size:20px; line-height:1.3; margin:0; }
.post-card h3 a:hover { color:var(--magenta-deep); }
.post-card p { color:var(--muted); font-size:15px; line-height:1.7; margin:0; flex:1; }
.post-card__more { color:var(--magenta-deep); font-weight:700; font-size:15px; align-self:flex-start; }
.post-card__more:hover { text-decoration:underline; text-underline-offset:4px; }

/* single content (prose) */
.entry { max-width:760px; margin-inline:auto; }
.entry__content > * { margin-block:0 1.25em; }
.entry__content h2 { font-weight:900; font-size:clamp(24px,3vw,32px); margin-block:1.4em .5em; }
.entry__content h3 { font-weight:700; font-size:clamp(20px,2.4vw,24px); margin-block:1.2em .4em; }
.entry__content p, .entry__content li { font-size:17px; line-height:1.8; color:#2a2433; }
.entry__content a { color:var(--magenta-deep); text-decoration:underline; text-underline-offset:3px; }
.entry__content img, .entry__content figure { border-radius:var(--r-lg); overflow:hidden; }
.entry__content blockquote { border-inline-start:4px solid var(--magenta); padding-inline-start:20px; margin-inline:0; color:#3a3343; font-style:italic; }
.entry__content code { background:var(--magenta-soft); padding:2px 6px; border-radius:6px; font-size:.9em; }
.entry__content pre { background:var(--ink); color:#f4eafa; padding:18px; border-radius:var(--r-md); overflow:auto; }

/* pagination */
.pagination { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-block-start:48px; }
.pagination .page-numbers { display:inline-grid; place-items:center; min-width:44px; height:44px; padding:0 12px; border:1px solid var(--line); border-radius:var(--r-pill); font-weight:700; background:#fff; }
.pagination .page-numbers.current { background:var(--magenta); color:#fff; border-color:var(--magenta); }
.pagination .page-numbers:hover:not(.current) { border-color:var(--magenta); color:var(--magenta-deep); }

/* comments */
.comments { max-width:760px; margin:56px auto 0; }
.comments__title { font-weight:900; font-size:24px; margin:0 0 24px; }
.comment-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.comment-body { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:20px; }
.comment-author { font-weight:700; }
.comment-meta { font-size:13px; color:var(--muted); margin-bottom:8px; }
.comment-respond { margin-top:32px; }
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea {
  font-family:inherit; width:100%; padding:13px 14px; border-radius:var(--r-md); border:1.5px solid var(--line); background:var(--bone); margin-bottom:14px;
}
.comment-form .submit { background:var(--ink); color:#fff; padding:14px 26px; border-radius:var(--r-pill); font-weight:900; }

/* 404 / search-empty */
.notice-block { max-width:640px; margin-inline:auto; text-align:center; padding-block:clamp(48px,8vw,96px); }
.notice-block h1 { font-weight:900; font-size:clamp(56px,12vw,120px); color:var(--magenta); margin:0; line-height:1; }
.notice-block p { color:var(--muted); font-size:18px; margin:16px 0 28px; }
.notice-block .btn-call { animation:none; }

/* search form */
.search-form { display:flex; gap:10px; max-width:520px; }
.search-form input[type=search] { flex:1; padding:13px 16px; border-radius:var(--r-pill); border:1.5px solid var(--line); background:#fff; font-family:inherit; }
.search-form button { background:var(--magenta); color:#fff; padding:13px 22px; border-radius:var(--r-pill); font-weight:700; }

/* WP core helpers */
.wp-block-image img { border-radius:var(--r-lg); }
.aligncenter { margin-inline:auto; }
.screen-reader-text { position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }

/* =========================================================================
   SEO / AEO COMPONENTS (breadcrumbs, answer box, takeaways, meta, author, related)
   ========================================================================= */
/* Breadcrumbs (rendered inside the dark page-hero) */
.breadcrumbs { margin-block-end:14px; font-size:14px; }
.breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; align-items:center; }
.breadcrumbs li { display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.7); }
.breadcrumbs li:not(:last-child)::after { content:"/"; color:rgba(255,255,255,.35); margin-inline-start:6px; }
.breadcrumbs a { color:var(--magenta); }
.breadcrumbs a:hover { text-decoration:underline; text-underline-offset:3px; }
.breadcrumbs li[aria-current] span { color:#fff; }
/* When breadcrumbs appear on a light surface */
.section .breadcrumbs li { color:var(--muted); }
.section .breadcrumbs li[aria-current] span { color:var(--text); }
.section .breadcrumbs a { color:var(--magenta-deep); }

/* Post meta row (reading time + dates) */
.post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-block-start:14px; font-size:14px; color:rgba(255,255,255,.72); }
.post-meta__sep { opacity:.5; }
.post-meta__updated { color:var(--magenta); font-weight:700; }

/* Quick Answer / TL;DR box (AEO) */
.sammt-answer {
  background:var(--magenta-soft);
  border:1px solid var(--magenta-soft);
  border-inline-start:5px solid var(--magenta);
  border-radius:var(--r-md);
  padding:20px 22px; margin-block:24px;
}
.sammt-answer__label {
  margin:0 0 6px; font-weight:900; font-size:13px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--magenta-deep);
}
.sammt-answer p:last-child { margin:0; font-size:17px; line-height:1.7; color:#2a2433; }

/* Key Takeaways box (AEO) */
.key-takeaways {
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:24px 26px; margin-block:28px;
  box-shadow:var(--shadow-sm);
}
.key-takeaways h2 { margin:0 0 12px; font-size:20px; display:flex; align-items:center; gap:10px; }
.key-takeaways h2::before { content:"★"; color:var(--magenta); }
.key-takeaways ul { margin:0; padding-inline-start:20px; }
.key-takeaways li { margin-block:6px; line-height:1.7; }

/* Post FAQ wrapper reuses .faq-item styles */
.sammt-post-faq { margin-block:28px; }

/* Post tags */
.post-tags { display:block; margin-block-start:28px; font-size:14px; color:var(--muted); }
.post-tags a { display:inline-block; background:var(--bone); border:1px solid var(--line); border-radius:var(--r-pill); padding:5px 14px; margin:4px 4px 0 0; color:var(--magenta-deep); font-weight:700; }
.post-tags a:hover { border-color:var(--magenta); }

/* Author bio (E-E-A-T) */
.author-bio { display:flex; gap:18px; align-items:flex-start; margin-block-start:36px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); }
.author-bio__avatar img { border-radius:999px; width:72px; height:72px; }
.author-bio__label { margin:0 0 2px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:700; }
.author-bio__name { font-weight:900; font-size:19px; color:var(--text); }
.author-bio__name:hover { color:var(--magenta-deep); }
.author-bio__desc { margin:8px 0 0; color:var(--muted); line-height:1.7; font-size:15px; }

/* Related posts */
.related__title { font-weight:900; font-size:clamp(22px,3vw,30px); margin:0 0 28px; }

/* =========================================================================
   VOICE-OVER GALLERY
   ========================================================================= */
.vo-gallery { width:100%; }
.vo-filters { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-block-end:20px; }
.vo-filters__search { flex:1 1 220px; min-width:200px; }
.vo-search {
  width:100%; font-family:inherit; font-size:15px; padding:12px 16px;
  border:1.5px solid var(--line); border-radius:var(--r-pill); background:#fff;
}
.vo-search:focus { outline:none; border-color:var(--magenta); box-shadow:0 0 0 4px rgba(214,51,244,.12); }
.vo-filter {
  font-family:inherit; font-size:14.5px; font-weight:700; color:var(--text);
  padding:11px 16px; border:1.5px solid var(--line); border-radius:var(--r-pill);
  background:#fff; cursor:pointer; max-width:200px;
}
.vo-filter:focus { outline:none; border-color:var(--magenta); }
.vo-reset {
  font-family:inherit; font-weight:700; font-size:14px; color:var(--magenta-deep);
  padding:11px 18px; border:1.5px solid var(--magenta-soft); border-radius:var(--r-pill); background:var(--magenta-soft);
}
.vo-reset:hover { background:#fff; border-color:var(--magenta); }
.vo-count { color:var(--muted); font-size:14px; font-weight:700; margin:0 0 20px; }
.vo-count__n { color:var(--magenta-deep); }

.vo-grid { display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width:620px) { .vo-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:980px) { .vo-grid { grid-template-columns:repeat(3,1fr); } }

.vo-card {
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:18px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.vo-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--magenta-soft); }
.vo-card__top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.vo-card__id {
  font-weight:900; font-size:16px; letter-spacing:.04em; color:#fff;
  background:linear-gradient(135deg,var(--magenta) 0%,var(--magenta-deep) 100%);
  padding:6px 14px; border-radius:var(--r-pill); direction:ltr;
}
.vo-card__dur { font-size:13px; color:var(--muted); font-weight:700; }
.vo-card__audio { width:100%; height:40px; }
.vo-card__chips { display:flex; flex-wrap:wrap; gap:6px; }
.vo-chip {
  font-size:12.5px; font-weight:700; color:var(--magenta-deep);
  background:var(--bone); border:1px solid var(--line); border-radius:var(--r-pill); padding:4px 12px;
}
.vo-chip--gender { color:#1f6feb; background:#eef4ff; border-color:#dbe7ff; }
.vo-chip--language { color:var(--magenta-deep); background:var(--magenta-soft); border-color:var(--magenta-soft); }
.vo-card__request {
  margin-block-start:auto; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--magenta); color:#fff; font-weight:900; font-size:15px;
  padding:13px 18px; border-radius:var(--r-pill); box-shadow:var(--shadow-cta);
  transition:background .15s, transform .15s; min-height:48px;
}
.vo-card__request:hover { background:var(--magenta-deep); transform:translateY(-1px); }
.vo-card__request svg { width:18px; height:18px; }
.vo-noresults, .vo-empty { text-align:center; color:var(--muted); font-size:17px; padding:32px 0; }

@media (prefers-reduced-motion:reduce) {
  .btn-call,.btn-call--on-magenta,.fab-call { animation:none; }
  * { transition:none !important; }
}
