/* SITE-01 SHOP FINAL FIX */

/* 메인용 .card 절대배치가 SHOP에 침범하지 않게 */
body:has(table.course) main .card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:auto !important;
}

/* 본문 안 전화/문자는 정상 문서 흐름 */
body:has(table.course) main .actions{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;

    z-index:auto !important;

    width:auto !important;
    max-width:none !important;

    margin:24px 0 0 !important;
    padding:0 !important;

    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

body:has(table.course) main .actions a{
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:14px !important;
    text-decoration:none !important;
    font-size:16px !important;
    font-weight:900 !important;
}

body:has(table.course) main .note{
    position:static !important;
    clear:both !important;
    margin-top:18px !important;
}

body:has(table.course) main{
    padding-bottom:50px !important;
}

/* 화면을 따라다니는 별도 문의 버튼 */
body{
    padding-bottom:96px !important;
}

.shop-follow-contact{
    position:fixed;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    z-index:999999;

    width:min(720px,calc(100% - 24px));
    padding:9px;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;

    background:rgba(255,255,255,.96);
    border:1px solid rgba(76,29,149,.16);
    border-radius:18px;
    box-shadow:0 12px 38px rgba(0,0,0,.18);
    backdrop-filter:blur(8px);
}

.shop-follow-contact a{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    text-decoration:none;
    font-size:16px;
    font-weight:900;
}

.shop-follow-call{
    background:var(--shop-follow-call,#7c3aed);
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

.shop-follow-sms{
    background:var(--shop-follow-sms,#4c1d95);
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

@media(max-width:640px){

    body{
        padding-bottom:88px !important;
    }

    body:has(table.course) main .actions{
        grid-template-columns:1fr !important;
    }

    .shop-follow-contact{
        bottom:8px;
        width:calc(100% - 16px);
        padding:7px;
        gap:7px;
    }

    .shop-follow-contact a{
        min-height:50px;
        font-size:15px;
    }
}

/* SHOP EXTRA GUIDE START */

.shop-extra-guide{
  max-width:1120px;
  margin:42px auto 26px;
  padding:32px;
  background:#fff;
  border:1px solid #e7d9f3;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(0,0,0,.045);
}

.shop-extra-guide-head span{
  display:inline-block;
  margin-bottom:11px;
  padding:7px 12px;
  border-radius:999px;
  background:#f1e8ff;
  color:#6d28d9;
  font-size:13px;
  font-weight:900;
}

.shop-extra-guide-head h2{
  margin:0 0 15px;
  font-size:29px;
  line-height:1.4;
  letter-spacing:-.03em;
}

.shop-extra-guide p{
  margin:0;
  color:#665875;
  line-height:1.9;
  word-break:keep-all;
}

.shop-extra-guide-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:26px;
}

.shop-extra-guide-grid article{
  padding:22px;
  border:1px solid #eadff4;
  border-radius:17px;
  background:#fcfaff;
}

.shop-extra-guide-grid h3{
  margin:0 0 11px;
  font-size:18px;
  line-height:1.45;
}

.shop-extra-guide-faq{
  margin-top:18px;
  padding:24px;
  border-radius:18px;
  background:#f6f0ff;
}

.shop-extra-guide-faq h3{
  margin:0 0 10px;
  font-size:19px;
}

.shop-extra-guide-faq details{
  padding:15px 0;
  border-top:1px solid #dfd0ef;
}

.shop-extra-guide-faq details:first-of-type{
  border-top:0;
}

.shop-extra-guide-faq summary{
  cursor:pointer;
  font-weight:900;
}

.shop-extra-guide-faq details p{
  padding-top:9px;
}

@media(max-width:760px){
  .shop-extra-guide{
    margin-top:28px;
    padding:21px;
    border-radius:18px;
  }

  .shop-extra-guide-grid{
    grid-template-columns:1fr;
  }

  .shop-extra-guide-head h2{
    font-size:24px;
  }
}

/* SHOP EXTRA GUIDE END */