/* ==========================================================================
   KMSP Monetization System — v9.0
   Ad slots, affiliate cards, premium badges, promotion page
   ========================================================================== */

/* --- Ad Slots (shared) ------------------------------------------------- */
.kmsp-ad-slot{margin:20px 0;padding:0;text-align:center;overflow:hidden;min-height:90px;position:relative}
.kmsp-ad-slot--top{margin-top:8px;margin-bottom:16px}
.kmsp-ad-slot--middle{margin:24px 0}
.kmsp-ad-slot--bottom{margin-top:24px;margin-bottom:8px}
.kmsp-ad-slot--sidebar{margin:0 0 20px}
.kmsp-ad-slot .kmsp-ad-label{display:block;font-size:.88rem;color:rgba(255,255,255,.35);text-align:center;margin-bottom:2px;letter-spacing:.08em}
.kmsp-ad-slot ins{display:block;margin:0 auto}
.kmsp-ad-slot--responsive ins{width:100%;max-width:728px;height:auto;min-height:90px}

/* --- Affiliate Cards --------------------------------------------------- */
.kmsp-aff-section{margin:28px 0;padding:0}
.kmsp-aff-section h3{font-size:1.1rem;margin:0 0 12px;color:#fff}
.kmsp-aff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.kmsp-aff-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}
.kmsp-aff-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.kmsp-aff-card-icon{font-size:2rem;line-height:1}
.kmsp-aff-card-name{font-size:.95rem;font-weight:700;color:#fff}
.kmsp-aff-card-desc{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.5}
.kmsp-aff-card-price{font-size:.9rem;font-weight:700;color:#F59E0B}
.kmsp-aff-card-links{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.kmsp-aff-card-links a{flex:1;text-align:center;padding:8px 4px;border-radius:8px;font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity .2s}
.kmsp-aff-link-amazon{background:#FF9900;color:#111}
.kmsp-aff-link-rakuten{background:#BF0000;color:#fff}
.kmsp-aff-link-amazon:hover,.kmsp-aff-link-rakuten:hover{opacity:.85}
.kmsp-aff-disclosure{font-size:.82rem;color:rgba(255,255,255,.35);margin-top:8px;text-align:center}

/* --- Premium Gym Badge ------------------------------------------------- */
.kmsp-premium-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#F59E0B,#D97706);color:#111;font-size:.82rem;font-weight:700;padding:3px 8px;border-radius:20px;letter-spacing:.04em;white-space:nowrap}
.kmsp-premium-badge::before{content:"⭐"}
.kmsp-premium-badge--gold{background:linear-gradient(135deg,#FCD34D,#F59E0B)}
.kmsp-premium-badge--silver{background:linear-gradient(135deg,#E5E7EB,#9CA3AF);color:#111}
.kmsp-premium-card-highlight{border:2px solid #F59E0B !important;position:relative}
.kmsp-premium-card-highlight::before{content:"PREMIUM";position:absolute;top:-1px;right:12px;background:linear-gradient(135deg,#F59E0B,#D97706);color:#111;font-size:.75rem;font-weight:800;padding:2px 10px;border-radius:0 0 6px 6px;letter-spacing:.1em}
.kmsp-premium-extra{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.kmsp-premium-extra-images{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
.kmsp-premium-extra-images img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.kmsp-premium-socials{display:flex;gap:8px;flex-wrap:wrap}
.kmsp-premium-socials a{display:inline-flex;align-items:center;gap:4px;font-size:.88rem;color:rgba(255,255,255,.7);text-decoration:none;padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:20px;transition:border-color .2s,color .2s}
.kmsp-premium-socials a:hover{border-color:#F59E0B;color:#F59E0B}
.kmsp-premium-promo{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:10px 14px;margin-top:8px;font-size:.85rem;color:#FCD34D}

/* --- Promotion Page (/ promote-your-gym /) ------------------------------ */
.kmsp-promo-page{max-width:900px;margin:0 auto}
.kmsp-promo-hero{text-align:center;padding:48px 20px;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(217,119,6,.06));border-radius:16px;margin-bottom:32px}
.kmsp-promo-hero h1{font-size:2rem;color:#fff;margin:0 0 12px}
.kmsp-promo-hero p{font-size:1.1rem;color:rgba(255,255,255,.7);max-width:600px;margin:0 auto}
.kmsp-promo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
.kmsp-promo-stat{text-align:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px 12px}
.kmsp-promo-stat-num{display:block;font-size:2rem;font-weight:800;background:linear-gradient(135deg,#F59E0B,#D97706);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.kmsp-promo-stat-label{font-size:.82rem;color:rgba(255,255,255,.6);margin-top:4px}
.kmsp-promo-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0}
.kmsp-promo-plan{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px;text-align:center;transition:transform .2s}
.kmsp-promo-plan:hover{transform:translateY(-3px)}
.kmsp-promo-plan--featured{border-color:#F59E0B;background:rgba(245,158,11,.06)}
.kmsp-promo-plan h3{font-size:1.15rem;margin:0 0 6px;color:#fff}
.kmsp-promo-plan .price{font-size:1.8rem;font-weight:800;color:#F59E0B;margin:8px 0}
.kmsp-promo-plan .price small{font-size:.72em;color:rgba(255,255,255,.5)}
.kmsp-promo-plan ul{list-style:none;padding:0;margin:14px 0;text-align:left}
.kmsp-promo-plan li{padding:6px 0;font-size:.85rem;color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.05)}
.kmsp-promo-plan li::before{content:"✅ ";margin-right:4px}
.kmsp-promo-plan-btn{display:inline-block;margin-top:14px;padding:10px 28px;background:linear-gradient(135deg,#F59E0B,#D97706);color:#111;font-weight:700;border-radius:10px;text-decoration:none;transition:opacity .2s}
.kmsp-promo-plan-btn:hover{opacity:.88}
.kmsp-promo-benefits{margin:32px 0}
.kmsp-promo-benefits h2{font-size:1.3rem;margin:0 0 16px;color:#fff}
.kmsp-promo-benefit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.kmsp-promo-benefit{background:rgba(255,255,255,.04);border-radius:12px;padding:18px;text-align:center}
.kmsp-promo-benefit-icon{font-size:2rem;margin-bottom:6px}
.kmsp-promo-benefit h4{font-size:.95rem;color:#fff;margin:0 0 4px}
.kmsp-promo-benefit p{font-size:.82rem;color:rgba(255,255,255,.55);margin:0}
.kmsp-promo-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:28px;margin:28px 0}
.kmsp-promo-form h2{font-size:1.2rem;color:#fff;margin:0 0 16px}
.kmsp-promo-form label{display:block;font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:4px}
.kmsp-promo-form input,.kmsp-promo-form textarea,.kmsp-promo-form select{width:100%;padding:10px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:.9rem;margin-bottom:14px;box-sizing:border-box}
.kmsp-promo-form input:focus,.kmsp-promo-form textarea:focus,.kmsp-promo-form select:focus{outline:none;border-color:#F59E0B}
.kmsp-promo-form textarea{min-height:100px;resize:vertical}
.kmsp-promo-form button{padding:12px 32px;background:linear-gradient(135deg,#F59E0B,#D97706);color:#111;font-weight:700;font-size:1rem;border:none;border-radius:10px;cursor:pointer;transition:opacity .2s}
.kmsp-promo-form button:hover{opacity:.88}
.kmsp-promo-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kmsp-promo-faq{margin:28px 0}
.kmsp-promo-faq h2{font-size:1.2rem;color:#fff;margin:0 0 16px}
.kmsp-promo-faq-item{border-bottom:1px solid rgba(255,255,255,.08);padding:14px 0}
.kmsp-promo-faq-q{font-size:.92rem;font-weight:600;color:rgba(255,255,255,.85);cursor:pointer;position:relative;padding-right:24px}
.kmsp-promo-faq-q::after{content:"+";position:absolute;right:0;top:0;font-size:1.2rem;color:rgba(255,255,255,.4);transition:transform .3s}
.kmsp-promo-faq-item.open .kmsp-promo-faq-q::after{transform:rotate(45deg)}
.kmsp-promo-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:.85rem;color:rgba(255,255,255,.55);line-height:1.6}
.kmsp-promo-faq-item.open .kmsp-promo-faq-a{max-height:300px;padding-top:8px}

/* --- GA4 / Analytics Tracking Notice ------------------------------------ */
.kmsp-tracking-notice{position:fixed;bottom:0;left:0;right:0;background:rgba(17,17,17,.95);backdrop-filter:blur(8px);padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:12px;z-index:9999;font-size:.82rem;color:rgba(255,255,255,.7);transform:translateY(100%);transition:transform .3s}
.kmsp-tracking-notice.show{transform:translateY(0)}
.kmsp-tracking-notice button{padding:6px 16px;border-radius:6px;border:none;font-weight:600;font-size:.8rem;cursor:pointer}
.kmsp-tracking-notice .accept{background:#F59E0B;color:#111}
.kmsp-tracking-notice .decline{background:rgba(255,255,255,.1);color:#fff}

/* --- Responsive -------------------------------------------------------- */
@media(max-width:768px){
  .kmsp-aff-grid{grid-template-columns:1fr}
  .kmsp-promo-stats{grid-template-columns:1fr}
  .kmsp-promo-plans{grid-template-columns:1fr}
  .kmsp-promo-form .form-row{grid-template-columns:1fr}
  .kmsp-promo-benefit-grid{grid-template-columns:1fr 1fr}
  .kmsp-promo-hero h1{font-size:1.4rem}
  .kmsp-ad-slot--responsive ins{min-height:50px}
  .kmsp-premium-extra-images{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .kmsp-promo-benefit-grid{grid-template-columns:1fr}
  .kmsp-aff-card-links{flex-direction:column}
  .kmsp-premium-extra-images{grid-template-columns:1fr}
}
