﻿/* App Pages Styles */

/* About Page */
.about-page .about-section {
  padding: 4rem 2rem;
  max-width: 900px;
  margin: 2rem auto 0;
}

.about-page .content-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 3rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.3);
  text-align: center;
  margin-bottom: 3rem;
}

.about-page .content-card p {
  color: #333;
  font-size: 1.2rem;
  line-height: 2;
  margin-bottom: 1.5rem;
}

.about-page .content-card strong {
  color: #D4AF37;
  font-weight: 700;
}

.about-page .separator {
  width: 100px;
  height: 4px;
  background: linear-gradient(90deg, #D4AF37, #8B4513);
  border-radius: 2px;
  margin: 2rem auto;
}

.about-page .cta-section {
  background: linear-gradient(135deg, #a58054 0%, #95734c 100%);
  color: #fff;
  padding: 3rem 2rem;
  border-radius: 20px;
  text-align: center;
  margin-top: 3rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.about-page .cta-section h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.about-page .cta-section p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  opacity: 0.95;
}

.about-page .cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.about-page .cta-btn {
  padding: 1rem 1.5rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 2px solid #fff;
}

.about-page .cta-btn.primary {
  background: #fff;
  color: #a58054;
}

.about-page .cta-btn.primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.about-page .cta-btn.secondary {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.about-page .cta-btn.secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-3px);
}

.about-page .about-title {
  font-size: 2.5rem;
  font-weight: 800;
  color: #2c3e50;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .about-page .content-card {
    padding: 2rem;
  }

  .about-page .content-card p {
    font-size: 1rem;
    line-height: 1.8;
  }

  .about-page .cta-buttons {
    flex-direction: column;
  }

  .about-page .cta-btn {
    width: 100%;
    justify-content: center;
    padding: 1rem 2rem;
  }
}

/* Contact Page */
.contact-page .contact-section {
  padding: 4rem 2rem;
  max-width: 900px;
  margin: 2rem auto 0;
}

.contact-page .page-title {
  font-size: 2.5rem;
  font-weight: 800;
  color: #2c3e50;
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
  position: relative;
}

.contact-page .page-title::after {
  content: "\2713";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 4px;
  background: linear-gradient(90deg, #D4AF37, #8B4513);
  border-radius: 2px;
}

.contact-page .contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  justify-content: center;
}

.contact-page .contact-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 3rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.3);
  text-align: center;
  transition: all 0.3s ease;
}

.contact-page .contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.contact-page .contact-card i {
  font-size: 3rem;
  color: #D4AF37;
  margin-bottom: 1rem;
}

.contact-page .contact-card h3 {
  font-size: 1.5rem;
  color: #2c3e50;
  margin-bottom: 1rem;
  font-weight: 700;
}

.contact-page .contact-card p {
  font-size: 1.1rem;
  color: #555;
  line-height: 1.8;
}

.contact-page .contact-card a {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.8rem 1.5rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.3s ease;
  background: linear-gradient(135deg, #D4AF37, #8B4513);
  color: #fff;
}

.contact-page .contact-card a:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
}

@media (max-width: 768px) {
  .contact-page .contact-card {
    padding: 2rem;
  }
}

/* Contact Page V3 */
.contact-page.contact-v3 {
  max-width: 1120px;
  margin: 2.1rem auto 0;
  padding: 0 1rem 2.4rem;
}

.contact-page.contact-v3 .contact-hero {
  background:
    radial-gradient(520px 220px at 100% -10%, rgba(182, 138, 58, 0.2), transparent 60%),
    #fff;
  border: 1px solid #eadfc8;
  border-radius: 20px;
  box-shadow: 0 16px 30px rgba(36, 20, 5, 0.08);
  padding: 1.25rem 1.4rem;
  margin-bottom: 1rem;
  text-align: center;
}

.contact-page.contact-v3 .contact-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(182, 138, 58, 0.15);
  color: #7d5e31;
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.84rem;
  font-weight: 700;
}

.contact-page.contact-v3 .page-title {
  font-size: 1.95rem;
  margin: 0.6rem 0 0.35rem;
  color: #2b2f38;
  font-weight: 800;
  padding: 0;
}

.contact-page.contact-v3 .page-title::after {
  display: none;
}

.contact-page.contact-v3 .contact-lead {
  margin: 0;
  color: #6b7280;
  line-height: 1.7;
  font-size: 0.98rem;
}

.contact-page.contact-v3 .contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
}

.contact-page.contact-v3 .contact-channel {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 0.75rem;
  border-radius: 18px;
  border: 1px solid #e7dbc6;
  background: linear-gradient(180deg, #ffffff 0%, #fcfaf6 100%);
  box-shadow: 0 12px 24px rgba(36, 20, 5, 0.08);
  padding: 1rem 1.05rem 1.05rem;
}

.contact-page.contact-v3 .contact-channel::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #b68a3a 0%, #8a6a41 100%);
  opacity: 0.5;
}

.contact-page.contact-v3 .channel-head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.7rem;
}

.contact-page.contact-v3 .channel-icon {
  width: 50px;
  height: 50px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(182, 138, 58, 0.14);
  color: #9a753f;
  font-size: 1.05rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.contact-page.contact-v3 .channel-text h3 {
  margin: 0 0 0.2rem;
  color: #2b2f38;
  font-size: 1.17rem;
  font-weight: 800;
  line-height: 1.35;
}

.contact-page.contact-v3 .channel-text p {
  margin: 0;
  color: #616978;
  font-size: 0.94rem;
  line-height: 1.7;
}

.contact-page.contact-v3 .channel-cta {
  margin-top: 0.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  align-self: flex-start;
  min-height: 40px;
  min-width: 180px;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  text-decoration: none;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  background: linear-gradient(135deg, #a6804f 0%, #8a6a41 100%);
  box-shadow: 0 10px 18px rgba(123, 94, 61, 0.22);
  transition: transform 0.16s ease, filter 0.16s ease, box-shadow 0.16s ease;
}

.contact-page.contact-v3 .channel-cta:hover {
  color: #fff;
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 14px 24px rgba(123, 94, 61, 0.28);
}

.contact-page.contact-v3 .channel-cta i {
  font-size: 0.86rem;
}

@media (max-width: 768px) {
  .contact-page.contact-v3 {
    margin-top: 1.35rem;
    padding: 0 0.75rem 1.75rem;
  }

  .contact-page.contact-v3 .contact-hero {
    padding: 1rem 0.9rem;
    border-radius: 16px;
  }

  .contact-page.contact-v3 .page-title {
    font-size: 1.7rem;
  }

  .contact-page.contact-v3 .contact-grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .contact-page.contact-v3 .channel-cta {
    width: 100%;
    justify-content: center;
  }
}

/* Success Stories Page */
.success-stories-page .page-title {
  font-size: 2.8rem;
  font-weight: 900;
  color: #D4AF37;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 4rem !important;
}

.success-stories-page .story-card {
  border: 1px solid #e9ecef;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 2rem;
  background-color: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.success-stories-page .story-header {
  display: flex;
  align-items: center;
  padding: 1.5rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.success-stories-page .story-header:hover {
  background-color: #f8f9fa;
}

.success-stories-page .story-header .main-image {
  width: 150px;
  height: 100px;
  object-fit: cover;
  border-radius: 10px;
  margin-left: 1.5rem;
}

.success-stories-page .story-header .info h5 {
  font-weight: 700;
  color: #8B4513;
  margin-bottom: 0.5rem;
}

.success-stories-page .story-header .info p {
  margin-bottom: 0.2rem;
  color: #6c757d;
  font-size: 0.9rem;
}

.success-stories-page .story-header .expand-icon {
  margin-right: auto;
  font-size: 1.5rem;
  color: #D4AF37;
  transition: transform 0.4s ease;
}

.success-stories-page .story-header[aria-expanded="true"] .expand-icon {
  transform: rotate(180deg);
}

.success-stories-page .story-details {
  padding: 0 1.5rem 1.5rem;
  border-top: 1px solid #e9ecef;
}

.success-stories-page .section-title {
  font-weight: 700;
  color: #D4AF37;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.success-stories-page .media-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1rem;
}

.success-stories-page .media-gallery a {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.success-stories-page .media-gallery a:hover {
  transform: scale(1.03);
}

.success-stories-page .media-gallery img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.success-stories-page .video-overlay-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3rem;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.7);
  pointer-events: none;
}

/* Subscription Page */
.subscription-page .subscription-form-container {
  max-width: 800px;
  margin: 2rem auto;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 2rem;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.subscription-page .subscription-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.subscription-page .form-group label {
  font-weight: 700;
  color: #8B4513;
  font-size: 1.1rem;
}

.subscription-page .form-group input[type="tel"] {
  padding: 1.2rem;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  font-family: 'Tajawal', sans-serif;
  font-size: 1.2rem;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.3s ease;
  direction: ltr;
  text-align: right;
  height: 50px;
}

.subscription-page .form-group input[type="tel"]:focus {
  outline: none;
  border-color: #8B4513;
  box-shadow: 0 0 0 3px rgba(139, 69, 19, 0.1);
}

.subscription-page .help-text {
  color: #666;
  font-size: 0.9rem;
  font-style: italic;
  margin-top: 0.5rem;
}

.subscription-page .interests-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.subscription-page .interest-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem;
  border: 2px solid #8B4513;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #fff;
  color: #8B4513;
  font-weight: bold;
}

.subscription-page .interest-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(139, 69, 19, 0.2);
}

.subscription-page .interest-item input[type="checkbox"] {
  display: none;
}

.subscription-page .checkmark {
  width: 20px;
  height: 20px;
  border: 2px solid #ddd;
  border-radius: 4px;
  position: relative;
  transition: all 0.3s ease;
}

.subscription-page .interest-item input[type="checkbox"]:checked + .checkmark {
  background: #8B4513;
  border-color: #8B4513;
}

.subscription-page .interest-item input[type="checkbox"]:checked + .checkmark::after {
  content: "\\2713";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: bold;
  font-size: 12px;
}

.subscription-page .subscribe-btn {
  padding: 1.2rem 2rem;
  background: linear-gradient(135deg, #D4AF37 0%, #B8860B 100%);
  color: #fff;
  border: none;
  border-radius: 15px;
  font-family: 'Tajawal', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.subscription-page .subscribe-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(139, 69, 19, 0.3);
}

.subscription-page .response-message {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 12px;
  text-align: center;
  font-weight: bold;
  display: none;
}

.subscription-page .response-message.success {
  background: #e6ffed;
  color: #2e7d32;
  border: 1px solid #a5d6a7;
}

.subscription-page .response-message.error {
  background: #ffebee;
  color: #c62828;
  border: 1px solid #ef9a9a;
}

/* Favorites Pages (Shared) */
.favorites-page .favorites-container,
.favorites-share-page .favorites-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

.favorites-page .favorites-header,
.favorites-share-page .favorites-header {
  text-align: center;
  margin-bottom: 24px;
}

.favorites-page .favorites-title,
.favorites-share-page .favorites-title {
  font-size: 2.05rem;
  font-weight: 700;
  color: #8B4513;
  margin-bottom: 8px;
}

.favorites-page .favorites-count,
.favorites-share-page .favorites-count {
  font-size: 1rem;
  color: #666;
  margin-bottom: 14px;
}

.favorites-page .favorites-grid,
.favorites-share-page .favorites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.favorites-page .favorite-card,
.favorites-share-page .favorite-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.favorites-page .favorite-card:hover,
.favorites-share-page .favorite-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.favorites-page .card-header,
.favorites-share-page .card-header {
  background: linear-gradient(135deg, #D4AF37 0%, #B8860B 100%);
  color: #fff;
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
}

.favorites-page .card-title,
.favorites-share-page .card-title {
  font-size: 1.04rem;
  font-weight: 700;
  margin: 0;
  flex: 1;
  line-height: 1.6;
  min-height: 4.9em;
  max-height: 4.9em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.favorites-page .card-body,
.favorites-share-page .card-body {
  padding: 12px 16px;
  flex: 1;
}

.favorites-page .info-row,
.favorites-share-page .info-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.42rem;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}

.favorites-page .info-row:last-child,
.favorites-share-page .info-row:last-child {
  border-bottom: none;
}

.favorites-page .info-label,
.favorites-share-page .info-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  color: #8B4513;
  font-size: 0.9rem;
  white-space: nowrap;
  line-height: 1.25;
  flex-shrink: 0;
}

.favorites-page .info-label i,
.favorites-share-page .info-label i {
  font-size: 0.83rem;
}

.favorites-page .info-value,
.favorites-share-page .info-value {
  color: #333;
  font-size: 0.9rem;
  text-align: start;
  overflow-wrap: anywhere;
  font-weight: 700;
  line-height: 1.25;
}

.favorites-page .card-footer,
.favorites-share-page .card-footer {
  padding: 12px 16px 14px;
  background: #f8f9fa;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}

.favorites-page .action-icons,
.favorites-share-page .action-icons {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.favorites-page .icon-btn,
.favorites-share-page .icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.favorites-page .icon-btn:hover,
.favorites-share-page .icon-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.22);
  filter: brightness(1.03);
  color: #fff;
}

.favorites-page .icon-btn:active,
.favorites-share-page .icon-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  filter: brightness(0.96);
  color: #fff;
}

.favorites-page .icon-btn:focus-visible,
.favorites-share-page .icon-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.35), 0 12px 24px rgba(0, 0, 0, 0.2);
}

