:root{--cp-blue: #0b3d91;--cp-blue-dark: #082a62;--cp-blue-soft: #e3edff;--cp-red: #e11d48;--cp-red-dark: #b91c3c;--cp-ink: #0f172a;--cp-mist: #f4f7fb;--cp-card: #ffffff;--cp-border: #e2e8f0;--cp-shadow: 0 18px 40px rgba(15, 23, 42, 0.12)}body{font-family:"Trebuchet MS","Gill Sans","Verdana",sans-serif;color:var(--cp-ink);background:radial-gradient(circle at 10% 20%, rgba(225, 29, 72, 0.08), transparent 35%),radial-gradient(circle at 80% 0%, rgba(11, 61, 145, 0.12), transparent 40%),var(--cp-mist)}.cp-shell{min-height:100vh;display:flex;flex-direction:column}.cp-topbar{background:linear-gradient(90deg, var(--cp-blue), var(--cp-blue-dark));color:#fff;font-size:.85rem}.cp-topbar .cp-topbar-pill{background:rgba(255,255,255,.18);border-radius:999px;padding:.25rem .65rem}.cp-campaign-bar{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;font-size:.9rem;padding:.6rem 0}.cp-campaign-pill{background:#fb7185;color:#fff;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700}.cp-discount-badge{background:var(--cp-red);color:#fff;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}.cp-product-card .cp-card__media{aspect-ratio:1/1}@media(max-width: 640px){.cp-product-card{display:flex;flex-direction:row;align-items:stretch}.cp-product-card .cp-card__media{flex:0 0 96px;width:96px;aspect-ratio:1/1;border-radius:16px 0 0 16px}.cp-product-card .cp-card__media img{height:100%}.cp-product-card .card-body{padding:.75rem;flex:1 1 auto}.cp-product-card .btn{padding:.4rem .75rem;font-size:.85rem}}.cp-header{background:#fff;border-bottom:1px solid var(--cp-border);box-shadow:0 12px 30px rgba(15,23,42,.06);position:sticky;top:0;z-index:1035}.cp-header-mobile{height:64px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px}.cp-brand--mobile{flex:1;justify-content:center;font-size:1rem;white-space:nowrap;text-align:center}.cp-icon-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--cp-border);background:var(--cp-mist);color:var(--cp-blue-dark);display:grid;place-items:center}.cp-icon-btn--cart{position:relative}.cp-icon-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--cp-red);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;display:grid;place-items:center}.cp-brand{font-family:"Georgia","Times New Roman",serif;font-weight:700;letter-spacing:.5px;color:var(--cp-blue);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.cp-brand span{color:var(--cp-red)}.cp-search{max-width:520px;width:100%}.cp-search .form-control{border-radius:999px;border:1px solid var(--cp-border);background:var(--cp-mist)}.cp-search .btn{border-radius:999px;background:var(--cp-blue);color:#fff;border:0}.cp-actions .btn{border-radius:999px;font-weight:600}.btn-cp-primary{background:var(--cp-red);color:#fff;border:0;border-radius:999px;padding:.55rem 1.25rem;box-shadow:0 12px 24px rgba(225,29,72,.25)}.btn-cp-primary:hover{background:var(--cp-red-dark);color:#fff}.btn-cp-outline{border:1px solid var(--cp-blue);color:var(--cp-blue);background:#fff;border-radius:999px;padding:.5rem 1.1rem}.btn-cp-outline:hover{background:var(--cp-blue);color:#fff}.cp-nav{background:var(--cp-blue-soft);border-top:1px solid var(--cp-border)}.cp-nav .nav-link{color:var(--cp-blue-dark);font-weight:600;padding:.65rem .85rem}.cp-nav .nav-link:hover{color:var(--cp-red)}.cp-main{flex:1 0 auto}.cp-animate{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.cp-animate[data-animate=fade]{transform:none}.cp-animate.is-visible{opacity:1;transform:translateY(0)}.cp-hero{background:linear-gradient(120deg, rgba(11, 61, 145, 0.95), rgba(225, 29, 72, 0.9));color:#fff;border-radius:28px;padding:3rem;position:relative;overflow:hidden;box-shadow:var(--cp-shadow)}.cp-hero::after{content:"";position:absolute;inset:-40% 55% 0 -20%;background:radial-gradient(circle, rgba(255, 255, 255, 0.2), transparent 60%);pointer-events:none}.cp-hero h1{font-family:"Georgia","Times New Roman",serif;font-weight:700}.cp-section-title{font-family:"Georgia","Times New Roman",serif;font-weight:700;color:var(--cp-blue)}.cp-card{border-radius:20px;border:1px solid var(--cp-border);background:var(--cp-card);box-shadow:0 10px 24px rgba(15,23,42,.08);transition:transform .2s ease,box-shadow .2s ease}.cp-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(15,23,42,.12)}.cp-card__media{display:block;position:relative;overflow:hidden;border-top-left-radius:20px;border-top-right-radius:20px;aspect-ratio:1/1}.cp-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.cp-card:hover .cp-card__media img{transform:scale(1.04)}.cp-square{aspect-ratio:1/1;width:100%;position:relative;overflow:hidden;border-radius:18px;background:#fff;display:block;border:0;padding:0;cursor:pointer}.cp-square img{width:100%;height:100%;object-fit:cover}.cp-lightbox-trigger{position:absolute;bottom:12px;right:12px;width:36px;height:36px;border-radius:999px;border:0;background:rgba(15,23,42,.75);color:#fff;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}.cp-lightbox-trigger:hover{transform:translateY(-2px);background:rgba(15,23,42,.9)}.cp-lightbox-overlay{position:fixed;inset:0;background:rgba(15,23,42,.82);display:none;align-items:center;justify-content:center;z-index:1060;padding:1.5rem}.cp-lightbox-overlay.is-open{display:flex}.cp-lightbox-dialog{position:relative;max-width:92vw;max-height:90vh;display:grid;gap:.75rem;place-items:center}.cp-lightbox-dialog img{max-width:92vw;max-height:84vh;border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.35)}.cp-lightbox-close{position:absolute;top:-12px;right:-12px;width:38px;height:38px;border-radius:999px;border:0;background:#fff;color:var(--cp-ink);display:grid;place-items:center;font-size:1.2rem;box-shadow:0 10px 24px rgba(0,0,0,.25)}.cp-price{font-weight:700;color:var(--cp-red)}.cp-category-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:1rem}.cp-category-tile{background:#fff;border:1px solid var(--cp-border);border-radius:16px;padding:1rem;display:grid;gap:.35rem;color:var(--cp-blue-dark);text-decoration:none;box-shadow:0 8px 18px rgba(15,23,42,.06)}.cp-category-tile:hover{border-color:var(--cp-red);color:var(--cp-red)}.cp-offcanvas .offcanvas-header{background:var(--cp-blue);color:#fff}.cp-offcanvas .offcanvas-body{background:#fff}.cp-cat-list,.cp-cat-sub{list-style:none;margin:0;padding:0}.cp-cat-list>li{border-bottom:1px solid var(--cp-border);padding:.5rem 0}.cp-cat-sub{margin-top:.35rem;padding-left:1rem;border-left:2px dashed var(--cp-blue-soft)}.cp-cat-link{color:var(--cp-blue-dark);text-decoration:none;font-weight:600}.cp-cat-link:hover{color:var(--cp-red)}.cp-footer{background:var(--cp-blue-dark);color:#fff;margin-top:3rem}.cp-footer a{color:#fff;text-decoration:none}.cp-footer a:hover{color:var(--cp-red)}.cp-badge{background:var(--cp-blue);color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.cp-cart-item{border-bottom:1px solid var(--cp-border);padding:.75rem 0}.cp-cart-thumb{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid var(--cp-border)}.pagination{flex-wrap:wrap;gap:.25rem}.pagination .page-link{border-radius:999px}.cp-xsell-added{background:var(--cp-blue-soft);border-left:6px solid var(--cp-blue)}.cp-xsell{padding-bottom:4.5rem}.cp-xsell-thumb{width:88px;border:1px solid var(--cp-border);background:#fff}.cp-xsell-sticky{position:fixed;left:0;right:0;bottom:0;background:rgba(15,23,42,.94);padding:.6rem 0 calc(.6rem + env(safe-area-inset-bottom));z-index:1040;box-shadow:0 -10px 24px rgba(15,23,42,.25)}.cp-xsell-sticky-thumb{width:44px;border:1px solid rgba(255,255,255,.2)}.cp-ajax-loading{font-weight:600}@media(min-width: 992px){.cp-xsell-sticky{display:none}.cp-xsell{padding-bottom:0}}@media(max-width: 992px){.cp-search{max-width:100%}.cp-hero{padding:2rem}.cp-header{box-shadow:0 10px 24px rgba(15,23,42,.1)}.cp-topbar,.cp-campaign-bar{display:none}}
/* Modal styles adapted from learts-theme */
.ks-modal--open {
  overflow: hidden;
}
.ks-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #f8fafc;
  color: #0f172a;
  border-radius: 9999px;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.06s ease, background 0.2s ease, border-color 0.2s ease;
}
.ks-btn:hover {
  transform: translateY(-1px);
}
.ks-btn:active {
  transform: translateY(0);
}
.ks-btn--primary {
  background: #e11d48;
  border-color: #e11d48;
  color: #fff;
}
.ks-btn--primary:hover {
  filter: brightness(1.05);
}
.ks-modal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: grid;
  place-items: center;
  padding: 2rem;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  opacity: 0;
  visibility: hidden;
}
.ks-modal[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
}
.ks-modal[aria-hidden="false"] .ks-modal__overlay {
  opacity: 1;
}
.ks-modal[aria-hidden="false"] .ks-modal__dialog {
  transform: translateY(0);
  opacity: 1;
}
.ks-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(6, 18, 45, 0.6);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.ks-modal__dialog {
  position: relative;
  max-width: 960px;
  width: 100%;
  background: #ffffff;
  color: #0f172a;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.18);
  transform: translateY(10px);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ks-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border: 0;
  background: #f1f5f9;
  color: #0f172a;
  border-radius: 9999px;
  cursor: pointer;
  display: inline-grid;
  place-items: center;
}
.ks-modal__close:hover {
  background: #e2e8f0;
}
.ks-modal__header {
  padding: 1.25rem 1.25rem 0.5rem;
}
.ks-modal__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.2px;
}
@media (min-width: 768px) {
  .ks-modal__title {
    font-size: 1.25rem;
  }
}
.ks-modal__body {
  padding: 1rem 1.25rem 1.25rem;
  max-height: 70vh;
  overflow: auto;
}
@media (min-width: 768px) {
  .ks-modal__body {
    padding: 1.25rem 1.5rem 1.5rem;
  }
}
.ks-modal__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .ks-modal__grid[data-columns="2"] {
    grid-template-columns: 1fr 1.2fr;
    align-items: start;
  }
}
.ks-modal__media {
  margin: 0;
}
.ks-modal__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: calc(16px - 6px);
}
.ks-modal__content .ks-modal__lead {
  margin: 0 0 1rem;
  color: #64748b;
  line-height: 1.6;
}
.ks-modal__footer {
  padding: 0 1.25rem 1.25rem;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}
