/*
Theme Name: Shahen
Theme URI: https://shahen.local/
Author: Claude Design
Author URI: https://shahen.local/
Description: قالب ووردبريس مخصّص لشركة شاهين للخدمات المنزلية والمقاولات — مبني على تصميم Claude Design بهوية بصرية حمراء/داكنة، يدعم العربية و RTL بالكامل (خدمات، آراء العملاء، مدونة).
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shahen
Tags: rtl-language-support, custom-logo, custom-menu, featured-images, blog, business
*/

/* ===== Tokens ===== */
:root{
  --sh-bg:#FBF9F6; --sh-ink:#161311; --sh-text:#423C37; --sh-muted:#837A72;
  --sh-soft:#6B635B; --sh-line:#EAE4DC; --sh-panel:#F4F0EB; --sh-red:#DB0F1C;
  --sh-red-dark:#B00C16; --sh-red-soft:#FBE9EA; --sh-red-light:#FF4751;
  --sh-wa:#25D366; --sh-max:1240px;
}

/* ===== Reset / base ===== */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--sh-bg); color:var(--sh-text);
  font-family:'IBM Plex Sans Arabic', sans-serif; line-height:1.6;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; }
a{ color:inherit; }

/* Material Symbols icon font */
.ms{
  font-family:'Material Symbols Rounded'; font-weight:normal; font-style:normal;
  line-height:1; letter-spacing:normal; text-transform:none; display:inline-block;
  white-space:nowrap; direction:ltr; -webkit-font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;
}

/* Shared wrapper */
.sh-wrap{ max-width:var(--sh-max); margin:0 auto; padding-inline:28px; }

/* Animations (ported from the Claude design) */
@keyframes shFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
@keyframes shPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(37,211,102,.45); } 50%{ box-shadow:0 0 0 14px rgba(37,211,102,0); } }
@keyframes shRise  { from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:translateY(0); } }

/* Reveal-on-scroll */
.sh-reveal{ opacity:0; }
.sh-reveal.is-in{ animation:shRise .6s ease forwards; }

