/* ===== 96 Monkeys – Market Cards (Combined; Fallback Wins) =====
   Files:
   - nsmc_style.css        (component styles & base styles)
   - nsmc_bs_fallback.css  (fallbacks that should WIN on clashes)  <-- loaded last
   --------------------------------------------------------------- */

/* ===== BEGIN: Component Styles (nsmc_style.css) ===== */
/* ===== Market Cards (scoped) ===== */



[data-nsmc] .package-card {
  /* border-radius: 1rem !important; */
  box-shadow: 0 2px 16px rgba(44, 62, 80, 0.08);
}

/* Title size without inflating whole card */
[data-nsmc] .package-card .card-header h2 {
  /* font-size: calc(.9rem + .3vw) !important; */
  font-size: calc(1.5rem + .3vw) !important;
  color: var(--bs-heading-color, inherit);
  line-height: 1.2;
  margin: 0;
  font-weight: 600;
}

[data-nsmc] .package-card:hover {
  box-shadow:
    0 14px 32px rgba(0,0,0,.12),
    0 4px 10px rgba(0,0,0,.08);
  transform: translateY(-1px);
  transition: box-shadow .2s ease, transform .2s ease;
}
[data-nsmc] .package-card:hover .card-header {
  background-color:blue;
  color:white;
}

/* Price / accent */
[data-nsmc] .package-card .price {
  font-size: 1.3rem;
  color: #000000;
  font-weight: 600;
}
[data-nsmc] .package-card .price .starting_at {
  font-size: 0.95rem;
  font-style: italic;
  /* color: #0d6efd; */
}

[data-nsmc] .package-card .price .price_itself {

}
[data-nsmc] .package-card .price .price_suffix {
  font-size: 0.95rem;
  font-weight: normal;
}

/* Supporting text */
[data-nsmc] .package-card .best-for {
  color: #555;
  margin-bottom: 1rem;
}
[data-nsmc] .package-card ul { 
  /* font-size: 1rem;  */
}

