/* AJO89 — ruby, antique gold and porcelain. Visual layer only. */
.ajo89-native-slider { overflow-x: auto !important; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #b58a45 transparent; }
.ajo89-native-slider > .swiper-wrapper { transform: none !important; display: flex; width: 100%; height: auto; }
.ajo89-native-slider .swiper-slide { scroll-snap-align: start; flex-shrink: 0; }
.main-product-slider.ajo89-native-slider .swiper-slide { flex: 0 0 100%; width: 100% !important; margin-right: 0 !important; }
.main-product-slider.ajo89-native-slider .zoom-container { width: 100%; }
.product-thumbnail-slider.ajo89-native-slider .swiper-slide { cursor: pointer; }
.ajo89-native-slider .swiper-notification { display: none; }
body .ajo89-sprite { background: url("../../img/icon.png") center / contain no-repeat !important; }
:root {
  --ajo-ink: #32221f;
  --ajo-muted: #78645b;
  --ajo-ruby: #811d30;
  --ajo-ruby-deep: #49101e;
  --ajo-gold: #b58a45;
  --ajo-line: #e8d9c3;
  --ajo-paper: #fffcf6;
  --bs-body-color: var(--ajo-ink);
  --bs-link-color: var(--ajo-ruby);
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  color: var(--ajo-ink);
  background: radial-gradient(ellipse at 8% 12%, #eddbc2 0, transparent 38%), linear-gradient(135deg, #faf5eb, #f4ede1 65%, #efe0ce);
  font-family: "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 104px;
}
::selection { background: #e4c58c; color: #49101e; }
body a { color: var(--ajo-ruby); text-underline-offset: 4px; }
body a:hover { color: #ac3547; }
body :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--ajo-gold); outline-offset: 4px; }
body :is(button, a.btn) { -webkit-tap-highlight-color: transparent; }
body .container { max-width: 1320px; }
body .main-header {
  background: linear-gradient(110deg, #41101c, #771d2e 55%, #4d1320) !important;
  border-bottom: 1px solid #c5a366;
  box-shadow: 0 8px 32px #4512221a;
}
body .main-header .navbar { min-height: 90px; gap: 24px; }
body .main-header .navbar-brand { margin-right: 28px !important; }
body .main-header .navbar-brand img { width: 110px; height: 68px; object-fit: contain; }
body .main-header :is(.explore-btn, .header-right, .header-right a, .header-right span) { color: #f7e6c6 !important; }
body .main-header .header-search-bar {
  background: #fffaf1;
  border: 1px solid #d4b47a;
  border-radius: 12px;
  box-shadow: none;
  overflow: visible;
}
body .main-header .header-search-bar :is(input, button) { background-color: transparent; color: #56382c; }
body .main-header .header-search-bar input { min-width: 0; }
body .dropdown-menu { background: var(--ajo-paper); border: 1px solid var(--ajo-line); border-radius: 12px; box-shadow: 0 16px 40px #49101e15; }
body .dropdown-menu :is(a, li) { color: var(--ajo-ink) !important; }
body .detailpage-revamp { margin-top: 36px !important; }
body .detail-section > .row { --bs-gutter-x: 32px; }
body .detail-section > .row > .col-md-9 { width: 75%; }
body .product-banner {
  padding: 10px;
  margin-top: 0 !important;
  border: 1px solid #cba968;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff6d8, #c39958 45%, #fff6d8);
  box-shadow: 0 20px 48px #602b2520;
  overflow: hidden;
}
body .main-slider-container { border-radius: 17px; overflow: hidden; background: #efe2cc; }
body .main-product-slider .zoom-container { border-radius: 16px; overflow: hidden; }
body .main-product-slider img.zoom-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  transition: transform 600ms cubic-bezier(.2,.65,.3,1);
}
@media (hover: hover) { body .zoom-container:hover img.zoom-image { transform: scale(1.025); } }
body .product-banner .swiper-slide-thumb-active { outline: 2px solid var(--ajo-gold); outline-offset: -2px; border-radius: 8px; }
body .single-product-content { padding: 6px 0 0 12px; }
body .single-product-content .title {
  color: var(--ajo-ruby-deep);
  font: 500 clamp(28px, 2.5vw, 42px)/1.15 Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
  margin: 0 0 20px;
  text-wrap: balance;
}
body .single-product-content .brand-name:empty { display: none; }
body .recommended-rating {
  display: inline-block;
  color: #7c5a29;
  border: 1px solid #dac499;
  background: #f6ecd7;
  border-radius: 40px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  padding: 8px 13px;
  text-transform: uppercase;
}
body .single-product-content .item-id { color: var(--ajo-muted); font-size: 12px; margin-bottom: 20px; }
body .single-product-content .price-box { border-block: 1px solid var(--ajo-line); padding-block: 16px; margin-block: 16px; }
body .single-product-content .price-box h2 { color: var(--ajo-ruby); font: 500 24px/1.2 Georgia, serif; }
body .single-product-content .product-old-price { color: var(--ajo-muted); text-decoration: none; font-size: 12px; }
body .single-product-content .head-content .rating { color: #a47833; }
body main a.btn[href="https://snapylink.me/ajo89"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 15px 24px;
  border: 1px solid #a86d59 !important;
  border-radius: 10px;
  background: linear-gradient(115deg, #5b1424, #982b3e) !important;
  color: #fff5dd !important;
  box-shadow: 0 7px 16px #731e3020;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
body main a.btn[title="AJO89 login"] {
  background: #fffaf1 !important;
  color: var(--ajo-ruby) !important;
  border-color: #cdb28b !important;
  box-shadow: none;
}
body main a.btn[href="https://snapylink.me/ajo89"]:hover { transform: translateY(-2px); box-shadow: 0 10px 24px #731e302e; }
body .product-detail-section { margin-top: 44px; }
body .product-detail-section :is(.product-detail, .who-should-buy, .product-faq, .product-reviews) {
  padding: clamp(22px, 3vw, 38px);
  background: var(--ajo-paper);
  border: 1px solid var(--ajo-line);
  border-radius: 20px;
  margin-bottom: 24px;
  box-shadow: 0 8px 28px #693d2110;
}
body .product-detail-section .heading-sec { border-bottom: 1px solid var(--ajo-line); padding-bottom: 18px; margin-bottom: 24px; }
body .product-detail-section :is(h2.heading, h2.dark-text, h3) {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500 !important;
  color: var(--ajo-ruby-deep) !important;
  letter-spacing: -.02em;
  line-height: 1.25;
}
body .product-detail-section :is(h2.heading, h2.dark-text) { font-size: clamp(23px, 2.2vw, 30px); }
body #rewrite_description > p {
  color: #655148;
  font-size: 15px;
  line-height: 1.9;
  text-align: left !important;
  margin-bottom: 18px;
}
body #rewrite_description > p:first-child { font-size: 17px; color: #49342b; }
body #rewrite_description > br { display: none; }
body #rewrite_description table {
  margin-top: 28px;
  border: 1px solid var(--ajo-line) !important;
  box-shadow: none !important;
  font-size: 13px;
}
body #rewrite_description table :is(td, th) { border-color: var(--ajo-line) !important; padding: 14px 16px !important; color: #5f4835 !important; }
body #rewrite_description table th { background: #eee0c7 !important; letter-spacing: .04em; }
body #rewrite_description table td { background: #fffcf6 !important; }
body #rewrite_description table tr:nth-child(even) td { background: #f8f1e5 !important; }
body .who-should-buy .pros-cons { margin-bottom: 0 !important; }
body .who-should-buy .para { color: var(--ajo-ruby); font-weight: 600; }
body .who-should-buy p { color: var(--ajo-muted); font-size: 14px; line-height: 1.8; }
body .pros-cons .pros { background: #f8f1e4; border: 1px solid var(--ajo-line); border-radius: 14px; padding: 22px; }
body .pros-group-item { color: #655148; line-height: 1.7; }
body .text-success, body .pros-group-item i { color: #8b713d !important; }
body #product-cu-c-faq .list-group { gap: 12px; }
body #product-cu-c-faq .list-group-item {
  border: 1px solid var(--ajo-line);
  border-radius: 12px;
  background: #fcf7ed;
  padding: 22px;
  color: var(--ajo-muted);
  font-size: 13px;
  line-height: 1.8;
}
body #product-cu-c-faq span[itemprop="name"] { display: inline; color: var(--ajo-ruby-deep); font-size: 16px; }
body #product-cu-c-faq .faq-answer { color: #6b5549; }
body .review-list { display: grid; grid-template-columns: 1fr; gap: 14px; }
body .review-list > .card {
  margin-bottom: 0 !important;
  border: 1px solid var(--ajo-line) !important;
  border-radius: 14px !important;
  background: #fcf8f0 !important;
  box-shadow: none !important;
  transition: border-color 200ms, transform 200ms;
}
body .review-list > .card:hover { border-color: #c6a46e !important; transform: translateY(-2px); }
body .review-list .card-body { padding: 24px !important; }
body .review-list p { color: #6a5447 !important; font-size: 14px !important; line-height: 1.85 !important; }
body .review-list strong { color: var(--ajo-ruby-deep) !important; font-size: 15px !important; }
body .review-list .stars-container { color: #ac8037 !important; }
body .interlink-swiper-two .item a { display: block; background: #f8edda; border: 1px solid #dfcba6; border-radius: 30px; padding: 12px 20px; color: #714e2d; font-size: 12px; letter-spacing: .04em; }
body .detail-section > .row > .col-md-3 { border-left: 1px solid var(--ajo-line); }
body .detail-section > .row > .col-md-3 :is(.card, .box-wrap) { background: #fffaf1; border-color: var(--ajo-line); border-radius: 16px; }
body footer { background: #f0e5d4 !important; border-top: 1px solid #ddc9a8; color: #735a47; margin-top: 48px; }
body footer :is(a, p, li, div) { color: #735a47; }
body footer .footer-heading { color: var(--ajo-ruby-deep); font-family: Georgia, serif; font-size: 20px; }
body .ajo89-footer {
  left: 50%; right: auto; bottom: 14px; width: min(620px, calc(100% - 28px));
  transform: translateX(-50%);
  padding: 12px 12px 10px;
  border: 1px solid #bd9555;
  border-radius: 20px;
  background: linear-gradient(115deg, #48111f, #7c2132 52%, #48111f);
  box-shadow: 0 12px 36px #3f102a35;
  backdrop-filter: none;
  align-items: center;
}
body .ajo89-footer a { min-height: 47px; gap: 3px; font-family: "Segoe UI", Arial, sans-serif; font-size: 9px; letter-spacing: .08em; color: #f9ebd0; transition: transform 180ms, color 180ms; }
body .ajo89-footer a:hover { color: #ffe6a1; transform: translateY(-2px); }
body .ajo89-footer a.tada {
  top: -6px; min-width: 78px; height: 60px; border-radius: 14px;
  color: #521422; background: linear-gradient(140deg, #fff0bb, #d6ab60);
  border: 1px solid #fce9b8; box-shadow: 0 5px 18px #20071330;
  animation: none;
}
body .ajo89-footer img { object-fit: contain; }
body .notice-cookie { background: #fffcf6; border-top: 1px solid var(--ajo-line); color: #655148; box-shadow: 0 -8px 32px #49101e12; bottom: 100px; }
body .notice-cookie .btn { border: 1px solid #c6a46e; background: #6c1b2b; border-radius: 8px; }
body .go-top { bottom: 112px; background: #6b1a2b; color: #fff1cd; border: 1px solid #c7a569; border-radius: 12px; box-shadow: none; }
@keyframes ajo-arrive { from { opacity: .45; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
body .ajo-enter { animation: ajo-arrive 650ms cubic-bezier(.22,.68,.3,1) both; }
@media (min-width: 1500px) { body .container { max-width: 1400px; } }
@media (max-width: 991px) {
  body .main-header .navbar { gap: 12px; min-height: 76px; }
  body .single-product-content { padding-left: 0; }
  body .single-product-content .title { font-size: 30px; }
  body .detail-section > .row > .col-md-9 { width: 100%; }
  body .detail-section > .row > .col-md-3 { width: 100%; border-left: none; margin-top: 24px; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 86px; }
  body .container { padding-inline: 18px; }
  body .detailpage-revamp { margin-top: 22px !important; }
  body .main-header .navbar-brand { margin-right: 8px !important; }
  body .main-header .navbar-brand img { width: 88px; height: 58px; }
  body .main-header .header-center { min-width: 0; }
  body .product-banner { max-width: 540px; margin-inline: auto; border-radius: 19px; padding: 7px; }
  body .single-product-content { margin-top: 28px; }
  body .single-product-content .title { font-size: 32px; max-width: 25ch; }
  body .product-detail-section { margin-top: 28px; }
  body .product-detail-section :is(.product-detail, .who-should-buy, .product-faq, .product-reviews) { padding: 22px 18px; border-radius: 16px; }
  body #rewrite_description > p { font-size: 14px; line-height: 1.85; }
  body #rewrite_description > p:first-child { font-size: 16px; }
  body #rewrite_description table :is(td, th) { padding: 12px 10px !important; overflow-wrap: anywhere; }
  body #product-cu-c-faq .list-group-item { padding: 18px; }
  body .review-list .card-body { padding: 18px !important; }
  body .review-list .flex-shrink-0 { width: 40px !important; margin-right: 12px !important; }
  body .review-list .rounded-circle { width: 40px !important; height: 40px !important; }
  body .product-reviews .col-12.mt-5 > .d-flex { flex-wrap: wrap; gap: 14px; }
  body .ajo89-footer { bottom: 10px; padding: 10px 6px 8px; border-radius: 16px; }
  body .ajo89-footer a.tada { min-width: 64px; padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body .ajo-enter { animation: none; }
  body :is(.zoom-image, .review-list > .card, a.btn, .ajo89-footer a) { transition: none !important; transform: none !important; }
}