.favorites-page .btn-view,
.favorites-share-page .btn-view,
.favorites-page .btn-map,
.favorites-share-page .btn-map {
  background: #b68a3a;
  text-decoration: none;
}

.favorites-page .btn-whatsapp,
.favorites-share-page .btn-whatsapp,
.favorites-page .btn-share,
.favorites-share-page .btn-share {
  background: #1faa4b;
}

.favorites-page .btn-remove,
.favorites-share-page .btn-remove {
  background: #e0443a;
}

.favorites-page .btn-details,
.favorites-share-page .btn-details {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 36px;
  min-width: 126px;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95), rgba(30, 41, 59, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  white-space: nowrap;
}

.favorites-page .btn-details:hover,
.favorites-share-page .btn-details:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.28);
  color: #fff;
}

.favorites-page .btn-details:active,
.favorites-share-page .btn-details:active {
  transform: translateY(0);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.2);
}

.favorites-page .btn-details i,
.favorites-share-page .btn-details i {
  font-size: 0.84rem;
  color: #fff !important;
}

.favorites-page .share-btn,
.favorites-share-page .share-btn {
  background: #25D366;
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.3s ease;
  flex: 1;
}

.favorites-page .share-btn:hover,
.favorites-share-page .share-btn:hover {
  background: #128C7E;
}

.favorites-page .view-btn,
.favorites-share-page .view-btn {
  background: #8B4513;
  color: #fff;
  text-decoration: none;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  flex: 1;
}

.favorites-page .view-btn:hover,
.favorites-share-page .view-btn:hover {
  background: #A0522D;
  color: #fff;
  text-decoration: none;
}

.favorites-page .empty-state,
.favorites-share-page .empty-state {
  text-align: center;
  padding: 80px 20px;
  color: #666;
}

.favorites-page .empty-icon,
.favorites-share-page .empty-icon {
  font-size: 4rem;
  color: #D4AF37;
  margin-bottom: 20px;
}

.favorites-page .empty-state h3,
.favorites-share-page .empty-state h3 {
  font-size: 1.5rem;
  color: #8B4513;
  margin-bottom: 15px;
}

.favorites-page .empty-state p,
.favorites-share-page .empty-state p {
  font-size: 1rem;
  margin-bottom: 30px;
}

.favorites-page .explore-btn,
.favorites-share-page .explore-btn {
  background: #D4AF37;
  color: #fff;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  display: inline-block;
  transition: all 0.3s ease;
}

.favorites-page .explore-btn:hover,
.favorites-share-page .explore-btn:hover {
  background: #B8860B;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
}

.favorites-page .share-all-btn,
.favorites-share-page .share-all-btn,
.favorites-share-page .edit-btn {
  border: none;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  text-decoration: none;
}

/* Favorites Index Page */
.favorites-page .share-all-btn {
  background: #25D366;
  color: #fff;
}

.favorites-page .share-all-btn:hover {
  background: #128C7E;
  transform: translateY(-2px);
}

.favorites-page .remove-btn {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: #fff;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.favorites-page .remove-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

/* Favorites Share Page */
.favorites-share-page .share-all-btn {
  background: #D4AF37;
  color: #fff;
}

.favorites-share-page .share-all-btn,
.favorites-share-page .edit-btn {
  margin: 0 5px;
}

.favorites-share-page .share-all-btn:hover {
  background: #B8860B;
  transform: translateY(-2px);
}

.favorites-share-page .edit-btn {
  background: #8B4513;
  color: #fff;
  margin: 0 5px;
}

.favorites-share-page .edit-btn:hover {
  background: #A0522D;
  transform: translateY(-2px);
}

.favorites-share-page .toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #4CAF50;
  color: #fff;
  padding: 15px 25px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transform: translateX(120%);
  transition: transform 0.4s ease-in-out;
  z-index: 1000;
}

.favorites-share-page .toast.show {
  transform: translateX(0);
}

@media (max-width: 768px) {
  .favorites-page .favorites-title,
  .favorites-share-page .favorites-title {
    font-size: 2rem;
  }

  .favorites-page .favorites-grid,
  .favorites-share-page .favorites-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .favorites-page .card-footer,
  .favorites-share-page .card-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .favorites-page .card-footer .action-icons,
  .favorites-share-page .card-footer .action-icons {
    justify-content: center;
  }

  .favorites-page .btn-details,
  .favorites-share-page .btn-details {
    width: 100%;
  }

  .favorites-page .favorites-container,
  .favorites-share-page .favorites-container {
    padding: 20px 15px;
  }

  .favorites-share-page .share-all-btn,
  .favorites-share-page .edit-btn {
    width: 100%;
    margin-bottom: 10px;
  }
}

html[dir="ltr"] .favorites-page .info-value,
html[dir="ltr"] .favorites-share-page .info-value {
  text-align: left;
}

/* Opportunities Index Page */
.opportunities-page .opportunity-list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin: 2.5rem auto;
  max-width: 1400px;
  padding: 0 1rem;
}

.opportunities-page .opportunity-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #eee;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: row-reverse;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  min-height: 280px;
}

.opportunities-page .opportunity-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

.opportunities-page .card-content {
  flex: 1;
  padding: 1.75rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.opportunities-page .content-top {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.opportunities-page .status-badge {
  align-self: flex-start;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.8rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.opportunities-page .status-badge i {
  color: #fff !important;
}

.opportunities-page .status-badge.available {
  background: #117a34;
  color: #fff;
}

.opportunities-page .status-badge.expired {
  background: #92261f;
  color: #fff;
}

.opportunities-page .card-title {
  font-size: 1.4rem;
  font-weight: 800;
  color: #26324a;
  margin: 0;
  line-height: 1.5;
}

.opportunities-page .card-details {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem 1.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid #ece2cf;
}

.opportunities-page .detail-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  justify-content: flex-start;
}

.opportunities-page .detail-item i {
  color: #b68a3a;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

.opportunities-page .detail-label {
  color: #6b7280;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.opportunities-page .detail-value {
  color: #26324a;
  font-weight: 700;
  margin-inline-start: 0;
  text-align: start;
}

.opportunities-page .content-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: auto;
}

.opportunities-page .action-icons {
  display: flex;
  gap: 0.6rem;
  margin-inline-start: auto;
  align-items: center;
}

.opportunities-page .icon-btn {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.opportunities-page .icon-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.22);
  filter: brightness(1.03);
  color: #fff;
}

.opportunities-page .icon-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  filter: brightness(0.96);
  color: #fff;
}

.opportunities-page .icon-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.35), 0 12px 24px rgba(0, 0, 0, 0.2);
}

.opportunities-page .btn-map {
  background: #b68a3a;
}

.opportunities-page .btn-favorite {
  background: #e0443a;
}

.opportunities-page .btn-favorite.active {
  background: #1faa4b;
}

.opportunities-page .btn-whatsapp {
  background: #1faa4b;
}

.opportunities-page .countdown-simple {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  background: #eaf7ef;
  color: #2f9e44;
  font-weight: 700;
  font-size: 0.9rem;
}

.opportunities-page .card-media {
  width: 42%;
  min-width: 320px;
  position: relative;
  background: #f3f3f3;
}

.opportunities-page .card-media img,
.opportunities-page .card-media video,
.opportunities-page .card-media iframe {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  display: block;
}

.opportunities-page .media-placeholder {
  min-height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 2rem;
}

.opportunities-page .btn-details {
  position: absolute;
  left: 50%;
  right: auto;
  inset-block-end: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 40px;
  min-width: 148px;
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95), rgba(30, 41, 59, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  transform: translateX(-50%);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.86rem;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.opportunities-page .btn-details:hover {
  filter: brightness(1.05);
  transform: translateX(-50%) translateY(-2px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.28);
}

.opportunities-page .btn-details i {
  font-size: 0.84rem;
}

.opportunities-page .btn-details:active {
  transform: translateX(-50%) translateY(0);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.2);
}

.opportunities-page .no-results {
  text-align: center;
  padding: 4rem 2rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  margin-top: 2rem;
}

.opportunities-page .no-results-icon {
  font-size: 4rem;
  color: #e74c3c;
  margin-bottom: 1.5rem;
}

.opportunities-page .no-results h3 {
  font-size: 2rem;
  color: #2c3e50;
  margin-bottom: 1rem;
}

.opportunities-page .no-results p {
  font-size: 1.1rem;
  color: #666;
}

.opportunities-page .pagination-container .pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin-top: 2rem;
  gap: 0.5rem;
}

.opportunities-page .pagination-container .page-item {
  margin: 0;
}

.opportunities-page .pagination-container .page-link,
.opportunities-page .pagination-container .page-item.disabled .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  padding: 0;
  color: #c0a05e;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.opportunities-page .pagination-container .page-link:hover {
  background-color: #f8f9fa;
  border-color: #c0a05e;
  transform: translateY(-2px);
}

.opportunities-page .pagination-container .page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #c0a05e;
  border-color: #c0a05e;
  box-shadow: 0 4px 10px rgba(192, 160, 94, 0.4);
}

.opportunities-page .pagination-container .page-item.disabled .page-link {
  color: #adb5bd;
  pointer-events: none;
  background-color: #f8f9fa;
  border-color: #dee2e6;
}


.opportunities-page .opportunity-card-row {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e2cfac;
  overflow: hidden;
  display: grid;
  grid-template-columns: 42% 58%;
  box-shadow: 0 10px 24px rgba(36, 20, 5, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}

.opportunities-page .opportunity-card-row::before {
  content: none;
}

.opportunities-page .opportunity-card-row:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(36, 20, 5, 0.12);
}

.opportunities-page .opportunity-card-row.reversed {
  grid-template-columns: 42% 58%;
}

.opportunities-page .opportunity-map {
  position: relative;
  background: #f3f4f6;
  min-height: 260px;
  order: -1;
}

.opportunities-page .map-favorite-btn {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  z-index: 3;
}

.opportunities-page .map-favorite-btn:hover {
  color: #fff;
  background: #e0443a;
}

.opportunities-page .map-favorite-btn.active {
  background: #e0443a;
  color: #fff;
}

.opportunities-page .opportunity-map img,
.opportunities-page .opportunity-map iframe,
.opportunities-page .opportunity-map video {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  display: block;
  border: none;
}


.opportunities-page .map-preview-badge {
  position: absolute;
  top: 16px;
  inset-inline-start: 16px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  z-index: 2;
}

.opportunities-page .map-preview-btn {
  position: absolute;
  top: 16px;
  inset-inline-start: 16px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  border: none;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.opportunities-page .map-preview-btn:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: translateY(-1px);
}

.opportunities-page .opportunity-info {
  padding: 1.6rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.opportunities-page .opportunity-info .card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.opportunities-page .opportunity-info .card-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #2b2f38;
  margin: 0;
  line-height: 1.6;
}

.opportunities-page .opportunity-card-row .card-details {
  row-gap: 0.6rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem 1.5rem;
  border-top: 1px solid #ece2cf;
  padding-top: 1.05rem;
}

.opportunities-page .opportunity-card-row .detail-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.6;
  padding: 0.25rem 0;
  justify-content: flex-start;
}

