/* Noor Naksha v1.7.1 — multi product sections, slider animation, Testimonial Hub, footer alignment */

/* --------------------------------------------------------------------------
 * Footer branding: one shared alignment axis + visual trim for transparent logo padding.
 * -------------------------------------------------------------------------- */
.nn-footer-brand{box-sizing:border-box}
.nn-footer-logo-link{width:max-content!important;max-width:min(100%,var(--nn-footer-logo-d))!important;align-self:inherit;overflow:visible}
.nn-footer-logo{width:auto!important;max-width:min(100%,var(--nn-footer-logo-d))!important;height:auto!important;object-fit:contain!important}
.nn-footer-brand-d-left .nn-footer-logo-link,.nn-footer-brand-d-left .nn-footer-tagline,.nn-footer-brand-d-left .nn-footer-brand-contact{align-self:flex-start;text-align:left}
.nn-footer-brand-d-center .nn-footer-logo-link,.nn-footer-brand-d-center .nn-footer-tagline,.nn-footer-brand-d-center .nn-footer-brand-contact{align-self:center;text-align:center}
.nn-footer-brand-d-right .nn-footer-logo-link,.nn-footer-brand-d-right .nn-footer-tagline,.nn-footer-brand-d-right .nn-footer-brand-contact{align-self:flex-end;text-align:right}
.nn-footer-logo-link{transform:translateX(var(--nn-footer-logo-offset-d-v17,0))}
.nn-footer-brand-contact-item{align-items:center!important}
.nn-footer-brand-contact-item .nn-icon{align-self:center!important;transform:none!important}
.nn-footer-brand-contact-item span{display:block;max-width:100%;overflow-wrap:anywhere}
@media(min-width:721px) and (max-width:1024px){
  .nn-footer-logo-link{transform:translateX(var(--nn-footer-logo-offset-t-v17,0));max-width:min(100%,var(--nn-footer-logo-t))!important}
  .nn-footer-logo{max-width:min(100%,var(--nn-footer-logo-t))!important}
  .nn-footer-brand-t-left .nn-footer-logo-link,.nn-footer-brand-t-left .nn-footer-tagline,.nn-footer-brand-t-left .nn-footer-brand-contact{align-self:flex-start;text-align:left}
  .nn-footer-brand-t-center .nn-footer-logo-link,.nn-footer-brand-t-center .nn-footer-tagline,.nn-footer-brand-t-center .nn-footer-brand-contact{align-self:center;text-align:center}
  .nn-footer-brand-t-right .nn-footer-logo-link,.nn-footer-brand-t-right .nn-footer-tagline,.nn-footer-brand-t-right .nn-footer-brand-contact{align-self:flex-end;text-align:right}
}
@media(max-width:720px){
  .nn-footer-logo-link{transform:translateX(var(--nn-footer-logo-offset-m-v17,0));max-width:min(100%,var(--nn-footer-logo-m))!important}
  .nn-footer-logo{max-width:min(100%,var(--nn-footer-logo-m))!important}
  .nn-footer-brand-m-left .nn-footer-logo-link,.nn-footer-brand-m-left .nn-footer-tagline,.nn-footer-brand-m-left .nn-footer-brand-contact{align-self:flex-start;text-align:left}
  .nn-footer-brand-m-center .nn-footer-logo-link,.nn-footer-brand-m-center .nn-footer-tagline,.nn-footer-brand-m-center .nn-footer-brand-contact{align-self:center;text-align:center}
  .nn-footer-brand-m-right .nn-footer-logo-link,.nn-footer-brand-m-right .nn-footer-tagline,.nn-footer-brand-m-right .nn-footer-brand-contact{align-self:flex-end;text-align:right}
}

/* --------------------------------------------------------------------------
 * Reusable WooCommerce Product Sections.
 * -------------------------------------------------------------------------- */
