/*
 * BuyNeopoints Cheap — Basic Theme skin
 * Inspired by the palette and UI construction in the user-supplied Basic theme CSS.
 * No external Neopets image/font assets are required by this file.
 */

:root{
  --neo-yellow:#fed123;
  --neo-yellow-light:#fff7c5;
  --neo-cream:#fffacd;
  --neo-orange:#faa819;
  --neo-orange-dark:#d88400;
  --neo-blue:#2E72C0;
  --neo-blue-top:#539ff3;
  --neo-blue-bottom:#2556ba;
  --neo-green-top:#3bc92e;
  --neo-green-bottom:#2b8a27;
  --neo-red-top:#f0311e;
  --neo-red-bottom:#ac2f1d;
  --neo-purple-top:#9153f3;
  --neo-purple-bottom:#7223b7;
  --neo-pink-top:#ff98ff;
  --neo-pink-bottom:#ff37ff;
  --neo-ink:#363636;
  --neo-muted:#616161;
  --neo-border:#faa819;
  --neo-panel:#fff;
  --neo-page:#eaf5ff;

  /* Map the site's existing design tokens into the Basic palette. */
  --np-primary:var(--neo-blue);
  --np-primary-dark:#195de0;
  --np-ink:var(--neo-ink);
  --np-muted:var(--neo-muted);
  --np-bg:var(--neo-page);
  --np-success:#2b8a27;
}