.opportunities-page .opportunity-card-row .detail-item i {
  color: #b68a3a;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

.opportunities-page .opportunity-card-row .detail-label {
  color: #6b7280;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.opportunities-page .opportunity-card-row .detail-value {
  color: #1f2937;
  font-weight: 700;
  margin-inline-start: 0;
  text-align: start;
}

.opportunities-page .opportunity-card-row .countdown-container {
  margin-top: 0;
}

.opportunities-page .opportunity-card-row .countdown {
  background: #b68a3a;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.5rem 1rem;
  border-radius: 12px;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 8px 18px rgba(182, 138, 58, 0.35);
}

.opportunities-page .opportunity-card-row .countdown .countdown-icon,
.opportunity-show-page .countdown-simple .countdown-icon {
  color: #fff !important;
}

.opportunities-page .map-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}

.opportunities-page .map-modal.open {
  display: flex;
}

.opportunities-page .map-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.opportunities-page .map-modal__content {
  position: relative;
  width: min(900px, 92vw);
  height: min(560px, 80vh);
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  z-index: 1;
}

.opportunities-page .map-modal__content iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.opportunities-page .map-modal__close {
  position: absolute;
  top: 12px;
  inset-inline-end: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.opportunities-page .map-modal__close:hover {
  background: rgba(0, 0, 0, 0.8);
}

@media (max-width: 900px) {
  .opportunities-page .opportunity-card-row,
  .opportunities-page .opportunity-card-row.reversed {
    grid-template-columns: 1fr;
  }

  .opportunities-page .opportunity-card-row .card-details {
  row-gap: 0.6rem;
    grid-template-columns: 1fr;
  }
}

.opportunities-page .opportunity-card-row .action-icons {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  justify-content: flex-start;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.opportunities-page .opportunity-card-row .card-actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.6rem;
  flex-wrap: wrap;
}

.opportunities-page .opportunity-card-row .icon-btn {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.opportunities-page .opportunity-card-row .icon-btn i {
  font-size: 1rem;
}

.opportunities-page .opportunity-card-row .icon-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.22);
  filter: brightness(1.03);
  color: #fff;
}

.opportunities-page .opportunity-card-row .icon-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  filter: brightness(0.96);
  color: #fff;
}

.opportunities-page .opportunity-card-row .icon-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.35), 0 12px 24px rgba(0, 0, 0, 0.2);
}

.opportunities-page .opportunity-card-row .btn-map {
  background: #b68a3a;
}

.opportunities-page .opportunity-card-row .btn-favorite {
  background: #e0443a;
}

.opportunities-page .opportunity-card-row .btn-favorite.active {
  background: #1faa4b;
}

.opportunities-page .opportunity-card-row .btn-share {
  background: #1faa4b;
}

@media (max-width: 1024px) {
  .opportunity-show-page .opportunity-show-card {
    grid-template-columns: 1fr;
  }
  .opportunities-page .card-media {
    width: 40%;
    min-width: 280px;
  }
}

@media (max-width: 768px) {
  .opportunities-page .opportunity-card {
    flex-direction: column;
    overflow: hidden;
    border-radius: 20px;
  }

  .opportunities-page .card-media {
    width: 100%;
    min-width: 100%;
  }

  .opportunities-page .card-media img,
  .opportunities-page .card-media video,
  .opportunities-page .card-media iframe {
    min-height: 220px;
  }

  .opportunities-page .card-content {
    padding: 1.5rem;
  }

  .opportunities-page .card-details {
    grid-template-columns: 1fr;
  }

  .opportunities-page .content-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Opportunities Show Page */
.opportunity-show-page {
  padding: 2rem 1rem 4rem;
}

.opportunity-show-page .opportunity-show-container {
  max-width: 1200px;
  margin: 0 auto;
}

.opportunity-show-page .back-navigation {
  margin-bottom: 2rem;
}

.opportunity-show-page .back-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #4CAF50;
  text-decoration: none;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  background: rgba(76, 175, 80, 0.1);
  transition: all 0.3s ease;
  border: 1px solid rgba(76, 175, 80, 0.3);
}

.opportunity-show-page .back-btn:hover {
  background: rgba(76, 175, 80, 0.2);
  transform: translateX(5px);
}

.opportunity-show-page .opportunity-show-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e2cfac;
  overflow: hidden;
  display: grid;
  grid-template-columns: 42% 58%;
  box-shadow: 0 10px 24px rgba(36, 20, 5, 0.08);
}

.opportunity-show-page .card-content {
  padding: 1.6rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  order: 2;
}

.opportunity-show-page .content-top {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.opportunity-show-page .status-badge {
  align-self: flex-start;
  padding: 0.5rem 1rem;
  border-radius: 25px;
  font-weight: 700;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.opportunity-show-page .status-badge i {
  color: #fff !important;
}

.opportunity-show-page .status-badge.available {
  background: #117a34;
  color: #fff;
}

.opportunity-show-page .status-badge.expired {
  background: #92261f;
  color: #fff;
}

.opportunity-show-page .card-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #2b2f38;
  margin: 0;
  line-height: 1.6;
}

.opportunity-show-page .opportunity-id {
  color: #6b7280;
  font-size: 0.95rem;
  font-weight: 600;
}

.opportunity-show-page .card-details {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem 1.5rem;
  padding-top: 0.85rem;
  border-top: 1px solid #ece2cf;
}

.opportunity-show-page .detail-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.6;
  padding: 0.25rem 0;
  justify-content: flex-start;
}

.opportunity-show-page .detail-item i {
  color: #b68a3a;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

.opportunity-show-page .detail-label {
  font-weight: 700;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.opportunity-show-page .detail-value {
  color: #1f2937;
  font-weight: 700;
  margin-inline-start: 0;
  text-align: start;
}

.opportunity-show-page .content-bottom {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.opportunity-show-page .action-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding-top: 0;
  border-top: none;
  justify-content: flex-start;
  align-items: center;
}

.opportunity-show-page .card-actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.6rem;
  flex-wrap: wrap;
  padding-top: 0.85rem;
  border-top: 1px solid #ece2cf;
}

.opportunity-show-page .icon-btn {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.opportunity-show-page .icon-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.22);
  filter: brightness(1.03);
  color: #fff;
}

.opportunity-show-page .icon-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  filter: brightness(0.96);
  color: #fff;
}

.opportunity-show-page .icon-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.35), 0 12px 24px rgba(0, 0, 0, 0.2);
}

.opportunity-show-page .btn-map {
  background: #b68a3a;
}

.opportunity-show-page .btn-favorite {
  background: #e0443a;
}

.opportunity-show-page .btn-favorite.active {
  background: #1faa4b;
}

.opportunity-show-page .btn-share {
  background: #1faa4b;
}

.opportunity-show-page .btn-copy {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95), rgba(30, 41, 59, 0.95));
}

.opportunity-show-page .map-favorite-btn {
  position: absolute;
  top: 14px;
  inset-inline-end: 16px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: linear-gradient(145deg, #ffffff, #f6f6f6);
  color: #d83f36;
  border: 2px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2);
  z-index: 3;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.opportunity-show-page .map-favorite-btn:hover {
  transform: translateY(-2px) scale(1.03);
  color: #fff;
  background: linear-gradient(145deg, #ef564a, #d83f36);
  box-shadow: 0 16px 30px rgba(224, 68, 58, 0.38);
}

.opportunity-show-page .map-favorite-btn.active {
  background: linear-gradient(145deg, #ef564a, #d83f36);
  border-color: rgba(255, 255, 255, 0.9);
  color: #fff;
  box-shadow: 0 16px 30px rgba(224, 68, 58, 0.4);
}

.opportunity-show-page .map-favorite-btn i {
  font-size: 1rem;
  line-height: 1;
}

.opportunity-show-page .countdown-simple {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1rem;
  border-radius: 12px;
  background: #ffffff;
  color: #6b4f1d;
  border: 1px solid #eadfc8;
  font-weight: 700;
  box-shadow: none;
  width: fit-content;
}

.opportunity-show-page .card-media {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: #f3f4f6;
  position: relative;
  order: 1;
}

.opportunity-show-page .card-media img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
}

.opportunity-show-page .media-placeholder {
  min-height: 260px;
  border-radius: 0;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 2.5rem;
  box-shadow: none;
}

.opportunity-show-page .btn-details {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 42px;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95), rgba(30, 41, 59, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.86rem;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  white-space: nowrap;
}

.opportunity-show-page .btn-details:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
  color: #fff;
}

.opportunity-show-page .interactive-map-section {
  background: #fff;
  border-radius: 16px;
  padding: 1rem;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.opportunity-show-page .interactive-map-section h3 {
  margin: 0 0 0.75rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.opportunity-show-page .map-container {
  border-radius: 12px;
  overflow: hidden;
  min-height: 220px;
}

.opportunity-show-page .map-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.opportunity-show-page .toast {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  background: #2ecc71;
  color: #fff;
  padding: 1rem 2rem;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transform: translateX(120%);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 1000;
  font-weight: 600;
}

.opportunity-show-page .toast.show {
  transform: translateX(0);
}

@media (max-width: 1024px) {
  .opportunity-show-page .opportunity-show-card {
    grid-template-columns: 1fr;
  }
  .opportunity-show-page .opportunity-show-card {
    flex-direction: column;
  }

  .opportunity-show-page .card-content {
    order: 2;
  }

  .opportunity-show-page .card-media {
    width: 100%;
    min-width: 100%;
    order: 1;
  }

  .opportunity-show-page .card-media img,
  .opportunity-show-page .media-placeholder {
    min-height: 220px;
  }

  .opportunity-show-page .interactive-map-section {
    flex: 1;
  }
}

@media (max-width: 768px) {
  .opportunity-show-page {
    padding: 1.5rem 1rem 3rem;
  }

  .opportunity-show-page .card-content {
    padding: 1.5rem;
  }

  .opportunity-show-page .card-title {
    font-size: 1.8rem;
  }

  .opportunity-show-page .card-media {
    flex-direction: column;
  }

  .opportunity-show-page .action-icons {
    flex-wrap: wrap;
  }
}

.opportunity-show-page .card-media iframe {
  width: 100%;
  height: 100%;
  min-height: 260px;
  border: none;
}

/* Force white icon color on hover/active to match design */
.opportunities-page .icon-btn:hover i,
.opportunities-page .icon-btn:active i,
.opportunities-page .opportunity-card-row .icon-btn:hover i,
.opportunities-page .opportunity-card-row .icon-btn:active i,
.opportunity-show-page .icon-btn:hover i,
.opportunity-show-page .icon-btn:active i,
.favorites-page .icon-btn:hover i,
.favorites-page .icon-btn:active i,
.favorites-share-page .icon-btn:hover i,
.favorites-share-page .icon-btn:active i,
.opportunities-page .map-favorite-btn:hover i,
.opportunity-show-page .map-favorite-btn:hover i {
  color: #fff;
}

/* Ensure icon glyphs turn white on hover/active (override any theme rules) */
.opportunities-page .icon-btn:hover i,
.opportunities-page .icon-btn:active i,
.opportunities-page .opportunity-card-row .icon-btn:hover i,
.opportunities-page .opportunity-card-row .icon-btn:active i,
.opportunity-show-page .icon-btn:hover i,
.opportunity-show-page .icon-btn:active i,
.favorites-page .icon-btn:hover i,
.favorites-page .icon-btn:active i,
.favorites-share-page .icon-btn:hover i,
.favorites-share-page .icon-btn:active i,
.opportunities-page .map-favorite-btn:hover i,
.opportunity-show-page .map-favorite-btn:hover i {
  color: #fff !important;
}

/* Force icon glyphs to white inside colored action buttons */
.opportunities-page .action-icons .icon-btn i,
.opportunities-page .opportunity-card-row .action-icons .icon-btn i,
.opportunity-show-page .action-icons .icon-btn i,
.favorites-page .card-footer .icon-btn i,
.favorites-share-page .card-footer .icon-btn i {
  color: #fff !important;
  font-size: 0.95rem;
  line-height: 1;
}

/* Success Stories Redesign */
.success-stories-page {
  background: radial-gradient(circle at top right, rgba(182, 138, 58, 0.08), transparent 45%), #f7f3ee;
  padding: 3.5rem 0 5rem;
}

.success-stories-page .stories-hero {
  max-width: 1200px;
  margin: 0 auto 2.5rem;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  background: #fff;
  border: 1px solid #eadfc8;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(36, 20, 5, 0.08);
}

.success-stories-page .stories-hero__content {
  max-width: 720px;
  text-align: center;
}

.success-stories-page .hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  color: #b68a3a;
  background: rgba(182, 138, 58, 0.12);
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-size: 0.85rem;
}

.success-stories-page .hero-title {
  margin: 0.85rem 0 0.5rem;
  font-size: 2.3rem;
  font-weight: 800;
  color: #2b2f38;
  text-shadow: none !important;
}

.success-stories-page .hero-subtitle {
  margin: 0;
  font-size: 1.05rem;
  color: #6b7280;
  line-height: 1.8;
  text-shadow: none !important;
}

.success-stories-page .stories-hero__badge {
  display: none;
}

.success-stories-page .stories-container {
  max-width: 1200px;
}

.success-stories-page .stories-empty {
  text-align: center;
  padding: 4rem 1.5rem;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #eadfc8;
}

.success-stories-page .stories-empty i {
  font-size: 2.5rem;
  color: #b68a3a;
  margin-bottom: 0.8rem;
}

.success-stories-page .stories-grid {
  display: grid;
  gap: 2rem;
}

.success-stories-page .story-card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #eadfc8;
  box-shadow: 0 16px 30px rgba(36, 20, 5, 0.08);
  display: grid;
  grid-template-columns: 38% 62%;
  overflow: hidden;
}

/* Provided HTML/CSS layout match */
.success-stories-page .card-header {
  padding: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.success-stories-page .header-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.success-stories-page .logo {
  width: 64px;
  height: 64px;
  border-radius: 0.75rem;
  object-fit: cover;
  border: 1px solid var(--border);
  flex-shrink: 0;
}

.success-stories-page .title-section {
  flex: 1;
  min-width: 0;
}

.success-stories-page .card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--foreground);
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.success-stories-page .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.success-stories-page .organization {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--muted-foreground);
  font-size: 0.875rem;
}

