/* Yogya Fresh — Phase 2A Products Archive */
.yf-shop{background:#fff;color:#17324d;}
.yf-shop-container{width:min(1500px,calc(100% - 48px));margin:0 auto;}
/* v1.0.4 — Shop full-width hero aligned with Home identity */
.yf-shop-hero{
  position:relative;
  min-height:390px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid #dfeaf3;
  background:
    linear-gradient(90deg,rgba(246,251,255,.97) 0%,rgba(246,251,255,.90) 34%,rgba(246,251,255,.42) 61%,rgba(246,251,255,.06) 100%),
    var(--yf-shop-hero-image),
    linear-gradient(90deg,#f3f9ff 0%,#f7fbf4 100%);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.yf-shop-hero__overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.01),rgba(255,255,255,.03));
}
.yf-shop-hero__inner{
  position:relative;
  z-index:2;
  display:block;
  min-height:0;
  padding:0;
}
.yf-shop-hero__copy{
  width:min(720px,62%);
  padding:54px 0;
}
.yf-shop-kicker{
  display:block;
  margin-bottom:10px;
  color:#2e8c20;
  font-size:13px;
  font-weight:800;
}
.yf-shop-hero h1{
  margin:0 0 16px;
  color:#0c447a;
  font-size:48px;
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.03em;
}
.yf-shop-hero p{
  max-width:660px;
  margin:0;
  color:#52697d;
  font-size:15px;
  line-height:1.75;
}
.yf-shop-hero__promise{
  display:inline-flex;
  max-width:none;
  margin-top:22px;
  padding:10px 14px;
  border:1px solid rgba(7,136,216,.20);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#0788d8;
  font-size:11px;
  line-height:1.35;
  font-weight:900;
  text-align:left;
  box-shadow:0 6px 18px rgba(17,66,104,.05);
}







.yf-shop-main{padding:30px 0 54px;}
.yf-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;}
.yf-shop-count{font-size:13px;font-weight:800;color:#52697d;}
.yf-shop-sort{display:flex;align-items:center;gap:10px;margin:0;}
.yf-shop-sort label{font-size:12px;font-weight:800;color:#52697d;}
.yf-shop-sort select,.yf-shop-filter select,.yf-shop-filter input[type="number"]{height:42px;border:1px solid #d5e3ed;border-radius:10px;background:#fff;color:#17324d;padding:0 12px;box-shadow:none;}
.yf-shop-sort select{min-width:220px;}
.yf-shop-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start;}
.yf-shop-filter{position:sticky;top:16px;border:1px solid #dfeaf3;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(17,66,104,.05);padding:20px;}
.yf-filter-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #e6eef4;}
.yf-filter-head strong{color:#0c447a;font-size:15px;}
.yf-filter-head a{color:#0b63b6;font-size:11px;font-weight:800;text-decoration:none;}
.yf-filter-group{margin-bottom:18px;}
.yf-filter-group>label,.yf-filter-label{display:block;margin-bottom:8px;color:#0c447a;font-size:12px;font-weight:800;}
.yf-filter-group select{width:100%;}
.yf-price-range{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center;}
.yf-price-range input{width:100%;min-width:0;}
.yf-price-range span{color:#8aa0b2;font-size:11px;}
.yf-filter-checks{display:grid;gap:10px;}
.yf-filter-checks label{display:flex;align-items:center;gap:8px;margin:0;color:#52697d;font-size:12px;font-weight:700;}
.yf-filter-checks input{width:16px;height:16px;accent-color:#55b62d;}
.yf-filter-submit{width:100%;min-height:44px;border:0;border-radius:10px;background:#0b63b6;color:#fff;font-size:13px;font-weight:800;cursor:pointer;}
.yf-filter-submit:hover{background:#09539a;}
.yf-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.yf-shop-card{overflow:hidden;border:1px solid #dfeaf3;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(17,66,104,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.yf-shop-card:hover{transform:translateY(-2px);border-color:#cbdde9;box-shadow:0 10px 24px rgba(17,66,104,.10);}
.yf-shop-card__image{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f3f7f9;}
.yf-shop-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease;}
.yf-shop-card:hover .yf-shop-card__image img{transform:scale(1.025);}
.yf-shop-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 20px);}
.yf-shop-card__badges span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid #cfe4bd;color:#2e8c20;font-size:9px;font-weight:900;box-shadow:0 3px 8px rgba(17,66,104,.08);}
.yf-shop-card__body{padding:15px;}
.yf-shop-card__category{display:block;margin-bottom:5px;color:#2e8c20;font-size:10px;font-weight:800;}
.yf-shop-card h2{margin:0 0 6px;font-size:15px;line-height:1.25;font-weight:800;}
.yf-shop-card h2 a{color:#0c447a;text-decoration:none;}
.yf-shop-card__weight{margin-bottom:5px;color:#70869a;font-size:11px;}
.yf-shop-card__stock{display:inline-flex;margin-bottom:12px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;}
.yf-shop-card__stock.is-instock{background:#f1faec;color:#2e8c20;}
.yf-shop-card__stock.is-out{background:#fff0f0;color:#b44343;}
.yf-shop-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid #edf3f7;}
.yf-shop-card__price{color:#0c447a;font-size:15px;font-weight:900;}
.yf-shop-card__price del{color:#9aabba;font-size:10px;font-weight:600;}
.yf-shop-card__price ins{text-decoration:none;}
.yf-shop-add{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px!important;border:0!important;border-radius:9px!important;background:#55b62d!important;color:#fff!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;}
.yf-shop-add:hover{background:#3f9e25!important;}
.yf-shop-add.is-disabled{background:#e8eef2!important;color:#607487!important;}
.yf-shop-pagination{margin-top:28px;}
.yf-shop-pagination ul{display:flex;justify-content:center;gap:7px;margin:0;padding:0;list-style:none;}
.yf-shop-pagination a,.yf-shop-pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #d5e3ed;border-radius:9px;background:#fff;color:#0c447a;text-decoration:none;font-size:11px;font-weight:800;}
.yf-shop-pagination .current{background:#0b63b6;border-color:#0b63b6;color:#fff;}
.yf-shop-empty{padding:60px 24px;border:1px dashed #cadce8;border-radius:16px;background:#fbfdff;text-align:center;}
.yf-shop-empty h2{margin:0 0 8px;color:#0c447a;font-size:25px;}
.yf-shop-empty p{margin:0 0 20px;color:#70869a;font-size:13px;}
body.post-type-archive-product .storefront-breadcrumb,body.post-type-archive-product .woocommerce-breadcrumb,body.post-type-archive-product .site-main>header,body.post-type-archive-product .woocommerce-products-header{display:none!important;}
body.post-type-archive-product .content-area,body.post-type-archive-product .site-main{width:100%!important;float:none!important;margin:0!important;padding:0!important;}
@media(max-width:1280px){.yf-shop-container{width:min(1200px,calc(100% - 36px));}.yf-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.yf-shop-layout{grid-template-columns:240px minmax(0,1fr);}}
@media(max-width:900px){.yf-shop-layout{grid-template-columns:1fr;}.yf-shop-filter{position:static;}.yf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.yf-shop-container{width:calc(100% - 24px);}.yf-shop-toolbar{align-items:flex-start;flex-direction:column;}.yf-shop-sort{width:100%;}.yf-shop-sort select{width:100%;min-width:0;}.yf-shop-grid{grid-template-columns:1fr 1fr;gap:10px;}.yf-shop-card__body{padding:12px;}.yf-shop-card h2{font-size:13px;}.yf-shop-card__price{font-size:13px;}.yf-shop-add{padding:0 9px!important;font-size:10px!important;}.yf-price-range{grid-template-columns:1fr auto 1fr;}}


/* v0.9.3 — Phase 2A small fixes only */
.yf-filter-flags,
.yf-shop-filter-flags,
.yf-filter-checkboxes{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.yf-filter-flags label,
.yf-shop-filter-flags label,
.yf-filter-checkboxes label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}
.yf-filter-flags input[type="checkbox"],
.yf-shop-filter-flags input[type="checkbox"],
.yf-filter-checkboxes input[type="checkbox"]{
  margin:0;
}

/* v1.0.4 — Shop hero responsive fallback */
@media(max-width:900px){
  .yf-shop-hero__copy{width:min(680px,74%);}
}
@media(max-width:680px){
  .yf-shop-hero__copy{width:100%;}
  .yf-shop-hero p{max-width:94%;}
}

/* v1.0.6 — Product hero artwork */
.yf-shop-hero--artwork{
  width:100%;
  margin:0;
  padding:0;
  background:#fff;
  overflow:hidden;
}
.yf-shop-hero__artwork{
  display:block;
  width:100%;
  height:auto;
  image-rendering:auto;
}


/* SHOP.1.1 — compact product cards + sharper responsive product images */
@media (min-width: 901px){
  .yf-shop-layout{grid-template-columns:230px minmax(0,1fr);gap:18px;}
  .yf-shop-filter{padding:16px;border-radius:14px;}
  .yf-filter-group{margin-bottom:14px;}
  .yf-shop-grid{
    grid-template-columns:repeat(auto-fill,minmax(185px,210px));
    justify-content:start;
    gap:14px;
  }
}
.yf-shop-card{border-radius:14px;}
.yf-shop-card__image{
  aspect-ratio:4/3;
  min-height:0;
  background:#f6f9fb;
}
.yf-shop-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.yf-shop-card__body{padding:11px 12px 12px;}
.yf-shop-card__category{margin-bottom:3px;font-size:9px;line-height:1.25;}
.yf-shop-card h2{margin-bottom:4px;font-size:13px;line-height:1.25;}
.yf-shop-card__weight{margin-bottom:4px;font-size:10px;line-height:1.35;}
.yf-shop-card__stock{margin-bottom:8px;padding:3px 6px;font-size:8px;}
.yf-shop-card__bottom{gap:8px;padding-top:8px;}
.yf-shop-card__price{font-size:13px;line-height:1.25;}
.yf-shop-card__price del{font-size:9px;}
.yf-shop-add{min-height:32px;padding:0 10px!important;border-radius:8px!important;font-size:10px!important;}
.yf-shop-card__badges{top:7px;left:7px;gap:4px;max-width:calc(100% - 14px);}
.yf-shop-card__badges span{padding:4px 6px;font-size:8px;}

@media(max-width:900px){
  .yf-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
}
@media(max-width:680px){
  .yf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .yf-shop-card__image{aspect-ratio:4/3;}
  .yf-shop-card__body{padding:10px;}
  .yf-shop-card h2{font-size:12px;}
  .yf-shop-card__price{font-size:12px;}
}


/* Phase 3L.3.5 — hard-fix Member price identity on Shop cards.
   The Shop stylesheet is always loaded on product archives, so this rule
   does not depend on the Product Detail pricing stylesheet. */
.yf-shop-card__price .yf-tier-price-wrap--member{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:4px !important;
    width:100% !important;
    max-width:100% !important;
}
.yf-shop-card__price .yf-tier-price-wrap--member .yf-tier-price-main{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    gap:3px 5px !important;
    width:100% !important;
    max-width:100% !important;
}
.yf-shop-card__price .yf-tier-price-wrap--member > .yf-tier-price-badge{
    display:inline-flex !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:max-content !important;
    margin:0 !important;
    align-self:flex-start !important;
    order:2 !important;
}

/* Phase 3L.3.6 — Shop card proportion + price-unit line integrity */
@media (min-width: 901px){
  .yf-shop-grid{
    grid-template-columns:repeat(auto-fill,minmax(220px,235px));
    gap:16px;
  }
}

.yf-shop-card__bottom{
  align-items:flex-end;
}

.yf-shop-card__price{
  flex:1 1 auto;
  min-width:0;
}

.yf-shop-card__price .yf-tier-price-wrap--member .yf-tier-price-main{
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  gap:3px 4px !important;
}

.yf-shop-card__price .yf-tier-price-main del,
.yf-shop-card__price .yf-tier-price-main ins,
.yf-shop-card__price .yf-tier-price-main .yf-price-base-label{
  flex:0 0 auto;
  white-space:nowrap !important;
}

.yf-shop-card__price .yf-price-base-label{
  display:inline !important;
  margin:0 !important;
  font-size:9px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#3f6384 !important;
}

.yf-shop-card__price .yf-tier-price-wrap--member > .yf-tier-price-badge{
  margin-top:2px !important;
}

.yf-shop-add{
  flex:0 0 auto;
}

@media(max-width:900px){
  .yf-shop-card__price .yf-tier-price-wrap--member .yf-tier-price-main{
    flex-wrap:wrap !important;
    white-space:normal !important;
  }
  .yf-shop-card__price .yf-price-base-label{
    white-space:nowrap !important;
  }
}

/* Phase 3L.3.9 — Shop visual reset: only the three requested changes. */
/* 1) Remove the Member text/badge from Shop product cards only. */
.yf-shop-card__price .yf-tier-price-badge,
.yf-shop-card__price .yf-tier-price-wrap--member > .yf-tier-price-badge{
    display:none !important;
}

/* 2) Make availability status easier to read. */
.yf-shop-card__stock{
    font-size:11px !important;
    line-height:1.2 !important;
    padding:4px 8px !important;
    font-weight:900 !important;
}

/* 3) Make product category text easier to read. */
.yf-shop-card__category{
    font-size:11px !important;
    line-height:1.3 !important;
    font-weight:850 !important;
}

@media(max-width:680px){
    .yf-shop-card__stock{font-size:10px !important;}
    .yf-shop-card__category{font-size:10.5px !important;}
}

/* Phase 3L.3.10 — Restore Member label without changing the approved 3L.3.9 card layout. */
.yf-shop-card__price .yf-tier-price-wrap--member{
    display:inline-flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:2px !important;
    width:auto !important;
    max-width:100% !important;
}
.yf-shop-card__price .yf-tier-price-wrap--member > .yf-tier-price-main{
    display:inline-flex !important;
    flex-wrap:nowrap !important;
    align-items:baseline !important;
    gap:3px !important;
    white-space:nowrap !important;
    max-width:100% !important;
}
.yf-shop-card__price .yf-tier-price-wrap--member > .yf-tier-price-main .yf-price-base-label{
    white-space:nowrap !important;
}
.yf-shop-card__price .yf-tier-price-wrap--member > .yf-tier-price-badge{
    display:block !important;
    position:static !important;
    flex:none !important;
    width:auto !important;
    max-width:max-content !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#0c447a !important;
    font-size:8px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
}


/* Layout Phase — Products Hero Slider */
.yf-products-hero-slider .yf-hero-slide--image-only .yf-hero-slide__media img{transform:none!important;object-position:center center!important;}
.yf-products-hero-slider .yf-hero-slide--image-only .yf-hero-slide__shade,.yf-products-hero-slider .yf-hero-slide--image-only .yf-hero-slide__content{display:none!important;}

/* =========================================================
 * YOGYA FRESH — MOBILE SHOP COMPACT 1.0
 * Applies only to Shop / Semua Produk on phones.
 * Desktop/tablet remain unchanged.
 * ========================================================= */
@media screen and (max-width: 767px) {

  /* Hide sorting on mobile. */
  body.post-type-archive-product .yf-shop-toolbar .yf-shop-sort,
  body.woocommerce-shop .yf-shop-toolbar .yf-shop-sort {
    display: none !important;
  }

  /* Keep only product count in toolbar and remove extra vertical space. */
  body.post-type-archive-product .yf-shop-toolbar,
  body.woocommerce-shop .yf-shop-toolbar {
    display: block !important;
    margin-bottom: 8px !important;
  }

  body.post-type-archive-product .yf-shop-count,
  body.woocommerce-shop .yf-shop-count {
    margin: 0 !important;
  }

  /* Hide the whole Filter Produk box on mobile. */
  body.post-type-archive-product .yf-shop-filter,
  body.woocommerce-shop .yf-shop-filter {
    display: none !important;
  }

  /* Results take full width immediately after product count. */
  body.post-type-archive-product .yf-shop-layout,
  body.woocommerce-shop .yf-shop-layout {
    display: block !important;
    grid-template-columns: none !important;
    margin-top: 0 !important;
  }

  body.post-type-archive-product .yf-shop-results,
  body.woocommerce-shop .yf-shop-results {
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 0 !important;
  }

  body.post-type-archive-product .yf-shop-main,
  body.woocommerce-shop .yf-shop-main {
    padding-top: 12px !important;
  }
}

