/* =========================================================
   SITE-02 SHOP ONLY THEME
   메인 / 지역 / SPECIAL 지역 페이지에는 영향 없음
   ========================================================= */

:root{
  --s2-forest:#173a33;
  --s2-forest2:#24594e;
  --s2-deep:#102923;
  --s2-cream:#f7f3ea;
  --s2-paper:#fffdf8;
  --s2-bronze:#b4773d;
  --s2-ink:#25312e;
  --s2-muted:#6b7773;
}

/* =========================================================
   SHOP DETAIL ONLY
   ========================================================= */

body:has(table.course){
  background:
    linear-gradient(180deg,#efe9dd 0,#f9f7f1 420px,#f2f5f1 100%) !important;
  color:var(--s2-ink) !important;
}

body:has(table.course) .top{
  background:var(--s2-deep) !important;
  border:0 !important;
}

body:has(table.course) .brand{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

body:has(table.course) .breadcrumb{
  color:#68766f !important;
}

body:has(table.course) main.wrap{
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body:has(table.course) main.wrap .card{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;

  background:#fffdf9 !important;
  border:1px solid #d9e0da !important;
  border-radius:8px 38px 8px 38px !important;
  padding:26px !important;
  box-shadow:0 22px 55px rgba(19,49,41,.10) !important;
}

body:has(.actions) section:has(table)::before{
  height:310px !important;
  margin:0 0 28px !important;
  border-radius:6px 34px 6px 34px !important;
  border:0 !important;
  box-shadow:none !important;
  filter:saturate(.86) contrast(1.03);
}

body:has(table.course) .shop-name{
  color:var(--s2-deep) !important;
  -webkit-text-fill-color:var(--s2-deep) !important;
  font-size:clamp(34px,5vw,52px) !important;
  letter-spacing:-.055em !important;
}

body:has(table.course) .site-copy-v4{
  background:#edf3ef !important;
  border:0 !important;
  border-left:4px solid var(--s2-bronze) !important;
  border-radius:4px 16px 16px 4px !important;
  color:#53635c !important;
}

body:has(table.course) .area{
  background:#efe5d8 !important;
  color:#694726 !important;
  -webkit-text-fill-color:#694726 !important;
  border-radius:5px 15px 5px 15px !important;
}

body:has(table.course) .shop-intro{
  background:#f7faf7 !important;
  border:1px solid #dce4dd !important;
  border-radius:7px 22px 7px 22px !important;
}

body:has(table.course) .shop-intro h2{
  color:var(--s2-forest) !important;
  -webkit-text-fill-color:var(--s2-forest) !important;
}


/* 코스표 */

body:has(table.course) table.course{
  border-collapse:separate !important;
  border-spacing:0 9px !important;
}

body:has(table.course) table.course tr{
  background:transparent !important;
}

body:has(table.course) table.course th{
  background:var(--s2-forest) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:0 !important;
  border-radius:5px 0 0 16px !important;
}

body:has(table.course) table.course td{
  background:#f5f3ed !important;
  color:#4b5a54 !important;
  -webkit-text-fill-color:#4b5a54 !important;
  border:0 !important;
  border-radius:0 16px 5px 0 !important;
}


/* 본문 전화 / 문자 */

body:has(table.course) main .actions{
  position:static !important;
  transform:none !important;
}

body:has(table.course) main .actions .call{
  background:var(--s2-forest) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-radius:6px 17px 6px 17px !important;
}

body:has(table.course) main .actions .sms{
  background:#e9d7c3 !important;
  color:#51361e !important;
  -webkit-text-fill-color:#51361e !important;
  border:1px solid #d7b993 !important;
  border-radius:6px 17px 6px 17px !important;
}

body:has(table.course) .note{
  background:#edf2ee !important;
  border-radius:5px 16px 5px 16px !important;
  color:#66736d !important;
}


/* =========================================================
   하단 1500~1700자 콘텐츠
   ========================================================= */

body:has(table.course) .shop-extra-guide{
  background:#fffdf9 !important;
  border:0 !important;
  border-top:5px solid var(--s2-forest) !important;
  border-radius:5px 32px 5px 32px !important;
  box-shadow:0 18px 46px rgba(19,49,41,.08) !important;
}

body:has(table.course) .shop-extra-guide-head span{
  background:#e8efe9 !important;
  color:var(--s2-forest) !important;
  -webkit-text-fill-color:var(--s2-forest) !important;
  border-radius:4px 13px 4px 13px !important;
}

body:has(table.course) .shop-extra-guide-head h2{
  color:var(--s2-deep) !important;
  -webkit-text-fill-color:var(--s2-deep) !important;
}

body:has(table.course) .shop-extra-guide p{
  color:#66736d !important;
}

body:has(table.course) .shop-extra-guide-grid article{
  background:#f7f5ef !important;
  border:0 !important;
  border-left:4px solid #c3925e !important;
  border-radius:4px 18px 18px 4px !important;
}

body:has(table.course) .shop-extra-guide-grid article:nth-child(even){
  background:#eef4ef !important;
  border-left-color:var(--s2-forest2) !important;
}

body:has(table.course) .shop-extra-guide-grid h3{
  color:#274a40 !important;
  -webkit-text-fill-color:#274a40 !important;
}

body:has(table.course) .shop-extra-guide-faq{
  background:#e9efea !important;
  border-radius:6px 22px 6px 22px !important;
}

body:has(table.course) .shop-extra-guide-faq summary{
  color:#25463d !important;
  -webkit-text-fill-color:#25463d !important;
}


/* =========================================================
   따라다니는 전화 / 문자
   ========================================================= */

body:has(table.course) .shop-follow-contact{
  background:rgba(250,248,242,.96) !important;
  border:1px solid #cfd9d2 !important;
  border-radius:6px 20px 6px 20px !important;
  box-shadow:0 14px 38px rgba(17,46,38,.20) !important;
}

body:has(table.course) .shop-follow-call{
  background:var(--s2-forest) !important;
  border-radius:5px 15px 5px 15px !important;
}

body:has(table.course) .shop-follow-sms{
  background:#a66d39 !important;
  border-radius:5px 15px 5px 15px !important;
}


@media(max-width:760px){

  body:has(table.course) main.wrap .card{
    padding:18px !important;
    border-radius:6px 24px 6px 24px !important;
  }

  body:has(.actions) section:has(table)::before{
    height:230px !important;
    border-radius:5px 22px 5px 22px !important;
  }

  body:has(table.course) .shop-extra-guide{
    border-radius:5px 22px 5px 22px !important;
  }
}