.success-stories-page .description {
  margin-top: 1rem;
  color: var(--muted-foreground);
  line-height: 1.8;
}

.success-stories-page .card-media {
  padding: 1.25rem 1.5rem 1.5rem;
  display: flex !important;
  justify-content: center !important;
}

.success-stories-page .media-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .success-stories-page .media-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.success-stories-page .media-section {
  display: flex;
  flex-direction: column;
}

.success-stories-page .media-section .video-container,
.success-stories-page .media-section .slider {
  aspect-ratio: 16/9;
}

.success-stories-page .media-section .slider,
.success-stories-page .media-section .video-container {
  height: 100%;
}

.success-stories-page .media-section h4 {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--foreground);
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .media-section h4::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--primary);
}

.success-stories-page .slider {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
}

.success-stories-page .slider-container {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  height: 100%;
}

.success-stories-page .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.success-stories-page .slide.active {
  opacity: 1;
}

.success-stories-page .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.success-stories-page .slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--card);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px -4px hsl(25 30% 15% / 0.08);
}

.success-stories-page .slider .slider-btn {
  opacity: 1;
}

.success-stories-page .slider-btn:hover {
  background: var(--primary);
  color: var(--primary-foreground);
}

.success-stories-page .slider-btn.prev { left: 0.75rem; }
.success-stories-page .slider-btn.next { right: 0.75rem; }

/* Ensure correct side placement in RTL */
.success-stories-page .slider-btn.prev {
  left: 0.75rem;
  right: auto;
}

.success-stories-page .slider-btn.next {
  right: 0.75rem;
  left: auto;
}

.success-stories-page .slider-dots {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
}

.success-stories-page .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--border);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.success-stories-page .dot.active {
  width: 24px;
  border-radius: 5px;
  background: var(--primary);
}

.success-stories-page .story-card--spec {
  padding: 1.5rem 1.75rem 1.75rem;
}

.success-stories-page .story-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.success-stories-page .story-card__divider {
  height: 1px;
  background: hsl(var(--border));
  margin: 1rem 0 1.25rem;
}

.success-stories-page .story-card__section-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  color: hsl(var(--foreground));
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .story-card__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: hsl(var(--primary));
}

.success-stories-page .story-media {
  position: relative;
  min-height: 280px;
  background: #f0ede7;
}

