/* v0.4.0: intentionally minimal. Panafric owns its visual layer in panafric-site-core.css. */


/* ==========================================================
   v0.4.6 — compact homepage hero + stable product gallery
   Loaded after the main visual layer so these sizing rules win
   against both legacy WooCommerce and parent-theme defaults.
   ========================================================== */

/* Homepage hero: this is a merchandising band, not a full-screen hero. */
@media (min-width: 901px) {
  .pfk-site .pfk-home-hero{
    padding:14px 0 10px!important;
  }
  .pfk-site .pfk-home-hero__grid{
    grid-template-columns:minmax(0,1.78fr) minmax(290px,.72fr)!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .pfk-site .pfk-home-hero__main,
  .pfk-site .pfk-home-hero__side{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  .pfk-site .pfk-home-hero__side{
    display:grid!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:hidden!important;
  }
  .pfk-site .pfk-home-promo-card{
    min-height:0!important;
    height:auto!important;
  }
  .pfk-site .pfk-home-hero__copy{
    left:32px!important;
    max-width:500px!important;
  }
  .pfk-site .pfk-home-hero__copy h2{
    max-width:480px!important;
    margin-bottom:8px!important;
    font-size:clamp(28px,2.55vw,39px)!important;
    line-height:1.04!important;
  }
  .pfk-site .pfk-home-hero__copy p{
    max-width:470px!important;
    margin-bottom:13px!important;
    font-size:13px!important;
    line-height:1.45!important;
  }
  .pfk-site .pfk-home-hero__controls{
    left:20px!important;
    right:20px!important;
    bottom:12px!important;
  }
  .pfk-site .pfk-home-hero__arrows button{
    width:30px!important;
    height:30px!important;
  }
  .pfk-site .pfk-home-promo-card__copy{
    left:14px!important;
    right:14px!important;
    bottom:11px!important;
  }
  .pfk-site .pfk-home-promo-card__copy strong{
    font-size:16px!important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .pfk-site .pfk-home-hero__main{
    height:300px!important;
    min-height:300px!important;
  }
  .pfk-site .pfk-home-hero__side{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:none!important;
    gap:10px!important;
  }
  .pfk-site .pfk-home-promo-card{
    min-height:135px!important;
  }
}

@media (max-width: 640px) {
  .pfk-site .pfk-home-hero__main{
    height:250px!important;
    min-height:250px!important;
  }
  .pfk-site .pfk-home-hero__copy{
    bottom:40px!important;
  }
  .pfk-site .pfk-home-hero__copy h2{
    font-size:24px!important;
    line-height:1.04!important;
  }
  .pfk-site .pfk-home-hero__copy p{
    display:none!important;
  }
  .pfk-site .pfk-home-promo-card{
    min-height:105px!important;
  }
}

/* Single product gallery: main image first, compact thumbnails underneath. */
.pfk-site .pfk-single-product__hero{
  grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr)!important;
  gap:28px!important;
  padding:20px!important;
}
.pfk-site .pfk-product-gallery{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-width:0!important;
  width:100%!important;
}
.pfk-site .pfk-product-gallery__main{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-height:520px!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background:#f5f7fa!important;
  border:1px solid var(--pfk-border)!important;
  border-radius:5px!important;
}
.pfk-site .pfk-product-gallery__image-button{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  cursor:zoom-in!important;
}
.pfk-site .pfk-product-gallery__image-button>img,
.pfk-site .pfk-product-gallery__main img[data-pfk-product-main-image]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
.pfk-site .pfk-product-gallery__thumbs{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  padding:1px 0 3px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin!important;
  order:initial!important;
}
.pfk-site .pfk-product-gallery__thumb{
  flex:0 0 72px!important;
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:3px!important;
  aspect-ratio:1!important;
  border:1px solid var(--pfk-border)!important;
  border-radius:4px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.pfk-site .pfk-product-gallery__thumb.is-active{
  border-color:var(--pfk-blue)!important;
  box-shadow:0 0 0 1px var(--pfk-blue)!important;
}
.pfk-site .pfk-product-gallery__thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:2px!important;
}
.pfk-site .pfk-product-gallery__zoom{
  position:absolute!important;
  right:12px!important;
  bottom:12px!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  border-radius:4px!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--pfk-ink)!important;
  box-shadow:0 3px 12px rgba(19,36,59,.12)!important;
  pointer-events:none!important;
}
.pfk-site .pfk-product-gallery__zoom svg{
  width:18px!important;
  height:18px!important;
}

@media (max-width: 900px) {
  .pfk-site .pfk-single-product__hero{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .pfk-site .pfk-product-gallery__main{
    max-height:none!important;
    aspect-ratio:1/1!important;
  }
}

@media (max-width: 640px) {
  .pfk-site .pfk-product-gallery__thumb{
    flex-basis:60px!important;
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    min-height:60px!important;
  }
}


/* v0.4.7 — category archive masthead correction.
 * The generic .pfk-shop-intro rule from the base layer is flex; v7 must be a
 * block so the category rail sits below the heading/summary instead of beside
 * it. Long taxonomy copy is intentionally moved below the catalogue. */
.pfk-site .pfk-shop-intro.pfk-shop-v7{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.pfk-site .pfk-shop-v7 .pfk-shop-intro__top{
  display:grid!important;
  grid-template-columns:minmax(220px,320px) minmax(0,640px)!important;
  justify-content:start!important;
  align-items:end!important;
  gap:clamp(22px,3vw,48px)!important;
  width:100%!important;
  min-width:0!important;
  padding:5px 0 14px!important;
}
.pfk-site .pfk-shop-v7.is-category .pfk-shop-intro__top{
  align-items:start!important;
}
.pfk-site .pfk-shop-v7 .pfk-shop-intro__heading,
.pfk-site .pfk-shop-v7 .pfk-shop-v5__description{
  min-width:0!important;
}
.pfk-site .pfk-shop-v7 .pfk-shop-v5__description{
  width:auto!important;
  max-width:640px!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.pfk-site .pfk-shop-v7 .pfk-shop-category-rail{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:9px 0 3px!important;
}

/* Full category copy belongs after the products, where it can remain useful
 * without delaying catalogue discovery. */
.pfk-site .pfk-category-content{
  margin:30px 0 4px!important;
  padding:28px 0 0!important;
  border-top:1px solid var(--pfk-border)!important;
}
.pfk-site .pfk-category-content__inner{
  max-width:920px!important;
}
.pfk-site .pfk-category-content h2{
  margin:5px 0 12px!important;
  font-size:clamp(24px,2vw,32px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
.pfk-site .pfk-category-content__copy{
  color:var(--pfk-copy)!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.pfk-site .pfk-category-content__copy>*:first-child{margin-top:0!important}
.pfk-site .pfk-category-content__copy>*:last-child{margin-bottom:0!important}

@media (max-width: 900px){
  .pfk-site .pfk-shop-v7 .pfk-shop-intro__top{
    grid-template-columns:1fr!important;
    gap:6px!important;
    align-items:start!important;
    padding-bottom:11px!important;
  }
  .pfk-site .pfk-shop-v7 .pfk-shop-v5__description{
    max-width:720px!important;
  }
}


/* ==========================================================
   v0.4.8 — mobile catalogue polish
   ========================================================== */
.pfk-head-mobile-search{display:none;border:0;background:transparent;color:var(--pfk-ink);padding:7px;line-height:1}
.pfk-head-mobile-search svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.pfk-bottom-nav__item.is-active{color:var(--pfk-blue)!important}
.pfk-bottom-nav__item.is-active:not(.pfk-bottom-nav__whatsapp)::before{content:"";position:absolute;left:50%;top:0;width:20px;height:2px;border-radius:0 0 2px 2px;background:var(--pfk-blue);transform:translateX(-50%)}
@media(max-width:640px){
  .pfk-site .pfk-head-commerce__inner{grid-template-columns:minmax(88px,1fr) auto!important;min-height:64px!important;gap:8px!important;padding-top:5px!important;padding-bottom:5px!important}
  .pfk-site .pfk-head-logo img{max-width:94px!important;max-height:48px!important}
  .pfk-site .pfk-head-actions{gap:2px!important}
  .pfk-site .pfk-head-mobile-search{display:grid!important;place-items:center!important}
  .pfk-site .pfk-head-account{display:none!important}
  .pfk-site .pfk-head-cart,.pfk-site .pfk-head-menu,.pfk-site .pfk-head-mobile-search{width:38px!important;height:38px!important;padding:6px!important}
  .pfk-site .pfk-head-cart>svg,.pfk-site .pfk-head-menu>svg{width:24px!important;height:24px!important}
  .pfk-site .pfk-shop-v7 .pfk-shop-intro__top{gap:4px!important;padding:0 0 9px!important}
  .pfk-site .pfk-shop-v7 h1{font-size:27px!important;line-height:1.04!important}
  .pfk-site .pfk-shop-v7 .pfk-shop-v5__description{max-width:330px!important;font-size:12px!important;line-height:1.45!important}
  .pfk-site .pfk-shop-v7 .pfk-shop-category-rail{gap:7px!important;margin-top:1px!important;padding-top:8px!important;padding-bottom:2px!important}
  .pfk-site .pfk-shop-v7 .pfk-shop-category-rail a{min-height:34px!important;padding-inline:10px!important;font-size:10px!important}
  .pfk-site .pfk-shop-toolbar.pfk-shop-toolbar-v7{margin:10px 0 12px!important}
  .pfk-site .pfk-shop-toolbar-v7 .pfk-shop-toolbar__result strong{font-size:12px!important}
  .pfk-site .pfk-product-card__body{padding:9px!important}
  .pfk-site .pfk-product-card__meta{min-height:15px!important;margin-bottom:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .pfk-site .pfk-product-card__title{min-height:36px!important;margin-bottom:7px!important;font-size:13px!important;line-height:1.28!important}
  .pfk-site .pfk-product-card__actions{margin-top:10px!important}
  .pfk-site .pfk-price,.pfk-site .pfk-product-card ins{font-size:13px!important}
  .pfk-site .pfk-product-card del{font-size:11px!important}
  .pfk-site .pfk-product-archive,.pfk-site .pfk-elementor-product-archive,.pfk-site .pfk-commerce-page,.pfk-site .pfk-account-page,.pfk-site .pfk-content-page{padding-bottom:92px!important}
}
