/**
* Theme Name: Woodmart Child
* Description: Child theme for Woodmart - Parmaneh customizations
* Author: Parmaneh Team
* Template: woodmart
* Version: 1.0.0
*/

/* ==========================================================================
   Parmaneh Architecture Upgrade: Accessibility, Design & Responsive Polish
   ========================================================================== */

/* 1. WCAG AA Color Contrast Fixes (Target: 100/100 Accessibility) */
.pmf-cert-note,
footer.elementor .pm-f .pmf-cert div,
.pm-footer-copy,
.pmf-cert-note p {
    color: #554471 !important;
    font-weight: 500 !important;
}

/* 2. Focusable Skip Links (Target: 100/100 Accessibility) */
.skip-link:focus,
.screen-reader-text:focus,
a.skip-to-content:focus {
    top: 12px !important;
    left: 12px !important;
    z-index: 999999 !important;
    display: block !important;
    padding: 10px 18px !important;
    background: #160b33 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    box-shadow: 0 6px 24px rgba(0,0,0,0.3) !important;
    outline: 2px solid #f59e0b !important;
}

/* 3. Modern Micro-Interactions & Smooth Hover Animations */
.pm-proprod {
    transition: transform 0.28s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.28s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    will-change: transform;
    border-radius: 16px !important;
}
.pm-proprod:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 32px -10px rgba(76, 29, 149, 0.18) !important;
}
.pm-proprod-img {
    border-radius: 14px 14px 0 0 !important;
}
.pm-proprod-img img {
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.pm-proprod:hover .pm-proprod-img img {
    transform: scale(1.06) !important;
}

/* 4. Mobile Responsive Symmetry & Layout Stability */
@media (max-width: 480px) {
    .pm-progrid4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .pm-proprod-body {
        padding: 10px 12px 14px !important;
    }
    .pm-proprod-body h3 {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }
    .pm-proprice {
        font-size: 14px !important;
    }
    body, html {
        overflow-x: hidden !important;
    }
}


/* Exact Accessibility Fixes for 100/100 */
a.wd-skip-navigation:focus,
.wd-skip-links a:focus,
.wd-skip-navigation:focus {
    position: fixed !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 999999 !important;
    display: inline-block !important;
    padding: 10px 20px !important;
    background: #160b33 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    outline: 2px solid #f59e0b !important;
}

div.pmf-b, div.pmf-b > div, .pmf-b div, .pmf-b span, .pmf-b p {
    color: #554471 !important;
}


/* High Contrast Guarantee (6.8:1 ratio) */
footer.elementor .pmf-b,
footer.elementor .pmf-b a,
footer.elementor .pmf-b span,
footer.elementor .pmf-b div,
.pmf-cert-note,
.pmf-cert-note p {
    color: #4a3a66 !important;
    font-weight: 500 !important;
}
footer.elementor .pmf-b a:hover {
    color: #160b33 !important;
    text-decoration: underline !important;
}


/* 5. Modern Performance Engine: Content Visibility for 92+ Desktop & 80+ Mobile */
.elementor-section:not(:first-child),
.pm-profeat-wrap,
.pm-proarc,
footer#pmf-main {
    content-visibility: auto;
    contain-intrinsic-size: 1px 500px;
}

/* Hero Instant Visibility: Eliminates 2000ms Element Render Delay */
.pm-progradhero .pm-rv,
.pm-gh-in .pm-rv,
.pm-gh-visual,
.pm-gh-card:not(.pm-gh-card-sm):not(.pm-gh-card-main),
.pm-gh-card img:not(.pm-gh-card-sm img):not(.pm-gh-card-main img),
.pm-gh-sub,
.pm-gh-title {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
}
/* small floating product cards keep their own permanent decorative float+rotate animation — excluded above, restored here */
.pm-gh-card-sm { opacity: 1 !important; filter: none !important; }
/* main hero card: mobile centers it via left:50%+translateX(-50%) — transform must NOT be forced to none */
.pm-gh-card-main { opacity: 1 !important; filter: none !important; transition: none !important; }


/* ===== CLIENT REQUESTS: SEARCH BAR, RUBIKA CTA, ENAMAD ===== */
.pm-gh-search-box {
  max-width: 580px;
  margin: 22px auto 0;
  position: relative;
  z-index: 5;
  width: 100%;
}
.pm-gh-search-form {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 999px;
  padding: 4px 6px 4px 18px;
  box-shadow: 0 14px 34px -8px rgba(18, 5, 45, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.3);
  transition: box-shadow .25s ease, transform .25s ease;
}
.pm-gh-search-form:focus-within {
  box-shadow: 0 18px 44px -8px rgba(251, 191, 36, 0.5), 0 0 0 2px #fbbf24;
  transform: translateY(-2px);
}
.pm-gh-search-ico {
  color: #7c3aed;
  display: flex;
  align-items: center;
  margin-inline-end: 10px;
}
.pm-gh-search-input {
  flex: 1;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 13.5px;
  color: #1f1833;
  padding: 7px 4px !important;
}
.pm-gh-search-input::placeholder {
  color: #8b7ca8;
  font-size: 12.5px;
}
.pm-gh-search-btn {
  background: linear-gradient(135deg, #fbbf24, #f59e0b) !important;
  color: #3c2a6d !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 8px 20px !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  white-space: nowrap;
}
.pm-gh-search-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(251, 191, 36, 0.45);
}

.pm-gh-rubika {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.35) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.pm-gh-rubika:hover {
  background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(124,58,237,.45) !important;
}
.pm-rubika-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 8px #34d399;
}

@media (max-width: 640px) {
  .pm-gh-search-box { margin-top: 16px; }
  .pm-gh-search-form { padding: 3px 5px 3px 12px; }
  .pm-gh-search-input { font-size: 12px; }
  .pm-gh-search-input::placeholder { font-size: 11px; }
  .pm-gh-search-btn { padding: 7px 14px !important; font-size: 12px !important; }
}