.success-stories-page .story-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .story-logo {
  position: absolute;
  top: 16px;
  inset-inline-start: 16px;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: #fff;
  color: #2b2f38;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}

.success-stories-page .story-video-cta {
  position: absolute;
  bottom: 16px;
  inset-inline-start: 16px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
}

.success-stories-page .story-content {
  padding: 1.6rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.success-stories-page .story-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.success-stories-page .story-title-row h3 {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 800;
  color: #2b2f38;
}

.success-stories-page .story-title-group {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.success-stories-page .story-inline-logo {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.success-stories-page .story-pill {
  background: rgba(182, 138, 58, 0.15);
  color: #8b6b2e;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
}

.success-stories-page .story-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.6rem 1rem;
  color: #6b7280;
  font-weight: 600;
}

.success-stories-page .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .meta-item i {
  color: #b68a3a;
}

.success-stories-page .story-desc {
  margin: 0;
  line-height: 1.9;
  color: #4b5563;
}

.success-stories-page .story-video {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
}

.success-stories-page .story-video iframe {
  width: 100%;
  min-height: 240px;
  border: none;
}

.success-stories-page .story-gallery {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 90px;
  gap: 0.65rem;
}

.success-stories-page .gallery-tile {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  display: block;
}

.success-stories-page .gallery-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.success-stories-page .gallery-tile:hover img {
  transform: scale(1.05);
}

.success-stories-page .gallery-tile:nth-child(5n+1) {
  grid-column: span 3;
  grid-row: span 2;
}

.success-stories-page .gallery-tile:nth-child(5n+2) {
  grid-column: span 2;
}

.success-stories-page .gallery-tile:nth-child(5n+3) {
  grid-column: span 1;
}

.success-stories-page .gallery-tile:nth-child(5n+4) {
  grid-column: span 2;
  grid-row: span 2;
}

.success-stories-page .gallery-tile:nth-child(5n) {
  grid-column: span 1;
  grid-row: span 2;
}

@media (max-width: 1024px) {
  .success-stories-page .stories-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .success-stories-page .story-card {
    grid-template-columns: 1fr;
  }

  .success-stories-page .story-media {
    min-height: 220px;
  }
}

@media (max-width: 768px) {
  .success-stories-page .hero-title {
    font-size: 1.9rem;
  }

  .success-stories-page .story-content {
    padding: 1.25rem 1.5rem;
  }

  .success-stories-page .story-gallery {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 80px;
  }
}

/* Success Stories Slider Refresh */
.success-stories-page .story-logo {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  overflow: hidden;
}

.success-stories-page .story-logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .story-video {
  margin-top: 0.25rem;
}

.success-stories-page .video-placeholder {
  min-height: 220px;
  background: #f3ede5;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: #8b6b2e;
  font-weight: 700;
  border: 1px dashed #d9c1a1;
}

.success-stories-page .story-gallery-slider {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.success-stories-page .gallery-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 1rem;
  overflow: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 0.25rem;
}

.success-stories-page .gallery-track::-webkit-scrollbar {
  height: 6px;
}

.success-stories-page .gallery-track::-webkit-scrollbar-thumb {
  background: #d9c1a1;
  border-radius: 999px;
}

.success-stories-page .gallery-slide {
  scroll-snap-align: start;
  border-radius: 16px;
  overflow: hidden;
  min-height: 150px;
  display: block;
}

.success-stories-page .gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .slider-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: #b68a3a;
  color: #fff;
  box-shadow: 0 8px 16px rgba(182, 138, 58, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.success-stories-page .slider-btn:hover {
  filter: brightness(1.05);
}

.success-stories-page .stories-grid {
  gap: 2.5rem;
}

@media (max-width: 768px) {
  .success-stories-page .story-gallery-slider {
    flex-direction: column;
    align-items: stretch;
  }

  .success-stories-page .slider-btn {
    width: 100%;
    border-radius: 12px;
  }
}

/* Slider: single image per view */
.success-stories-page .gallery-track {
  width: 100%;
}

.success-stories-page .gallery-slide {
  min-height: 220px;
}

.success-stories-page .story-media {
  position: relative;
}

/* Success Stories — Clean Card Layout */
.success-stories-page {
  background: radial-gradient(circle at top right, rgba(182, 138, 58, 0.08), transparent 45%), #f7f3ee;
  padding: 3.5rem 0 5rem;
}

.success-stories-page .stories-hero {
  max-width: 1200px;
  margin: 0 auto 2.5rem;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  background: #fff;
  border: 1px solid #eadfc8;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(36, 20, 5, 0.08);
}

.success-stories-page .stories-hero__content {
  max-width: 720px;
  text-align: center;
}

.success-stories-page .hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  color: #b68a3a;
  background: rgba(182, 138, 58, 0.12);
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-size: 0.85rem;
}

.success-stories-page .hero-title {
  margin: 0.85rem 0 0.5rem;
  font-size: 2.2rem;
  font-weight: 800;
  color: #2b2f38;
}

.success-stories-page .hero-subtitle {
  margin: 0;
  font-size: 1.05rem;
  color: #6b7280;
  line-height: 1.8;
}

.success-stories-page .stories-grid {
  display: grid;
  gap: 2.25rem;
}

.success-stories-page .story-card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #eadfc8;
  box-shadow: 0 16px 30px rgba(36, 20, 5, 0.08);
  overflow: hidden;
}

.success-stories-page .story-card--clean {
  max-width: 980px;
  margin: 0 auto;
  padding: 1.75rem 2rem 2rem;
}

.success-stories-page .story-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #efe6d6;
  margin-bottom: 1rem;
}

.success-stories-page .story-title-group {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
}

.success-stories-page .story-inline-logo {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.success-stories-page .story-title {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 800;
  color: #2b2f38;
}

.success-stories-page .story-subtitle {
  margin-top: 0.35rem;
  color: #6b7280;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .story-pill {
  background: rgba(182, 138, 58, 0.15);
  color: #8b6b2e;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  white-space: nowrap;
}

.success-stories-page .story-desc {
  margin: 0 0 1.25rem;
  line-height: 1.9;
  color: #4b5563;
  font-size: 1rem;
}

.success-stories-page .story-media {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.success-stories-page .story-gallery-slider {
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
}

.success-stories-page .gallery-slide {
  min-height: 220px;
  border-radius: 16px;
}

.success-stories-page .story-video {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #eadfc8;
  background: #f8f5f0;
}

.success-stories-page .story-video iframe,
.success-stories-page .story-video-file {
  width: 100%;
  min-height: 240px;
  border: none;
  display: block;
}

@media (max-width: 768px) {
  .success-stories-page .story-card--clean {
    padding: 1.25rem 1.5rem 1.75rem;
  }
  .success-stories-page .story-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .success-stories-page .story-gallery-slider {
    grid-template-columns: 1fr;
  }
}

.success-stories-page .story-cover-wrap {
  width: 100%;
  max-height: 360px;
  overflow: hidden;
  background: #f0ede7;
}

.success-stories-page .story-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .story-content {
  padding: 1.75rem 2.25rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.success-stories-page .story-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.success-stories-page .story-title-group {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.success-stories-page .story-title-row h3 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
  color: #2b2f38;
}

.success-stories-page .story-inline-logo {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.success-stories-page .story-pill {
  background: rgba(182, 138, 58, 0.15);
  color: #8b6b2e;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
}

.success-stories-page .story-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.6rem 1rem;
  color: #6b7280;
  font-weight: 600;
}

.success-stories-page .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .meta-item i {
  color: #b68a3a;
}

.success-stories-page .story-desc {
  margin: 0;
  line-height: 1.9;
  color: #4b5563;
}

.success-stories-page .story-video {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #eadfc8;
  background: #f8f5f0;
}

.success-stories-page .story-video iframe,
.success-stories-page .story-video-file {
  width: 100%;
  min-height: 260px;
  border: none;
  display: block;
}

.success-stories-page .story-gallery-slider {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  gap: 0.75rem;
}

.success-stories-page .gallery-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 1rem;
  overflow: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.success-stories-page .gallery-slide {
  scroll-snap-align: start;
  border-radius: 16px;
  overflow: hidden;
  min-height: 230px;
  display: block;
}

.success-stories-page .gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .slider-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: #b68a3a;
  color: #fff;
  box-shadow: 0 8px 16px rgba(182, 138, 58, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.success-stories-page .slider-btn:hover {
  filter: brightness(1.05);
}

@media (max-width: 768px) {
  .success-stories-page .story-content {
    padding: 1.25rem 1.5rem;
  }

  .success-stories-page .story-gallery-slider {
    grid-template-columns: 1fr;
  }

  .success-stories-page .slider-btn {
    width: 100%;
    border-radius: 12px;
  }
}

/* Success Stories: font + simplified layout */
.success-stories-page {
  font-family: "Tajawal", "Cairo", "Noto Kufi Arabic", Arial, sans-serif;
}

.success-stories-page .story-card {
  display: block;
}

.success-stories-page .story-content {
  padding: 2rem 2.5rem;
}

.success-stories-page .story-title-group {
  gap: 0.85rem;
}

.success-stories-page .story-inline-logo {
  width: 52px;
  height: 52px;
  border-radius: 16px;
}

.success-stories-page .story-title-row h3 {
  font-size: 1.55rem;
}

.success-stories-page .story-gallery-slider {
  margin-top: 0.25rem;
}

.success-stories-page .story-video {
  margin-top: 0.75rem;
}
.success-stories-page .story-card {
  max-width: 980px;
  margin: 0 auto;
}

.success-stories-page .story-content {
  padding: 1.5rem 2rem 2rem;
}

.success-stories-page .story-title-row {
  align-items: center;
}

.success-stories-page .story-inline-logo {
  width: 44px;
  height: 44px;
  border-radius: 12px;
}

.success-stories-page .story-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem 1rem;
  color: #6b7280;
  font-weight: 600;
}

.success-stories-page .meta-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .meta-item strong {
  color: #2b2f38;
  font-weight: 700;
}

.success-stories-page .story-desc {
  line-height: 1.9;
  color: #4b5563;
  font-size: 1rem;
}

.success-stories-page .story-video iframe,
.success-stories-page .story-video-file {
  min-height: 220px;
}

.success-stories-page .story-gallery-slider {
  grid-template-columns: 44px 1fr 44px;
}

.success-stories-page .gallery-slide {
  min-height: 200px;
}

.success-stories-page .story-media-note {
  padding: 0.85rem 1rem;
  background: #f8f5f0;
  border: 1px dashed #d9c1a1;
  border-radius: 12px;
  color: #8b6b2e;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 768px) {
  .success-stories-page .story-meta {
    grid-template-columns: 1fr;
  }
}

/* Success Stories overrides: media layout + responsive */
.success-stories-page .story-inline-logo { width: 58px !important; height: 58px !important; border-radius: 16px !important; }
.success-stories-page .story-media-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important; gap: 1.25rem !important; align-items: start !important; }
.success-stories-page .story-media-main { min-width: 0 !important; }
.success-stories-page .gallery-slide { min-height: 180px !important; }
.success-stories-page .story-video { background: #fff !important; padding: 0.6rem !important; border-radius: 18px !important; box-shadow: 0 12px 26px rgba(36, 20, 5, 0.14) !important; border: 1px solid #eadfc8 !important; }
.success-stories-page .story-video iframe,
.success-stories-page .story-video-file { width: 100% !important; aspect-ratio: 16 / 9 !important; height: auto !important; min-height: 180px !important; border-radius: 14px !important; display: block !important; }
.success-stories-page .slider-btn { width: 32px !important; height: 32px !important; border-radius: 10px !important; }
.success-stories-page .slider-btn i { font-size: 0.85rem !important; }
/* Equal media columns + tighter nav buttons */
.success-stories-page .story-media-grid { grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }
.success-stories-page .story-gallery-slider { grid-template-columns: 28px 1fr 28px !important; gap: 0.4rem !important; }
.success-stories-page .slider-btn { width: 26px !important; height: 26px !important; border-radius: 8px !important; }
.success-stories-page .slider-btn i { font-size: 0.75rem !important; }
.success-stories-page .story-media-grid > * { align-self: stretch !important; }
.success-stories-page .story-video { height: 100% !important; }
.success-stories-page .story-video iframe,
.success-stories-page .story-video-file { height: 100% !important; min-height: 220px !important; }
.success-stories-page .gallery-track { height: 100% !important; }
.success-stories-page .gallery-slide { height: 100% !important; min-height: 220px !important; }
@media (max-width: 768px) {
  .success-stories-page .story-media-grid { grid-template-columns: 1fr !important; }
  .success-stories-page .story-inline-logo { width: 46px !important; height: 46px !important; }
}
/* Success Stories: consistent media layout */
.success-stories-page .story-media-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  align-items: stretch;
}

.success-stories-page .media-card {
  background: #fff;
  border: 1px solid #eadfc8;
  border-radius: 16px;
  padding: 0.6rem;
  box-shadow: 0 10px 22px rgba(36, 20, 5, 0.1);
  position: relative;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
}

.success-stories-page .story-gallery-slider {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  gap: 0.5rem;
  align-items: center;
}

.success-stories-page .gallery-track {
  height: 100%;
}

.success-stories-page .gallery-slide {
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.success-stories-page .story-video {
  width: 100%;
  height: 100%;
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
}

.success-stories-page .story-video iframe,
.success-stories-page .story-video-file {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  display: block;
}

.success-stories-page .slider-btn {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.success-stories-page .slider-btn i {
  font-size: 0.8rem;
}

@media (max-width: 768px) {
  .success-stories-page .story-media-grid {
    grid-template-columns: 1fr;
  }
  .success-stories-page .media-card {
    aspect-ratio: 16 / 9;
  }
}
/* Success Stories — polished layout (final override) */
.success-stories-page .story-card--clean {
  max-width: 960px;
  margin: 0 auto;
  padding: 1.5rem 1.75rem 1.75rem;
}

.success-stories-page .story-head {
  gap: 1.25rem;
  padding-bottom: 0.9rem;
}

.success-stories-page .story-title {
  font-size: 1.6rem;
}

.success-stories-page .story-subtitle {
  font-size: 0.95rem;
}

.success-stories-page .story-desc {
  font-size: 1rem;
  line-height: 1.9;
  color: #445060;
}

.success-stories-page .story-media-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 0.9rem !important;
}

.success-stories-page .media-card {
  padding: 0.5rem !important;
  border-radius: 14px !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
}

.success-stories-page .story-gallery-slider {
  position: relative;
  grid-template-columns: 1fr !important;
}

.success-stories-page .gallery-track {
  height: 100%;
}

.success-stories-page .gallery-slide {
  height: 100%;
  border-radius: 12px;
}

.success-stories-page .slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  z-index: 2;
  box-shadow: 0 6px 14px rgba(0,0,0,0.18);
}
.success-stories-page .slider-btn.prev { inset-inline-start: -8px; }
.success-stories-page .slider-btn.next { inset-inline-end: -8px; }

.success-stories-page .story-video iframe,
.success-stories-page .story-video-file {
  height: 100%;
  min-height: 0 !important;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .success-stories-page .story-card--clean {
    padding: 1.25rem 1.25rem 1.5rem;
  }
  .success-stories-page .story-media-grid {
    grid-template-columns: 1fr !important;
  }
  .success-stories-page .slider-btn.prev { inset-inline-start: 6px; }
  .success-stories-page .slider-btn.next { inset-inline-end: 6px; }
}
/* Success Stories — StoryCard (clean extraction) */
.success-stories-page .story-card--modern {
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #eadfc8;
  border-radius: 18px;
  padding: 1.5rem 1.75rem 1.75rem;
  box-shadow: 0 16px 30px rgba(36, 20, 5, 0.08);
}

.success-stories-page .story-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid #efe6d6;
  margin-bottom: 1rem;
}

.success-stories-page .story-card__title {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
}

.success-stories-page .story-card__logo {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.success-stories-page .story-card__title h3 {
  margin: 0;
  font-size: 1.55rem;
  color: #2b2f38;
}

.success-stories-page .story-card__org {
  margin: 0.35rem 0 0;
  color: #6b7280;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .story-card__badge {
  background: rgba(182, 138, 58, 0.15);
  color: #8b6b2e;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  white-space: nowrap;
}

.success-stories-page .story-card__desc {
  margin: 0 0 1.25rem;
  line-height: 1.9;
  color: #4b5563;
  font-size: 1rem;
}

.success-stories-page .story-card__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  align-items: stretch;
}

.success-stories-page .story-card__media-col {
  background: #fff;
  border: 1px solid #eadfc8;
  border-radius: 16px;
  padding: 0.6rem;
  box-shadow: 0 10px 22px rgba(36, 20, 5, 0.1);
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
}

.success-stories-page .story-card__empty {
  color: #8b6b2e;
  font-weight: 700;
  text-align: center;
}

.success-stories-page .story-card--modern .story-gallery-slider {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  gap: 0.5rem;
  align-items: center;
}

.success-stories-page .story-card--modern .gallery-track {
  height: 100%;
}

.success-stories-page .story-card--modern .gallery-slide {
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.success-stories-page .story-card--modern .gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .story-card--modern .slider-btn {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.success-stories-page .story-card--modern .slider-btn i {
  font-size: 0.8rem;
}

.success-stories-page .story-card--modern .story-video,
.success-stories-page .story-card--modern .story-video iframe,
.success-stories-page .story-card--modern .story-video-file {
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .success-stories-page .story-card--modern {
    padding: 1.25rem 1.25rem 1.5rem;
  }
  .success-stories-page .story-card__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .success-stories-page .story-card__media {
    grid-template-columns: 1fr;
  }
}
.success-stories-page .story-card.story-card--modern { 
  max-width: 980px !important; 
  margin: 0 auto !important; 
  background: #fff !important; 
  border: 1px solid #eadfc8 !important; 
  border-radius: 18px !important; 
  padding: 1.5rem 1.75rem 1.75rem !important; 
  box-shadow: 0 16px 30px rgba(36, 20, 5, 0.08) !important; 
}
.success-stories-page .story-card.story-card--modern .story-card__media { 
  display: grid !important; 
  grid-template-columns: 1fr 1fr !important; 
  gap: 1rem !important; 
}
.success-stories-page .story-card.story-card--modern .story-card__media-col { 
  border: 1px solid #eadfc8 !important; 
  border-radius: 16px !important; 
  padding: 0.6rem !important; 
  aspect-ratio: 16 / 9 !important; 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
}
.success-stories-page .story-card.story-card--modern .story-gallery-slider { 
  width: 100% !important; 
  height: 100% !important; 
  display: grid !important; 
  grid-template-columns: 32px 1fr 32px !important; 
  gap: 0.5rem !important; 
}
.success-stories-page .story-card.story-card--modern .gallery-slide, 
.success-stories-page .story-card.story-card--modern .story-video, 
.success-stories-page .story-card.story-card--modern .story-video iframe, 
.success-stories-page .story-card.story-card--modern .story-video-file { 
  width: 100% !important; 
  height: 100% !important; 
  border-radius: 12px !important; 
}
.success-stories-page .story-card.story-card--modern .slider-btn { 
  width: 28px !important; 
  height: 28px !important; 
  border-radius: 8px !important; 
}
@media (max-width: 768px) {
  .success-stories-page .story-card.story-card--modern .story-card__media { 
    grid-template-columns: 1fr !important; 
  }
}
/* StoryCard-only styling (from requested design) */
.success-stories-page .storycard-ui {
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #eadfc8;
  box-shadow: 0 16px 30px rgba(36, 20, 5, 0.08);
  padding: 1.5rem 1.75rem 1.75rem;
}

.success-stories-page .storycard-ui__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid #efe6d6;
  margin-bottom: 1rem;
}

.success-stories-page .storycard-ui__title {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
}

.success-stories-page .storycard-ui__logo {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.success-stories-page .storycard-ui__name {
  margin: 0;
  font-size: 1.55rem;
  color: #2b2f38;
}

.success-stories-page .storycard-ui__org {
  margin: 0.35rem 0 0;
  color: #6b7280;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .storycard-ui__badge {
  background: rgba(182, 138, 58, 0.15);
  color: #8b6b2e;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  white-space: nowrap;
}

.success-stories-page .storycard-ui__desc {
  margin: 0 0 1.25rem;
  line-height: 1.9;
  color: #4b5563;
  font-size: 1rem;
}

.success-stories-page .storycard-ui__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  align-items: stretch;
}

.success-stories-page .storycard-ui__media-col {
  background: #fff;
  border: 1px solid #eadfc8;
  border-radius: 16px;
  padding: 0.6rem;
  box-shadow: 0 10px 22px rgba(36, 20, 5, 0.1);
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
}

.success-stories-page .storycard-ui__empty {
  color: #8b6b2e;
  font-weight: 700;
  text-align: center;
}

.success-stories-page .storycard-ui .story-gallery-slider {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  gap: 0.5rem;
  align-items: center;
}

.success-stories-page .storycard-ui .gallery-track {
  height: 100%;
}

.success-stories-page .storycard-ui .gallery-slide {
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.success-stories-page .storycard-ui .gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .storycard-ui .slider-btn {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.success-stories-page .storycard-ui .slider-btn i {
  font-size: 0.8rem;
}

.success-stories-page .storycard-ui__video,
.success-stories-page .storycard-ui__video iframe,
.success-stories-page .storycard-ui__video .story-video-file {
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .success-stories-page .storycard-ui {
    padding: 1.25rem 1.25rem 1.5rem;
  }
  .success-stories-page .storycard-ui__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .success-stories-page .storycard-ui__media {
    grid-template-columns: 1fr;
  }
}
/* Success Stories — Design System from provided spec */
.success-stories-page {
  font-family: "Tajawal", "Cairo", "Noto Kufi Arabic", Arial, sans-serif;
  --background: 40 33% 97%;
  --foreground: 25 30% 15%;
  --card: 45 40% 98%;
  --card-foreground: 25 30% 15%;
  --primary: 38 70% 45%;
  --primary-foreground: 45 40% 98%;
  --secondary: 35 30% 90%;
  --secondary-foreground: 25 30% 20%;
  --muted: 40 20% 92%;
  --muted-foreground: 25 15% 45%;
  --accent: 42 60% 85%;
  --accent-foreground: 25 30% 15%;
  --border: 35 25% 88%;
  --ring: 38 70% 45%;
  --gold: 38 70% 45%;
  --gold-light: 42 60% 85%;
  --gold-dark: 35 60% 35%;
  --gradient-card: linear-gradient(180deg, hsl(45 40% 99%) 0%, hsl(40 30% 96%) 100%);
  --shadow-soft: 0 4px 20px -4px hsl(25 30% 15% / 0.08);
  --shadow-card: 0 8px 30px -8px hsl(25 30% 15% / 0.12);
  --shadow-card-hover: 0 12px 40px -10px hsl(38 70% 45% / 0.2);
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}

.success-stories-page .story-card {
  max-width: 980px;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  background: var(--gradient-card);
  box-shadow: var(--shadow-card);
  border: 1px solid hsl(var(--border));
  padding: 1.5rem 1.75rem 1.75rem;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.success-stories-page .story-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.success-stories-page .story-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid hsl(var(--border));
  margin-bottom: 1rem;
}

.success-stories-page .story-card__title {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
}

.success-stories-page .story-card__logo {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: var(--shadow-soft);
}

.success-stories-page .story-card__name {
  margin: 0;
  font-size: 1.55rem;
  color: hsl(var(--foreground));
}

.success-stories-page .story-card__org {
  margin: 0.35rem 0 0;
  color: hsl(var(--muted-foreground));
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.success-stories-page .badge-duration {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  background: hsl(var(--gold-light));
  color: hsl(var(--gold-dark));
  white-space: nowrap;
}

.success-stories-page .story-card__desc {
  margin: 0 0 1.25rem;
  line-height: 1.9;
  color: hsl(var(--muted-foreground));
  font-size: 1rem;
}

.success-stories-page .story-card__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  align-items: stretch;
}

.success-stories-page .story-card__media-col {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: 16px;
  padding: 0.6rem;
  box-shadow: var(--shadow-soft);
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
}

.success-stories-page .story-card__empty {
  color: hsl(var(--gold-dark));
  font-weight: 700;
  text-align: center;
}

.success-stories-page .story-card .story-gallery-slider {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  gap: 0.5rem;
  align-items: center;
}

.success-stories-page .story-card .gallery-track {
  height: 100%;
}

.success-stories-page .story-card .gallery-slide {
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.success-stories-page .story-card .gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.success-stories-page .slider-btn {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: hsl(var(--card));
  color: hsl(var(--foreground));
  border: none;
  box-shadow: var(--shadow-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.success-stories-page .slider-btn:hover {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  box-shadow: 0 4px 20px -4px hsl(38 70% 45% / 0.3);
}

.success-stories-page .video-container {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: hsl(var(--muted));
}

.success-stories-page .video-container::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.success-stories-page .video-container > * {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Final fixes: slider arrows + equal media height + video cropping */
.success-stories-page .media-grid {
  align-items: stretch !important;
}

.success-stories-page .media-section {
  display: flex !important;
  flex-direction: column !important;
}

.success-stories-page .media-section .slider,
.success-stories-page .media-section .video-container {
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
}

.success-stories-page .slider-container,
.success-stories-page .slider,
.success-stories-page .slide {
  height: 100% !important;
}

.success-stories-page .video-container > *,
.success-stories-page .video-container iframe,
.success-stories-page .video-container video {
  object-fit: contain !important;
  background: #000;
}

/* Force arrows on correct sides in RTL */
.success-stories-page .slider-btn.prev {
  left: 12px !important;
  right: auto !important;
}

.success-stories-page .slider-btn.next {
  right: 12px !important;
  left: auto !important;
}

@media (max-width: 768px) {
  .success-stories-page .story-card {
    padding: 1.25rem 1.25rem 1.5rem;
  }
  .success-stories-page .story-card__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .success-stories-page .story-card__media {
    grid-template-columns: 1fr;
  }
}
/* Success Stories — apply provided design system (plain CSS, no Tailwind) */
.success-stories-page {
  font-family: "Tajawal","Cairo","Noto Kufi Arabic",Arial,sans-serif;
  --background: hsl(40 33% 97%);
  --foreground: hsl(25 30% 15%);
  --card: hsl(45 40% 98%);
  --primary: hsl(38 70% 45%);
  --primary-foreground: hsl(45 40% 98%);
  --muted: hsl(40 20% 92%);
  --muted-foreground: hsl(25 15% 45%);
  --border: hsl(35 25% 88%);
  --gold-light: hsl(42 60% 85%);
  --gold-dark: hsl(35 60% 35%);
  --gradient-card: linear-gradient(180deg, hsl(45 40% 99%) 0%, hsl(40 30% 96%) 100%);
  --shadow-soft: 0 4px 20px -4px hsl(25 30% 15% / 0.08);
  --shadow-card: 0 8px 30px -8px hsl(25 30% 15% / 0.12);
  --shadow-card-hover: 0 12px 40px -10px hsl(38 70% 45% / 0.2);
  --shadow-gold: 0 4px 20px -4px hsl(38 70% 45% / 0.3);
  background: var(--background);
  color: var(--foreground);
}

.success-stories-page .story-card {
  border-radius: 18px;
  overflow: hidden;
  background: var(--gradient-card);
  box-shadow: var(--shadow-card);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.success-stories-page .story-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

.success-stories-page .badge-duration {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  background: var(--gold-light);
  color: var(--gold-dark);
}

.success-stories-page .slider-btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--card);
  color: var(--foreground);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: var(--shadow-soft);
}

.success-stories-page .slider-btn:hover {
  background: var(--primary);
  color: var(--primary-foreground);
  box-shadow: var(--shadow-gold);
}

.success-stories-page .video-container {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: var(--muted);
}

.success-stories-page .video-container::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.success-stories-page .video-container > * {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Exact Story Card spec (force match) */
.success-stories-page .story-card {
  background: var(--gradient-card) !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-card) !important;
  transition: all 0.5s ease !important;
  margin: 0 auto 2.5rem !important;
  max-width: 1200px !important;
  width: 100% !important;
}
.success-stories-page .story-card:hover {
  box-shadow: var(--shadow-card-hover) !important;
  transform: translateY(-4px) !important;
}
.success-stories-page .card-header {
  padding: 1.5rem !important;
  border-bottom: 1px solid var(--border) !important;
}
.success-stories-page .header-content {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
}
.success-stories-page .logo {
  width: 64px !important;
  height: 64px !important;
  border-radius: 0.75rem !important;
  object-fit: cover !important;
  border: 1px solid var(--border) !important;
  flex-shrink: 0 !important;
}
.success-stories-page .title-section {
  flex: 1 !important;
  min-width: 0 !important;
}
.success-stories-page .card-title {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--foreground) !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.4 !important;
}
.success-stories-page .meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.75rem !important;
}
.success-stories-page .organization {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: var(--muted-foreground) !important;
  font-size: 0.875rem !important;
}
.success-stories-page .badge-duration {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  padding: 0.375rem 0.75rem !important;
  border-radius: 9999px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  background: var(--gold-light) !important;
  color: var(--gold-dark) !important;
}
.success-stories-page .description {
  margin-top: 1rem !important;
  color: var(--muted-foreground) !important;
  line-height: 1.8 !important;
}
.success-stories-page .card-media {
  padding: 1.25rem 1.5rem 1.5rem !important;
}
.success-stories-page .media-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  justify-items: center !important;
  width: 100% !important;
}
@media (min-width: 1024px) {
  .success-stories-page .media-grid {
    grid-template-columns: 1fr 1fr !important;
    justify-items: center !important;
  }
}

@media (max-width: 768px) {
  .success-stories-page .card-header {
    padding: 1.25rem !important;
  }
  .success-stories-page .card-media {
    padding: 1rem 1.25rem 1.25rem !important;
  }
  .success-stories-page .header-content {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .success-stories-page .logo {
    width: 56px !important;
    height: 56px !important;
  }
}
.success-stories-page .media-section h4 {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--foreground) !important;
  margin-bottom: 0.75rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
.success-stories-page .media-section h4::before {
  content: '' !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--primary) !important;
}
.success-stories-page .slider {
  position: relative !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
}
.success-stories-page .slider-container {
  position: relative !important;
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
  min-height: 220px !important;
  border-radius: 0.75rem !important;
  background: transparent !important;
}
.success-stories-page .slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  transition: opacity 0.5s ease !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
}
.success-stories-page .slide.active { opacity: 1 !important; }
.success-stories-page .slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0.75rem !important;
  display: block !important;
}
.success-stories-page .slider-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--card) !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 20px -4px hsl(25 30% 15% / 0.08) !important;
}
.success-stories-page .slider:hover .slider-btn { opacity: 1 !important; }
.success-stories-page .slider-btn:hover {
  background: var(--primary) !important;
  color: var(--primary-foreground) !important;
}
.success-stories-page .slider-btn.prev { left: 0.75rem !important; right: auto !important; }
.success-stories-page .slider-btn.next { right: 0.75rem !important; left: auto !important; }
/* Precise arrow spacing inside image */
.success-stories-page .slider-btn.prev { left: 12px !important; }
.success-stories-page .slider-btn.next { right: 12px !important; }
.success-stories-page .slider-dots {
  position: absolute !important;
  bottom: 0.75rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 0.5rem !important;
}
.success-stories-page .dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--border) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
.success-stories-page .dot.active {
  width: 24px !important;
  border-radius: 5px !important;
  background: var(--primary) !important;
}
.success-stories-page .video-container {
  position: relative !important;
  border-radius: 0.75rem !important;
  background: transparent !important;
  aspect-ratio: 16/9 !important;
  min-height: 220px !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.success-stories-page .video-container::before {
  display: none !important;
  content: none !important;
}
.success-stories-page .video-container > *,
.success-stories-page .video-container iframe,
.success-stories-page .video-container video {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 0.75rem !important;
  background: transparent !important;
}

/* Center media grid and equalize margins */
.success-stories-page .media-grid {
  grid-template-columns: minmax(0, 520px) !important;
  justify-items: center !important;
  justify-content: center !important;
}
@media (min-width: 1024px) {
  .success-stories-page .media-grid {
    grid-template-columns: repeat(2, minmax(0, 520px)) !important;
  }
}

/* Reduce media width (images + video) while keeping layout */
.success-stories-page .media-section {
  align-items: center !important;
}
.success-stories-page .media-section .slider,
.success-stories-page .media-section .video-container {
  width: 100% !important;
  max-width: 520px !important;
  margin-inline: auto !important;
}
@media (max-width: 768px) {
  .success-stories-page .media-section .slider,
  .success-stories-page .media-section .video-container {
    max-width: 100% !important;
  }
}

/* --- Final layout cleanup: make everything clear, aligned, and consistent --- */
.success-stories-page .stories-container {
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.success-stories-page .story-card {
  padding: 0 !important;
}
.success-stories-page .card-header {
  padding: 1.5rem 2rem !important;
  border-bottom: 1px solid var(--border) !important;
}
.success-stories-page .description {
  margin-top: 0.75rem !important;
}
.success-stories-page .card-media {
  padding: 1.5rem 2rem 2rem !important;
  display: block !important;
}
.success-stories-page .media-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  justify-content: stretch !important;
}
@media (max-width: 900px) {
  .success-stories-page .media-grid {
    grid-template-columns: 1fr !important;
  }
}
.success-stories-page .media-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
.success-stories-page .media-section h4 {
  margin-bottom: 0.75rem !important;
}
.success-stories-page .slider,
.success-stories-page .video-container {
  width: 100% !important;
  max-width: none !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: hsl(var(--card)) !important;
  border: 1px solid var(--border) !important;
}
.success-stories-page .slider-container,
.success-stories-page .video-container {
  aspect-ratio: 16 / 9 !important;
  min-height: 260px !important;
}
.success-stories-page .slide {
  border-radius: 12px !important;
  overflow: hidden !important;
}
.success-stories-page .slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  background: hsl(var(--card)) !important;
  border-radius: 12px !important;
}
.success-stories-page .media-section img {
  border-radius: 12px !important;
}
.success-stories-page .video-container {
  padding: 0 !important;
}
.success-stories-page .video-container > *,
.success-stories-page .video-container iframe,
.success-stories-page .video-container video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  background: transparent !important;
  border-radius: 12px !important;
}

