:root {
  --souk-primary: #16a34a;
  --souk-primary-dark: #15803d;
  --souk-dark: #111827;
  --souk-muted: #6b7280;
  --souk-light: #f9fafb;
  --souk-border: #e5e7eb;
  --souk-danger: #dc2626;
  --souk-warning: #f59e0b;
  --souk-white: #ffffff;
  --souk-radius-sm: 12px;
  --souk-radius-md: 16px;
  --souk-radius-lg: 24px;
  --souk-shadow-soft: 0 20px 50px rgba(17, 24, 39, 0.08);
  --souk-shadow-card: 0 10px 30px rgba(17, 24, 39, 0.06);
  --souk-container: min(1220px, calc(100vw - 2rem));
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--souk-light);
  color: var(--souk-dark);
  font-family: Tajawal, Cairo, "IBM Plex Sans Arabic", system-ui, sans-serif;
  text-rendering: optimizeLegibility;
}

a {
  text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
  color: var(--souk-primary-dark);
}

img {
  max-inline-size: 100%;
  block-size: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

:focus-visible {
  outline: 3px solid rgba(22, 163, 74, 0.28);
  outline-offset: 2px;
}

.wp-site-blocks {
  overflow: clip;
}

.wp-site-blocks > .alignfull {
  margin-block-start: 0;
  margin-block-end: 0;
}

.souk-site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: rgba(255, 255, 255, 0.92);
  border-block-end: 1px solid rgba(229, 231, 235, 0.9);
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.souk-site-header.is-scrolled {
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
}

.souk-site-header__inner,
.souk-checkout-header__inner,
.souk-footer__inner,
.souk-pattern-inner {
  inline-size: var(--souk-container);
  margin-inline: auto;
}

.souk-site-header__brand {
  gap: 0.75rem;
}

.souk-site-header .wp-block-site-title {
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0;
}

.souk-site-header .wp-block-site-title a {
  color: var(--souk-dark);
  text-decoration: none;
}

.souk-site-header .wp-block-navigation {
  gap: 0.75rem;
}

.souk-site-header .wp-block-navigation a {
  color: var(--souk-dark);
  font-weight: 600;
  text-decoration: none;
}

.souk-site-header .wp-block-navigation-item__content:hover,
.souk-site-header .wp-block-navigation-item__content:focus-visible {
  color: var(--souk-primary);
}

.souk-site-header__actions {
  gap: 0.5rem;
  align-items: center;
}

.souk-site-header .wp-block-search__button,
.souk-site-header .wc-block-mini-cart__button,
.souk-site-header .wp-social-link {
  inline-size: 2.75rem;
  min-inline-size: 2.75rem;
  block-size: 2.75rem;
  border: 1px solid var(--souk-border);
  border-radius: 999px;
  background: var(--souk-white);
  box-shadow: 0 2px 10px rgba(17, 24, 39, 0.04);
}

.souk-site-header .wp-block-search__button {
  padding: 0;
}

.souk-site-header .wc-block-mini-cart,
.souk-site-header .wc-block-mini-cart__button {
  color: var(--souk-dark);
}

.souk-site-header .wp-social-link a {
  color: var(--souk-primary);
}

.souk-card,
.souk-product-summary-card,
.souk-gallery-card,
.souk-content-card,
.souk-surface,
.souk-pattern-card,
.souk-checkout-card {
  background: var(--souk-white);
  border: 1px solid var(--souk-border);
  border-radius: var(--souk-radius-md);
  box-shadow: var(--souk-shadow-card);
}

.souk-hero {
  position: relative;
  overflow: hidden;
  border-radius: var(--souk-radius-lg);
  background: linear-gradient(135deg, #0f172a 0%, #111827 35%, #16a34a 100%);
  color: var(--souk-white);
}

.souk-hero::before,
.souk-hero::after {
  content: "";
  position: absolute;
  inset-block-start: auto;
  inset-inline-end: -6rem;
  inline-size: 16rem;
  block-size: 16rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  filter: blur(2px);
}

.souk-hero::before {
  inset-block-start: -6rem;
}

.souk-hero::after {
  inset-block-end: -8rem;
}

.souk-badge,
.souk-stat,
.souk-offer-card,
.souk-trust-badge,
.souk-testimonial,
.souk-faq-item,
.souk-guarantee-card,
.souk-delivery-box,
.souk-total-box {
  background: var(--souk-white);
  border: 1px solid var(--souk-border);
  border-radius: var(--souk-radius-md);
  box-shadow: var(--souk-shadow-card);
}

.souk-badge,
.souk-stat,
.souk-trust-badge,
.souk-offer-card,
.souk-testimonial,
.souk-guarantee-card,
.souk-delivery-box {
  padding: 1rem;
}

.souk-pill,
.woocommerce span.onsale,
.wc-block-components-sale-badge,
.wp-block-woocommerce-product-sale-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 2rem;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 700;
}

.wp-element-button,
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"],
.wc-block-components-button,
.single_add_to_cart_button,
.checkout-button,
.add_to_cart_button,
.button,
#place_order {
  border: 0;
  border-radius: 999px;
  background: var(--souk-primary);
  color: var(--souk-white);
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  box-shadow: 0 14px 30px rgba(22, 163, 74, 0.22);
}