.nn-product-section-v17 .nn-section-head{margin-bottom:16px}
.nn-product-grid-v17{gap:var(--nn-v17-prod-gap-d)!important;grid-template-columns:repeat(var(--nn-v17-prod-cols-d),minmax(0,1fr))!important}
.nn-product-section-v17 .nn-product-image{height:var(--nn-v17-prod-image-d)!important}
.nn-product-layout-carousel .nn-v17-products-shell{position:relative}
.nn-product-layout-carousel .nn-product-grid-v17{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding-bottom:3px;cursor:grab}
.nn-product-layout-carousel .nn-product-grid-v17::-webkit-scrollbar{display:none}
.nn-product-layout-carousel .nn-product-card{flex:0 0 calc((100% - (var(--nn-v17-prod-cols-d) - 1) * var(--nn-v17-prod-gap-d))/var(--nn-v17-prod-cols-d));min-width:0;scroll-snap-align:start}
.nn-product-layout-carousel.is-dragging .nn-product-grid-v17{cursor:grabbing;scroll-snap-type:none;user-select:none}
.nn-v17-product-nav{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.nn-v17-product-arrow{width:36px;height:36px;border:1px solid color-mix(in srgb,var(--nn-gold) 55%,transparent);border-radius:999px;background:var(--nn-surface-bg);color:var(--nn-green);font-size:25px;display:grid;place-items:center;line-height:1;cursor:pointer}
.nn-v17-product-arrow:disabled{opacity:.35;cursor:default}
.nn-v17-product-dots{display:flex;align-items:center;gap:6px}
.nn-v17-product-dot{width:7px;height:7px;border:0;padding:0;border-radius:999px;background:#bfc1bc;cursor:pointer}
.nn-v17-product-dot.is-active{width:22px;background:var(--nn-gold)}
@media(min-width:721px) and (max-width:1024px){
  .nn-product-grid-v17{gap:var(--nn-v17-prod-gap-t)!important;grid-template-columns:repeat(var(--nn-v17-prod-cols-t),minmax(0,1fr))!important}
  .nn-product-section-v17 .nn-product-image{height:var(--nn-v17-prod-image-t)!important}
  .nn-product-layout-carousel .nn-product-card{flex-basis:calc((100% - (var(--nn-v17-prod-cols-t) - 1) * var(--nn-v17-prod-gap-t))/var(--nn-v17-prod-cols-t))}
}
@media(max-width:720px){
  .nn-product-grid-v17{gap:var(--nn-v17-prod-gap-m)!important;grid-template-columns:repeat(var(--nn-v17-prod-cols-m),minmax(0,1fr))!important}
  .nn-product-section-v17 .nn-product-image{height:var(--nn-v17-prod-image-m)!important}
  .nn-product-layout-carousel .nn-product-card{flex-basis:calc((100% - (var(--nn-v17-prod-cols-m) - 1) * var(--nn-v17-prod-gap-m))/var(--nn-v17-prod-cols-m))}
}

/* --------------------------------------------------------------------------
 * Built-in hero animation system. Old v1.1 transitions are neutralized only
 * for the v1.7 animation renderer.
 * -------------------------------------------------------------------------- */
.nn-native-slider[data-nn-animation-v17] .nn-native-slide .nn-hero-copy>*{transition:none;transform:none;opacity:1}
.nn-native-slider[data-nn-animation-v17] .nn-native-slide.is-active .nn-hero-copy,
.nn-native-slider[data-nn-animation-v17] .nn-native-slide.is-active .nn-hero-art{animation-fill-mode:both;animation-timing-function:var(--nn-slider-ease-v17);will-change:transform,opacity,filter}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-fade.is-active .nn-hero-copy{animation:nnV17Fade var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-fade-up.is-active .nn-hero-copy{animation:nnV17FadeUp var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-fade-down.is-active .nn-hero-copy{animation:nnV17FadeDown var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-slide-left.is-active .nn-hero-copy{animation:nnV17SlideLeft var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-slide-right.is-active .nn-hero-copy{animation:nnV17SlideRight var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-zoom.is-active .nn-hero-copy{animation:nnV17Zoom var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-soft-scale.is-active .nn-hero-copy{animation:nnV17SoftScale var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-blur.is-active .nn-hero-copy{animation:nnV17Blur var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-content-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-stagger.is-active .nn-hero-copy>*{opacity:0;animation:nnV17FadeUp var(--nn-slider-content-duration-v17) var(--nn-slider-ease-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-stagger.is-active .nn-hero-copy>*:nth-child(1){animation-delay:calc(var(--nn-slider-content-delay-v17) + var(--nn-slider-content-stagger-v17)*0)}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-stagger.is-active .nn-hero-copy>*:nth-child(2){animation-delay:calc(var(--nn-slider-content-delay-v17) + var(--nn-slider-content-stagger-v17)*1)}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-stagger.is-active .nn-hero-copy>*:nth-child(3){animation-delay:calc(var(--nn-slider-content-delay-v17) + var(--nn-slider-content-stagger-v17)*2)}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-stagger.is-active .nn-hero-copy>*:nth-child(4){animation-delay:calc(var(--nn-slider-content-delay-v17) + var(--nn-slider-content-stagger-v17)*3)}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-stagger.is-active .nn-hero-copy>*:nth-child(5){animation-delay:calc(var(--nn-slider-content-delay-v17) + var(--nn-slider-content-stagger-v17)*4)}

.nn-native-slider[data-nn-animation-v17] .nn-image-anim-fade.is-active .nn-hero-art{animation:nnV17Fade var(--nn-slider-image-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-kenburns-in.is-active .nn-hero-art{animation:nnV17KenIn var(--nn-slider-image-duration-v17) linear var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-kenburns-out.is-active .nn-hero-art{animation:nnV17KenOut var(--nn-slider-image-duration-v17) linear var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-pan-left.is-active .nn-hero-art{animation:nnV17PanLeft var(--nn-slider-image-duration-v17) ease-in-out var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-pan-right.is-active .nn-hero-art{animation:nnV17PanRight var(--nn-slider-image-duration-v17) ease-in-out var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-pan-up.is-active .nn-hero-art{animation:nnV17PanUp var(--nn-slider-image-duration-v17) ease-in-out var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-pan-down.is-active .nn-hero-art{animation:nnV17PanDown var(--nn-slider-image-duration-v17) ease-in-out var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-soft-parallax.is-active .nn-hero-art{animation:nnV17Parallax var(--nn-slider-image-duration-v17) ease-in-out var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-scale-fade.is-active .nn-hero-art{animation:nnV17ScaleFade var(--nn-slider-image-duration-v17) var(--nn-slider-ease-v17) var(--nn-slider-image-delay-v17) both}
.nn-native-slider[data-nn-animation-v17] .nn-content-anim-none.is-active .nn-hero-copy,
.nn-native-slider[data-nn-animation-v17] .nn-image-anim-none.is-active .nn-hero-art,
.nn-native-slider[data-nn-animation-v17].nn-slider-animation-disabled-v17 .nn-native-slide.is-active .nn-hero-copy,
.nn-native-slider[data-nn-animation-v17].nn-slider-animation-disabled-v17 .nn-native-slide.is-active .nn-hero-art,
.nn-native-slider[data-nn-animation-v17] .nn-native-slide.nn-has-animated-v17.is-active .nn-hero-copy,
.nn-native-slider[data-nn-animation-v17] .nn-native-slide.nn-has-animated-v17.is-active .nn-hero-art{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}
@keyframes nnV17Fade{from{opacity:0}to{opacity:1}}
@keyframes nnV17FadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes nnV17FadeDown{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:none}}
@keyframes nnV17SlideLeft{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes nnV17SlideRight{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes nnV17Zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes nnV17SoftScale{from{opacity:.2;transform:scale(1.035)}to{opacity:1;transform:none}}
@keyframes nnV17Blur{from{opacity:0;filter:blur(10px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}
@keyframes nnV17KenIn{from{transform:scale(1)}to{transform:scale(1.07)}}
@keyframes nnV17KenOut{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes nnV17PanLeft{from{transform:scale(1.05) translateX(1.5%)}to{transform:scale(1.05) translateX(-1.5%)}}
@keyframes nnV17PanRight{from{transform:scale(1.05) translateX(-1.5%)}to{transform:scale(1.05) translateX(1.5%)}}
@keyframes nnV17PanUp{from{transform:scale(1.05) translateY(1.5%)}to{transform:scale(1.05) translateY(-1.5%)}}
@keyframes nnV17PanDown{from{transform:scale(1.05) translateY(-1.5%)}to{transform:scale(1.05) translateY(1.5%)}}
@keyframes nnV17Parallax{from{transform:scale(1.04) translate3d(0,1%,0)}50%{transform:scale(1.06) translate3d(-1%,-1%,0)}to{transform:scale(1.04) translate3d(0,0,0)}}
@keyframes nnV17ScaleFade{from{opacity:.2;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@media(min-width:1025px){.nn-slider-animation-disable-desktop-v17 .nn-native-slide.is-active .nn-hero-copy,.nn-slider-animation-disable-desktop-v17 .nn-native-slide.is-active .nn-hero-art{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}}
@media(min-width:721px) and (max-width:1024px){.nn-slider-animation-disable-tablet-v17 .nn-native-slide.is-active .nn-hero-copy,.nn-slider-animation-disable-tablet-v17 .nn-native-slide.is-active .nn-hero-art{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}}
@media(max-width:720px){.nn-slider-animation-disable-mobile-v17 .nn-native-slide.is-active .nn-hero-copy,.nn-slider-animation-disable-mobile-v17 .nn-native-slide.is-active .nn-hero-art{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}}
@media(prefers-reduced-motion:reduce){.nn-native-slider[data-nn-animation-v17] .nn-native-slide.is-active .nn-hero-copy,.nn-native-slider[data-nn-animation-v17] .nn-native-slide.is-active .nn-hero-copy>*,.nn-native-slider[data-nn-animation-v17] .nn-native-slide.is-active .nn-hero-art{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}}

/* --------------------------------------------------------------------------
 * Testimonial Hub / dynamic review cards.
 * -------------------------------------------------------------------------- */
.nn-testimonial-card-v17{align-items:flex-start}
.nn-avatar-photo{object-fit:cover!important;padding:0!important;overflow:hidden}
.nn-testimonial-content-v17{min-width:0;flex:1}
.nn-testimonial-screenshot{display:block;margin:10px 0;width:min(150px,100%);border-radius:8px;overflow:hidden;border:1px solid var(--nn-border-color);background:var(--nn-surface-bg)}
.nn-testimonial-screenshot img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.nn-testimonial-meta-v17{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px;font-size:9px}
.nn-testimonial-meta-v17 a{color:var(--nn-gold);font-weight:700}
.nn-verified-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--nn-green) 25%,transparent);background:color-mix(in srgb,var(--nn-green) 7%,white);color:var(--nn-green);padding:4px 7px;border-radius:999px;font-weight:700}
.nn-native-slider[data-nn-animation-v17] .nn-native-slide.nn-has-animated-v17.is-active .nn-hero-copy>*{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}
