/* ASN Academy Shop Lock 06 */
.asn-shop-page { background: var(--asn-surface); }
.asn-shop-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 7vw, 110px) 0;
  background:
    radial-gradient(circle at 78% 20%, rgba(214,168,43,.20), transparent 24rem),
    linear-gradient(135deg, #0d4129 0%, #155b3a 56%, #1f7350 100%);
  color: #fff;
}
.asn-shop-hero::after {
  content: "";
  position: absolute;
  inset: auto -120px -220px auto;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 160px rgba(255,255,255,.018);
}
.asn-shop-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr); gap:clamp(40px,7vw,90px); align-items:center; position:relative; z-index:1; }
.asn-shop-hero__copy h1 { margin:14px 0 18px; max-width:760px; color:#fff; font-size:clamp(2.5rem,5vw,5.1rem); line-height:.98; letter-spacing:-.045em; }
.asn-shop-hero__copy > p { max-width:720px; margin:0; color:rgba(255,255,255,.82); font-size:clamp(1.02rem,1.5vw,1.22rem); }
.asn-shop-hero .asn-eyebrow { display:inline-flex; padding:8px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff1b7; background:rgba(255,255,255,.06); font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.asn-shop-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.asn-shop-hero .asn-btn--ghost { border-color:rgba(255,255,255,.35); color:#fff; background:rgba(255,255,255,.06); }
.asn-shop-hero .asn-btn--ghost:hover { background:#fff; color:var(--asn-brand-strong); }
.asn-shop-hero__trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:26px; font-size:.87rem; color:rgba(255,255,255,.78); }
.asn-shop-hero__trust span { display:inline-flex; align-items:center; gap:7px; }
.asn-shop-hero__trust .asn-icon { width:17px; height:17px; color:#f4d66c; }
.asn-shop-hero__panel { position:relative; min-height:430px; border:1px solid rgba(255,255,255,.15); border-radius:30px; background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05)); backdrop-filter:blur(10px); box-shadow:0 30px 80px rgba(0,0,0,.22); padding:28px; }
.asn-shop-hero__badge { display:inline-flex; align-items:center; gap:8px; padding:8px 11px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); border-radius:999px; font-size:.8rem; font-weight:800; }
.asn-shop-hero__badge .asn-icon { width:17px; }
.asn-shop-hero__mock-card { position:absolute; display:grid; grid-template-columns:auto 1fr; column-gap:13px; align-items:center; width:min(82%,360px); padding:17px; border-radius:18px; color:var(--asn-ink); background:#fff; box-shadow:0 20px 46px rgba(0,0,0,.17); }
.asn-shop-hero__mock-card strong,.asn-shop-hero__mock-card small { grid-column:2; }
.asn-shop-hero__mock-card strong { font-size:.96rem; }
.asn-shop-hero__mock-card small { margin-top:2px; color:var(--asn-muted); line-height:1.45; }
.asn-shop-hero__mock-icon { grid-row:1/3; width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:var(--asn-brand-soft); color:var(--asn-brand); }
.asn-shop-hero__mock-icon .asn-icon { width:22px; }
.asn-shop-hero__mock-card--one { top:95px; left:-20px; transform:rotate(-2deg); }
.asn-shop-hero__mock-card--two { top:215px; right:-14px; transform:rotate(2deg); }
.asn-shop-hero__mock-card--three { bottom:25px; left:18px; }

.asn-shop-categories { padding:72px 0 36px; background:#fff; }
.asn-shop-categories__head,.asn-shop-catalogue__intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.asn-shop-categories__head h2,.asn-shop-catalogue__intro h2 { margin:5px 0 0; font-size:clamp(1.8rem,3vw,2.65rem); letter-spacing:-.035em; }
.asn-section-kicker { color:var(--asn-brand); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.asn-text-link { display:inline-flex; gap:8px; align-items:center; font-weight:800; }
.asn-text-link .asn-icon { width:17px; }
.asn-shop-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.asn-shop-category-card { position:relative; display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:14px; padding:13px; border:1px solid var(--asn-border); border-radius:18px; background:#fff; color:var(--asn-ink); transition:transform var(--asn-transition),box-shadow var(--asn-transition),border-color var(--asn-transition); }
.asn-shop-category-card:hover { transform:translateY(-3px); border-color:#c8ded1; box-shadow:var(--asn-shadow-sm); color:var(--asn-ink); }
.asn-shop-category-card__visual { width:62px; height:62px; display:grid; place-items:center; background:linear-gradient(145deg,var(--asn-brand-soft),#fff7da); background-size:cover; background-position:center; border-radius:14px; color:var(--asn-brand); }
.asn-shop-category-card__visual .asn-icon { width:25px; }
.asn-shop-category-card__body { min-width:0; display:flex; flex-direction:column; }
.asn-shop-category-card__body strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.asn-shop-category-card__body small { color:var(--asn-muted); margin-top:2px; }
.asn-shop-category-card__arrow { width:17px; color:var(--asn-brand); }

.asn-shop-catalogue { padding:52px 0 88px; background:var(--asn-surface-alt); }
.asn-shop-catalogue__intro p,.asn-shop-term-description { max-width:700px; margin:10px 0 0; color:var(--asn-muted); }
.asn-shop-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 0 24px; padding:14px 16px; border:1px solid var(--asn-border); background:#fff; border-radius:14px; }
.asn-shop-toolbar p { margin:0; }
.asn-shop-toolbar select { min-height:42px; padding:0 38px 0 12px; border:1px solid var(--asn-border); border-radius:10px; background:#fff; color:var(--asn-ink); }

.asn-shop-page ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:0 !important; padding:0 !important; }
.asn-shop-page ul.products::before,.asn-shop-page ul.products::after { display:none !important; }
.asn-shop-page ul.products li.product.asn-product-card { float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
.asn-product-card__inner { height:100%; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--asn-border); border-radius:20px; background:#fff; box-shadow:0 5px 18px rgba(16,24,40,.035); transition:transform var(--asn-transition),box-shadow var(--asn-transition),border-color var(--asn-transition); }
.asn-product-card__inner:hover { transform:translateY(-5px); border-color:#cbded2; box-shadow:var(--asn-shadow); }
.asn-product-card__media { position:relative; display:block; aspect-ratio:4/4.25; overflow:hidden; background:#edf1ef; }
.asn-product-card__media img { width:100% !important; height:100% !important; margin:0 !important; object-fit:cover; transition:transform .35s ease; }
.asn-product-card__inner:hover .asn-product-card__media img { transform:scale(1.035); }
.asn-product-badge { position:absolute; z-index:2; top:14px; left:14px; padding:6px 9px; border-radius:999px; background:#fff; color:var(--asn-brand); font-size:.7rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; box-shadow:0 4px 12px rgba(0,0,0,.1); }
.asn-product-badge--sale { background:var(--asn-accent-soft); color:#7a5700; }
.asn-product-card__content { display:flex; flex-direction:column; flex:1; padding:18px; }
.asn-product-card__meta { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--asn-muted); font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.asn-product-card__meta span { display:inline-flex; align-items:center; gap:5px; }
.asn-product-card__meta .asn-icon { width:13px; }
.asn-product-card__title { margin:9px 0 8px !important; padding:0 !important; font-size:1.06rem !important; line-height:1.35 !important; font-weight:800 !important; }
.asn-product-card__title a { color:var(--asn-ink); }
.asn-product-card__title a:hover { color:var(--asn-brand); }
.asn-product-card__excerpt { margin:0 0 14px; color:var(--asn-muted); font-size:.88rem; line-height:1.55; }
.asn-product-card__bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding-top:13px; border-top:1px solid #eef0ef; }
.asn-product-card__price { color:var(--asn-brand-strong); font-size:1.04rem; font-weight:900; }
.asn-product-card__price del { opacity:.45; font-size:.82rem; }
.asn-product-card__price ins { text-decoration:none; }
.asn-product-card__view { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--asn-brand-soft); color:var(--asn-brand); }
.asn-product-card__view .asn-icon { width:16px; }
.asn-product-card__action { margin-top:12px; }
.asn-product-card__action .button,.asn-product-card__action .added_to_cart { width:100%; min-height:42px; display:inline-flex !important; align-items:center; justify-content:center; margin:0 !important; padding:10px 14px !important; border-radius:10px !important; background:var(--asn-brand) !important; color:#fff !important; font-size:.83rem !important; font-weight:800 !important; text-align:center; }
.asn-product-card__action .button:hover { background:var(--asn-brand-strong) !important; }

.asn-shop-pagination { margin-top:38px; }
.asn-shop-pagination .page-numbers { display:flex; justify-content:center; gap:7px; padding:0; border:0 !important; }
.asn-shop-pagination .page-numbers li { border:0 !important; }
.asn-shop-pagination .page-numbers a,.asn-shop-pagination .page-numbers span { min-width:40px; min-height:40px; display:grid; place-items:center; border:1px solid var(--asn-border) !important; border-radius:10px; background:#fff; color:var(--asn-ink); }
.asn-shop-pagination .page-numbers .current { background:var(--asn-brand); color:#fff; border-color:var(--asn-brand) !important; }
.asn-shop-empty { padding:60px 24px; text-align:center; border:1px dashed #cad7d0; border-radius:22px; background:#fff; }
.asn-shop-empty__icon { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 18px; border-radius:18px; color:var(--asn-brand); background:var(--asn-brand-soft); }
.asn-shop-empty__icon .asn-icon { width:30px; }
.asn-shop-empty h3 { margin:0 0 8px; font-size:1.45rem; }
.asn-shop-empty p { max-width:570px; margin:0 auto 20px; color:var(--asn-muted); }

.asn-shop-service-strip { padding:48px 0; background:#0f241b; color:#fff; }
.asn-shop-service-strip__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.asn-shop-service-item { display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:start; }
.asn-shop-service-item > span { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.06); color:#f2cf61; }
.asn-shop-service-item .asn-icon { width:22px; }
.asn-shop-service-item strong,.asn-shop-service-item small { display:block; }
.asn-shop-service-item small { margin-top:3px; color:rgba(255,255,255,.65); line-height:1.5; }

@media (max-width:1100px) {
  .asn-shop-hero__grid { grid-template-columns:1fr .75fr; gap:38px; }
  .asn-shop-category-grid,.asn-shop-page ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .asn-shop-hero__grid { grid-template-columns:1fr; }
  .asn-shop-hero__panel { min-height:350px; max-width:620px; width:100%; }
  .asn-shop-category-grid,.asn-shop-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .asn-shop-service-strip__grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .asn-shop-hero { padding:54px 0 62px; }
  .asn-shop-hero__copy h1 { font-size:clamp(2.35rem,14vw,3.5rem); }
  .asn-shop-hero__actions .asn-btn { width:100%; justify-content:center; }
  .asn-shop-hero__trust { display:grid; gap:9px; }
  .asn-shop-hero__panel { min-height:380px; padding:20px; }
  .asn-shop-hero__mock-card { width:88%; }
  .asn-shop-hero__mock-card--one { left:0; }
  .asn-shop-hero__mock-card--two { right:0; }
  .asn-shop-categories__head,.asn-shop-catalogue__intro,.asn-shop-toolbar { align-items:flex-start; flex-direction:column; }
  .asn-shop-category-grid,.asn-shop-page ul.products { grid-template-columns:1fr; }
  .asn-product-card__media { aspect-ratio:4/3.4; }
}
