/* SEWNCAKE V15 — Digital Shop */
.digital-shop-hero .page-copy,.shop-subhero .page-copy{max-width:820px}
.digital-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1000px}
.digital-category-card{position:relative;display:block;min-height:360px;padding:38px;border:1px solid #ddd;border-radius:var(--brand-card-radius,22px);background:var(--brand-card,#fff);color:var(--brand-text,#292929);text-decoration:none;overflow:hidden;transition:.2s ease}
.digital-category-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.08);border-color:var(--brand-teal,#00A6A6)}
.digital-category-card h2{font-family:var(--brand-headline);font-size:clamp(2rem,4vw,3rem);margin:10px 0 16px;line-height:1.05}
.digital-category-card p{font-size:1.04rem;line-height:1.75;max-width:520px}
.category-art{height:105px;display:flex;align-items:center}
.category-art span{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;font-size:2.4rem;background:#e9f8f7;color:var(--brand-teal,#00A6A6);border:2px dashed var(--brand-teal,#00A6A6)}
.downloads-cat .category-art span{background:#fff0f7;color:var(--brand-pink,#F72E91);border-color:var(--brand-pink,#F72E91)}
.category-link{display:inline-block;margin-top:20px;font-family:var(--brand-headline);font-weight:800;color:var(--brand-teal,#00A6A6)}
.downloads-cat .category-link{color:var(--brand-pink,#F72E91)}
.digital-product-grid .cms-card{align-self:start}
.digital-product-grid .cms-actions .btn{background:var(--brand-teal,#00A6A6);border-color:var(--brand-teal,#00A6A6);color:#fff}
.digital-product-grid .cms-actions .btn:hover{background:var(--brand-pink,#F72E91);border-color:var(--brand-pink,#F72E91)}
.digital-back{display:inline-block;margin-top:42px;color:var(--brand-text,#292929);text-decoration:none;font-weight:700}
@media(max-width:760px){.digital-category-grid{grid-template-columns:1fr}.digital-category-card{min-height:0;padding:28px}.category-art{height:88px}}


/* V15.1 — Visual category previews */
.visual-category-card{
  padding:0 !important;
  display:grid !important;
  grid-template-rows:auto 250px;
}
.visual-category-card .category-copy{
  padding:34px 36px 24px;
}
.category-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 2px;
}
.category-chips span{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:var(--brand-soft,#f8f6f1);
  border:1px solid #e4e1dc;
  font-size:.82rem;
  font-weight:700;
  color:var(--brand-muted,#555);
}
.category-preview{
  position:relative;
  overflow:hidden;
  border-top:1px solid #ece9e5;
  background:var(--brand-soft,#f8f6f1);
}
.sewing-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 56%;
  display:block;
}
.downloads-preview{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:10px;
  padding:12px;
  background:#eefafa;
}
.downloads-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:14px;
  background:#fff;
}
.download-preview-main{object-position:center top}
.download-preview-small{object-position:center center}
.preview-caption{
  position:absolute;
  left:16px;
  bottom:14px;
  display:inline-flex;
  max-width:85%;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 5px 14px rgba(0,0,0,.07);
  font-family:var(--brand-headline);
  font-size:.82rem;
  font-weight:800;
  color:var(--brand-text,#292929);
}
@media(max-width:760px){
  .visual-category-card{grid-template-rows:auto 220px}
  .visual-category-card .category-copy{padding:28px 28px 22px}
}

.digital-empty{
  grid-column:1/-1;
  max-width:720px;
  padding:42px;
  border:1px dashed #d9d5cf;
  border-radius:var(--brand-card-radius,22px);
  background:var(--brand-soft,#f8f6f1);
}
.digital-empty h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:.5rem 0 1rem}
.digital-empty p{font-size:1rem;line-height:1.75;color:var(--brand-muted,#555)}


/* =========================================================
   SEWNCAKE V15.2 — Fun, visual Digital Shop pages
   ========================================================= */

/* Bigger, happier shop titles */
.digital-shop-hero h1,
.shop-subhero h1{
  font-size:clamp(3.2rem,7vw,5.8rem) !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  margin:.35rem 0 1.2rem !important;
}
.digital-shop-hero h1 .accent-script,
.shop-subhero h1 .accent-script{
  font-size:1em !important;
  color:var(--brand-pink,#F72E91) !important;
  font-family:var(--brand-accent,Georgia,serif) !important;
  font-style:italic !important;
  font-weight:500 !important;
}
.digital-shop-hero .page-copy,
.shop-subhero .page-copy{
  max-width:960px !important;
}
.digital-shop-hero p,
.shop-subhero p{
  max-width:760px;
  font-size:1.08rem;
  line-height:1.75;
}

/* Visual intros inside category pages */
.shop-visual-intro{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:34px;
  align-items:center;
  margin-top:28px;
  padding:22px;
  border:1px solid #e7e2dc;
  border-radius:var(--brand-card-radius,22px);
  background:var(--brand-card,#fff);
}
.shop-visual-copy{
  padding:18px 20px;
}
.shop-visual-copy h2{
  font-size:clamp(1.7rem,3.5vw,2.6rem);
  line-height:1.08;
  margin:.45rem 0 1rem;
}
.shop-visual-copy p{
  line-height:1.75;
  color:var(--brand-muted,#555);
}
.shop-visual-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.shop-visual-chips span{
  padding:7px 11px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  background:#edf9f8;
  color:var(--brand-teal,#00A6A6);
  border:1px solid #cfeceb;
}
.creative-intro .shop-visual-chips span{
  background:#fff0f7;
  color:var(--brand-pink,#F72E91);
  border-color:#f7cfe2;
}
.shop-preview-collage{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:12px;
  min-height:285px;
}
.shop-preview-collage img{
  width:100%;
  height:100%;
  min-height:285px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid #ece7e2;
  background:var(--brand-soft,#f8f6f1);
}
.pattern-intro .shop-preview-collage img:first-child{
  object-position:center 44%;
}
.pattern-intro .shop-preview-collage img:last-child{
  object-position:center center;
}
.creative-intro .shop-preview-collage img:first-child{
  object-position:center top;
}
.creative-intro .shop-preview-collage img:last-child{
  object-position:center center;
}

/* Add breathing room between intro and products */
.shop-products-section{
  margin-top:42px;
}

/* Pretty empty state */
.digital-empty{
  grid-column:1/-1;
  max-width:760px;
  padding:44px;
  border:1px dashed #d8d2ca;
  border-radius:var(--brand-card-radius,22px);
  background:linear-gradient(135deg,#fffaf7,#f3fbfa);
}
.digital-empty .eyebrow{color:var(--brand-teal,#00A6A6)}
.digital-empty h2{
  font-size:clamp(1.9rem,4vw,2.9rem);
  line-height:1.08;
  margin:.55rem 0 1rem;
}
.digital-empty p{
  font-size:1rem;
  line-height:1.75;
  color:var(--brand-muted,#555);
}

/* Landing category previews — make sure they are unmistakably visual */
.visual-category-card{
  grid-template-rows:auto 270px !important;
}
.category-preview{
  display:block !important;
  min-height:270px !important;
}
.sewing-preview img{
  width:100% !important;
  height:270px !important;
  object-fit:cover !important;
  object-position:center 45% !important;
}
.downloads-preview{
  display:grid !important;
  grid-template-columns:1.25fr .75fr !important;
  min-height:270px !important;
}
.downloads-preview img{
  min-height:245px !important;
}

@media(max-width:820px){
  .shop-visual-intro{grid-template-columns:1fr}
  .shop-preview-collage{min-height:220px}
  .shop-preview-collage img{min-height:220px}
}
@media(max-width:600px){
  .digital-shop-hero h1,.shop-subhero h1{font-size:clamp(2.8rem,14vw,4.2rem) !important}
  .shop-preview-collage{grid-template-columns:1fr 1fr;gap:8px}
  .shop-preview-collage img{min-height:170px}
  .shop-visual-intro{padding:14px}
  .shop-visual-copy{padding:14px}
}
