/*
 Theme Name: Doafeer Astra Child (Extended)
 Theme URI: https://doafeer.com
 Description: Legendary modular Astra child theme with glossy unified app button, server-side redirects, stable mobile AdSense, GA4, social & share bars, and widget zones.
 Author: Alqudamy + Manus AI
 Author URI: https://doafeer.com
 Template: astra
 Version: 1.5.1
 Text Domain: doafeer-astra-child
*/

/* =========================================================================
   Global Design Tokens & Color Palette
   ========================================================================= */
:root {
  --doafeer-primary-color: #1e374e; /* Dark Blue/Charcoal from logo */
  --doafeer-secondary-color: #68a00b; /* Vibrant Green from logo */
  --doafeer-accent-color: #f39c12; /* A complementary accent color for highlights */
  --doafeer-text-color: #333333; /* General body text color */
  --doafeer-light-text-color: #666666; /* Lighter text for secondary info */
  --doafeer-white: #ffffff;
  --doafeer-light-gray: #f5f7fb;
  --doafeer-dark-gray: #34495e;

  --doafeer-border-radius: 8px;
  --doafeer-shadow-light: 0 2px 8px rgba(0,0,0,0.08);
  --doafeer-shadow-medium: 0 5px 15px rgba(0,0,0,0.12);
  --doafeer-transition-speed: 0.3s ease-in-out;

  /* Typography */
  --doafeer-font-family-primary: 'Cairo', sans-serif; /* Modern Arabic font */
  --doafeer-font-family-secondary: 'Open Sans', sans-serif; /* Complementary Latin font */
  --doafeer-heading-font-weight: 700;
  --doafeer-body-font-weight: 400;
}

/* =========================================================================
   Base Typography & Global Styles
   ========================================================================= */
body {
  font-family: var(--doafeer-font-family-primary);
  color: var(--doafeer-text-color);
  line-height: 1.6;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--doafeer-font-family-primary);
  font-weight: var(--doafeer-heading-font-weight);
  color: var(--doafeer-primary-color);
  margin-bottom: 0.8em;
  line-height: 1.2;
}

h1 {
  font-size: 3em; /* Larger for prominence */
  letter-spacing: 0.02em; /* Slight letter spacing */
  text-align: center;
  padding: 20px 30px; /* Padding for the box effect */
  margin: 30px auto; /* Center the box and add vertical margin */
  max-width: 800px; /* Limit width for better readability */
  border-radius: var(--doafeer-border-radius); /* Rounded corners */
  background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(245,247,251,0.9) 100%); /* Light transparent background */
  border: 2px solid var(--doafeer-secondary-color); /* Border with secondary color */
  box-shadow: var(--doafeer-shadow-medium); /* Prominent shadow */
  color: var(--doafeer-primary-color); /* Ensure H1 text color is primary */
}

h2 {
  font-size: 2em; /* Slightly smaller than before */
  font-weight: 600; /* Slightly lighter than H1 */
  color: var(--doafeer-dark-gray); /* Darker gray for subtlety */
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(30,55,78,0.1); /* Very light border bottom */
  margin-bottom: 1.2em; /* More space below H2 */
}

h3 { font-size: 1.8em; }
h4 { font-size: 1.4em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; }

/* Links */
a {
  color: var(--doafeer-secondary-color);
  text-decoration: none;
  transition: color var(--doafeer-transition-speed);
}

a:hover {
  color: var(--doafeer-primary-color);
  text-decoration: underline;
}

/* Buttons (General Styling, if not overridden by specific classes) */
button, .button, input[type="submit"] {
  background-color: var(--doafeer-secondary-color);
  color: var(--doafeer-white);
  padding: 10px 20px;
  border: none;
  border-radius: var(--doafeer-border-radius);
  cursor: pointer;
  font-family: var(--doafeer-font-family-primary);
  font-weight: var(--doafeer-heading-font-weight);
  transition: background-color var(--doafeer-transition-speed), transform var(--doafeer-transition-speed);
}

button:hover, .button:hover, input[type="submit"]:hover {
  background-color: var(--doafeer-primary-color);
  transform: translateY(-2px);
}

/* =========================================================================
   Specific Element Styling (based on existing CSS and new identity)
   ========================================================================= */

/* Unified App Button (glossy) - Retaining existing functionality with enhanced aesthetics */
.dac-app-wrap {
  display: flex;
  justify-content: center;
  margin: 14px 0;
}