/* Subscription Modern Layout */
.subscription-page .subscription-hero {
  max-width: 980px;
  margin: 2rem auto 1rem;
  padding: 1.2rem 1rem;
  text-align: center;
}

.subscription-page .subscription-hero h2 {
  margin: 0;
  color: #2f2a1f;
  font-size: 2rem;
  font-weight: 800;
}

.subscription-page .subscription-hero p {
  margin: 0.75rem auto 0;
  color: #645844;
  font-size: 1.02rem;
  max-width: 760px;
}

.subscription-page .subscription-shell {
  max-width: 1050px;
  margin: 0 auto 2rem;
  background: #fff;
  border: 1px solid #e8ddcb;
  border-radius: 22px;
  box-shadow: 0 16px 35px rgba(21, 16, 10, 0.08);
  display: grid;
  grid-template-columns: 320px 1fr;
  overflow: hidden;
}

.subscription-page .subscription-side {
  background: linear-gradient(165deg, #9a774b 0%, #7b5e3d 100%);
  color: #fff;
  padding: 2rem 1.4rem;
}

.subscription-page .subscription-side-icon {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  font-size: 1.3rem;
}

.subscription-page .subscription-side h3 {
  margin: 0;
  font-size: 1.32rem;
  font-weight: 800;
}

.subscription-page .subscription-side p {
  margin: 0.8rem 0 1.2rem;
  line-height: 1.8;
  opacity: 0.95;
}

.subscription-page .subscription-side-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.6rem;
}

