/* Membership & Fees page — editable Gutenberg layout */
.membership-hero{min-height:170px;padding:26px 0 28px;overflow:hidden}
.membership-hero:before{width:360px;height:145px;right:-15px;bottom:-52px}
.membership-hero h1{margin:15px 0 4px;font-size:clamp(2.9rem,5vw,4.8rem)}
.membership-hero>div>p{max-width:650px;margin:0;color:#fff;font-size:1.05rem}
.membership-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#fff;font-size:.82rem}
.membership-breadcrumb a{color:#fff}
.membership-breadcrumb a:hover{color:var(--yellow)}
.membership-breadcrumb strong{color:var(--yellow)}
.membership-page{background:#fff}
.membership-content{display:block!important;width:min(1340px,calc(100% - 40px))!important;max-width:1340px!important;margin-right:auto!important;margin-left:auto!important;padding:32px 20px 56px!important}
.membership-content>.alignwide,.membership-content>.alignfull,.membership-content>.wp-block-columns,.membership-content>.wp-block-group{width:100%!important;max-width:100%!important;margin-right:0!important;margin-left:0!important}
.membership-content h2,.membership-content h3{color:var(--navy);text-transform:uppercase}
.membership-content h2{margin:0 0 12px;font-size:2rem}
.membership-content h3{font-size:1.35rem}
.membership-content p{line-height:1.55}
.membership-content>.wp-block-group{margin-bottom:30px!important}

.membership-top-grid,.membership-register-grid,.membership-bottom-grid{display:grid!important;align-items:start;gap:42px;margin:0 0 32px!important}
.membership-top-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr)}
.membership-register-grid{grid-template-columns:360px minmax(0,1fr);align-items:start}
.membership-bottom-grid{grid-template-columns:1fr 1fr;gap:55px;padding-top:6px}
.membership-top-grid>.wp-block-column,.membership-register-grid>.wp-block-column,.membership-bottom-grid>.wp-block-column{min-width:0}
.membership-top-grid>.wp-block-column:only-child{grid-column:1/-1;width:100%;max-width:780px}

.membership-table{margin:0!important;border:1px solid #d9e0ea;border-radius:6px;overflow:hidden}
.membership-table table{width:100%;border-collapse:collapse}
.membership-table th{padding:10px 22px!important;border:0!important;background:var(--navy)!important;color:#fff;text-align:left;font-size:.83rem;text-transform:uppercase}
.membership-table td{padding:12px 22px!important;border:0!important;border-bottom:1px solid #e2e7ef!important;color:#14264a;font-size:.9rem}
.membership-table tr:last-child td{border-bottom:0!important}
.membership-table td:last-child{width:28%;font-weight:800}
.membership-table tbody tr:nth-child(even){background:#fbfcfe}
.membership-small-table table{table-layout:fixed}
.membership-small-table th,.membership-small-table td{width:50%!important;padding:11px 18px!important;vertical-align:middle;text-align:left;white-space:nowrap}
.membership-small-table td:first-child{font-variant-numeric:tabular-nums;color:#40516d}
.membership-small-table td:last-child{font-weight:800;color:var(--navy)}
.membership-small-table tbody tr{height:44px}
.membership-table-note{margin:10px 0 0;color:#53617a;font-size:.78rem}

.membership-why-card{height:100%;padding:28px 34px!important;border-radius:8px;background:linear-gradient(145deg,#102746,#173d70);color:#fff;box-shadow:0 10px 30px rgba(13,28,54,.15)}
.membership-why-card h2,.membership-why-card p{color:#fff}
.membership-why-card h2:after,.membership-info-card h3:after,.membership-bottom-grid h2:after{content:"";display:block;width:30px;height:3px;margin-top:10px;background:var(--yellow)}
.membership-why-card .wp-block-list{margin:15px 0 18px;padding:0;list-style:none}
.membership-why-card .wp-block-list li{position:relative;margin:8px 0;padding-left:25px;font-size:.85rem}
.membership-why-card .wp-block-list li:before{content:"✓";position:absolute;left:0;color:var(--yellow);font-weight:900}

.membership-content .wp-block-button{width:100%}
.membership-content .wp-block-button__link{width:100%;padding:12px 20px;border-radius:4px;background:var(--yellow);color:var(--navy);font:700 1rem/1 Antonio,sans-serif;text-transform:uppercase;transition:background .2s ease,transform .2s ease}
.membership-content .wp-block-button__link:hover{background:#ffd95e;color:var(--navy);transform:translateY(-1px)}
.membership-content .is-style-outline .wp-block-button__link{border:1px solid var(--blue);background:#fff;color:var(--navy)}

.membership-process-intro{max-width:750px;margin:-3px 0 17px!important;color:#53617a;font-size:.9rem}
.membership-process{padding:17px 18px 18px!important;border:1px solid #d6dfeb;border-radius:9px;background:#f8fafc;box-shadow:0 7px 20px rgba(13,28,54,.05)}
.membership-steps{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px;margin:0!important}
.membership-steps>.membership-step{margin:0!important;margin-block-start:0!important}
.membership-step{position:relative;height:auto;min-height:165px;padding:13px 12px 12px!important;border:1px solid #d6dfeb;border-radius:7px;background:#fff;text-align:center;box-shadow:0 3px 10px rgba(13,28,54,.035)}
.membership-step:not(:last-child):after{content:"›";position:absolute;right:-12px;top:47%;z-index:2;display:grid;width:22px;height:22px;place-items:center;border:1px solid #d6dfeb;border-radius:50%;background:#fff;color:var(--blue);font:700 1rem/1 Inter,sans-serif}
.membership-step-icon{display:grid;width:46px;height:46px;margin:0 auto 7px;border-radius:50%;place-items:center;background:#fff2be;color:var(--navy)}
.membership-step-icon svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.membership-step h3{display:grid;width:23px;height:23px;margin:-17px auto 7px;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--navy);color:#fff;font:700 .68rem/1 Inter,sans-serif}
.membership-step h4{margin:0 0 7px;color:var(--navy);font:700 1rem/1.1 Antonio,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.membership-step p{margin:0;color:#4b5b73;font-size:.72rem;line-height:1.42}
.membership-step-checkout{border-color:#e9c13c;background:linear-gradient(150deg,#fff,#fff8df)}
.membership-checkout-note{display:flex;align-items:center;gap:13px;margin:15px 0 0!important;padding:12px 15px!important;border-radius:6px;background:#eaf2fb;color:var(--navy)}
.membership-checkout-note>span{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--navy);color:var(--yellow)}
.membership-checkout-note svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.membership-checkout-note p{margin:0;font-size:.76rem;line-height:1.45}
.membership-process>.wp-block-buttons{position:relative;clear:both;max-width:470px;margin:15px auto 0!important}
.membership-deadline{clear:both;margin:12px 0 0!important;text-align:center;font-size:.82rem}
.membership-deadline strong{color:var(--blue)}
.membership-contact-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px 40px;margin:12px 0 0!important;padding:13px 18px!important;border-radius:7px;background:#f1f4f8;text-align:center}
.membership-contact-strip p{margin:0;font-size:.78rem}
.membership-contact-strip a{color:var(--blue);font-weight:700}

.membership-info-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0!important}
.membership-info-card{height:100%;padding:20px 22px!important;border:1px solid #e0e5ed;border-radius:7px;background:linear-gradient(145deg,#fff,#f5f7fa);box-shadow:0 4px 14px rgba(13,28,54,.04)}
.membership-info-card h3{margin:0 0 14px}
.membership-info-card p{margin:7px 0;color:#263753;font-size:.8rem}
.membership-info-card a{color:var(--blue);font-weight:700}

.membership-documents{margin:0;padding:0;list-style:none}
.membership-documents li{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0;padding:10px 12px;border:1px solid #dde4ed;border-bottom:0;font-size:.78rem}
.membership-documents li:first-child{border-radius:6px 6px 0 0}
.membership-documents li:last-child{border-bottom:1px solid #dde4ed;border-radius:0 0 6px 6px}
.membership-documents a{color:var(--blue);font-weight:700}
.membership-faq{margin:0!important;padding:0 13px;border:1px solid #dde4ed;border-bottom:0;background:#fff}
.membership-faq:first-of-type{border-radius:6px 6px 0 0}
.membership-faq:last-of-type{border-bottom:1px solid #dde4ed;border-radius:0 0 6px 6px}
.membership-faq summary{padding:11px 2px;color:var(--navy);font-size:.8rem;font-weight:700;cursor:pointer}
.membership-faq p{margin:0;padding:0 2px 13px;color:#53617a;font-size:.78rem}
.membership-help{margin-top:14px!important;color:var(--blue);font-size:.8rem}

@media(max-width:1050px){
  .membership-top-grid{grid-template-columns:1.1fr .9fr;gap:25px}
  .membership-register-grid{grid-template-columns:300px minmax(0,1fr);gap:25px}
  .membership-steps{grid-template-columns:repeat(2,1fr)}
  .membership-step:nth-child(2):after{display:none}
  .membership-info-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .membership-hero{min-height:145px;padding:22px 0}
  .membership-hero:before{width:235px;height:95px;right:-30px;bottom:-35px}
  .membership-breadcrumb{font-size:.72rem}
  .membership-content{width:min(1340px,calc(100% - 24px))!important;padding:24px 0 44px!important}
  .membership-top-grid,.membership-register-grid,.membership-bottom-grid{grid-template-columns:1fr;gap:24px}
  .membership-register-grid>.wp-block-column:first-child{max-width:none}
  .membership-info-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .membership-content{padding:20px 0 38px!important}
  .membership-table th,.membership-table td{padding:10px 9px!important;font-size:.73rem}
  .membership-why-card{padding:24px 20px!important}
  .membership-steps{grid-template-columns:1fr}
  .membership-step{min-height:0;padding:18px 18px!important}
  .membership-step:not(:last-child):after{content:"↓";right:auto;top:auto;bottom:-13px;left:calc(50% - 11px)}
  .membership-step:nth-child(2n):after{display:none}
  .membership-step:nth-child(2):after{display:grid}
  .membership-process>.wp-block-buttons{max-width:100%}
  .membership-checkout-note{align-items:flex-start;text-align:left}
}
