/* templates/blocks/pricing-table/style.css
 * v2.0.0 — Membership Pricing / Direct Checkout
 * Desktop + Tablet + Mobile parity via CSS variables.
 */
.pf-pt,
.pf-pt *,
.pf-pt *::before,
.pf-pt *::after{box-sizing:border-box}

.pf-pt{
  display:block!important;
  visibility:visible!important;
  width:100%;
  max-width:var(--pt-max-width,1320px);
  margin:var(--pt-margin,0 auto);
  padding:var(--pt-padding,20px 0);
  text-align:var(--pt-align,center);
  background:var(--pt-wrapper-bg,transparent);
  border-width:var(--pt-wrapper-border-width,0);
  border-style:var(--pt-wrapper-border-style,solid);
  border-color:var(--pt-wrapper-border-color,transparent);
  border-radius:var(--pt-wrapper-radius,0);
}

.pf-pt__header{margin:0 0 30px;text-align:var(--pt-align,center)}
.pf-pt__title{
  margin:0 0 10px;
  color:var(--pt-title-color,#0f172a);
  font-family:var(--pt-title-font,inherit);
  font-size:var(--pt-title-size,38px);
  font-weight:var(--pt-title-weight,800);
  font-style:var(--pt-title-style,normal);
  line-height:var(--pt-title-lh,1.15);
  letter-spacing:var(--pt-title-ls,0);
  text-transform:var(--pt-title-tr,none);
}
.pf-pt__subtitle{
  max-width:820px;
  margin:0 auto;
  color:var(--pt-subtitle-color,#64748b);
  font-family:var(--pt-subtitle-font,inherit);
  font-size:var(--pt-subtitle-size,16px);
  font-weight:var(--pt-subtitle-weight,400);
  font-style:var(--pt-subtitle-style,normal);
  line-height:var(--pt-subtitle-lh,1.6);
  letter-spacing:var(--pt-subtitle-ls,0);
  text-transform:var(--pt-subtitle-tr,none);
}

.pf-pt__grid{
  display:grid;
  grid-template-columns:repeat(var(--pt-cols-desktop,4),minmax(0,1fr));
  gap:var(--pt-gap,28px);
  align-items:stretch;
}
.pf-pt__empty{
  grid-column:1/-1;
  padding:24px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  color:#64748b;
  background:#f8fafc;
  text-align:center;
}

.pf-pt__card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  overflow:hidden;
  padding:var(--pt-plan-card-padding,var(--pt-card-padding,32px 32px 30px));
  color:var(--pt-plan-card-color,inherit);
  background:var(--pt-plan-card-bg,var(--pt-card-bg,#0d032f));
  border-width:var(--pt-card-border-width,1px);
  border-style:solid;
  border-color:var(--pt-plan-card-border-color,var(--pt-card-border-color,#0d032f));
  border-radius:var(--pt-plan-card-radius,var(--pt-card-radius,16px));
  box-shadow:var(--pt-card-shadow,0 14px 34px rgba(15,23,42,.10));
  text-align:var(--pt-card-text-align,left);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.pf-pt__card:hover{transform:translateY(var(--pt-card-hover-y,-4px))}
.pf-pt__card.is-featured{
  background:var(--pt-plan-card-bg,var(--pt-featured-bg,#0d032f));
  border-color:var(--pt-plan-card-border-color,var(--pt-featured-border-color,#32b65f));
  transform:scale(var(--pt-featured-scale,1));
  z-index:2;
}
.pf-pt__card.is-featured:hover{transform:scale(var(--pt-featured-scale,1)) translateY(var(--pt-card-hover-y,-4px))}

.pf-pt__badge{
  position:absolute;
  z-index:4;
  top:14px;
  right:14px;
  padding:7px 12px;
  border-radius:999px;
  color:var(--pt-badge-color,#fff);
  background:var(--pt-badge-bg,#32b65f);
  font-family:var(--pt-badge-font,inherit);
  font-size:var(--pt-badge-size,12px);
  font-weight:var(--pt-badge-weight,800);
  font-style:var(--pt-badge-style-font,normal);
  line-height:var(--pt-badge-lh,1);
  letter-spacing:var(--pt-badge-ls,0);
  text-transform:var(--pt-badge-tr,none);
  white-space:nowrap;
}
.pf-pt--badge-ribbon .pf-pt__badge{
  top:18px;
  right:-46px;
  width:154px;
  padding:7px 10px;
  border-radius:0;
  text-align:center;
  transform:rotate(45deg);
  transform-origin:center;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
}

.pf-pt__icon{
  width:var(--pt-icon-box-size,58px);
  height:var(--pt-icon-box-size,58px);
  min-width:var(--pt-icon-box-size,58px);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
  border-radius:999px;
  color:var(--pt-plan-icon-color,var(--pt-icon-color,#fff));
  background:var(--pt-plan-icon-bg,var(--pt-icon-bg,rgba(255,255,255,.08)));
  font-size:var(--pt-icon-size,22px);
  line-height:1;
}
.pf-pt__icon i,.pf-pt__icon span,.pf-pt__icon ion-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.pf-pt__icon .material-symbols-rounded{font-family:'Material Symbols Rounded';font-weight:normal;font-style:normal;font-size:1.2em;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;font-feature-settings:'liga';-webkit-font-feature-settings:'liga'}

.pf-pt__name{
  margin:0;
  text-align:var(--pt-card-text-align,left);
  color:var(--pt-plan-name-color,var(--pt-plan-title-color,#fff));
  font-family:var(--pt-plan-title-font,inherit);
  font-size:var(--pt-plan-title-size,28px);
  font-weight:var(--pt-plan-title-weight,800);
  font-style:var(--pt-plan-title-style,normal);
  line-height:var(--pt-plan-title-lh,1.25);
  letter-spacing:var(--pt-plan-title-ls,0);
  text-transform:var(--pt-plan-title-tr,none);
}
.pf-pt__plan-subtitle{
  margin:8px 0 14px;
  text-align:var(--pt-card-text-align,left);
  color:var(--pt-plan-subtitle-custom-color,var(--pt-plan-subtitle-color,rgba(255,255,255,.7)));
  font-size:var(--pt-plan-subtitle-size,14px);
  line-height:1.5;
}
.pf-pt__old-price{
  margin:18px 0 6px;
  color:var(--pt-old-price-color,rgba(255,255,255,.66));
  font-family:var(--pt-old-price-font,inherit);
  font-size:var(--pt-old-price-size,17px);
  font-weight:var(--pt-old-price-weight,400);
  font-style:var(--pt-old-price-style,normal);
  line-height:var(--pt-old-price-lh,1.3);
  letter-spacing:var(--pt-old-price-ls,0);
  text-transform:var(--pt-old-price-tr,none);
  text-decoration:line-through;
  text-align:var(--pt-card-text-align,left);
}
.pf-pt__price{
  margin:18px 0 0;
  text-align:var(--pt-card-text-align,left);
  color:var(--pt-plan-price-color,var(--pt-price-color,#ff646b));
  font-family:var(--pt-price-font,inherit);
  font-size:var(--pt-price-size,40px);
  font-weight:var(--pt-price-weight,800);
  font-style:var(--pt-price-style,normal);
  line-height:var(--pt-price-lh,1.1);
  letter-spacing:var(--pt-price-ls,0);
  text-transform:var(--pt-price-tr,none);
}
.pf-pt__old-price + .pf-pt__price{margin-top:0}
.pf-pt__price span{font-size:.55em;vertical-align:top;letter-spacing:0}
.pf-pt__price small{font-size:.36em;letter-spacing:0;opacity:.74;margin-left:4px}

.pf-pt__desc{
  margin:18px 0 0;
  color:var(--pt-plan-desc-color,var(--pt-desc-color,rgba(255,255,255,.72)));
  font-family:var(--pt-desc-font,inherit);
  font-size:var(--pt-desc-size,15px);
  font-weight:var(--pt-desc-weight,400);
  font-style:var(--pt-desc-style,normal);
  line-height:var(--pt-desc-lh,1.6);
  letter-spacing:var(--pt-desc-ls,0);
  text-transform:var(--pt-desc-tr,none);
  text-align:var(--pt-card-text-align,left);
}

.pf-pt__features-box{
  margin-top:26px;
  padding:var(--pt-feature-box-padding,20px 16px);
  background:var(--pt-feature-box-bg,rgba(255,255,255,.06));
  border-radius:var(--pt-feature-box-radius,10px);
}
.pf-pt__features{
  display:grid;
  gap:var(--pt-feature-gap,14px);
  margin:0;
  padding:0;
  list-style:none;
}
.pf-pt__features li{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:var(--pt-plan-feature-color,var(--pt-feature-color,#fff));
  font-family:var(--pt-feature-font,inherit);
  font-size:var(--pt-feature-size,16px);
  font-weight:var(--pt-feature-weight,400);
  font-style:var(--pt-feature-style,normal);
  line-height:var(--pt-feature-lh,1.5);
  letter-spacing:var(--pt-feature-ls,0);
  text-transform:var(--pt-feature-tr,none);
  text-align:left;
}
.pf-pt__check{
  color:var(--pt-check-color,#35c84a);
  font-size:var(--pt-check-size,18px);
  line-height:1;
  padding-top:.18em;
}

.pf-pt__footer{margin-top:auto;padding-top:30px}
.pf-pt__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:var(--pt-button-min-height,52px);
  padding:var(--pt-button-padding,14px 22px);
  border-radius:var(--pt-button-radius,999px);
  color:var(--pt-plan-button-color,var(--pt-button-color,#fff));
  background:var(--pt-plan-button-bg,var(--pt-button-bg,#ff646b));
  border:1px solid var(--pt-plan-button-border-color,var(--pt-button-border-color,#ff646b));
  text-decoration:none!important;
  font-family:var(--pt-button-font,inherit);
  font-size:var(--pt-button-size,16px);
  font-weight:var(--pt-button-weight,800);
  font-style:var(--pt-button-style,normal);
  line-height:var(--pt-button-lh,1.2);
  letter-spacing:var(--pt-button-ls,0);
  text-transform:var(--pt-button-tr,uppercase);
  transition:transform .18s ease,filter .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.pf-pt__btn:hover{
  transform:translateY(-1px);
  color:var(--pt-button-hover-color,var(--pt-button-color,#fff));
  background:var(--pt-button-hover-bg,var(--pt-button-bg,#ff646b));
  border-color:var(--pt-button-hover-border-color,var(--pt-button-border-color,#ff646b));
}
.pf-pt__btn.is-loading{pointer-events:none;opacity:.72}

.pf-pt--compact .pf-pt__card{padding:24px}
.pf-pt--compact .pf-pt__icon{width:48px;height:48px;min-width:48px}
.pf-pt--compact .pf-pt__price{font-size:calc(var(--pt-price-size,40px)*.86)}

@media (max-width:991px){
  .pf-pt__grid{grid-template-columns:repeat(var(--pt-cols-tablet,2),minmax(0,1fr));gap:var(--pt-gap-tablet,var(--pt-gap,20px))}
  .pf-pt__card{padding:var(--pt-card-padding-tablet,var(--pt-card-padding,28px 24px))}
  .pf-pt__card.is-featured,.pf-pt__card.is-featured:hover{transform:none}
  .pf-pt__title{font-size:var(--pt-title-size-tablet,var(--pt-title-size,38px));font-weight:var(--pt-title-weight-tablet,var(--pt-title-weight,800))}
  .pf-pt__subtitle{font-size:var(--pt-subtitle-size-tablet,var(--pt-subtitle-size,16px));font-weight:var(--pt-subtitle-weight-tablet,var(--pt-subtitle-weight,400))}
  .pf-pt__name{font-size:var(--pt-plan-title-size-tablet,var(--pt-plan-title-size,28px));font-weight:var(--pt-plan-title-weight-tablet,var(--pt-plan-title-weight,800))}
  .pf-pt__old-price{font-size:var(--pt-old-price-size-tablet,var(--pt-old-price-size,17px));font-weight:var(--pt-old-price-weight-tablet,var(--pt-old-price-weight,400))}
  .pf-pt__price{font-size:var(--pt-price-size-tablet,var(--pt-price-size,40px));font-weight:var(--pt-price-weight-tablet,var(--pt-price-weight,800))}
  .pf-pt__desc{font-size:var(--pt-desc-size-tablet,var(--pt-desc-size,15px));font-weight:var(--pt-desc-weight-tablet,var(--pt-desc-weight,400))}
  .pf-pt__features li{font-size:var(--pt-feature-size-tablet,var(--pt-feature-size,16px));font-weight:var(--pt-feature-weight-tablet,var(--pt-feature-weight,400))}
  .pf-pt__btn{font-size:var(--pt-button-size-tablet,var(--pt-button-size,16px));font-weight:var(--pt-button-weight-tablet,var(--pt-button-weight,800))}
  .pf-pt__badge{font-size:var(--pt-badge-size-tablet,var(--pt-badge-size,12px));font-weight:var(--pt-badge-weight-tablet,var(--pt-badge-weight,800))}
}

@media (max-width:640px){
  .pf-pt__grid{grid-template-columns:repeat(var(--pt-cols-mobile,1),minmax(0,1fr));gap:var(--pt-gap-mobile,var(--pt-gap-tablet,var(--pt-gap,16px)))}
  .pf-pt__card{padding:var(--pt-card-padding-mobile,var(--pt-card-padding-tablet,var(--pt-card-padding,24px 20px)))}
  .pf-pt__header{margin-bottom:22px}
  .pf-pt__title{font-size:var(--pt-title-size-mobile,var(--pt-title-size-tablet,var(--pt-title-size,28px)));font-weight:var(--pt-title-weight-mobile,var(--pt-title-weight-tablet,var(--pt-title-weight,800)))}
  .pf-pt__subtitle{font-size:var(--pt-subtitle-size-mobile,var(--pt-subtitle-size-tablet,var(--pt-subtitle-size,14px)));font-weight:var(--pt-subtitle-weight-mobile,var(--pt-subtitle-weight-tablet,var(--pt-subtitle-weight,400)))}
  .pf-pt__name{font-size:var(--pt-plan-title-size-mobile,var(--pt-plan-title-size-tablet,var(--pt-plan-title-size,24px)));font-weight:var(--pt-plan-title-weight-mobile,var(--pt-plan-title-weight-tablet,var(--pt-plan-title-weight,800)))}
  .pf-pt__old-price{font-size:var(--pt-old-price-size-mobile,var(--pt-old-price-size-tablet,var(--pt-old-price-size,17px)));font-weight:var(--pt-old-price-weight-mobile,var(--pt-old-price-weight-tablet,var(--pt-old-price-weight,400)))}
  .pf-pt__price{font-size:var(--pt-price-size-mobile,var(--pt-price-size-tablet,var(--pt-price-size,34px)));font-weight:var(--pt-price-weight-mobile,var(--pt-price-weight-tablet,var(--pt-price-weight,800)))}
  .pf-pt__desc{font-size:var(--pt-desc-size-mobile,var(--pt-desc-size-tablet,var(--pt-desc-size,15px)));font-weight:var(--pt-desc-weight-mobile,var(--pt-desc-weight-tablet,var(--pt-desc-weight,400)))}
  .pf-pt__features li{font-size:var(--pt-feature-size-mobile,var(--pt-feature-size-tablet,var(--pt-feature-size,15px)));font-weight:var(--pt-feature-weight-mobile,var(--pt-feature-weight-tablet,var(--pt-feature-weight,400)))}
  .pf-pt__btn{font-size:var(--pt-button-size-mobile,var(--pt-button-size-tablet,var(--pt-button-size,15px)));font-weight:var(--pt-button-weight-mobile,var(--pt-button-weight-tablet,var(--pt-button-weight,800)))}
  .pf-pt__badge{font-size:var(--pt-badge-size-mobile,var(--pt-badge-size-tablet,var(--pt-badge-size,12px)));font-weight:var(--pt-badge-weight-mobile,var(--pt-badge-weight-tablet,var(--pt-badge-weight,800)))}
  .pf-pt__features-box{margin-top:20px}
  .pf-pt__footer{padding-top:22px}
}

/* Builder preview uses the same CSS; no separate fake typography. */
.b-block-preview .pf-pt{width:100%}
