/* ============================================
   COMICOOL THEME OVERRIDES
   Loads after style.css to unify brand colors
   around the orange accent #e75d2a and polish
   typography, cards, header, and footer.
============================================ */

:root {
  --c-primary:       #e75d2a;
  --c-primary-dark:  #c94d20;
  --c-primary-light: rgba(231, 93, 42, 0.1);
  --c-primary-glow:  rgba(231, 93, 42, 0.22);
  --c-heading:       #1a1a2e;
  --c-text:          #555;
  --c-muted:         #888;
  --c-border:        #ebebeb;
  --c-bg-warm:       #fff9f6;
  --radius-sm:       4px;
  --radius:          8px;
  --radius-lg:       14px;
  --shadow-sm:       0 2px 8px rgba(0,0,0,0.07);
  --shadow-card:     0 3px 18px rgba(0,0,0,0.09);
  --shadow-hover:    0 8px 30px rgba(231, 93, 42, 0.2);
  --transition:      all 0.3s ease;
}

/* ── Typography ── */
body {
  color: var(--c-text);
  line-height: 1.75;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--c-heading);
}

/* ── Primary Button (was #2990E6 blue) ── */
.main-btn {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
  border-radius: var(--radius-sm);
  font-weight: 600;
  letter-spacing: 0.2px;
}
.main-btn:hover {
  background-color: transparent;
  color: var(--c-primary);
  border-color: var(--c-primary);
}