/* Buttons (if not using site’s .btn-primary) */
[data-nsmc] .package-card .mc-more-info {
  background-color: var(--nsmc-accent,
                     var(--wp--preset--color--primary,
                     var(--bs-primary, #2b4d77)));
  border-color:     var(--nsmc-accent,
                     var(--wp--preset--color--primary,
                     var(--bs-primary, #2b4d77)));
  color: #fff;
  border: 0;
}

[data-nsmc] .package-card .mc-more-info:hover,
[data-nsmc] .package-card .mc-more-info:focus {
  filter: brightness(0.92);
  background-color: #2b4d77;
  border-color: #0a58ca;
}

/* Card spacing on smaller screens */
@media (max-width: 991px) {
  [data-nsmc] .package-card { margin-bottom: 2rem; }
}

/* ===== Font Awesome list (scoped) ===== */

[data-nsmc] .fa-ul > li {
  position: relative;
  margin: 0 !important;
}
[data-nsmc] .fa-li {
  position: absolute;
  left: -1.6em;
  width: 1.2em;
  text-align: center;
}

/* ===== Flash messages (scoped) ===== */
[data-nsmc] .alert {
  padding: 0.75rem 1rem;
  border-radius: 6px;
  margin-bottom: 1rem;
  border: 1px solid transparent;
}
[data-nsmc] .alert-success {
  background: #e7f6ed;
  border-color: #b6e3c8;
  color: #1f5132;
}
[data-nsmc] .alert-danger {
  background: #fcebea;
  border-color: #f5c2c7;
  color: #842029;
}

/* ===== Form wrapper & product list ===== */
[data-nsmc] #marketcard_form,
[data-nsmc] #nsmc-alert {
  scroll-margin-top: 220px;
}

[data-nsmc] .nsmc-form-wrap {
  background-color: #fff !important;
  /* border: 1px solid #ddd !important;  */
  padding: 12px;
  margin-right: 0 !important;
  margin-left: 0 !important;
  border-radius: 8px;
  margin-bottom: 1rem;
  z-index:100001;
}

[data-nsmc] form .product_display {
  margin-bottom: 0.5rem;
  margin-left: 1rem;
  padding: 0.5rem;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  /* font-size: 100%; */
  background: #fff;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
[data-nsmc] form .product_display:hover {
  background-color: #f7f7f7;
  background-color: #000000;
  border-color: #c5c5c5;
  color: #FFFFFF;
}

/* price parts inside form lines */
[data-nsmc] form .nsmc-price {}
[data-nsmc] form .nsmc-price-prefix { font-style: italic; }
[data-nsmc] form .nsmc-price-amount { font-weight: 700; }
[data-nsmc] form .nsmc-price-term {}

[data-nsmc] .product_display .nsmc-desc { line-height: 1.25; }

[data-nsmc] .mini-edit { font-size: 11px; margin-left: .5rem; opacity: .65; text-decoration: none; }
[data-nsmc] .mini-edit:hover { opacity: 1; text-decoration: underline; }

/* Prospect column layout (right side of form) */
[data-nsmc] .market-cards-form {font-size: .8rem;}
[data-nsmc] .market-cards-form .prospect label { display: block; width: 100%;  }
[data-nsmc] .market-cards-form .prospect input[type="text"],
[data-nsmc] .market-cards-form .prospect input[type="email"],
[data-nsmc] .market-cards-form .prospect textarea,
[data-nsmc] .market-cards-form .prospect select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
[data-nsmc] .market-cards-form .button.button-primary {
  display: block;
  margin: 0 auto;
}
[data-nsmc] .market-cards-form .widefat {
  width: 100%;
  padding: 0.5rem 0.6rem;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
}
[data-nsmc] .market-cards-form fieldset { border: 0; padding: 0; margin: 0 0 1rem; }
[data-nsmc] .market-cards-form legend { font-weight: 600; margin-bottom: 0.5rem; }

[data-nsmc] .nsmc-hp-field {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}





/* ===== END: Component Styles ===== */


/* ===== BEGIN: Fallback (nsmc_bs_fallback.css) ===== */
/* ===== 96 Monkeys – Market Cards Fallback CSS (scoped) ===== */

/* Scope everything inside data-nsmc to avoid collisions */
[data-nsmc] {
  /* Optional theme hooks */
  --nsmc-primary: var(--wp--preset--color--primary, var(--bs-primary, #0d6efd));
  --nsmc-card-header-bg: var(--nsmc-primary);
  --nsmc-card-header-fg: #fff;
}
 
/* Typography (safe, minimal) xxav*/
/* [data-nsmc] h2 {
  margin: 0;
  font-weight: 500;
  line-height: 1.2;
  font-size: calc(1.275rem + .3vw);
  color: var(--bs-heading-color, inherit);
} */

/* ===== Grid (Bootstrap-ish) ===== */
[data-nsmc] .row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
[data-nsmc] [class*="col-"] {
  box-sizing: border-box;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* base */
[data-nsmc] .col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* md ≥768px */
@media (min-width: 768px) {
  [data-nsmc] .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* lg ≥992px */
@media (min-width: 992px) {
  [data-nsmc] .col-lg-6 { /* utility if needed */
    flex: 0 0 50%;
    max-width: 50%;
  }
  [data-nsmc] .col-lg-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  [data-nsmc] .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* Gutters for .g-4 (Bootstrap-like) */
[data-nsmc] .row.g-4 {
  margin-left: -1rem;
  margin-right: -1rem;
  margin-top:12px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
[data-nsmc] .row.g-4 [class*="col-"] {
  padding-left: 1rem;
  padding-right: 1rem;
}

/* ===== Utilities (subset used by plugin) ===== */
[data-nsmc] .align-items-start { align-items: flex-start; }
[data-nsmc] .h-100 { height: 100%; }
[data-nsmc] .text-center { text-align: center; }
[data-nsmc] .text-end { text-align: right; }
[data-nsmc] .pe-2 { padding-right: .5rem; }
[data-nsmc] .pb-1 { padding-bottom: .25rem; }
[data-nsmc] .mt-auto { margin-top: auto; } /* used for card footer CTA */

/* ===== Card ===== */
[data-nsmc] .card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: .5rem;
  /* overflow: hidden; */
  display: flex;
  flex-direction: column;
  height: 100%;
}
[data-nsmc] .card-header {
  padding: .75rem 1rem;
  border-bottom: 1px solid rgba(0,0,0,.125);
  background: #f8f9fa;
}
[data-nsmc] .package-card .card-header {
  /* background: var(--nsmc-card-header-bg); */
  /* color: var(--nsmc-card-header-fg); */
  /* nice rounded top */
  /* border-radius: 1rem 1rem 0 0 !important; */
}
[data-nsmc] .card-body { padding: 1rem; }

/* Font Awesome list fallback (harmless if FA is present) */
[data-nsmc] .fa-ul { list-style: none; margin-left: 2em !important; position: relative; padding-left: 0; }
[data-nsmc] .fa-li { position: absolute; left: -1.75em; width: 1.5em; text-align: center; }
[data-nsmc] .fa-ul li { position: relative; }

/* ===== Buttons ===== */
[data-nsmc] .btn,
[data-nsmc] .button {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  border-radius: .375rem;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
/* [data-nsmc] .btn-primary,
[data-nsmc] .button.button-primary {
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
} */


/* ==== Image ==== */
[data-nsmc] .card-img-top {
  display:block;
  width:100%;
  height:auto;
  /* max-width:200px;
  margin-inline:auto;
  margin-left:auto; 
  margin-right:auto; */
  /* Optional crop:
  max-height: 240px;
  object-fit: cover;
  */
}



/* ===== Alerts ===== */
[data-nsmc] .alert {
  position: relative;
  padding: .75rem 1rem;
  border: 1px solid transparent;
  border-radius: .375rem;
  margin-bottom: 1rem;
}
[data-nsmc] .alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}
[data-nsmc] .alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

/* ===== Modal (base + scrollable body) ===== */
.nsmc-modal { position: fixed; inset: 0; display: none; z-index: 10000; }
.nsmc-modal.is-open { display: block; }
.nsmc-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.nsmc-modal__dialog {
  position: relative;
  max-width: 640px;
  margin: 6vh auto;
  background: #fff;
  border-radius: 10px;
  padding: 1.25rem;
  box-shadow: 0 10px 40px rgba(0,0,0,.25);

  /* scroll handling */
  max-height: 90vh;           /* cap height */
  display: flex;
  flex-direction: column;
}
.nsmc-modal__close {
  position: absolute;
  right: .5rem; top: .5rem;
  border: 0; background: transparent;
  font-size: 1.75rem; line-height: 1; cursor: pointer;
}
.nsmc-modal__title { margin: 0 0 .75rem; font-size: 1.25rem; }
.nsmc-modal__body {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1;
  min-height: 0;
  padding-right: .25rem; /* room for scrollbar */
}

/* Misc helpers */
[data-nsmc] .mini-edit.subtle-edit { font-size: .875rem; opacity: .7; text-decoration: none; }
[data-nsmc] .mini-edit.subtle-edit:hover { opacity: 1; text-decoration: underline; }

/* Ensure responsive columns take over */
[data-nsmc] .col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

[data-nsmc] .mc-head-icon {display:none;}


@media (min-width:768px){
  [data-nsmc] .col-12.col-md-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

@media (min-width:992px){
  [data-nsmc] .col-12.col-md-6.col-lg-4 {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
  }
  [data-nsmc] .col-12.col-md-6.col-lg-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }
}

.sidebar-main [data-nsmc] .row.g-4 .col-12 {
  /* background-color: green; */
  padding-left:0;
  padding-right:0;
}

/* PANEL MODE: wrapper becomes the interactive surface */
.nsmc-smart-offer.so-panel {
  cursor: pointer;
}

/* Make the inner card feel like a wide panel */
.nsmc-smart-offer.so-panel .package-card,
.nsmc-smart-offer.so-panel .card.package-card {
  height: auto !important;
}

/* Center title */
.nsmc-smart-offer.so-panel .card-header,
.nsmc-smart-offer.so-panel .card-header * {
  text-align: center;
}

/* Center feature pills/list if you switch to pills later */
.nsmc-smart-offer.so-panel .fa-ul {
  margin-left: 0;
  padding-left: 0;
}
.nsmc-smart-offer.so-panel .fa-ul > li {
  list-style: none;
}


/* ============================================================
   Auto / rule-based Smart Offers only
   (prevents leaking into normal market cards / ids mode)
   ============================================================ */

/* Auto / rule-based Smart Offers: whole creative is clickable, no CTA button */
.nsmc-smart-offer--auto .nsmc-cta { display: none !important; }

/* Whole-tile affordance */
.nsmc-smart-offer--auto { cursor: pointer; outline: none; }

.nsmc-smart-offer--auto:focus,
.nsmc-smart-offer--auto:focus-visible,
.nsmc-smart-offer--auto:hover { filter: brightness(0.98); }

.nsmc-smart-offer--auto:focus-visible {
  box-shadow: 0 0 0 2px rgba(0,0,0,0.15);
  border-radius: 12px;
}

/* Keep mini-edit clickable above the wrapper click handler */
.nsmc-smart-offer--auto a.mini-edit { position: relative; z-index: 2; }

/* ----------------------------
   PANEL mode (auto only)
   ---------------------------- */

/* No image in panel */
.nsmc-smart-offer--auto.so-panel .card-media { display: none !important; }

/* Center / panel alignment */
.nsmc-smart-offer--auto.so-panel .card-header,
.nsmc-smart-offer--auto.so-panel .card-header * { text-align: center; }

.nsmc-smart-offer--auto.so-panel .card-body {
  align-items: center;
  text-align: center;
}

/* Description block */
.nsmc-smart-offer--auto.so-panel .mc-desc {
  text-align: left;
  max-width: 700px;
}

/* Best-for inline with description */
.nsmc-smart-offer--auto.so-panel .mc-bestfor {
  display: inline;
  margin-left: 8px;
  white-space: normal;
}

/* Price centered */
.nsmc-smart-offer--auto.so-panel .price { text-align: center; }

/* Feature list -> centered pills */
.nsmc-smart-offer--auto.so-panel .fa-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.nsmc-smart-offer--auto.so-panel .fa-ul > li {
  margin: 0;
  padding: 6px 12px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
}

/* Neutralize FA "fa-ul" gutter in pill mode */
.nsmc-smart-offer--auto.so-panel .fa-li {
  position: static;
  left: auto;
  width: auto;
  margin: 0;
}
.so-panel .card_title {display:none;}
.so-panel .card_price {display:none;}
.so-panel .card {padding:0;}


.so-card .panel_title {display:none;}
.so_card .package-card .card-header h2 {text-align:center !important;}
.so-card .panel_price {display:none;}