.dac-app-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 24px; /* Increased padding for better touch target */
  border-radius: 16px; /* Larger border-radius for modern look */
  color: var(--doafeer-white);
  text-decoration: none;
  box-shadow: var(--doafeer-shadow-medium);
  background: linear-gradient(135deg, var(--doafeer-primary-color) 0%, var(--doafeer-secondary-color) 100%);
  overflow: hidden;
  isolation: isolate;
  transition: all var(--doafeer-transition-speed);
}

.dac-app-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,0) 40%);
  border-radius: inherit;
  pointer-events: none;
  mix-blend-mode: soft-light;
}

.dac-app-btn::after {
  content: "";
  position: absolute;
  left: -30%;
  top: -150%;
  width: 60%;
  height: 300%;
  transform: rotate(35deg);
  background: linear-gradient(to right, transparent, rgba(255,255,255,.35), transparent);
  transition: transform 0.8s ease, left 0.8s ease;
  pointer-events: none;
}

.dac-app-btn:hover::after {
  left: 110%;
  transform: rotate(35deg);
}

.dac-app-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.dac-app-icon {
  width: 42px; /* Slightly larger icon area */
  height: 42px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.15); /* Slightly more prominent background */
  border-radius: 14px; /* Adjusted to match new size */
  box-shadow: 0 0 0 8px rgba(255,255,255,.08) inset; /* Adjusted glow */
  flex: 0 0 auto;
}

.dac-app-icon svg {
  width: 28px; /* Slightly larger SVG icon */
  height: 28px;
  color: var(--doafeer-white);
}

.dac-app-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.dac-app-text strong {
  font-size: 18px; /* Larger text for prominence */
  letter-spacing: .5px;
  color: var(--doafeer-white);
}

.dac-app-text em {
  font-style: normal;
  font-size: 13px; /* Slightly larger subtext */
  color: rgba(255,255,255,.9);
  opacity: .98;
  margin-top: 3px;
}

/* Ads safety on mobile - Retained */
html,body{overflow-x:hidden}
.dac-ad-wrap{position:relative;max-width:100%;margin:12px auto;overflow:hidden}
.dac-ad-wrap .adsbygoogle{display:block!important;max-width:100%!important;width:100%!important;height:auto}
.dac-ad-wrap iframe{max-width:100%!important}
.google-auto-placed{max-width:100%!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden}
@media (max-width:600px){.dac-ad-wrap{padding-left:8px;padding-right:8px}}
.dac-ad--ph-280{min-height:280px}.dac-ad--ph-250{min-height:250px}.dac-ad--ph-200{min-height:200px}.dac-ad--ph-100{min-height:100px}

/* Doafeer Share Buttons - Enhanced */
.dac-sb-wrap {
  margin: 30px auto; /* More vertical spacing */
  text-align: center;
  padding: 15px; /* Added padding for better appearance */
  background-color: var(--doafeer-light-gray); /* Light background for contrast */
  border-radius: var(--doafeer-border-radius);
  box-shadow: var(--doafeer-shadow-light);
}

.dac-sb-wrap p {
  margin-bottom: 15px; /* More spacing */
  font-size: 16px;
  font-weight: var(--doafeer-body-font-weight);
  color: var(--doafeer-primary-color);
}

.dac-sb-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px; /* Increased gap between buttons */
  flex-wrap: wrap;
  margin: 0 auto;
}

.dac-sb-grid a,
.dac-sb-grid button {
  width: 50px; /* Slightly larger buttons */
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%; /* Circular buttons for a modern look */
  background: var(--doafeer-white);
  box-shadow: var(--doafeer-shadow-light);
  cursor: pointer;
  border: none;
  transition: all var(--doafeer-transition-speed);
}

.dac-sb-grid a:hover,
.dac-sb-grid button:hover {
  transform: translateY(-4px); /* More pronounced hover effect */
  box-shadow: var(--doafeer-shadow-medium);
  background-color: var(--doafeer-secondary-color); /* Highlight on hover */
}

.dac-sb-grid a:hover svg, .dac-sb-grid button:hover svg {
  color: var(--doafeer-white) !important; /* Change icon color on hover */
}

.dac-sb-grid img,
.dac-sb-grid svg {
  width: 28px; /* Slightly larger icons */
  height: 28px;
}

#dac-copy-link svg {
  color: var(--doafeer-primary-color); /* Default color for copy link icon */
}

/* Ensure section is always above footer */
.ast-footer-overlay + .dac-sb-wrap,
.site-footer + .dac-sb-wrap {
  margin-top: -10px;
  margin-bottom: 20px;
}