.ks-form {
  display: grid;
  gap: 0.875rem;
}
.ks-field {
  display: grid;
  gap: 0.4rem;
}
.ks-field--row {
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
  gap: 0.6rem;
}
@media (max-width: 576px) {
  .ks-field--row {
    grid-auto-flow: row;
    align-items: start;
  }
}
.ks-field label {
  font-size: 0.875rem;
  color: #0f172a;
}
.ks-field input[type="text"],
.ks-field input[type="email"],
.ks-field input[type="tel"] {
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(15, 23, 42, 0.15);
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ks-field input[type="text"]:focus,
.ks-field input[type="email"]:focus,
.ks-field input[type="tel"]:focus {
  outline: none;
  border-color: #e11d48;
  box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.2);
}
.ks-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.ks-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #e11d48;
}
.ks-field__error {
  display: none;
  color: #b91c1c;
  font-size: 0.8125rem;
}
.ks-modal.ks--loading .ks-modal__dialog {
  pointer-events: none;
}
.ks-modal.ks--loading .ks-modal__footer .ks-btn {
  opacity: 0.6;
}
.ks-skeleton {
  display: grid;
  gap: 0.75rem;
}
@keyframes ks-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.ks-skeleton__line {
  height: 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
  background-size: 400% 100%;
  animation: ks-shimmer 1.4s ease infinite;
}
.ks-skeleton__line--lg {
  height: 18px;
  width: 70%;
}
.ks-skeleton__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
.ks-skeleton__box {
  height: 64px;
  border-radius: 10px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
  background-size: 400% 100%;
  animation: ks-shimmer 1.4s ease infinite;
}
@keyframes ks-spin {
  to {
    transform: rotate(360deg);
  }
}
.ks-spinner {
  margin: 0.25rem auto 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #e5e7eb;
  border-top-color: #e11d48;
  animation: ks-spin 0.8s linear infinite;
}
.ks-remote__error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  font-size: 0.875rem;
}