.wp-element-button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.wc-block-components-button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.add_to_cart_button:hover,
.button:hover,
#place_order:hover {
  background: var(--souk-primary-dark);
  color: var(--souk-white);
  transform: translateY(-1px);
}

.is-style-outline > .wp-block-button__link,
.wc-block-components-button.is-secondary {
  background: transparent;
  color: var(--souk-primary);
  border: 1px solid rgba(22, 163, 74, 0.3);
  box-shadow: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
select,
textarea,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox-control .components-combobox-control__input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  inline-size: 100%;
  min-block-size: 3rem;
  padding-block: 0.85rem;
  padding-inline: 1rem;
  border: 1px solid var(--souk-border);
  border-radius: 14px;
  background: var(--souk-white);
  color: var(--souk-dark);
}

textarea,
.woocommerce form .form-row textarea {
  min-block-size: 7rem;
  resize: vertical;
}

label,
.woocommerce form .form-row label,
.wc-block-components-checkbox__label {
  display: inline-block;
  margin-block-end: 0.4rem;
  color: var(--souk-dark);
  font-weight: 700;
}

.souk-product-page {
  padding-block: 1rem 3rem;
}

.souk-product-hero {
  gap: 1rem;
  align-items: start;
}

.souk-gallery-card,
.souk-product-summary-card,
.souk-content-card {
  padding: 1rem;
}

.souk-gallery-card .wc-block-components-product-image,
.souk-gallery-card .wp-block-woocommerce-product-image-gallery {
  margin: 0;
}

.souk-product-summary-card {
  position: sticky;
  inset-block-start: 6rem;
}

.souk-product-summary-card h1 {
  margin-block: 0;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
}

.souk-rating-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-block: 0.25rem 0.75rem;
}

.souk-price-box {
  display: grid;
  gap: 0.5rem;
  padding: 1rem;
  border: 1px solid rgba(22, 163, 74, 0.18);
  border-radius: var(--souk-radius-md);
  background: linear-gradient(180deg, rgba(22, 163, 74, 0.06), rgba(255, 255, 255, 1));
}

.souk-price-box p {
  margin: 0;
  color: var(--souk-muted);
  font-size: 0.95rem;
}

.souk-info-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.souk-info-list li {
  display: flex;
  gap: 0.75rem;
  align-items: start;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: #f7fbf8;
  color: var(--souk-dark);
}

.souk-info-list strong {
  display: block;
}

.souk-form-slot.is-focused {
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.16), var(--souk-shadow-card);
}

.souk-mobile-order-bar {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 60;
  padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.94);
  border-block-start: 1px solid var(--souk-border);
  box-shadow: 0 -12px 30px rgba(17, 24, 39, 0.08);
}

.souk-mobile-order-bar .wp-block-button {
  margin: 0;
}

.souk-mobile-order-bar .wp-block-button__link {
  inline-size: 100%;
  justify-content: center;
}

.souk-product-sections {
  margin-block-start: 1.5rem;
}

.souk-product-sections .wp-block-woocommerce-product-details,
.souk-product-sections .wp-block-woocommerce-product-specifications,
.souk-product-sections .wp-block-woocommerce-reviews-by-product,
.souk-product-sections .wp-block-woocommerce-related-products,
.souk-product-sections .wp-block-details {
  background: var(--souk-white);
  border: 1px solid var(--souk-border);
  border-radius: var(--souk-radius-md);
  box-shadow: var(--souk-shadow-card);
  padding: 1.25rem;
}