.subscription-page .subscription-side-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}

.subscription-page .subscription-form-card {
  padding: 1.8rem 1.6rem;
  display: grid;
  gap: 1rem;
}

.subscription-page .subscription-form-card .form-group {
  margin: 0;
}

.subscription-page .subscription-form-card label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 700;
  color: #6e522e;
}

.subscription-page .subscription-form-card input[type="text"],
.subscription-page .subscription-form-card input[type="tel"] {
  width: 100%;
  min-height: 46px;
  padding: 0.72rem 0.9rem;
  border: 1px solid #d8cbb8;
  border-radius: 12px;
  background: #fffdf9;
  font-family: "Tajawal", sans-serif;
  font-size: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.subscription-page .subscription-form-card input[type="text"]:focus,
.subscription-page .subscription-form-card input[type="tel"]:focus {
  outline: none;
  border-color: #9a774b;
  box-shadow: 0 0 0 3px rgba(154, 119, 75, 0.15);
}

.subscription-page .subscription-form-card .help-text {
  color: #7a6a54;
  font-size: 0.86rem;
  margin-top: 0.35rem;
}

.subscription-page .subscription-form-card .interests-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.subscription-page .subscription-form-card .interest-item {
  border: 1px solid #d7c7b2;
  color: #5d4528;
  background: #fff;
  border-radius: 12px;
  min-height: 44px;
}

.subscription-page .subscription-form-card .interest-item:hover {
  box-shadow: 0 8px 18px rgba(120, 86, 47, 0.13);
  transform: translateY(-1px);
}

.subscription-page .subscription-form-card .checkmark {
  border-color: #c9b79f;
}

.subscription-page .subscription-form-card .interest-item input[type="checkbox"]:checked + .checkmark {
  background: #967247;
  border-color: #967247;
}

.subscription-page .subscription-form-card .subscribe-btn {
  min-height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #9a774b 0%, #7b5e3d 100%);
  box-shadow: 0 12px 26px rgba(123, 94, 61, 0.24);
}

.subscription-page .subscription-form-card .subscribe-btn:hover {
  box-shadow: 0 14px 28px rgba(123, 94, 61, 0.32);
}

.subscription-page .subscription-form-card .response-message {
  margin-top: 0.5rem;
}

html[dir="ltr"] .subscription-page .subscription-form-card input[type="tel"] {
  text-align: left;
  direction: ltr;
}

html[dir="ltr"] .subscription-page .subscription-side-list li {
  justify-content: flex-start;
}

@media (max-width: 900px) {
  .subscription-page .subscription-shell {
    grid-template-columns: 1fr;
  }
}
.success-stories-page .slider-btn {
  width: 30px !important;
  height: 30px !important;
}
.success-stories-page .slider-btn.prev { left: 12px !important; right: auto !important; }
.success-stories-page .slider-btn.next { right: 12px !important; left: auto !important; }

/* Newsletter v2 (final) */
.newsletter-v2 {
  max-width: 920px;
  margin: 2rem auto;
  background: #fff;
  border: 1px solid #eadfce;
  border-radius: 22px;
  box-shadow: 0 18px 36px rgba(33, 24, 12, 0.08);
  overflow: hidden;
}

.newsletter-v2__header {
  padding: 2rem 1.5rem 1.2rem;
  text-align: center;
  border-bottom: 1px solid #efe5d7;
  background: linear-gradient(180deg, #fffaf3 0%, #fff 100%);
}

.newsletter-v2__header h2 {
  margin: 0;
  color: #3b2a18;
  font-size: 2rem;
  font-weight: 800;
}

.newsletter-v2__header p {
  margin: 0.7rem auto 0;
  color: #7b6750;
  font-size: 1rem;
  max-width: 680px;
}

.newsletter-v2__form {
  padding: 1.4rem 1.5rem 1.6rem;
  display: grid;
  gap: 1.05rem;
}

.newsletter-v2__form .form-group {
  margin: 0;
}

.newsletter-v2__form label {
  display: block;
  margin-bottom: 0.42rem;
  color: #694d2d;
  font-weight: 700;
}

.newsletter-v2__form input[type="text"],
.newsletter-v2__form input[type="tel"] {
  width: 100%;
  min-height: 48px;
  padding: 0.75rem 0.9rem;
  border: 1px solid #d9cab5;
  border-radius: 12px;
  background: #fffefc;
  color: #24170a;
  font-family: "Tajawal", sans-serif;
  font-size: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.newsletter-v2__form input[type="text"]:focus,
.newsletter-v2__form input[type="tel"]:focus {
  outline: none;
  border-color: #947044;
  box-shadow: 0 0 0 3px rgba(148, 112, 68, 0.16);
}

.newsletter-v2__form .help-text {
  display: block;
  margin-top: 0.4rem;
  color: #8a765e;
  font-size: 0.85rem;
}

.newsletter-v2__chips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
  margin-top: 0.15rem;
}

.newsletter-v2__chip {
  position: relative;
  display: block;
  cursor: pointer;
  min-height: 48px;
}

.newsletter-v2__chip input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.newsletter-v2__chip-body {
  min-height: 48px;
  border: 1px solid #dac9b2;
  border-radius: 12px;
  background: #fff;
  color: #5e4529;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  padding: 0.55rem 0.75rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
  pointer-events: none;
}

.newsletter-v2__chip-body i {
  font-size: 0.95rem;
}

.newsletter-v2__chip-body em {
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
}

.newsletter-v2__chip:hover .newsletter-v2__chip-body {
  transform: translateY(-1px);
  border-color: #c3ac8d;
  box-shadow: 0 7px 14px rgba(104, 78, 43, 0.14);
}

.newsletter-v2__chip input:focus-visible + .newsletter-v2__chip-body {
  border-color: #947044;
  box-shadow: 0 0 0 3px rgba(148, 112, 68, 0.16);
}

.newsletter-v2__chip input:checked + .newsletter-v2__chip-body {
  border-color: #947044;
  background: linear-gradient(135deg, #9a774b 0%, #7b5e3d 100%);
  color: #fff;
}

.newsletter-v2 .subscribe-btn {
  min-height: 50px;
  border-radius: 12px;
  border: none;
  background: linear-gradient(135deg, #9a774b 0%, #7b5e3d 100%);
  color: #fff;
  font-family: "Tajawal", sans-serif;
  font-size: 1.02rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 12px 24px rgba(123, 94, 61, 0.23);
}

.newsletter-v2 .subscribe-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(123, 94, 61, 0.3);
}

.newsletter-v2 .subscribe-btn:disabled {
  opacity: 0.75;
  cursor: wait;
  transform: none;
}

.newsletter-v2 .response-message {
  margin-top: 0.2rem;
}

html[dir="ltr"] .newsletter-v2__form input[type="tel"] {
  direction: ltr;
  text-align: left;
}

@media (max-width: 768px) {
  .newsletter-v2 {
    margin: 1rem auto;
    border-radius: 16px;
  }

  .newsletter-v2__header {
    padding: 1.45rem 1rem 1rem;
  }

  .newsletter-v2__header h2 {
    font-size: 1.55rem;
  }

  .newsletter-v2__form {
    padding: 1rem;
  }

  .newsletter-v2__chips {
    grid-template-columns: 1fr 1fr;
  }
}

/* Opportunities cards: balanced and consistent */
.opportunities-page .opportunity-list {
  gap: 1.6rem;
  margin: 2rem auto;
  max-width: 1320px;
  padding: 0 0.25rem;
}

.opportunities-page .opportunity-card-row {
  grid-template-columns: minmax(300px, 38%) minmax(0, 1fr);
  border-radius: 18px;
  min-height: 320px;
  border-color: #e5d4b8;
  box-shadow: 0 12px 28px rgba(36, 20, 5, 0.1);
}

.opportunities-page .opportunity-card-row:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(36, 20, 5, 0.14);
}

.opportunities-page .opportunity-map {
  min-height: 320px;
}

.opportunities-page .opportunity-map img,
.opportunities-page .opportunity-map iframe,
.opportunities-page .opportunity-map video {
  min-height: 320px;
}

.opportunities-page .opportunity-info {
  padding: 1.35rem 1.5rem;
  gap: 0.8rem;
  justify-content: space-between;
}

.opportunities-page .opportunity-info .card-header {
  padding-bottom: 0.8rem;
  margin-bottom: 0.1rem;
  border-bottom: 1px solid #efe3cf;
}

.opportunities-page .opportunity-info .card-title {
  font-size: 1.18rem;
  line-height: 1.55;
}

.opportunities-page .status-badge {
  flex-shrink: 0;
  min-height: 30px;
}

.opportunities-page .opportunity-card-row .card-details {
  gap: 0.55rem 1rem;
  padding-top: 0.9rem;
}

.opportunities-page .opportunity-card-row .detail-item {
  align-items: flex-start;
}

.opportunities-page .opportunity-card-row .detail-value {
  overflow-wrap: anywhere;
}

.opportunities-page .opportunity-card-row .card-actions-row {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px dashed #ecdcc4;
}

.opportunities-page .opportunity-card-row .countdown {
  min-height: 36px;
}

.opportunities-page .opportunity-card-row .action-icons {
  margin-inline-start: auto;
}

.opportunities-page .opportunity-card-row .icon-btn,
.opportunities-page .map-favorite-btn {
  width: 40px;
  height: 40px;
}

.opportunities-page .btn-details {
  min-height: 38px;
  font-size: 0.8rem;
  padding: 0.5rem 1rem;
}

/* Stronger opportunity cards and status colors */
.opportunities-page .opportunity-card-row {
  background: #fffdf8 !important;
  border: 1px solid #d7bd92 !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 30px rgba(57, 29, 30, 0.12) !important;
}

.opportunities-page .opportunity-card-row:hover {
  border-color: #a58054 !important;
  box-shadow: 0 18px 38px rgba(57, 29, 30, 0.18) !important;
}

.opportunities-page .opportunity-info .card-header {
  background: transparent !important;
  border-bottom: 1px solid #d7bd92 !important;
}

.opportunities-page .status-badge,
.opportunity-show-page .status-badge {
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(57, 29, 30, 0.18) !important;
}

.opportunities-page .status-badge.available,
.opportunity-show-page .status-badge.available {
  background: #0f7b36 !important;
  border: 1px solid #0b5e29 !important;
}

.opportunities-page .status-badge.expired,
.opportunity-show-page .status-badge.expired {
  background: #8f241d !important;
  border: 1px solid #6f1b16 !important;
}

.opportunities-page .status-badge i,
.opportunity-show-page .status-badge i {
  color: #fff !important;
}

.opportunities-page .opportunity-card-row .countdown,
.opportunity-show-page .countdown-simple {
  background: #8f6a34 !important;
  color: #fff !important;
  border: 1px solid #745426 !important;
}

.opportunity-show-page .btn-furas,
.opportunity-show-page .furas-details-link {
  background: #a58054 !important;
  border-color: #a58054 !important;
  color: #fff !important;
}

.opportunity-show-page .furas-details-link {
  align-self: flex-start;
  margin-top: 0.85rem;
  text-decoration: none;
}

/* Requested cleanup: one divider and shared favorite style */
.opportunities-page .opportunity-info .card-header {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.opportunities-page .opportunity-card-row .card-details,
.opportunity-show-page .card-details {
  border-top: 1px solid #d7bd92 !important;
}

.opportunities-page .opportunity-card-row .card-actions-row,
.opportunity-show-page .card-actions-row {
  border-top: 0 !important;
}

.opportunity-show-page .map-favorite-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 3px solid #391d1e !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(57, 29, 30, 0.18) !important;
}

.opportunity-show-page .map-favorite-btn i {
  color: #fff !important;
  text-shadow: 0 1px 7px rgba(57, 29, 30, 0.2);
}

.opportunity-show-page .map-favorite-btn:hover,
.opportunity-show-page .map-favorite-btn.active {
  background: #391d1e !important;
  border-color: #391d1e !important;
}

/* Exact match: details favorite uses the same style as home cards */
.opportunity-show-page .map-favorite-btn {
  position: absolute !important;
  top: 16px !important;
  inset-inline-end: 16px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #111827 !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  z-index: 3 !important;
  transform: none !important;
}

.opportunity-show-page .map-favorite-btn i {
  color: inherit !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  text-shadow: none !important;
}

.opportunity-show-page .map-favorite-btn:hover,
.opportunity-show-page .map-favorite-btn.active {
  color: #fff !important;
  background: #e0443a !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
}

/* Success stories redesign */
.success-stories-redesign {
  background: #faf7f0 !important;
}

.success-stories-redesign .stories-hero-redesign {
  min-height: auto !important;
  padding: 3.5rem 1rem 2rem !important;
  margin: 1.5rem auto 1rem !important;
  background: linear-gradient(135deg, rgba(57, 29, 30, 0.94), rgba(165, 128, 84, 0.9)) !important;
  border-radius: 18px !important;
  max-width: 1180px !important;
  color: #fff !important;
  overflow: hidden !important;
}

.success-stories-redesign .stories-hero__content {
  max-width: 780px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.success-stories-redesign .hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 0.9rem !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.success-stories-redesign .hero-title {
  color: #fff !important;
  margin: 0.9rem 0 0.4rem !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
}

.success-stories-redesign .hero-subtitle {
  color: rgba(255, 255, 255, 0.86) !important;
  margin: 0 !important;
}

.success-stories-redesign .stories-container {
  max-width: 1220px !important;
  margin: 0 auto !important;
  padding: 1rem !important;
}

.stories-redesign-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 1.2rem !important;
}

.story-redesign-card {
  background: #fffdf8 !important;
  border: 1px solid #dec8a3 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 30px rgba(57, 29, 30, 0.12) !important;
  display: flex !important;
  flex-direction: column !important;
}

.story-redesign-media {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  background: #eadfc8 !important;
  overflow: hidden !important;
}

.story-redesign-media > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.story-video-badge {
  position: absolute !important;
  inset-inline-end: 1rem !important;
  bottom: 1rem !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #a58054 !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(57, 29, 30, 0.2) !important;
}

.story-redesign-content {
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
}

.story-redesign-head {
  display: grid !important;
  grid-template-columns: 56px 1fr !important;
  gap: 0.75rem !important;
  align-items: center !important;
}

.story-redesign-logo {
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  border: 1px solid #dec8a3 !important;
  background: #fff !important;
}

.story-redesign-head h3 {
  color: #2c1810 !important;
  font-size: 1.05rem !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

.story-redesign-head p,
.story-redesign-desc {
  color: #6b5b4f !important;
  margin: 0 !important;
}

.story-redesign-head p {
  font-size: 0.88rem !important;
  margin-top: 0.2rem !important;
}

.story-redesign-desc {
  line-height: 1.8 !important;
  min-height: 4.9rem !important;
}

.story-redesign-meta {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

.story-redesign-meta span {
  min-height: 32px !important;
  padding: 0 0.7rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: #f4ead9 !important;
  color: #7a5525 !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
}

.story-redesign-gallery {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.45rem !important;
}

.story-redesign-gallery img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 1px solid #eadfc8 !important;
}

.story-redesign-gallery span,
.story-redesign-video {
  background: #f7efe2 !important;
  border: 1px solid #eadfc8 !important;
  border-radius: 12px !important;
}

.story-redesign-gallery span {
  grid-column: 1 / -1 !important;
  padding: 0.9rem !important;
  color: #6b5b4f !important;
}

.story-redesign-video {
  overflow: hidden !important;
}

.story-redesign-video iframe,
.story-redesign-video video {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  display: block !important;
  border: 0 !important;
}

.stories-pagination {
  margin-top: 1.5rem !important;
  display: flex !important;
  justify-content: center !important;
}

/* Success stories: full-row professional layout */
.success-stories-rows-page {
  background: #faf7f0 !important;
}

.success-stories-rows-page .stories-hero-rows {
  max-width: 1220px !important;
  margin: 1.4rem auto 1rem !important;
  min-height: auto !important;
  padding: 3rem 1.25rem !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(57, 29, 30, 0.95), rgba(165, 128, 84, 0.92)) !important;
  box-shadow: 0 18px 40px rgba(57, 29, 30, 0.14) !important;
}

.success-stories-rows-page .stories-hero__content {
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

.success-stories-rows-page .hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 0.85rem !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.success-stories-rows-page .hero-title {
  color: #fff !important;
  margin: 0.8rem 0 0.45rem !important;
  font-size: clamp(2rem, 4vw, 3.15rem) !important;
}

.success-stories-rows-page .hero-subtitle {
  color: rgba(255, 255, 255, 0.86) !important;
  margin: 0 !important;
}

.stories-rows-container {
  max-width: 1220px !important;
  margin: 0 auto !important;
  padding: 1rem !important;
}

.story-row-list {
  display: grid !important;
  gap: 1.25rem !important;
}

.story-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr) !important;
  gap: 1.1rem !important;
  align-items: stretch !important;
  background: #fffdf8 !important;
  border: 1px solid #dec8a3 !important;
  border-radius: 16px !important;
  padding: 1rem !important;
  box-shadow: 0 14px 32px rgba(57, 29, 30, 0.12) !important;
}

.story-row__info {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  min-width: 0 !important;
  padding: 0.35rem !important;
}

.story-row__heading {
  display: grid !important;
  grid-template-columns: 72px 1fr !important;
  align-items: center !important;
  gap: 0.85rem !important;
}

.story-row__logo {
  width: 72px !important;
  height: 72px !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  background: #fff !important;
  border: 1px solid #dec8a3 !important;
  box-shadow: 0 8px 18px rgba(57, 29, 30, 0.1) !important;
}

.story-row__eyebrow {
  margin: 0 0 0.18rem !important;
  color: #a58054 !important;
  font-weight: 900 !important;
  font-size: 0.84rem !important;
}

.story-row__heading h2 {
  margin: 0 !important;
  color: #2c1810 !important;
  font-size: clamp(1.25rem, 2.2vw, 1.8rem) !important;
  line-height: 1.45 !important;
}

.story-row__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

.story-row__meta span {
  min-height: 34px !important;
  padding: 0 0.75rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.42rem !important;
  background: #f4ead9 !important;
  color: #7a5525 !important;
  border: 1px solid #eadfc8 !important;
  font-weight: 800 !important;
  font-size: 0.85rem !important;
}

.story-row__description {
  color: #4b4038 !important;
  line-height: 1.9 !important;
  font-size: 1rem !important;
  overflow-wrap: anywhere !important;
}

.story-row__media {
  display: grid !important;
  gap: 0.85rem !important;
  min-width: 0 !important;
}

.story-gallery-pro {
  position: relative !important;
  min-width: 0 !important;
}

.story-gallery-pro__stage {
  position: relative !important;
  aspect-ratio: 16 / 10 !important;
  background: #eadfc8 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid #dec8a3 !important;
}

.story-gallery-pro__slide {
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
}

.story-gallery-pro__slide.active {
  opacity: 1 !important;
  z-index: 1 !important;
}

.story-gallery-pro__slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.story-gallery-pro__nav {
  position: absolute !important;
  top: calc(50% - 34px) !important;
  z-index: 3 !important;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(57, 29, 30, 0.88) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(57, 29, 30, 0.24) !important;
}

.story-gallery-pro__nav.prev {
  inset-inline-start: 0.75rem !important;
}

.story-gallery-pro__nav.next {
  inset-inline-end: 0.75rem !important;
}

.story-gallery-pro__thumbs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
  margin-top: 0.55rem !important;
}

