/**
 * KindleStore global theme — paper / jade design system
 * Header chrome: kindle-header.css
 */
:root {
  --ks-ink: #16181C;
  --ks-jade: #0F5F52;
  --ks-jade-hover: #0A4438;
  --ks-jade-soft: #3FA48F;
  --ks-sale: #B4552F;
  --ks-paper: #FBFAF7;
  --ks-sand: #E9E5DC;
  --ks-sand-fill: #F5F3EE;
  --ks-border: #E5E1D8;
  --ks-border-soft: #EFECE4;
  --ks-mint: #E4EFEB;
  --ks-muted: #6B6F76;
  --ks-muted-warm: #8A8578;
  --ks-text: #3C4048;
  --ks-white: #FFFFFF;
  --ks-radius: 12px;
  --ks-radius-lg: 16px;
  --ks-radius-xl: 20px;
  --ks-font: "Manrope", system-ui, -apple-system, sans-serif;
  --ks-display: "Newsreader", Georgia, "Times New Roman", serif;
  --ks-shadow: 0 18px 44px rgba(22, 24, 28, 0.07);
  --ks-shadow-card: 0 16px 32px rgba(22, 24, 28, 0.10);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ks-font) !important;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ks-ink) !important;
  background: var(--ks-paper) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ks-display);
  color: var(--ks-ink);
  font-weight: 700;
}

a {
  color: var(--ks-jade);
}

a:hover {
  color: var(--ks-jade-hover);
}

/* OpenCart absolute footer → normal flow */
#container {
  position: relative !important;
  margin-bottom: 0 !important;
  min-height: 100%;
}

#content,
#column-left,
#column-right {
  padding-bottom: 2rem !important;
}

/* —— Footer (ink, per design canvas) —— */
footer.ks-footer {
  position: relative !important;
  bottom: auto !important;
  background-color: #16181C !important;
  background-image: none !important;
  border: none !important;
  border-top: none !important;
  color: #8F8B82 !important;
  padding: 0 !important;
  font-family: var(--ks-font);
  width: 100%;
}

.ks-footer__main {
  padding: 2.75rem 15px 2.25rem;
}

.ks-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.ks-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none !important;
  color: var(--ks-paper) !important;
}

.ks-footer__logo:hover {
  color: var(--ks-paper) !important;
  text-decoration: none !important;
}

.ks-footer__wordmark {
  font-family: var(--ks-display);
  font-size: 1.45rem;
  letter-spacing: -0.015em;
  color: var(--ks-paper);
}

.ks-logo__store {
  color: var(--ks-jade);
  font-weight: 600;
}

.ks-footer__wordmark .ks-logo__store {
  color: var(--ks-jade-soft);
}

.ks-footer__desc {
  margin: 0;
  max-width: 290px;
  font-size: 0.9rem;
  line-height: 1.65;
  color: #8F8B82;
}

.ks-footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.ks-footer__phone {
  font-family: var(--ks-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ks-paper) !important;
  text-decoration: none !important;
}

.ks-footer__phone:hover {
  color: var(--ks-jade-soft) !important;
}

.ks-footer__tg {
  font-size: 0.9rem;
  color: #8F8B82 !important;
  text-decoration: none !important;
}

.ks-footer__tg:hover {
  color: var(--ks-jade-soft) !important;
}

.ks-footer__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ks-footer__chip {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #2C2F35;
  color: #CFCBC1 !important;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none !important;
  transition: border-color 0.15s, color 0.15s;
}

.ks-footer__chip:hover {
  border-color: var(--ks-jade-soft);
  color: var(--ks-jade-soft) !important;
  text-decoration: none !important;
}

.ks-footer__heading {
  margin: 0 0 0.85rem !important;
  font-family: var(--ks-font) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8A8578 !important;
}

.ks-footer__links {
  margin: 0;
  padding: 0;
}

.ks-footer__links li {
  margin-bottom: 0.45rem;
}

.ks-footer__links a {
  font-size: 0.9rem;
  color: #CFCBC1 !important;
  text-decoration: none !important;
  line-height: 1.5;
}

.ks-footer__links a:hover {
  color: var(--ks-jade-soft) !important;
  text-decoration: none !important;
}

.ks-footer__bottom {
  border-top: 1px solid #2C2F35;
  background: #121418;
}

.ks-footer__bottom-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 15px;
}

.ks-footer__copy {
  font-size: 0.8125rem;
  color: #8A8578;
}

.ks-footer__pay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
}

.ks-footer__pay-label {
  color: #8A8578;
}

.ks-footer__pay-badge {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 6px;
  background: #1E2126;
  border: 1px solid #2C2F35;
  color: #CFCBC1;
  font-size: 0.72rem;
  font-weight: 700;
}

/* Kill legacy Amazon "back to top" footer pseudo */
footer::before {
  content: none !important;
  display: none !important;
}