html{background:#dbeeff}
body{
  color:var(--neo-ink);
  font-family:"MuseoSansRounded","Arial Rounded MT Bold",Arial,sans-serif;
  background-color:var(--neo-page);
  background-image:
    radial-gradient(circle at 12px 12px,rgba(46,114,192,.10) 0 2px,transparent 2.5px),
    radial-gradient(circle at 38px 38px,rgba(250,168,25,.11) 0 2px,transparent 2.5px),
    linear-gradient(135deg,rgba(255,255,255,.50) 25%,transparent 25%),
    linear-gradient(315deg,rgba(255,255,255,.35) 25%,transparent 25%);
  background-size:50px 50px,50px 50px,100px 100px,100px 100px;
  background-position:0 0,0 0,0 0,50px 50px;
}

/* Keep public page content on the same responsive Bootstrap .container width
   used by the main navigation. Do not impose a narrower custom max-width here. */

a{color:var(--neo-blue);text-decoration:none}
a:hover{color:#ffb300}

h1,h2,h3,h4,h5,h6,
.navbar-brand,
.navbar .nav-link,
footer .fw-semibold,
footer .fw-bold,
.btn,
.page-title__2020{
  font-family:"MuseoSansRounded","Arial Rounded MT Bold",Arial,sans-serif;
}

h1,h2,h3,h4,h5,h6{color:var(--neo-ink);font-weight:800}

/* --------------------------------------------------------------------------
   BASIC THEME NAVIGATION
   -------------------------------------------------------------------------- */
.navbar{
  min-height:68px;
  background:var(--neo-yellow)!important;
  border:0!important;
  border-bottom:3px solid var(--neo-orange)!important;
  box-shadow:0 3px 0 rgba(0,0,0,.06);
  overflow:visible;
  isolation:isolate;
}
.navbar::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.34;
  background-image:
    radial-gradient(circle at 12px 10px,rgba(255,255,255,.75) 0 4px,transparent 4.5px),
    radial-gradient(circle at 42px 30px,rgba(250,168,25,.55) 0 5px,transparent 5.5px),
    linear-gradient(45deg,transparent 47%,rgba(255,255,255,.35) 48% 52%,transparent 53%);
  background-size:60px 40px,60px 40px,60px 40px;
}
.navbar>.container{position:relative;z-index:1}
.navbar-brand{
  color:var(--neo-ink)!important;
  font-size:1.22rem;
  font-weight:900!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.brand-logo{
  width:44px;height:44px;
  border-radius:13px;
  background:#fff;
  border:2px solid var(--neo-orange);
  padding:3px;
  box-shadow:0 3px 0 rgba(179,112,0,.35);
}
.brand-mark{
  width:40px;height:40px;
  border-radius:12px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(var(--neo-blue-top),var(--neo-blue-bottom));
  border:1px solid #fff;
  box-shadow:inset 0 -3px 2px 2px #1d3f70,inset 0 2px 0 1px #d0e5fc,0 0 0 2px #000;
}
.navbar .nav-link{
  color:var(--neo-ink)!important;
  font-size:1.12rem;
  line-height:1.2;
  font-weight:800;
  border-radius:11px;
  padding:.55rem .72rem!important;
  margin:.12rem .08rem;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color:var(--neo-ink)!important;
  background:#ffd35e;
  box-shadow:inset 0 0 0 2px rgba(250,168,25,.55);
}
.navbar-toggler{
  border:2px solid var(--neo-orange)!important;
  border-radius:10px!important;
  background:var(--neo-cream)!important;
  box-shadow:0 2px 0 rgba(179,112,0,.25);
}
.navbar-collapse.show,
.navbar-collapse.collapsing{
  margin-top:.65rem;
  padding:.65rem;
  border:2px solid var(--neo-orange);
  border-radius:12px;
  background:var(--neo-cream);
  box-shadow:0 4px 0 rgba(250,168,25,.35);
}
@media(min-width:992px){
  .navbar-collapse.show,.navbar-collapse.collapsing{margin-top:0;padding:0;border:0;background:transparent;box-shadow:none}
}

/* --------------------------------------------------------------------------
   BUTTON SYSTEM — CHUNKY BASIC-THEME CONSTRUCTION
   -------------------------------------------------------------------------- */
.btn:not(.navbar-toggler){
  position:relative;
  border:1px solid #fff!important;
  border-radius:15px!important;
  padding:.42rem .95rem .62rem!important;
  font-weight:900!important;
  line-height:1.2;
  text-align:center;
  text-decoration:none!important;
  transition:filter .12s ease,transform .05s ease,box-shadow .12s ease;
  overflow:visible;
}
.btn:not(.navbar-toggler):hover{filter:brightness(1.08)}
.btn:not(.navbar-toggler):active{transform:translateY(2px)}
.btn:not(.navbar-toggler):focus-visible{outline:3px solid rgba(46,114,192,.28)!important;outline-offset:4px}
.btn:not(.navbar-toggler):disabled,.btn.disabled{filter:grayscale(1);opacity:.62}

.btn-primary,.btn-outline-primary{
  color:#fff!important;
  text-shadow:0 0 4px #000;
  background:linear-gradient(var(--neo-blue-top),var(--neo-blue-bottom))!important;
  box-shadow:inset 0 0 0 1px #539ff3,inset 0 -3px 2px 3px #1d3f70,inset 0 2px 0 1px #d0e5fc,0 0 0 2px #000!important;
}
.btn-primary:hover,.btn-primary:focus,.btn-outline-primary:hover,.btn-outline-primary:focus{
  background:linear-gradient(#59c2ff,#195de0)!important;
  box-shadow:inset 0 0 0 1px #59c2ff,inset 0 -3px 2px 3px #0f3d82,inset 0 2px 0 1px #f5ffff,0 0 0 2px #000!important;
}
.btn-primary:active,.btn-outline-primary:active{
  background:linear-gradient(#2556ba,#539ff3)!important;
  box-shadow:inset 0 0 0 1px #2556ba,inset 0 -1px 2px 3px #1d3f70,inset 0 2px 0 1px #d0e5fc,0 0 0 2px #000!important;
}

.btn-success,.btn-outline-success{
  color:#111!important;
  text-shadow:none;
  background:linear-gradient(var(--neo-green-top),var(--neo-green-bottom))!important;
  box-shadow:inset 0 0 0 1px #3bc92e,inset 0 -3px 2px 3px #246717,inset 0 2px 0 1px #c9f0c6,0 0 0 2px #000!important;
}
.btn-success:hover,.btn-success:focus,.btn-outline-success:hover,.btn-outline-success:focus{
  background:linear-gradient(#37ef26,#2b8a27)!important;
  box-shadow:inset 0 0 0 1px #37ef26,inset 0 -3px 2px 3px #187607,inset 0 2px 0 1px #efffeb,0 0 0 2px #000!important;
}

.btn-danger,.btn-outline-danger{
  color:#fff!important;
  text-shadow:0 0 4px #000;
  background:linear-gradient(var(--neo-red-top),var(--neo-red-bottom))!important;
  box-shadow:inset 0 0 0 1px #f0311e,inset 0 -3px 2px 3px #820e0d,inset 0 2px 0 1px #fcdbd6,0 0 0 2px #000!important;
}
.btn-danger:hover,.btn-danger:focus,.btn-outline-danger:hover,.btn-outline-danger:focus{
  background:linear-gradient(#ff3721,#cf270b)!important;
  box-shadow:inset 0 0 0 1px #ff3721,inset 0 -3px 2px 3px #8f0200,inset 0 2px 0 1px #fff5f6,0 0 0 2px #000!important;
}

.btn-dark{
  color:#fff!important;
  text-shadow:0 0 4px #000;
  background:linear-gradient(var(--neo-purple-top),var(--neo-purple-bottom))!important;
  box-shadow:inset 0 0 0 1px #9153f3,inset 0 -3px 2px 3px #431d70,inset 0 2px 0 1px #e1d0fc,0 0 0 2px #000!important;
}
.btn-dark:hover,.btn-dark:focus{
  background:linear-gradient(#ac7bff,#ad22f6)!important;
  box-shadow:inset 0 0 0 1px #ac7bff,inset 0 -3px 2px 3px #5e15ae,inset 0 2px 0 1px #fdfdff,0 0 0 2px #000!important;
}

.btn-warning,.btn-light,.btn-secondary,.btn-outline-secondary{
  color:var(--neo-ink)!important;
  text-shadow:none;
  background:linear-gradient(#f6e250,#ebb233)!important;
  box-shadow:inset 0 0 0 1px #f6e250,inset 0 -3px 2px 3px #c47c19,inset 0 2px 0 1px #fdf9dc,0 0 0 2px #000!important;
}
.btn-warning:hover,.btn-light:hover,.btn-secondary:hover,.btn-outline-secondary:hover,
.btn-warning:focus,.btn-light:focus,.btn-secondary:focus,.btn-outline-secondary:focus{
  color:var(--neo-ink)!important;
  background:linear-gradient(#ffff54,#ffd328)!important;
  box-shadow:inset 0 0 0 1px #ffff54,inset 0 -3px 2px 3px #ea8f09,inset 0 2px 0 1px #fffff3,0 0 0 2px #000!important;
}

.btn-lg{font-size:1.08rem!important;padding:.62rem 1.2rem .82rem!important}
.btn-sm{font-size:.86rem!important;padding:.3rem .7rem .48rem!important}

/* --------------------------------------------------------------------------
   PAGE SHELL, HERO, PANELS, CARDS
   -------------------------------------------------------------------------- */
.hero{
  position:relative;
  padding:68px 0 50px;
  background:
    radial-gradient(circle at 85% 20%,rgba(254,209,35,.42),transparent 24%),
    radial-gradient(circle at 12% 75%,rgba(83,159,243,.20),transparent 25%),
    linear-gradient(180deg,#fffde8,#fff 62%,rgba(255,250,205,.68));
  border-bottom:3px solid var(--neo-orange);
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.26;
  background-image:radial-gradient(circle,rgba(250,168,25,.8) 0 2px,transparent 2.5px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}
.hero>.container{position:relative;z-index:1}
.hero h1{color:var(--neo-ink);text-shadow:0 2px 0 #fff}
.hero-copy{color:#555}

.panel,.product-card,.feature-card,.seo-info-card,.stat-card,.auth-card{
  background:var(--neo-panel)!important;
  border:2px solid var(--neo-orange)!important;
  border-radius:15px!important;
  box-shadow:0 4px 0 rgba(250,168,25,.55),0 10px 24px rgba(46,114,192,.08)!important;
}
.product-card{transition:transform .15s ease,box-shadow .15s ease}
.product-card:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(250,168,25,.62),0 14px 28px rgba(46,114,192,.12)!important}
.package-card-image-link{
  background:linear-gradient(#fffef3,var(--neo-cream))!important;
  border-bottom:2px solid var(--neo-orange)!important;
}
.package-detail-image-wrap{
  border:2px solid var(--neo-orange)!important;
  border-radius:14px!important;
  background:var(--neo-cream)!important;
  box-shadow:0 3px 0 rgba(250,168,25,.4);
}
.feature-card,.seo-info-card{background:linear-gradient(#fff,#fffdf0)!important}
.feature-icon{
  color:var(--neo-blue)!important;
  background:var(--neo-yellow-light)!important;
  border:2px solid var(--neo-orange);
  border-radius:12px!important;
}
.trust-pill{
  background:var(--neo-cream)!important;
  border:2px solid var(--neo-orange)!important;
  color:var(--neo-ink);
  box-shadow:0 3px 0 rgba(250,168,25,.35)!important;
}
.secure-box{
  background:var(--neo-cream)!important;
  border:2px solid var(--neo-orange)!important;
  border-radius:12px!important;
  box-shadow:0 3px 0 rgba(250,168,25,.35);
}
.secure-box i{color:#2b8a27!important}

/* Reviews and horizontal cards */
.review-card{
  border:2px solid var(--neo-orange)!important;
  border-radius:15px!important;
  background:linear-gradient(#fff,#fffdf0)!important;
  box-shadow:0 4px 0 rgba(250,168,25,.45)!important;
}
.review-scroll-btn{min-width:44px}

/* --------------------------------------------------------------------------
   FORMS, TABLES, ACCORDIONS, ALERTS
   -------------------------------------------------------------------------- */
.form-control,.form-select,.input-group-text{
  border:2px solid #bfb89e!important;
  border-radius:10px;
  background-color:#fffef5;
  color:var(--neo-ink);
}
.input-group>.input-group-text:first-child{border-radius:10px 0 0 10px}
.input-group>.form-control:last-child,.input-group>.form-select:last-child{border-radius:0 10px 10px 0}
.form-control:focus,.form-select:focus{
  border-color:var(--neo-orange)!important;
  box-shadow:0 0 0 .24rem rgba(254,209,35,.38)!important;
  background:#fff;
}
.form-check-input:checked{background-color:var(--neo-blue);border-color:var(--neo-blue)}
.form-label{font-weight:800;color:var(--neo-ink)}
.form-text,.text-secondary{color:#666!important}

.table{
  --bs-table-bg:#fff;
  --bs-table-striped-bg:#fffdf0;
  --bs-table-hover-bg:#fff7c5;
  border-color:#d9cfa6;
}
.table thead th{
  background:var(--neo-yellow)!important;
  color:var(--neo-ink)!important;
  border-bottom:2px solid var(--neo-orange)!important;
  font-weight:900;
}
.table-responsive{
  border-radius:11px;
}

.accordion{
  --bs-accordion-border-color:var(--neo-orange);
  --bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(254,209,35,.35);
  --bs-accordion-active-bg:var(--neo-yellow);
  --bs-accordion-active-color:var(--neo-ink);
}
.accordion-item{border:2px solid var(--neo-orange)!important;background:#fff}
.accordion-button{font-weight:800;background:var(--neo-cream);color:var(--neo-ink)}
.accordion-button:not(.collapsed){background:var(--neo-yellow);color:var(--neo-ink);box-shadow:inset 0 -2px 0 var(--neo-orange)}

.alert{
  border-width:2px!important;
  border-style:solid!important;
  border-radius:12px!important;
  box-shadow:0 3px 0 rgba(0,0,0,.08);
}
.alert-primary{background:#e8f4ff;border-color:#539ff3!important;color:#183d70}
.alert-success{background:#eaf9e7;border-color:#3bc92e!important;color:#1b5d17}
.alert-warning{background:#fff7c5;border-color:#faa819!important;color:#6b4500}
.alert-danger{background:#fff0ed;border-color:#f0311e!important;color:#7f1d13}

.badge{font-weight:800}
.badge-soft{background:var(--neo-cream)!important;color:var(--neo-ink)!important;border:1px solid var(--neo-orange)}
.status-paid,.status-fulfilled{background:#dff5da!important;color:#1c6418!important;border:1px solid #3bc92e}
.status-pending,.status-pending_payment{background:#fff4b8!important;color:#714900!important;border:1px solid #faa819}
.status-canceled,.status-refunded{background:#ffe1dd!important;color:#8f1e14!important;border:1px solid #f0311e}

.breadcrumb{
  display:inline-flex;
  padding:.55rem .85rem;
  background:var(--neo-cream);
  border:2px solid var(--neo-orange);
  border-radius:10px;
  box-shadow:0 2px 0 rgba(250,168,25,.35);
}

/* --------------------------------------------------------------------------
   ADMIN
   -------------------------------------------------------------------------- */
.admin-body{background-color:#edf6ff}
.admin-sidebar{
  background:var(--neo-cream)!important;
  border-right:3px solid var(--neo-orange)!important;
  box-shadow:3px 0 0 rgba(250,168,25,.16);
}
.admin-sidebar .nav-link{
  color:var(--neo-ink)!important;
  font-weight:800;
  border-radius:10px;
}
.admin-sidebar .nav-link:hover{
  color:var(--neo-ink)!important;
  background:#ffd35e!important;
  box-shadow:inset 0 0 0 2px var(--neo-orange);
}
.stat-card{background:linear-gradient(#fff,#fffdf1)!important}
.stat-value{color:var(--neo-blue)}

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
footer{
  position:relative;
  background:var(--neo-yellow)!important;
  border:0!important;
  border-top:3px solid var(--neo-orange)!important;
  color:var(--neo-ink);
  overflow:hidden;
  isolation:isolate;
}
footer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.30;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 10px 12px,rgba(255,255,255,.8) 0 4px,transparent 4.5px),
    radial-gradient(circle at 45px 28px,rgba(250,168,25,.55) 0 5px,transparent 5.5px);
  background-size:60px 40px;
}
footer .text-secondary{color:#4f4f4f!important}
.footer-link{
  display:block;
  color:var(--neo-ink)!important;
  font-size:1.10rem;
  line-height:1.25;
  font-weight:800;
  margin:.48rem 0;
}
.footer-link:hover{color:var(--neo-blue)!important;text-decoration:underline}

/* --------------------------------------------------------------------------
   SMALL DETAILS
   -------------------------------------------------------------------------- */
hr{border-top:2px solid #ead99a;opacity:1}
.stock-dot{background:#36b82d!important;box-shadow:0 0 0 4px rgba(59,201,46,.18)!important}
.price,.np-amount,.product-detail-amount{color:var(--neo-blue)}
.compare-price{color:#777!important}
.cart-badge{border:2px solid #000}
.oauth-btn{min-height:48px}
.order-timeline{border-left-color:var(--neo-orange)!important}
.order-timeline>div:before{background:var(--neo-yellow)!important;border:2px solid #000}

/* Selection and scrollbars add a little of the playful Basic-theme polish. */
::selection{background:#fed123;color:#363636}
@supports selector(::-webkit-scrollbar){
  ::-webkit-scrollbar{width:13px;height:13px}
  ::-webkit-scrollbar-track{background:#fffacd}
  ::-webkit-scrollbar-thumb{background:#faa819;border:3px solid #fffacd;border-radius:999px}
}

@media(max-width:991px){
  .admin-sidebar{border-right:0!important;border-bottom:3px solid var(--neo-orange)!important}
  .hero{padding-top:48px}
}

@media(max-width:575px){
  .btn:not(.navbar-toggler){border-radius:13px!important}
  .panel,.product-card,.feature-card,.seo-info-card,.stat-card,.auth-card{border-radius:13px!important}
  .hero h1{font-size:2.55rem}
}


/* --------------------------------------------------------------------------
   HOTFIX: PRODUCT DETAIL STICKY PURCHASE SUMMARY
   The old product row used Bootstrap align-items-start. In a flex row that kept
   the purchase column only as tall as the card, leaving position:sticky with no
   containing-block height to travel through. Stretch the column to the height of
   the product content and keep all sticky ancestors overflow-visible.
   -------------------------------------------------------------------------- */
.product-detail-row{
  align-items:stretch!important;
  overflow:visible!important;
}
.product-detail-content,
.product-summary-column{
  overflow:visible!important;
}
.product-summary-column{
  align-self:stretch!important;
  position:relative;
}
.product-summary-column>.sticky-summary{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:88px!important;
  z-index:20;
}
@media(max-width:991.98px){
  .product-summary-column>.sticky-summary{
    position:static!important;
    top:auto!important;
  }
}


/* --------------------------------------------------------------------------
   DROPDOWN ARROW HOTFIX
   Keep Bootstrap/native select arrows visible after the Basic-theme skin.
   -------------------------------------------------------------------------- */
.form-select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  background-color:#fffef5!important;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23363636' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important;
  background-repeat:no-repeat!important;
  background-position:right .75rem center!important;
  background-size:16px 12px!important;
  padding-right:2.5rem!important;
}
.form-select:focus{
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%232E72C0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important;
}
.form-select[multiple],
.form-select[size]:not([size="1"]){
  background-image:none!important;
  padding-right:.75rem!important;
}

/* Bootstrap button dropdowns: restore a clear caret even under themed buttons. */
.dropdown-toggle::after{
  display:inline-block!important;
  width:0!important;
  height:0!important;
  margin-left:.45em!important;
  vertical-align:.18em!important;
  content:""!important;
  border-top:.42em solid currentColor!important;
  border-right:.34em solid transparent!important;
  border-bottom:0!important;
  border-left:.34em solid transparent!important;
  opacity:.95;
}
.dropup .dropdown-toggle::after{
  border-top:0!important;
  border-right:.34em solid transparent!important;
  border-bottom:.42em solid currentColor!important;
  border-left:.34em solid transparent!important;
}
.dropend .dropdown-toggle::after{
  border-top:.34em solid transparent!important;
  border-right:0!important;
  border-bottom:.34em solid transparent!important;
  border-left:.42em solid currentColor!important;
  vertical-align:0!important;
}
.dropstart .dropdown-toggle::before{
  display:inline-block!important;
  margin-right:.45em!important;
  vertical-align:.18em!important;
  content:""!important;
  border-top:.34em solid transparent!important;
  border-right:.42em solid currentColor!important;
  border-bottom:.34em solid transparent!important;
  border-left:0!important;
}

/* --------------------------------------------------------------------------
   TYPOGRAPHY HOTFIX — CAFETERIA UI + MUSEO SANS ROUNDED BODY

   User-provided fonts expected in /assets/fonts/.
   Supported Museo filenames (first existing file wins):
   - museosansrounded-500.otf
   - museosansrounded-500.ttf
   - museo-sans-rounded.otf
   - museo-sans-rounded.ttf

   Cafeteria files:
   - cafeteria-black.otf
   - cafeteria-black.ttf

   Font binaries are intentionally not bundled in this hotfix.
   -------------------------------------------------------------------------- */
@font-face{
  font-family:"Cafeteria";
  src:url("../fonts/cafeteria-black.otf") format("opentype"),
      url("../fonts/cafeteria-black.ttf") format("truetype");
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
}

@font-face{
  font-family:"MuseoSansRounded";
  src:url("../fonts/museosansrounded-500.woff") format("woff"),
      url("../fonts/MuseoSansRounded500.otf") format("opentype");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}

@font-face{
  font-family:"MuseoSansRounded";
  src:url("../fonts/MuseoSansRounded700.otf") format("opentype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

/* Default/site copy: Museo Sans Rounded. */
html,body,
input,select,textarea,button,
.form-control,.form-select,.input-group-text,
table,thead,tbody,tfoot,tr,th,td{
  font-family:"MuseoSansRounded","Arial Rounded MT Bold",Arial,sans-serif;
  font-weight:500;
}

strong,b,.fw-semibold,.fw-bold,.table th,label,.form-label{
  font-family:"MuseoSansRounded","Arial Rounded MT Bold",Arial,sans-serif;
  font-weight:700;
}

/* Basic-theme display/UI typography. */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
.section-title,.card-title,.panel-title,
.navbar-brand,
.navbar .nav-link,
.navbar .dropdown-item,
.admin-sidebar .nav-link,
.btn,
.accordion-button,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.card-header,
.modal-title,
.offcanvas-title,
.page-title__2020,
.footer-link,
footer h1,footer h2,footer h3,footer h4,footer h5,footer h6{
  font-family:"Cafeteria","MuseoSansRounded","Arial Rounded MT Bold",Arial,sans-serif!important;
  letter-spacing:.01em;
}

/* Cafeteria Black is already a heavy display face. */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,
.section-title,.card-title,.panel-title,
.navbar-brand,
.navbar .nav-link,
.admin-sidebar .nav-link,
.btn,
.accordion-button,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.footer-link{
  font-weight:700!important;
}

/* Data/content stays Museo Sans Rounded even when the component sits inside display UI. */
.form-label,.form-text,
.form-control,.form-select,.input-group-text,
.table,.table th,.table td,
.alert,.badge,
.price,.np-amount,.product-detail-amount,.stat-value,
.seo-copy,.hero-copy,.trust-pill{
  font-family:"MuseoSansRounded","Arial Rounded MT Bold",Arial,sans-serif!important;
}


/* --------------------------------------------------------------------------
   NAV + FOOTER LINK SIZE HOTFIX
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px){
  .navbar .nav-link{
    font-size:1.16rem;
    padding:.64rem .78rem!important;
  }
}

/* --------------------------------------------------------------------------
   BODY / NAV CONTAINER WIDTH HOTFIX
   Public content intentionally uses Bootstrap's native .container breakpoints,
   exactly matching .navbar > .container (540/720/960/1140/1320px).
   -------------------------------------------------------------------------- */

/* =========================================================
   REVIEWS + STOREFRONT STATS
   ========================================================= */
.store-stat-card{
    display:flex;
    align-items:center;
    gap:.9rem;
    height:100%;
    padding:1rem 1.1rem;
    background:#fffef5;
    border:2px solid #faa819;
    border-radius:15px;
    box-shadow:0 4px 0 rgba(250,168,25,.24);
}
.store-stat-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    font-size:1.05rem;
}
.store-stat-value{
    font-family:"Cafeteria",Arial,sans-serif;
    font-size:1.55rem;
    line-height:1.05;
    color:#363636;
}
.product-review-list{display:grid;gap:1rem}
.product-review-item{
    padding:1.05rem 0;
    border-bottom:1px solid rgba(250,168,25,.45);
}
.product-review-item:first-child{padding-top:0}
.product-review-item:last-child{border-bottom:0;padding-bottom:0}
.product-reviews-panel .review-stars,.review-section .review-stars{color:#ff8a00;letter-spacing:1px}
.review-submit-icon{
    width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
    background:#fed123;border:2px solid #faa819;color:#363636;font-size:1.2rem;flex:0 0 52px;
    box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 2px 0 rgba(250,168,25,.35)
}
.review-admin-excerpt{max-width:520px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.status-pending{background:#fff3cd!important;color:#664d03!important}
.status-approved{background:#d1e7dd!important;color:#0f5132!important}
.status-rejected{background:#f8d7da!important;color:#842029!important}
@media (max-width:575.98px){.store-stat-value{font-size:1.3rem}.store-stat-card{padding:.85rem;gap:.65rem}.store-stat-icon{width:38px;height:38px;flex-basis:38px}}


/* Review carousel empty-slot fillers.
   These are calls to action, not customer testimonials. */
.review-card-placeholder{
  background:linear-gradient(180deg,#fffdf0,#fff7c5)!important;
  border-style:dashed!important;
}
.review-card-placeholder .review-placeholder-stars{
  color:#d7b94a;
  opacity:.45;
  letter-spacing:1px;
}
.review-placeholder-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
  background:var(--neo-yellow-light);
  border:2px solid var(--neo-orange);
  color:var(--neo-blue);
  font-size:1.2rem;
}
