/* ===== MD Product Renderer (plugin CSS) ===== */

.mdproduct { max-width: 100%; }

.mdproduct-h2 { margin: 0 0 10px; }
.mdproduct-lead { margin: 0 0 14px; }
.mdproduct-highlight {
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 18px;
  padding: 16px 20px;
  text-align: center;
  font-weight: 700;
  line-height: 1.35;
  margin: 12px 0 22px;
  font-size: 1.05rem; /* slightly larger (18px if base is 16px) */
}

.mdproduct-section { margin: 56px 0; }
.mdproduct-h3 { margin: 0 0 10px; }
.mdproduct-intro { margin: 0 0 14px; }

/* Divider block */
.mdproduct-divider { width: 100%; }
.mdproduct-divider--sm { margin: 28px 0; }
.mdproduct-divider--md { margin: 48px 0; }
.mdproduct-divider--lg { margin: 72px 0; }
.mdproduct-divider--space { border: 0; height: 0; }
.mdproduct-divider--line { border-top: 1px solid rgba(15,23,42,.10); }
.mdproduct-divider--block {
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(15,23,42,.02);
  border-radius: 18px;
  padding: 24px;
}

/* Cards grid (basic defaults; keep/replace with your existing) */
.mdproduct-grid { display: grid; gap: 16px; }
.mdproduct-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mdproduct-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .mdproduct-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .mdproduct-grid-2, .mdproduct-grid-3 { grid-template-columns: 1fr; }
}

.mdproduct-card {
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 18px;
  padding: 16px;
  background: #fff;
}
.mdproduct-card--muted { background: #f3f3f3; }
.mdproduct-card--outline { background: #fff; border-style: dashed; }

.mdproduct-card-label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .7; margin-bottom: 8px; }
.mdproduct-card-title { font-weight: 700; margin-bottom: 8px; }
.mdproduct-card-body p { margin: 0; }
.mdproduct-card-body p + p { margin-top: 10px; }


/* Tabs: desktop vs mobile switch */
.mdproduct-tabs--mobile { display: none; }
@media (max-width: 767px){
  .mdproduct-tabs--desktop { display: none; }
  .mdproduct-tabs--mobile { display: block; }
}

/* ============================= */
/* MDPRODUCT FILE TABS (CLEAN) */
/* ============================= */

.mdproduct-tablist{
  display:flex;
  gap:0;
  align-items:flex-end;
  flex-wrap:wrap;
  border-bottom:0px solid #d1d5db !important;   /* neutral gray */
}

/* Base tab */
.mdproduct-tab{
  appearance:none;
  border:1px solid #d1d5db !important;   /* force gray */
  border-bottom:0 !important;
  background:#ffffff !important;         /* white default */
  color:#1f2937 !important;              /* neutral dark text */
  border-radius:12px 12px 0 0;
  padding:10px 16px;
  font-weight:600;
  cursor:pointer;
  box-shadow:none !important;
  outline:none !important;
  transition:background .15s ease;
}

/* Hover */
.mdproduct-tab:hover{
  background:#f3f4f6 !important;         /* light gray */
  border-color:#d1d5db !important;
}

/* Active */
.mdproduct-tab.is-active{
  background:#f3f4f6 !important;         /* light gray */
  border-color:#d1d5db !important;
  position:relative;
  top:1px;
}

/* Remove focus red outline some themes add */
.mdproduct-tab:focus{
  outline:none !important;
  box-shadow:none !important;
}

/* Panel */
.mdproduct-tabpanels{
  border:1px solid #d1d5db;
  border-radius:0 16px 16px 16px;
  padding:20px;
  background:#ffffff;
}

.mdproduct-tabpanel[hidden]{ display:none; }

/* Accordion (mobile) — keep your existing styles if you have them */
.mdproduct-acc-item{
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 14px;
  margin: 10px 0;
  background: #fff;
  overflow: hidden;
}
.mdproduct-acc-title{
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 700;
}
.mdproduct-acc-body{
  padding: 0 16px 16px;
}

/* CTA (basic) */
.mdproduct-cta-box{
  border: 1px solid rgba(15,23,42,.12) !important;
  border-radius: 18px;
  padding: 18px;
  background: rgba(15,23,42,.05);
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
}

.mdproduct-cta-title { font-weight: 800; margin-bottom: 10px; font-size: 1.15rem;}
.mdproduct-cta-body { margin-bottom: 14px; }

.mdproduct-btn{
  display: inline-block;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.20);
  text-decoration: none;
  font-weight: 700;
  transition: all .2s ease;
}

.mdproduct-btn--primary { background: #fff; color: #000; }
.mdproduct-btn--dark { background: #1c1c84; color: #fff; }
.mdproduct-btn--outline { border: 1px solid #d3d3d3; color: #0f172a; background: transparent; }

a.mdproduct-btn--dark:hover{
  background: #005cb8 !important;
  border-color: #005cb8 !important;
  color: #fff !important;
}


/* Row container */
.mdproduct-cta-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  margin-top:20px;
}


/* Price styling */
.mdproduct-cta-price{
  font-size:20px;
  font-weight:700;
  color: #1c1c84;
  line-height:1;              /* key: removes baseline weirdness */
  display:flex;               /* key: makes centering consistent */
  align-items:center;
  transform: translateY(3px); /* tiny optical correction */
  white-space:nowrap;
}

.mdproduct-cta-price del {
  opacity: .6;
  margin-right: 6px;
}

.mdproduct-cta-price ins {
  text-decoration: none;
}

/* Mobile stacking */
@media (max-width: 768px) {
  .mdproduct-cta-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .mdproduct-cta-price {
    margin-bottom: 10px;
  }
}
