/* SOY pricing cards v3 — visual treatment only. Existing service copy/prices stay untouched. */
.service-card.plan-basic{--plan-accent:#d67632;--plan-border:#efc29e;--plan-bg:#fffaf5;--plan-soft:#fff0e3}
.service-card.plan-standard{--plan-accent:#3d925b;--plan-border:#b7d7be;--plan-bg:#f8fcf7;--plan-soft:#e8f5e9}
.service-card.plan-premium{--plan-accent:#2e75bd;--plan-border:#b9d4ee;--plan-bg:#f7fbff;--plan-soft:#e7f2fc}

.service-card.plan-basic,.service-card.plan-standard,.service-card.plan-premium{
 position:relative;border:1.5px solid var(--plan-border);border-radius:22px;background:var(--plan-bg);
 box-shadow:0 10px 28px rgba(52,43,36,.055);overflow:hidden
}
.service-card.plan-standard{box-shadow:0 12px 30px rgba(61,146,91,.10)}
.service-card .plan-heading{align-items:flex-start}
.service-card .plan-title{min-width:0;display:flex;align-items:center;gap:14px}
.service-card .plan-mark{
 flex:0 0 auto;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;
 background:var(--plan-soft);color:var(--plan-accent)
}
.service-card .plan-mark svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-card .plan-title h3{margin:0;color:#17324a}
.service-card .plan-time{color:var(--plan-accent);font-weight:700}
.service-card.plan-standard .recommend-badge{
 border:0;background:var(--plan-accent);color:#fff;padding:5px 10px;border-radius:999px;box-shadow:none
}
.service-card .price{margin-top:22px}
.service-card .price strong,.service-card .boarding-prices strong{color:#172d3f}
.service-card .plan-description{color:#253d4e;font-weight:750}
.service-card .plan-subcopy{color:#667681;line-height:1.72}
.visit-cards .service-card .plan-subcopy{
 margin-top:14px;padding:14px 0 0 31px;border-top:0;position:relative
}
.visit-cards .service-card .plan-subcopy::before{
 content:"✓";position:absolute;left:0;top:13px;width:20px;height:20px;display:grid;place-items:center;
 border-radius:50%;background:transparent;color:var(--plan-accent);font-size:19px;font-weight:900
}
.service-card.plan-basic .service-more,.service-card.plan-standard .service-more,.service-card.plan-premium .service-more{
 width:100%;min-height:50px;margin-top:22px;padding:11px 18px;display:flex;align-items:center;justify-content:center;gap:13px;
 border:1.6px solid var(--plan-accent);border-radius:999px;background:#fff;color:var(--plan-accent);
 font-weight:850;text-decoration:none;box-shadow:none;box-sizing:border-box
}
.service-card .service-more span{font-size:20px;line-height:1;color:inherit}
@media(hover:hover){
 .service-card.plan-basic,.service-card.plan-standard,.service-card.plan-premium{transition:transform .18s ease,box-shadow .18s ease}
 .service-card.plan-basic:hover,.service-card.plan-standard:hover,.service-card.plan-premium:hover{transform:translateY(-2px);box-shadow:0 15px 36px rgba(52,43,36,.10)}
 .service-card.plan-basic .service-more:hover,.service-card.plan-standard .service-more:hover,.service-card.plan-premium .service-more:hover{background:var(--plan-soft)}
}

@media(max-width:760px){
 .service-card.plan-basic,.service-card.plan-standard,.service-card.plan-premium{padding:22px 20px;border-radius:20px}
 .service-card .plan-mark{width:54px;height:54px}
 .service-card .plan-mark svg{width:35px;height:35px}
 .service-card .price{margin-top:18px}
 .service-card .service-more{margin-top:18px}
}

/* Match the opened service detail to its originating tier without changing any words. */
#dialog-visit-basic{--detail-accent:#d67632;--detail-soft:#fff0e3;--detail-border:#efc29e}
#dialog-visit-standard{--detail-accent:#3d925b;--detail-soft:#e8f5e9;--detail-border:#b7d7be}
#dialog-visit-premium{--detail-accent:#2e75bd;--detail-soft:#e7f2fc;--detail-border:#b9d4ee}
.service-native-dialog{
 border-top:4px solid var(--detail-accent)!important;background:#fffdf9!important
}
.service-native-dialog .drawer-kicker{color:var(--detail-accent);font-weight:850}
.service-native-dialog .drawer-price{color:var(--detail-accent)}
.service-native-dialog .drawer-fit{
 border:1px solid var(--detail-border);background:var(--detail-soft);border-radius:15px
}
.service-native-dialog .drawer-fit span{color:var(--detail-accent)}
.service-native-dialog .drawer-list li::marker{color:var(--detail-accent)}
.service-native-dialog .drawer-list li{border-bottom-color:color-mix(in srgb,var(--detail-border) 55%,transparent)}
.service-native-dialog .drawer-note{border-color:var(--detail-border);background:var(--detail-soft)}
.service-native-dialog .native-dialog-close{
 outline:none!important;box-shadow:none!important;border:0!important;background:transparent!important;color:#68757b!important
}
.service-native-dialog .native-dialog-close:focus{outline:none!important;box-shadow:none!important}
.service-native-dialog .native-dialog-close:focus-visible{
 outline:2px solid color-mix(in srgb,var(--detail-accent) 38%,transparent)!important;
 outline-offset:2px!important
}


/* Pricing v4 — match the approved reference's spacing and hierarchy. */
.visit-cards .service-card{
  display:flex;
  flex-direction:column;
  min-height:500px;
}
.visit-cards .service-card .plan-heading{flex:0 0 auto}
.visit-cards .service-card .plan-copy{flex:0 0 auto}
.visit-cards .service-card .price{
  order:3;
  margin-top:auto;
  margin-bottom:4px;
  padding-top:22px;
}
.visit-cards .service-card .price strong{font-size:34px;line-height:1}
.visit-cards .service-card .price small{font-size:13px}
.visit-cards .service-card .plan-copy{order:2}
.visit-cards .service-card .service-more{order:4}
.visit-cards .service-card .plan-heading{order:1}
.visit-cards .service-card .plan-description{font-size:15px;line-height:1.55}
.visit-cards .service-card .plan-subcopy{
  padding:0 0 0 30px;
  margin:22px 0 0;
  border:0;
  font-size:14px;
  line-height:1.6;
  position:relative;
}
.visit-cards .service-card .plan-subcopy::before{top:0}
.plan-features{
  list-style:none;
  margin:9px 0 0;
  padding:0;
  display:grid;
  gap:8px;
  color:#526772;
  font-size:14px;
  line-height:1.55;
}
.plan-features li{position:relative;padding-left:30px}
.plan-features li::before{
  content:"✓";position:absolute;left:0;top:-1px;color:var(--plan-accent);
  font-size:19px;font-weight:900
}
.visit-cards .service-card .service-more{
  min-height:52px;
  margin-top:18px;
  background:transparent;
  font-size:15px;
  letter-spacing:-.1px;
}
@media(max-width:760px){
  .visit-cards .service-card{min-height:390px}
  .visit-cards .service-card .price strong{font-size:31px}
  .visit-cards .service-card .plan-description{font-size:14px}
  .visit-cards .service-card .plan-subcopy,.plan-features{font-size:13.5px}
}

/* Detail panel v4 — same visual language as its pricing card. */
.service-native-dialog{
  border-top:0!important;
  background:var(--detail-bg,#fffdf9)!important;
}
#dialog-visit-basic{--detail-bg:#fffaf5}
#dialog-visit-standard{--detail-bg:#f8fcf7}
#dialog-visit-premium{--detail-bg:#f7fbff}
.service-native-dialog .native-dialog-scroll{padding-top:58px}
.service-native-dialog .drawer-kicker{
  display:inline-flex;padding:5px 10px;border-radius:999px;
  background:var(--detail-soft);color:var(--detail-accent);font-size:13px
}
.service-native-dialog .drawer-heading{
  margin-top:16px;padding-bottom:20px;border-bottom:1px solid var(--detail-border)
}
.service-native-dialog .drawer-heading h2{color:#17324a}
.service-native-dialog .drawer-lead{margin-top:20px;color:#50636e}
.service-native-dialog .drawer-fit{
  margin-top:18px;padding:16px 17px;border:1px solid var(--detail-border);
  background:var(--detail-soft);border-radius:16px
}
.service-native-dialog h3{margin-top:25px;color:#17324a}
.service-native-dialog .drawer-list{
  list-style:none;margin:12px 0 0;padding:0
}
.service-native-dialog .drawer-list li{
  position:relative;padding:12px 4px 12px 31px;border-bottom:1px solid var(--detail-border)
}
.service-native-dialog .drawer-list li::before{
  content:"✓";position:absolute;left:4px;top:10px;color:var(--detail-accent);font-size:19px;font-weight:900
}


/* Pricing v5 — reference-like white inner cards on a warm section background. */
#services.tinted{background:#fbf6ef}
.visit-cards .service-card{
  background:#fff!important;
  border-color:var(--plan-border);
  box-shadow:0 9px 26px rgba(57,45,37,.055);
}
.visit-cards .service-card>*{position:relative;z-index:1}
.visit-cards .service-card .price{text-align:center}
.visit-cards .service-card .price strong{font-size:32px;color:#172d3f}
.visit-cards .service-card .price small{font-size:13px;color:#52636d}
.visit-cards .service-card .plan-description{font-size:14px}
.visit-cards .service-card .plan-subcopy,.visit-cards .service-card .plan-features{font-size:13.5px}
.visit-cards .service-card .service-more{background:#fff}

/* Larger reference-style line icons. */
.visit-cards .service-card .plan-mark{width:64px;height:64px}
.visit-cards .service-card .plan-mark svg{width:42px;height:42px;stroke-width:1.9}

/* Detail panel inherits the same tier icon language. */
.detail-plan-icon{
  width:64px;height:64px;margin:0 0 12px;border-radius:50%;
  background:var(--detail-soft);position:relative
}
.detail-plan-icon::after{
  content:"";position:absolute;inset:13px;background:center/contain no-repeat;
}

/* Pricing v6 — exact icon crops + strict white card interiors. */
#services.tinted{
  background:#fbf6ef!important;
}
.visit-cards .service-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:500px!important;
  background:#fff!important;
  border:1.5px solid var(--plan-border)!important;
  box-shadow:0 9px 26px rgba(57,45,37,.055)!important;
}
.visit-cards .service-card::before{
  content:none!important;
  display:none!important;
  box-shadow:none!important;
  background:none!important;
}
.visit-cards .service-card>*{position:relative;z-index:1}
.visit-cards .service-card .plan-heading{order:1;align-items:flex-start}
.visit-cards .service-card .plan-copy{
  order:2;
  min-height:0!important;
  margin-top:18px;
}
.visit-cards .service-card .price{
  order:3;
  width:100%;
  margin:auto 0 4px!important;
  padding-top:24px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:3px;
  text-align:center!important;
  line-height:1;
}
.visit-cards .service-card .price strong{
  font-size:32px!important;
  line-height:1;
  color:#172d3f;
}
.visit-cards .service-card .price small{
  display:inline!important;
  margin:0!important;
  font-size:13px!important;
  color:#52636d;
}
.visit-cards .service-card .service-more{
  order:4;
  width:100%;
  min-height:50px;
  margin-top:18px!important;
  background:#fff!important;
}
.visit-cards .service-card .plan-description{
  margin:0!important;
  color:#455965;
  font-size:14px!important;
  line-height:1.6!important;
  font-weight:650;
}
.visit-cards .service-card .plan-subcopy{display:none!important}
.visit-cards .service-card .plan-features{
  list-style:none;
  margin:18px 0 0!important;
  padding:0!important;
  display:grid;
  gap:9px;
  color:#4e626d;
  font-size:13.5px!important;
  line-height:1.5!important;
  border:0!important;
}
.visit-cards .service-card .plan-features li{
  position:relative;
  margin:0!important;
  padding:0 0 0 27px!important;
}
.visit-cards .service-card .plan-features li::before{
  content:"✓"!important;
  position:absolute;
  left:0;
  top:-1px;
  margin:0!important;
  color:var(--plan-accent)!important;
  font-size:18px;
  line-height:1.35;
  font-weight:900;
}
.visit-cards .service-card .plan-title{gap:13px}

/* Detail sheet/sidebar uses the same exact source pixels, not redrawn SVGs. */
.service-native-dialog .detail-plan-icon{
  width:72px!important;
  height:72px!important;
  border-radius:50%!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
  background-color:transparent!important;
  image-rendering:auto;
}
.service-native-dialog .detail-plan-icon::after{content:none!important;display:none!important}

@media(max-width:760px){
  .visit-cards .service-card{
    min-height:0!important;
    padding:20px!important;
  }
  .visit-cards .service-card .plan-copy{margin-top:14px}
  .visit-cards .service-card .plan-features{
    margin-top:14px!important;
    gap:7px;
    font-size:13px!important;
  }
  .visit-cards .service-card .price{
    margin:20px 0 2px!important;
    padding-top:0;
  }
  .visit-cards .service-card .price strong{font-size:30px!important}
  .visit-cards .service-card .service-more{margin-top:15px!important}
  .service-native-dialog .detail-plan-icon{
    width:64px!important;
    height:64px!important;
  }
}


/* Pricing v7 — user-supplied original PNG icons. */
.service-card .plan-mark.plan-mark-image{
  flex:0 0 72px!important;
  width:72px!important;
  height:72px!important;
  display:block!important;
  padding:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:inherit!important;
  overflow:hidden;
  image-rendering:auto;
}
.service-card .plan-mark.plan-mark-image img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  transform:scale(1.26);
  transform-origin:center;
  image-rendering:auto;
}
.service-card .plan-mark.plan-mark-image svg{display:none!important}

/* Detail sheets use the exact same uploaded plan icons. */
.service-native-dialog .detail-plan-icon{
  overflow:hidden;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:126% 126%!important;
}
.service-native-dialog .detail-basic{
  background-image:url("media/신규 아이콘 (베이직 요금제).png")!important;
}
.service-native-dialog .detail-standard{
  background-image:url("media/신규 아이콘(스탠다드 요금제).png")!important;
}
.service-native-dialog .detail-premium{
  background-image:url("media/신규 아이콘(전문케어 요금제).png")!important;
}

@media(max-width:760px){
  .service-card .plan-mark.plan-mark-image{
    flex-basis:64px!important;
    width:64px!important;
    height:64px!important;
  }
}


/* Copy typography restore v10 — match approved pre-icon version, text only. */
.visit-cards .service-card .plan-copy{
  min-height:116px!important;
}
.visit-cards .service-card .plan-description{
  margin:0 0 8px!important;
  font-size:16.5px!important;
  line-height:1.72!important;
  font-weight:620!important;
  color:#263d50!important;
}
.visit-cards .service-card .plan-subcopy{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  font-size:15.5px!important;
  line-height:1.72!important;
  font-weight:400!important;
  color:#5a6770!important;
}
.visit-cards .service-card .plan-subcopy::before{
  content:none!important;
  display:none!important;
}

/* Restore the approved detail-copy typography without touching panel colors, icons or backgrounds. */
.service-native-dialog .drawer-kicker{
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  margin-bottom:10px!important;
}
.service-native-dialog .drawer-heading{
  margin-bottom:12px!important;
}
.service-native-dialog .drawer-heading h2{
  font-size:32px!important;
  line-height:1.35!important;
  margin:0!important;
}
.service-native-dialog .drawer-price{
  font-size:25px!important;
  line-height:1.35!important;
}
.service-native-dialog .drawer-lead{
  font-size:17px!important;
  line-height:1.8!important;
  font-weight:400!important;
  margin:0 0 22px!important;
}
.service-native-dialog .drawer-fit span{
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:800!important;
  margin-bottom:4px!important;
}
.service-native-dialog .drawer-fit b{
  font-size:16px!important;
  line-height:1.65!important;
}
.service-native-dialog h3{
  font-size:19px!important;
  line-height:1.5!important;
  margin:0 0 12px!important;
}
.service-native-dialog .drawer-list li{
  font-size:16px!important;
  line-height:1.65!important;
}
.service-native-dialog .drawer-note b{
  font-size:16px!important;
}
.service-native-dialog .drawer-note p{
  font-size:15px!important;
  line-height:1.75!important;
  margin:6px 0 0!important;
}

@media(max-width:760px){
  .visit-cards .service-card .plan-copy{min-height:0!important}
  .visit-cards .service-card .plan-description{font-size:16px!important}
  .visit-cards .service-card .plan-subcopy{font-size:15px!important}
  .service-native-dialog .drawer-heading h2{font-size:28px!important}
  .service-native-dialog .drawer-price{font-size:23px!important}
}


/* Pricing content + recommendation v12 */
/* Compact checklist derived from the live service guide. */
.visit-cards .service-card .plan-highlights{
  list-style:none!important;
  margin:18px 0 0!important;
  padding:14px 0 0!important;
  border:0!important;
  border-top:1px solid rgba(92,111,103,.12)!important;
  display:grid!important;
  gap:7px!important;
  flex:0 0 auto!important;
  color:#53656e!important;
  font-size:13.5px!important;
  line-height:1.5!important;
}
.visit-cards .service-card .plan-highlights li{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 23px!important;
}
.visit-cards .service-card .plan-highlights li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:-1px!important;
  margin:0!important;
  color:var(--plan-accent)!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:850!important;
}