/* ── Mini Button ── */
.mini-btn {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
  border-radius: var(--radius-sm);
}
.mini-btn:hover {
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.mini-btn.mini-btn-2 {
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.mini-btn.mini-btn-2:hover {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
}

/* ── Star Rating list ── */
ul.rating {
  list-style: none;
  display: flex;
  gap: 2px;
  padding: 0;
  margin: 8px 0;
}

/* ── Section Titles ── */
.section-title h5 {
  color: var(--c-primary);
}
.section-title .title {
  color: var(--c-heading);
  font-weight: 700;
  letter-spacing: -0.3px;
}

/* ── Cart Button — Mobile ──
   The button has position:relative as an inline style (needed for the
   badge on desktop). On mobile, style.css wants position:absolute to pin
   it left of the hamburger, but inline styles win the cascade. !important
   overrides inline styles so the absolute positioning applies correctly.
── */
@media (max-width: 991px) {
  .header-area .navbar .cartBtn {
    position: absolute !important;
    top: 20px !important;
    right: 70px !important;
    margin-left: 0 !important;
  }
}

/* ── Header ──
   Override position: absolute → sticky so the header is in the normal
   document flow. This means sections never need manual top-padding hacks
   to avoid being hidden behind the header.
── */
.header-area {
  position: sticky !important;
  top: 0 !important;
  z-index: 99 !important;
  transition: var(--transition);
}
.header-area.sticky {
  position: sticky !important;
  top: 0 !important;
  background-color: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 2px solid var(--c-primary);
  box-shadow: 0 2px 18px rgba(0,0,0,0.07) !important;
}
.header-area .navbar .navbar-nav .nav-item.active a,
.header-area .navbar .navbar-nav .nav-item:hover a {
  color: var(--c-primary);
}

/* ── Hero Slider ── */
.single-slider .slider-bg {
  background-color: var(--c-bg-warm);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.single-slider .slider-product-image .slider-discount-tag {
  background-color: var(--c-primary);
}
.slider-social .social li a:hover {
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.slider-social .social::before {
  background-color: var(--c-border);
}
.slider-active .slick-dots li.slick-active button {
  background-color: var(--c-primary);
}

/* ── Product Cards ── */
.single-product-items {
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  border: 1px solid transparent;
  transition: var(--transition);
}
.single-product-items:hover {
  border-color: var(--c-primary);
  box-shadow: var(--shadow-hover);
  transform: translateY(-4px);
}
.single-product-items .product-item-content .product-title a:hover {
  color: var(--c-primary);
}
.single-product-items .product-item-content .current-price {
  color: var(--c-primary);
  font-size: 17px;
}
.single-product-items .product-item-image .product-discount-tag {
  background-color: var(--c-primary);
}
.single-product-items .product-item-content select {
  border-radius: var(--radius-sm);
  border-color: var(--c-border);
  font-size: 13px;
}
.strikethrough-price {
  text-decoration: line-through;
  margin-left: 6px;
  font-size: 13px;
  color: var(--c-muted);
}

/* ── Collections Grid ── */
.customborder {
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
  border-color: var(--c-border) !important;
  transition: var(--transition);
}
.customborder:hover {
  box-shadow: var(--shadow-hover) !important;
  border-color: var(--c-primary) !important;
  transform: translateY(-4px);
}
.single-discount-product .product-content a:hover {
  color: var(--c-primary);
}

/* ── Collection / Category Menu ── */
.collection-menu .nav a.active {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
}
.collection-menu .nav a:hover {
  color: var(--c-primary);
}

/* ── Services ── */
.single-services .services-icon i {
  color: var(--c-primary);
}
.single-services .services-content .title {
  color: var(--c-heading);
}
.single-services {
  border-radius: var(--radius);
  border-color: var(--c-border);
  transition: var(--transition);
}
.single-services:hover {
  box-shadow: var(--shadow-hover);
  border-color: var(--c-primary);
}

/* ── Footer ── */
.footer-area {
  background-color: #18182e;
  color: #b0b3c4;
}
.footer-area::before {
  background-image: none;
  background-color: transparent;
}
.footer-area .footer-widget .footer-logo p,
.footer-area .footer-link ul li a,
.footer-area .footer-info ul li p,
.footer-area .footer-copyright .copyright p {
  color: #b0b3c4;
}
.footer-area h5.f-title,
.footer-area .single-footer-info span {
  color: #fff;
}
.footer-area .footer-link ul li a:hover {
  color: var(--c-primary);
}
.footer-area .footer-logo .footer-social li a {
  background-color: rgba(255,255,255,0.08);
  color: #b0b3c4;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,0.12);
}
.footer-area .footer-logo .footer-social li a:hover {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}
.footer-copyright {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
.footer-copyright a {
  color: var(--c-primary) !important;
}

/* ── Back to Top ── */
.back-to-top {
  background-color: var(--c-primary);
  border-radius: var(--radius-sm);
  height: 40px;
  width: 40px;
  align-items: center;
  justify-content: center;
}
.back-to-top:hover {
  background-color: var(--c-primary-dark);
  color: #fff;
}

/* ── Product Card — Add to Cart button ── */
.add-to-cart-btn {
  display: block;
  margin: 10px auto 0;
  padding: 8px 18px;
  background: var(--c-primary);
  color: #fff;
  border: 2px solid var(--c-primary);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2px;
  transition: var(--transition);
  width: 80%;
}
.add-to-cart-btn:hover {
  background: transparent;
  color: var(--c-primary);
}
.add-to-cart-btn.added {
  background: #28a745;
  border-color: #28a745;
  color: #fff;
}
.add-to-cart-btn.added:hover {
  background: #28a745;
  color: #fff;
}

/* ── Product Card — variant select ── */
.variant-select {
  margin: 8px auto;
  display: block;
  padding: 4px 8px;
  font-size: 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--c-border);
  max-width: 160px;
  width: 100%;
  color: var(--c-text);
}
.variant-select:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px var(--c-primary-light);
}

/* ── Header — cart badge ── */
.cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  background: var(--c-primary);
  color: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

/* ── Product Page ── */
.product-add .main-btn,
.product-add button.main-btn {
  width: 100%;
  border-radius: var(--radius-sm);
}

/* ── Search / Catalogue inputs ── */
input[type="text"],
input[type="search"],
select {
  border-radius: var(--radius-sm);
  border-color: var(--c-border);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
input[type="text"]:focus,
input[type="search"]:focus,
select:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px var(--c-primary-light);
}

/* ── Page Banner accent ── */
.page-banner-area {
  background-color: var(--c-bg-warm);
}