/* —— Buttons —— */
.btn-primary {
  --bs-btn-bg: var(--ks-jade);
  --bs-btn-border-color: var(--ks-jade);
  --bs-btn-hover-bg: var(--ks-jade-hover);
  --bs-btn-hover-border-color: var(--ks-jade-hover);
  --bs-btn-active-bg: var(--ks-jade-hover);
  --bs-btn-active-border-color: var(--ks-jade-hover);
  --bs-btn-color: var(--ks-paper);
  --bs-btn-hover-color: var(--ks-paper);
  --bs-btn-active-color: var(--ks-paper);
  background-color: var(--ks-jade) !important;
  border-color: var(--ks-jade) !important;
  color: var(--ks-paper) !important;
  border-radius: var(--ks-radius) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--ks-jade-hover) !important;
  border-color: var(--ks-jade-hover) !important;
  color: var(--ks-paper) !important;
}

.btn-secondary,
.btn-dark,
.btn-warning {
  border-radius: var(--ks-radius) !important;
}

.btn-dark {
  background-color: var(--ks-ink) !important;
  border-color: var(--ks-ink) !important;
  color: var(--ks-paper) !important;
}

.btn-dark:hover {
  background-color: var(--ks-jade) !important;
  border-color: var(--ks-jade) !important;
  color: var(--ks-paper) !important;
}

.btn-warning {
  background: var(--ks-jade) !important;
  border-color: var(--ks-jade) !important;
  color: var(--ks-paper) !important;
}

/* —— Product cards —— */
.product-thumb {
  border: 1px solid var(--ks-sand) !important;
  border-radius: var(--ks-radius-lg) !important;
  overflow: hidden;
  background: var(--ks-white);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.product-thumb:hover {
  box-shadow: var(--ks-shadow-card);
  border-color: #D8D2C6 !important;
}

.product-thumb .image {
  background: #fff !important;
}

.product-thumb .description h4 a {
  color: var(--ks-ink) !important;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
}

.product-thumb .description h4 a:hover {
  color: var(--ks-jade) !important;
  text-decoration: none !important;
}

.product-thumb .price {
  font-family: var(--ks-display);
  color: var(--ks-ink);
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.product-thumb .button button {
  border-radius: 11px !important;
}

.product-thumb .button button:first-child,
.product-thumb .button .btn-primary {
  background: var(--ks-ink) !important;
  border-color: var(--ks-ink) !important;
  color: var(--ks-paper) !important;
  font-weight: 700 !important;
}

.product-thumb .button button:first-child:hover,
.product-thumb .button .btn-primary:hover {
  background: var(--ks-jade) !important;
  border-color: var(--ks-jade) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--ks-jade-soft) !important;
  box-shadow: 0 0 0 3px rgba(15, 95, 82, 0.15) !important;
}

.breadcrumb {
  background: transparent !important;
  border: none !important;
  font-size: 12px;
  padding-left: 0 !important;
}

.breadcrumb a {
  color: var(--ks-jade);
}

.nav-tabs {
  border-bottom-color: var(--ks-border) !important;
}

.nav-tabs .nav-link {
  color: var(--ks-muted) !important;
  border-radius: var(--ks-radius) var(--ks-radius) 0 0 !important;
  font-weight: 600;
}

.nav-tabs .nav-link:hover {
  color: var(--ks-jade) !important;
  border-color: transparent !important;
}

.nav-tabs .nav-link.active {
  color: var(--ks-ink) !important;
  background: var(--ks-white) !important;
  border-color: var(--ks-border) var(--ks-border) var(--ks-white) !important;
}

.page-link {
  color: var(--ks-jade) !important;
  border-color: var(--ks-border) !important;
}

.page-item.active .page-link {
  background: var(--ks-jade) !important;
  border-color: var(--ks-jade) !important;
  color: var(--ks-paper) !important;
}

.dropdown-menu {
  border-color: var(--ks-border);
  border-radius: var(--ks-radius);
  box-shadow: var(--ks-shadow);
}

/* Telegram FAB — jade brand tone */
.kindle-tg-fab {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 1050;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: calc(100vw - 36px);
  padding: 10px 14px 10px 12px;
  border-radius: 999px;
  background: var(--ks-jade);
  color: var(--ks-paper) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(15, 95, 82, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.kindle-tg-fab:hover {
  background: var(--ks-jade-hover);
  color: var(--ks-paper) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 95, 82, 0.45);
}

.kindle-tg-fab__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex-shrink: 0;
}

.kindle-tg-fab__label {
  position: relative;
  z-index: 1;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 500;
}

.kindle-tg-fab__label strong {
  font-size: 13px;
  font-weight: 700;
}

.kindle-tg-fab__pulse {
  position: absolute;
  left: 8px;
  top: 50%;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  animation: kindle-tg-pulse 2s ease-out infinite;
  pointer-events: none;
}

@keyframes kindle-tg-pulse {
  0% { transform: scale(0.7); opacity: 0.7; }
  70% { transform: scale(1.55); opacity: 0; }
  100% { transform: scale(1.55); opacity: 0; }
}

@media (max-width: 575.98px) {
  .kindle-tg-fab {
    right: 12px;
    bottom: 14px;
    padding: 11px;
    border-radius: 50%;
  }

  .kindle-tg-fab__label { display: none; }
  .kindle-tg-fab__pulse { left: 5px; }

  .ks-footer__bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Hide legacy chrome */
#top {
  display: none !important;
}

#menu.navbar {
  display: none !important;
}