.story-gallery-pro__thumbs button {
  height: 54px !important;
  border: 2px solid transparent !important;
  border-radius: 10px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f4ead9 !important;
  cursor: pointer !important;
}

.story-gallery-pro__thumbs button.active {
  border-color: #a58054 !important;
}

.story-gallery-pro__thumbs img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.story-row__video {
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid #dec8a3 !important;
  background: #f4ead9 !important;
}

.story-row__video iframe,
.story-row__video video {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  display: block !important;
  border: 0 !important;
}

.stories-pagination {
  margin-top: 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  list-style: none !important;
}

.stories-pagination a,
.stories-pagination span {
  text-decoration: none !important;
}

.stories-pagination .page-number,
.stories-pagination .page-control {
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 0.7rem !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fffdf8 !important;
  border: 1px solid #dec8a3 !important;
  color: #391d1e !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(57, 29, 30, 0.08) !important;
}

.stories-pagination .page-number.active {
  background: #a58054 !important;
  border-color: #a58054 !important;
  color: #fff !important;
}

.stories-pagination .page-control.disabled {
  opacity: 0.45 !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  .story-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .story-row {
    padding: 0.75rem !important;
  }

  .story-row__heading {
    grid-template-columns: 56px 1fr !important;
  }

  .story-row__logo {
    width: 56px !important;
    height: 56px !important;
  }

  .story-gallery-pro__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .opportunities-page .opportunity-list {
    padding: 0;
  }

  .opportunities-page .opportunity-card-row,
  .opportunities-page .opportunity-card-row.reversed {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .opportunities-page .opportunity-map {
    order: 0;
    min-height: 230px;
  }

  .opportunities-page .opportunity-map img,
  .opportunities-page .opportunity-map iframe,
  .opportunities-page .opportunity-map video {
    min-height: 230px;
  }

  .opportunities-page .opportunity-info {
    padding: 1.1rem 1rem;
  }

  .opportunities-page .opportunity-info .card-header {
    flex-direction: column;
    gap: 0.5rem;
  }

  .opportunities-page .opportunity-card-row .card-actions-row {
    gap: 0.6rem;
    align-items: flex-start;
  }

  .opportunities-page .opportunity-card-row .action-icons {
    margin-inline-start: 0;
  }
}
