/* 13-membership — Membership / Advertise plan tables and mobile plan cards.
   Loaded on every page in file-name order (see inc/core/assets.php). */

/* =========================================
   MEMBERSHIP PREMIUM PRICING
   ========================================= */

.plans .price{
  line-height:1.05;
}

.plans .price small{
  display:block;
  margin-top:7px;
  font-size:11px;
  line-height:1.3;
  font-weight:500;
  opacity:.72;
  letter-spacing:.02em;
}

/* =========================================
   COMPARISON TABLE
   ========================================= */

.compare-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:18px;
  box-shadow:var(--shadow-md);
}

.compare{
  width:100%;
  min-width:900px;
  border-collapse:separate;
  border-spacing:0;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}

.compare th,
.compare td{
  padding:15px 16px;
  text-align:center;
  border-bottom:1px solid var(--line);
  border-right:1px solid rgba(20,35,65,.12);
  vertical-align:middle;
}

.compare th:first-child,
.compare td:first-child{
  text-align:left;
  min-width:260px;
}

/* TABLE HEADER */

.compare thead th{
  background:linear-gradient(135deg,#17385f,#285b86);
  color:#fff;
  font-weight:700;
  padding:17px 14px;
  border-color:rgba(255,255,255,.15);
}

/* PLAN SEPARATION */

.compare th:not(:last-child),
.compare td:not(:last-child){
  border-right:1px solid rgba(20,35,65,.16);
}

/* PREMIUM GOLD LINE AROUND STARTER PLUS */

.compare th:nth-child(3),
.compare td:nth-child(3){
  border-left:2px solid rgba(199,169,107,.48);
  border-right:2px solid rgba(199,169,107,.48);
}

/* HOVER */

.compare tbody tr:not(.compare-section):hover td{
  background:rgba(62,111,242,.035);
}

/* SECTION ROW */

.compare .compare-section td{
  background:linear-gradient(
    90deg,
    #dceaf6,
    #edf5fb
  );
  color:var(--ink);
  font-weight:700;
  text-align:left;
  padding:14px 16px;
  border-top:1px solid rgba(62,111,242,.12);
  border-bottom:1px solid rgba(62,111,242,.12);
}

/* REMOVE LAST BORDERS */

.compare tbody tr:last-child td{
  border-bottom:none;
}

.compare th:last-child,
.compare td:last-child{
  border-right:none;
}

/* CROSS */

.compare td.no{
  color:#d64545;
  font-weight:700;
  font-size:18px;
}

/* CHECK ICON */

.compare td svg{
  width:18px;
  height:18px;
  vertical-align:middle;
}

/* =========================================
   MOBILE
   ========================================= */

@media(max-width:760px){

  .compare-wrap{
    overflow-x:auto;
    border-radius:14px;
  }

  .compare{
    min-width:900px;
  }

  .compare th,
  .compare td{
    padding:13px 12px;
    font-size:13px;
  }

  .compare th:first-child,
  .compare td:first-child{
    min-width:220px;
  }

}

/* =========================================
   ADVERTISE - PREMIUM 4 PLAN TABLE
   ========================================= */

.adv-body{
  overflow:hidden;
}

.adv-body .pt-wrap,
.adv-body .compare-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.adv-body table{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
}

/* ALL CELLS */

.adv-body table th,
.adv-body table td{
  border-bottom:1px solid #dfe5ee !important;
  border-right:1px solid rgba(20,35,65,.16) !important;
  position:relative;
}

/* FIRST FEATURE COLUMN */

.adv-body table th:first-child,
.adv-body table td:first-child{
  border-right:2px solid rgba(20,35,65,.20) !important;
}

/* EVERY PLAN VERTICAL DIVIDER */

.adv-body table th:not(:first-child),
.adv-body table td:not(:first-child){
  border-left:1px solid rgba(20,35,65,.10) !important;
}

/* GOLD PREMIUM DIVIDER - STARTER PLUS */

.adv-body table th:nth-child(3),
.adv-body table td:nth-child(3){
  border-left:2px solid rgba(199,169,107,.55) !important;
  border-right:2px solid rgba(199,169,107,.55) !important;
}

/* GROWTH DIVIDER */

.adv-body table th:nth-child(4),
.adv-body table td:nth-child(4){
  border-left:1px solid rgba(20,35,65,.18) !important;
  border-right:1px solid rgba(20,35,65,.18) !important;
}

/* GLOBAL DIVIDER */

.adv-body table th:nth-child(5),
.adv-body table td:nth-child(5){
  border-left:1px solid rgba(20,35,65,.20) !important;
  border-right:none !important;
}

/* PLAN HEADER */

.adv-body table thead th{
  border-bottom:none !important;
  text-align:center;
  vertical-align:middle;
}

/* FEATURE HEADER */

.adv-body table thead th:first-child{
  background:#fff !important;
  color:#142341 !important;
}

/* ROW HOVER */

.adv-body table tbody tr:hover td{
  background:rgba(62,111,242,.035);
}

/* KEEP FEATURE COLUMN CLEAN */

.adv-body table tbody td:first-child{
  background:#fff;
  font-weight:600;
}

/* MOBILE */

@media(max-width:900px){

  .adv-body .pt-wrap,
  .adv-body .compare-wrap{
    overflow-x:auto;
  }

  .adv-body table{
    min-width:1050px;
  }

  .adv-body table th,
  .adv-body table td{
    white-space:normal;
  }
}

/* =========================================================
   MEMBERSHIP TABLE — CLEAN RESPONSIVE FIX
   ========================================================= */

.pt-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

.pt{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
}

.pt th,
.pt td{
  vertical-align:middle;
  border-right:1px solid var(--line-2);
}

.pt th:last-child,
.pt td:last-child{
  border-right:none;
}

/* Feature column */

.pt-corner,
.pt-f{
  min-width:300px;
}

/* 4 plan columns */

.pt-h{
  min-width:170px;
  text-align:center;
  vertical-align:middle;
}

/* Plan feature cells */

.pt tbody td{
  min-width:170px;
  text-align:center;
}

/* Premium vertical separation */

.pt th:nth-child(3),
.pt td:nth-child(3){
  border-left:2px solid rgba(199,169,107,.45);
}

/* Plan features header */

.pt-corner{
  background:linear-gradient(135deg,#e8eef8,#d8e4f5);
  color:var(--ink);
  font-weight:700;
  text-align:center;
}

/* Feature cells */

.pt-f{
  background:#f5f8fd;
  color:var(--ink);
  font-weight:600;
}

/* Alternate rows */

.pt tbody tr:nth-child(even) .pt-f{
  background:#edf3fb;
}

/* =========================================================
   MEMBERSHIP MOBILE — SINGLE COLUMN PREMIUM LAYOUT
   ========================================================= */

@media (max-width:760px){

  /* Main membership area */
  .adv-body{
    padding:28px 0 50px;
  }

  .adv-note{
    padding:0 18px;
    margin-bottom:20px;
  }

  .adv-note b{
    font-size:21px;
    line-height:1.25;
  }

  .adv-note span{
    font-size:13px;
    line-height:1.5;
  }


  /* Remove horizontal table behaviour */
  .pt-wrap{
    overflow:visible;
    border:none;
    box-shadow:none;
    background:transparent;
    margin:0 16px;
    width:auto;
  }

  .pt{
    display:block;
    width:100%;
    min-width:0 !important;
    border-collapse:separate;
    border-spacing:0;
  }
/* =========================================================
   MEMBERSHIP MOBILE CARDS
   ========================================================= */


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

  /* Desktop comparison table hide */
  .desktop-membership-table{
    display:none !important;
  }

  /* Mobile cards show */
  .mobile-membership-cards{
    display:flex;
    flex-direction:column;
    gap:22px;
    padding:0 16px 30px;
  }


  /* ================= CARD ================= */

  .mobile-member-card{
    width:100%;
    box-sizing:border-box;

    background:#fff;

    border:1px solid #e4e8ef;
    border-radius:24px;

    overflow:hidden;

    box-shadow:
      0 12px 35px rgba(20,35,65,.10);
  }


  /* ================= HEADER ================= */

  .mmc-head{
    position:relative;

    padding:28px 20px 24px;

    text-align:center;

    background:
      linear-gradient(
        145deg,
        color-mix(in srgb,var(--card-color) 92%,#fff),
        var(--card-color)
      );

    color:#fff;
  }


  /* Icon */

  .mmc-icon{
    width:64px;
    height:64px;

    margin:-48px auto 14px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border:3px solid var(--card-color);

    border-radius:18px;

    color:var(--card-color);

    font-size:28px;

    box-shadow:
      0 8px 20px rgba(20,35,65,.15);
  }


  .mmc-title{
    font-size:23px;
    font-weight:800;

    line-height:1.2;

    margin-bottom:10px;
  }


  .mmc-price{
    font-size:34px;
    font-weight:900;

    line-height:1.1;

    letter-spacing:-.02em;
  }


  .mmc-period{
    margin-top:6px;

    font-size:12px;

    font-weight:700;

    opacity:.9;
  }


  /* ================= FEATURES ================= */

  .mmc-features{
    padding:8px 16px 6px;
  }


  .mcf-row{
    display:grid;

    grid-template-columns:28px minmax(0,1fr) auto;

    align-items:center;

    gap:9px;

    min-height:54px;

    padding:9px 0;

    border-bottom:1px dashed #e3e7ee;
  }


  .mcf-row:last-child{
    border-bottom:none;
  }


  /* Feature icon */

  .mcf-icon{
    width:27px;
    height:27px;

    border-radius:9px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#edf4ff;

    color:#1556ad;

    font-size:12px;
    font-weight:800;
  }


  /* Feature name */

  .mcf-name{
    min-width:0;

    color:#17243d;

    font-size:13.5px;

    font-weight:650;

    line-height:1.35;
  }


  .mcf-name small{
    display:block;

    margin-top:3px;

    color:#778298;

    font-size:10.5px;

    font-weight:500;
  }


  /* Feature value */

  .mcf-value{
    display:flex;

    align-items:center;
    justify-content:flex-end;

    min-width:35px;

    text-align:right;

    color:#17243d;

    font-size:13px;

    font-weight:800;
  }


  .mcf-value .tk{
    width:22px;
    height:22px;
  }


  .mcf-value .tk.ok{
    color:#16a56f;
  }


  .mcf-value .tk.bad{
    color:#e46c4a;
  }


  .mcv-value{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:30px;

    padding:4px 9px;

    border:1px solid #f0b323;

    border-radius:999px;

    background:#fffaf0;

    color:#1556ad;

    font-size:11.5px;

    font-weight:800;

    white-space:nowrap;
  }


  /* ================= BUY BUTTON ================= */

  .mmc-buy{
    width:calc(100% - 32px);

    min-height:52px;

    margin:12px 16px 18px;

    border:none;

    border-radius:14px;

    background:var(--card-color);

    color:#fff;

    font-family:inherit;

    font-size:15px;

    font-weight:800;

    cursor:pointer;

    box-shadow:
      0 8px 18px rgba(20,35,65,.14);

    transition:
      transform .2s ease,
      filter .2s ease;
  }


  .mmc-buy span{
    margin-left:8px;

    font-size:18px;
  }


  .mmc-buy:hover{
    filter:brightness(1.08);
    transform:translateY(-2px);
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:420px){

  .mobile-membership-cards{
    padding-left:12px;
    padding-right:12px;
    gap:18px;
  }


  .mobile-member-card{
    border-radius:21px;
  }


  .mmc-head{
    padding:25px 16px 22px;
  }


  .mmc-icon{
    width:58px;
    height:58px;

    margin:-43px auto 12px;

    border-radius:16px;

    font-size:25px;
  }


  .mmc-title{
    font-size:21px;
  }


  .mmc-price{
    font-size:30px;
  }


  .mcf-row{
    grid-template-columns:26px minmax(0,1fr) auto;

    gap:8px;

    min-height:52px;

    padding:8px 0;
  }


  .mcf-name{
    font-size:12.5px;
  }


  .mcf-value{
    font-size:12px;
  }


  .mcv-value{
    padding:4px 8px;
    font-size:10.5px;
  }


  .mmc-buy{
    width:calc(100% - 24px);
    margin-left:12px;
    margin-right:12px;
  }

}
}

/* =========================================================
   FINAL MEMBERSHIP DESKTOP / MOBILE FIX
   ========================================================= */

/* DESKTOP / PC */

.mobile-membership-cards{
  display:none !important;
}

/* MOBILE */

@media (max-width:760px){

  /* Desktop comparison table hide */
  .desktop-membership-table{
    display:none !important;
  }

  /* Mobile membership cards show */
  .mobile-membership-cards{
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
    width:100% !important;
    padding:0 16px 30px !important;
    box-sizing:border-box !important;
  }

}

@media (max-width:640px){

  header.main .logo{
    margin-right:auto !important;
    flex-shrink:0 !important;
  }

  header.main .mobile-menu-btn{
    flex-shrink:0 !important;
  }

}