/* Logo Gloss (apply glossy shine to site logo) - Retained and integrated */
.logo-gloss{
  position:relative;
  display:inline-block;
  border-radius:var(--doafeer-border-radius); /* Using global variable */
  overflow:hidden;
  isolation:isolate;
}

.logo-gloss::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,0) 42%);
  border-radius:inherit;
  pointer-events:none;
  mix-blend-mode:soft-light;
}

.logo-gloss::after{
  content:"";
  position:absolute;
  top:-150%; left:-30%;
  width:60%; height:300%;
  transform:rotate(35deg);
  background:linear-gradient(to right, transparent, rgba(255,255,255,.35), transparent);
  border-radius:inherit;
  pointer-events:none;
  animation:doaf-logo-sheen 3.2s ease-in-out infinite;
}

@keyframes doaf-logo-sheen{
  0%{ left:-30%; }
  60%{ left:110%; }
  100%{ left:110%; }
}

.logo-gloss:hover{ filter:saturate(1.06); }

@media (prefers-reduced-motion: reduce){
  .logo-gloss::after{ animation:none; opacity:0; }
}

/* =========================================================================
   New Styles for General Elements (Lists, Images, Videos, Breadcrumbs)
   ========================================================================= */

/* Lists (ul, ol) */
ul, ol {
  margin-bottom: 1.5em;
  padding-left: 20px;
}

ul li {
  list-style: disc;
  margin-bottom: 0.5em;
}

ol li {
  list-style: decimal;
  margin-bottom: 0.5em;
}

/* Images */
img {
  max-width: 100%;
  height: auto;
  border-radius: var(--doafeer-border-radius);
  box-shadow: var(--doafeer-shadow-light);
  transition: transform var(--doafeer-transition-speed);
}

img:hover {
  transform: scale(1.02);
}

/* Figures and Captions */
figure {
  margin: 1em 0;
  text-align: center;
}

figcaption {
  font-size: 0.9em;
  color: var(--doafeer-light-text-color);
  margin-top: 0.5em;
}

/* Videos (e.g., embedded YouTube, Vimeo) */
.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
  margin-bottom: 1.5em;
  border-radius: var(--doafeer-border-radius);
  box-shadow: var(--doafeer-shadow-medium);
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Frames/Borders for specific content blocks (example) */
.content-frame {
  border: 2px solid var(--doafeer-light-gray);
  border-radius: var(--doafeer-border-radius);
  padding: 20px;
  margin-bottom: 1.5em;
  background-color: var(--doafeer-white);
  box-shadow: var(--doafeer-shadow-light);
}

/* Breadcrumbs (Yoast SEO example) */
#breadcrumbs {
  font-size: 0.9em;
  color: var(--doafeer-light-text-color);
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

#breadcrumbs a {
  color: var(--doafeer-light-text-color);
  text-decoration: none;
}

#breadcrumbs a:hover {
  color: var(--doafeer-secondary-color);
  text-decoration: underline;
}

#breadcrumbs span.breadcrumb_last {
  font-weight: var(--doafeer-heading-font-weight);
  color: var(--doafeer-primary-color);
}

/* Categories/Tags (example styling) */
.cat-links, .tags-links {
  font-size: 0.9em;
  margin-top: 1em;
}

.cat-links a, .tags-links a {
  display: inline-block;
  background-color: var(--doafeer-light-gray);
  color: var(--doafeer-primary-color);
  padding: 5px 10px;
  border-radius: var(--doafeer-border-radius);
  margin-right: 8px;
  margin-bottom: 8px;
  transition: background-color var(--doafeer-transition-speed), color var(--doafeer-transition-speed);
}

.cat-links a:hover, .tags-links a:hover {
  background-color: var(--doafeer-secondary-color);
  color: var(--doafeer-white);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  h1 { font-size: 2.2em; }
  h2 { font-size: 1.8em; }
  h3 { font-size: 1.5em; }
  
  .dac-app-btn {
    padding: 10px 20px;
    gap: 10px;
  }
  
  .dac-app-icon {
    width: 36px;
    height: 36px;
  }
  
  .dac-app-icon svg {
    width: 24px;
    height: 24px;
  }
  
  .dac-app-text strong {
    font-size: 15px;
  }
  
  .dac-app-text em {
    font-size: 12px;
  }

  .dac-sb-grid {
    gap: 15px;
  }

  .dac-sb-grid a, .dac-sb-grid button {
    width: 45px;
    height: 45px;
  }

  .dac-sb-grid img, .dac-sb-grid svg {
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 480px) {
  h1 { font-size: 1.8em; }
  h2 { font-size: 1.6em; }
  h3 { font-size: 1.3em; }
}