/* Card hover (service / blog cards) */
.sh-card{ will-change:transform; }
.sh-card:hover{ transform:translateY(-6px); box-shadow:0 22px 44px rgba(22,19,17,.1); border-color:#fff; }
a.sh-card:hover{ border-color:#EAE4DC; }

/* Nav hover */
.sh-nav a:hover{ background:#F2ECE4; }

/* Pagination (design-style rounded squares) */
.sh-pagination ul{ list-style:none; display:flex; gap:8px; padding:0; margin:0; flex-wrap:wrap; justify-content:center; }
.sh-pagination a.page-numbers,.sh-pagination span.page-numbers{
  width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  border:1.5px solid #EAE4DC; color:#161311; font-weight:600; text-decoration:none; background:#fff;
}
.sh-pagination .page-numbers:hover{ border-color:#161311; }
.sh-pagination .page-numbers.current{ background:#DB0F1C; color:#fff; border-color:#DB0F1C; }
.sh-pagination .page-numbers.dots{ border-color:transparent; background:transparent; }

/* Mobile nav toggle (hidden on desktop) */
.sh-burger{ display:none; }

/* Headings use the display font */
h1,h2,h3,h4{ font-family:'Readex Pro', sans-serif; }

/* ===== Responsive ===== */
@media (max-width:980px){
  .sh-grid-hero{ grid-template-columns:1fr !important; gap:40px !important; padding-block:56px !important; }
  .sh-grid-why{ grid-template-columns:1fr !important; gap:36px !important; }
  .sh-grid-3{ grid-template-columns:1fr 1fr !important; }
  .sh-stats{ grid-template-columns:1fr 1fr !important; }
  .sh-stats > div{ border-inline-end:none !important; }
  .sh-footer-grid{ grid-template-columns:1fr 1fr !important; }
  .sh-h1{ font-size:38px !important; }
  .sh-h2{ font-size:30px !important; }
}
@media (max-width:760px){
  .sh-wrap{ padding-inline:18px; }
  .sh-nav{ display:none !important; }
  .sh-header-cta{ display:none !important; }
  .sh-burger{ display:flex !important; }
  .sh-grid-3{ grid-template-columns:1fr !important; }
  .sh-why-grid-2{ grid-template-columns:1fr !important; }
  .sh-h1{ font-size:32px !important; }
  .sh-cta-band{ flex-direction:column !important; align-items:flex-start !important; }
  .sh-footer-grid{ grid-template-columns:1fr !important; }
}

/* Mobile menu panel */
.sh-mobile-menu{
  display:none; flex-direction:column; gap:4px; padding:10px 18px 18px;
  border-bottom:1px solid var(--sh-line); background:var(--sh-bg);
}
.sh-mobile-menu.is-open{ display:flex; }
.sh-mobile-menu a{ padding:12px 10px; font-weight:600; text-decoration:none; color:var(--sh-ink); border-radius:8px; }
.sh-mobile-menu a:hover{ background:var(--sh-panel); }

/* ===== Article body (post content) ===== */
.sh-article-body p{ margin:0 0 24px; }
.sh-article-body p:first-of-type{ font-size:21px; line-height:1.85; color:#161311; font-weight:500; }
.sh-article-body h2{ font-weight:700; font-size:28px; color:#161311; margin:40px 0 18px; line-height:1.4; }
.sh-article-body h3{ font-weight:600; font-size:23px; color:#161311; margin:32px 0 14px; line-height:1.4; }
.sh-article-body h4{ font-weight:600; font-size:19px; color:#161311; margin:26px 0 12px; }
.sh-article-body img{ border-radius:12px; height:auto; }
.sh-article-body a{ color:var(--sh-red); }
.sh-article-body .wp-block-image{ margin:24px 0; }
.sh-article-body ul,
.sh-article-body ol{ margin:0 0 24px; padding-inline-start:1.4em; }
.sh-article-body li{ margin-bottom:10px; }
.sh-article-body blockquote{
  background:#FBF6EF; border-inline-start:4px solid var(--sh-red); border-radius:0 12px 12px 0;
  padding:22px 26px; margin:0 0 28px; color:#5A534C; font-size:16px; line-height:1.8;
}
.sh-article-body blockquote p{ margin:0; }
.sh-article-body blockquote p:first-of-type{ font-size:16px; font-weight:500; color:#5A534C; }
.sh-article-body table{ width:100%; border-collapse:collapse; margin:0 0 24px; }
.sh-article-body th,
.sh-article-body td{ border:1px solid var(--sh-line); padding:12px 14px; text-align:start; }
.sh-article-body th{ background:var(--sh-panel); font-weight:700; color:#161311; }
.sh-article-body figure{ margin:24px 0; }
.sh-article-body figcaption{ font-size:13px; color:var(--sh-muted); text-align:center; margin-top:8px; }

/* Converted Elementor blocks (image-box / button / counter) */
.sh-article-body .sh-imgbox{ text-align:center; padding:26px 22px; border:1px solid var(--sh-line); border-radius:16px; margin:16px 0; background:#fff; }
.sh-article-body .sh-imgbox img{ width:76px; height:76px; object-fit:contain; margin:0 auto 14px; display:block; }
.sh-article-body .sh-imgbox h3{ margin:0 0 8px; }
.sh-article-body .sh-imgbox p{ margin:0; color:var(--sh-muted); }
.sh-article-body .sh-stat{ font-size:18px; }
.sh-article-body .sh-stat strong{ color:var(--sh-red); font-family:'Readex Pro',sans-serif; font-size:30px; display:inline-block; }
.sh-article-body .sh-btn{
  display:inline-block; background:var(--sh-red); color:#fff !important; text-decoration:none;
  padding:14px 28px; border-radius:12px; font-weight:700; margin:6px 8px 6px 0;
}
.sh-article-body .sh-btn:hover{ background:var(--sh-red-dark); }

/* WP core alignment helpers */
.aligncenter{ display:block; margin-inline:auto; }
.alignright{ float:right; margin:0 0 16px 16px; }
.alignleft{ float:left; margin:0 16px 16px 0; }