.souk-product-sections .wp-block-woocommerce-product-details,
.souk-product-sections .wp-block-woocommerce-product-specifications,
.souk-product-sections .wp-block-woocommerce-reviews-by-product {
  margin-block-end: 1rem;
}

.wc-block-grid__products,
.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.wc-block-grid__product,
.products li.product {
  padding: 1rem;
  background: var(--souk-white);
  border: 1px solid var(--souk-border);
  border-radius: var(--souk-radius-md);
  box-shadow: var(--souk-shadow-card);
}

.products li.product a {
  color: var(--souk-dark);
  text-decoration: none;
}

.products li.product .price,
.wc-block-grid__product-price {
  color: var(--souk-primary);
  font-weight: 800;
}

.woocommerce .quantity .qty,
.wc-block-components-quantity-selector input {
  min-inline-size: 5rem;
  text-align: center;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  border-radius: 14px;
  border: 1px solid var(--souk-border);
  box-shadow: var(--souk-shadow-card);
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
  border-inline-start: 4px solid var(--souk-primary);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-inline-start: 4px solid var(--souk-danger);
}

.woocommerce-tabs ul.tabs,
.wc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  border-radius: 999px;
  background: #f3f4f6;
}

.souk-site-footer {
  background: var(--souk-dark);
  color: rgba(255, 255, 255, 0.88);
}

.souk-site-footer a,
.souk-site-footer .wp-block-site-title a,
.souk-site-footer .wp-block-navigation a {
  color: rgba(255, 255, 255, 0.95);
  text-decoration: none;
}

.souk-site-footer .wp-block-site-title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
}

.souk-site-footer .wp-block-navigation {
  gap: 0.75rem;
}

.souk-checkout-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 45;
  background: rgba(255, 255, 255, 0.96);
  border-block-end: 1px solid var(--souk-border);
  backdrop-filter: blur(16px);
}

.souk-checkout-wrap,
.souk-order-confirmation-wrap {
  padding-block: 1.5rem 3rem;
}

.souk-order-confirmation-wrap > .wp-block-group,
.souk-checkout-wrap > .wp-block-group {
  gap: 1rem;
}

.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-order-confirmation-status,
.wp-block-woocommerce-order-confirmation-summary,
.wp-block-woocommerce-order-confirmation-totals-wrapper {
  background: var(--souk-white);
  border: 1px solid var(--souk-border);
  border-radius: var(--souk-radius-md);
  box-shadow: var(--souk-shadow-card);
  padding: 1rem;
}

.wp-block-details summary {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.wp-block-details summary::-webkit-details-marker {
  display: none;
}

.wp-block-details[open] {
  border-color: rgba(22, 163, 74, 0.28);
}

.souk-whatsapp-float {
  position: fixed;
  inset-inline-end: 1rem;
  inset-block-end: 5.25rem;
  z-index: 55;
}

.souk-whatsapp-float a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 3.5rem;
  block-size: 3.5rem;
  border-radius: 50%;
  background: #25d366;
  color: var(--souk-white);
  box-shadow: 0 18px 30px rgba(37, 211, 102, 0.28);
}

.souk-section-heading {
  margin-block: 0 0.5rem;
}

.souk-section-subtitle {
  margin-block: 0;
  color: var(--souk-muted);
}

@media (min-width: 782px) {
  .souk-gallery-card,
  .souk-product-summary-card,
  .souk-content-card {
    padding: 1.5rem;
  }

  .wc-block-grid__products,
  .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 781px) {
  .souk-site-header .wp-block-navigation__responsive-container {
    margin-block-start: 1rem;
  }

  .souk-site-header__inner,
  .souk-checkout-header__inner {
    gap: 0.75rem;
  }

  .souk-site-header .wp-block-navigation {
    justify-content: flex-end;
  }

  .souk-product-summary-card {
    position: static;
  }

  .souk-whatsapp-float {
    inset-block-end: 6rem;
  }
}

@media (min-width: 960px) {
  .souk-mobile-order-bar {
    display: none;
  }

  .wc-block-grid__products,
  .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
