.price-top-img {
  max-width: 1400px;
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.image-area {
  margin-bottom: 150px;
}
.price-area {
  margin-bottom: 250px;
}
.wedding-promo {
  margin-top:100px;
}
:root{ --text:#111; --muted:#666; --hair:#e7e7e7; --strong:#000; }
    .wrap{max-width:1400px; margin:0 auto;}

    /* Shared */
    h2{font-family:"Newsreader", serif; font-size:28px; font-weight:800; letter-spacing:.4px; margin:0 0 12px;}
    .under{height:2px; background:#111; margin:10px 0 16px}
    .grid-2{display:grid; gap:48px; grid-template-columns:1fr 1fr; align-items:start}
    @media (max-width:1000px){ .grid-2{grid-template-columns:1fr; gap:36px}}
    .muted{color:var(--muted)}
    .country{font-family:"Newsreader", serif; font-weight:800; font-size:16px; font-style:italic; color:#222; margin:18px 0 8px}

    /* =======================
       Section A: Fabric prices
       ======================= */
    .prices .cols-head{display:grid; grid-template-columns:1fr 120px 120px; gap:16px; align-items:end; color:#333; font-size:13px; padding:6px 0; border-bottom:1px solid var(--hair)}
    .prices .cols-head span{justify-self:end}
    .prices .cols-head .col-name{justify-self:start}
    .prices ul{list-style:none; padding:0; margin:0}
    .prices .row{display:grid; grid-template-columns:1fr 120px 120px; gap:16px; align-items:center; border-bottom:1px solid var(--hair); padding:14px 0}
    .prices .row .name{font-size:15px}
    .prices .row .price{justify-self:end; font-variant-numeric:tabular-nums; font-size:15px}
    .prices .row .price.orig{color:#333; font-weight:500}
    .prices .row .price.sale{color:#000; font-weight:800}

    /* Business package (in prices right column) */
    .prices .package{margin-top:36px}
    .prices .package h3{font-family:"Newsreader", serif; margin:0 0 8px; font-size:18px; font-weight:800}

    /* =======================
       Section B: Wedding + 1+1
       ======================= */
    /* left: wedding */
    .wedding .cols-head{display:grid; grid-template-columns:1fr 120px 120px; gap:16px; align-items:end; font-size:13px; padding:6px 0;border-bottom:1px solid var(--hair);}
    .wedding .cols-head span{justify-self:end}
    .wedding .cols-head .col-name{justify-self:start}
    .wedding .pkg + .pkg{margin-top:20px}
    .wedding .pkg .title{font-family:"Newsreader", serif; font-style:italic; font-weight:700; font-size:18px; margin:18px 0 8px}
    .wedding .pkg .row{display:grid; grid-template-columns:1fr 120px 120px; gap:16px; align-items:center; border-bottom:1px solid var(--hair); padding:14px 0}
    .wedding .price{justify-self:end; font-variant-numeric:tabular-nums}
    .wedding .price.orig{font-weight:500; color:#333}
    .wedding .price.sale{font-weight:800; color:#000}

    /* right: promotion */
    .promotion .cols-head{display:grid; grid-template-columns:1fr 120px 180px; gap:16px; align-items:end; font-size:13px; padding:6px 0;border-bottom:1px solid var(--hair);}
    .promotion .cols-head span{justify-self:end}
    .promotion .cols-head .col-name{justify-self:start}
    .promotion ul{list-style:none; padding:0; margin:0}
    .promotion .row{display:grid; grid-template-columns:1fr 120px 180px; gap:16px; align-items:center; border-bottom:1px solid var(--hair); padding:14px 0}
    .promotion .row .name{font-size:15px}
    .promotion .first{justify-self:end; font-variant-numeric:tabular-nums}
    .promotion .second{justify-self:end; font-variant-numeric:tabular-nums; font-weight:800}
    .promotion .second small{font-weight:700; color:#777; margin-left:6px}

    /* Print */
    @media print{
      @page{margin:12mm}
      body{padding:0}
      .grid-2{gap:28px}
      h2{margin-bottom:8px}
    }

    /* 모바일에서 이름 1행, 가격 2칸이 그 아래 1행 */
/* 모바일: 이름은 1행 전체, 가격은 헤더와 같은 열(정상가=2열, 할인가=3열) */
@media (max-width: 768px) {
.price-area {
  padding: 0 20px;
  margin-bottom: 150px;
}
.image-area {

}
h2 {
  font-size: 16px;
}
.wedding-promo {
  margin-top:0px;
}
  /* ===== A. Fabric / 왼 1fr, 오른 120px+120px ===== */
  .prices .row{
    grid-template-columns: 1fr 120px 120px;
    gap: 10px 12px;
    align-items: start;
    padding: 12px 0;
  }
  .prices .row .name{ grid-column: 1 / 4; font-size: 13px; }     /* 3열 모두 차지 */
  .prices .row .price.orig{ grid-column: 2; justify-self: end;font-size: 13px; }
  .prices .row .price.sale{ grid-column: 3; justify-self: end; font-weight: 800; font-size: 13px;}

  /* ===== B-1. Wedding package / 동일 폭 ===== */
  .wedding .pkg .row{
    grid-template-columns: 1fr 120px 120px;
    gap: 10px 12px;
    align-items: start;
    padding: 12px 0;
  }
  .wedding .pkg .row > :first-child{ grid-column: 1 / 4; font-size: 13px;} /* 설명 텍스트 */
  .wedding .pkg .row .price.orig{ grid-column: 2; justify-self: end; font-size: 13px;}
  .wedding .pkg .row .price.sale{ grid-column: 3; justify-self: end; font-weight: 800; font-size: 13px;}

  /* ===== B-2. 1+1 프로모션 / 오른쪽 폭만 180px ===== */
  .promotion .row{
    grid-template-columns: 1fr 120px 180px;
    gap: 10px 12px;
    align-items: start;
    padding: 12px 0;
  }
  .promotion .row .name{ grid-column: 1 / 4; font-size: 13px;}
  .promotion .row .first{ grid-column: 2; justify-self: end; font-size: 13px;}   /* 1벌 */
  .promotion .row .second{ grid-column: 3; justify-self: end; font-size: 13px;}  /* 2벌(정상가) */
}

