@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

/* =========================================================
   RAMEN68 Theme — crimson / gold / glow / gradient motion
   Page variants via body[data-theme]
   ========================================================= */

:root{
  --r68-crimson:#8a0610;
  --r68-deep:#3a0208;
  --r68-ink:#140104;
  --r68-gold:#f0d060;
  --r68-gold-bright:#ffe9a0;
  --r68-gold-deep:#b8860b;
  --r68-cream:#fff4dc;
  --r68-sakura:#ffb7c5;
  --r68-glow:rgba(240,208,96,.55);
  --r68-glow-strong:rgba(255,210,80,.85);
  --r68-panel:rgba(28,4,8,.82);
  --r68-radius:18px;
  --r68-font-display:'Cinzel',Georgia,serif;
  --r68-font-body:'Manrope',Poppins,sans-serif;
}

body[data-theme="home"]{
  --r68-crimson:#9b0b14;
  --r68-deep:#4a050c;
  --r68-gold:#ffd76a;
  --r68-accent:#ff4d5a;
}
body[data-theme="leer"]{
  --r68-crimson:#7a0612;
  --r68-deep:#2f0208;
  --r68-gold:#f6c84a;
  --r68-accent:#ff8a3d;
}
body[data-theme="imprimir"]{
  --r68-crimson:#a0101c;
  --r68-deep:#41040b;
  --r68-gold:#ffdf7a;
  --r68-accent:#ff6b81;
}

@keyframes r68GradientFlow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes r68GlowPulse{
  0%,100%{box-shadow:0 0 12px var(--r68-glow),0 0 28px rgba(154,10,20,.35),0 18px 40px rgba(0,0,0,.45)}
  50%{box-shadow:0 0 22px var(--r68-glow-strong),0 0 48px rgba(255,180,40,.35),0 22px 50px rgba(0,0,0,.5)}
}
@keyframes r68TextShine{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@keyframes r68Float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes r68BorderSpin{
  0%{filter:hue-rotate(0deg)}
  100%{filter:hue-rotate(25deg)}
}
@keyframes r68Mesh{
  0%{background-position:0 0,100% 0,0 0}
  100%{background-position:8% 10%,88% 12%,0 0}
}
@keyframes r68Spark{
  0%,100%{opacity:.25;transform:scale(.8)}
  50%{opacity:.9;transform:scale(1.15)}
}
@keyframes r68Sheen{
  0%{left:-45%; opacity:0}
  25%{opacity:1}
  100%{left:135%; opacity:0}
}
@keyframes r68Aura{
  0%,100%{opacity:.45; transform:scale(1)}
  50%{opacity:.9; transform:scale(1.04)}
}

/* ---------- Global shell ---------- */
body.js.all-background,
body[data-theme]{
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(255,90,110,.28), transparent 58%),
    radial-gradient(820px 380px at 100% 0%, rgba(240,200,80,.22), transparent 52%),
    radial-gradient(700px 500px at 50% 110%, rgba(154,10,20,.45), transparent 60%),
    linear-gradient(165deg, var(--r68-ink), var(--r68-deep) 42%, #1a0508 100%) !important;
  background-size:140% 140%,150% 150%,120% 120%,100% 100% !important;
  animation:r68Mesh 18s ease-in-out infinite alternate;
  color:var(--r68-cream) !important;
  font-family:var(--r68-font-body) !important;
}
body[data-theme]::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,215,100,.08) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 20%, rgba(255,180,200,.08) 0 1.5px, transparent 3px),
    radial-gradient(circle at 60% 70%, rgba(255,215,100,.07) 0 2px, transparent 3px);
  background-size:180px 180px, 220px 220px, 160px 160px;
  animation:r68Spark 5s ease-in-out infinite;
  opacity:.7;
}

.header.shop,
.header,
.middle-inner,
.header-inner{
  background:linear-gradient(180deg, rgba(55,4,10,.96), rgba(28,2,6,.92)) !important;
  border-bottom:1px solid rgba(240,208,96,.28) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.35), 0 0 24px rgba(154,10,20,.25) !important;
  backdrop-filter:blur(10px);
  position:relative;
  z-index:20;
}
.middle-inner{ box-shadow:none !important; }
.logo p,
.logo a,
.nav main-menu a,
.main-menu > li > a,
.header a,
.right-bar,
.single-icon,
.nav-button-title,
.nav-button-em a{
  color:var(--r68-cream) !important;
  text-shadow:0 0 10px rgba(240,208,96,.2);
}
.logo img{
  filter:drop-shadow(0 0 10px rgba(255,210,80,.55)) drop-shadow(0 0 18px rgba(154,10,20,.45));
  animation:r68Float 5.5s ease-in-out infinite;
}
.search-bar,
.nice-select,
.btnn{
  border-radius:999px !important;
  border:1px solid rgba(240,208,96,.4) !important;
  background:rgba(20,2,4,.65) !important;
  color:var(--r68-cream) !important;
  box-shadow:0 0 14px rgba(240,208,96,.15);
}
.btnn{
  background:linear-gradient(120deg, var(--r68-gold-deep), var(--r68-gold), var(--r68-gold-bright), var(--r68-gold-deep)) !important;
  background-size:220% 220% !important;
  animation:r68GradientFlow 4s linear infinite !important;
  color:#3a1500 !important;
  font-weight:800 !important;
}

/* ---------- Main composition ---------- */
.container.mt-4{
  position:relative;
  z-index:2;
  max-width:1180px !important;
  padding-top:18px !important;
  padding-bottom:40px !important;
}
.row-product-detail{
  background:
    linear-gradient(145deg, rgba(70,8,14,.78), rgba(18,2,5,.88)),
    radial-gradient(circle at 80% 0%, rgba(255,210,90,.12), transparent 45%);
  border:1px solid rgba(240,208,96,.32);
  border-radius:var(--r68-radius);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset, 0 20px 50px rgba(0,0,0,.45), 0 0 40px rgba(154,10,20,.2);
  padding:22px 18px !important;
  margin-bottom:22px !important;
  position:relative;
  overflow:hidden;
}
.row-product-detail::before{
  content:"";
  position:absolute; inset:-2px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(120deg, transparent, rgba(255,220,120,.55), transparent, rgba(255,80,100,.35), transparent);
  background-size:300% 300%;
  animation:r68GradientFlow 7s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.7;
}

.products-img{
  position:relative;
  padding:10px;
  border-radius:22px;
  background:
    linear-gradient(160deg, rgba(255,220,120,.25), rgba(154,10,20,.15)),
    rgba(0,0,0,.25);
  box-shadow:0 0 0 1px rgba(240,208,96,.35), 0 0 30px rgba(255,200,80,.25);
  animation:r68GlowPulse 3.4s ease-in-out infinite;
}
.products-img img#mainImg,
#mainImg{
  width:100% !important;
  max-width:360px !important;
  border-radius:16px !important;
  box-shadow:0 16px 40px rgba(0,0,0,.45), 0 0 24px rgba(255,200,80,.3) !important;
  animation:r68Float 6s ease-in-out infinite;
}
.products-tag small{
  display:inline-block;
  margin-top:12px;
  padding:6px 14px;
  border-radius:999px;
  font-size:11px !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#3a1500 !important;
  background:linear-gradient(120deg, var(--r68-gold-deep), var(--r68-gold-bright), var(--r68-gold));
  background-size:200% 200%;
  animation:r68GradientFlow 3.5s linear infinite;
  box-shadow:0 0 16px rgba(255,210,80,.45);
}

.quickview-content h1,
.quickview-content h2,
.quickview-content h4,
.cci-faq + .quickview-content h2,
.row-product-detail h2,
.row-product-detail h4{
  font-family:var(--r68-font-display) !important;
  letter-spacing:.03em;
  color:transparent !important;
  background:linear-gradient(110deg, #fff4cc, var(--r68-gold), #fff, var(--r68-gold-bright), #ffe08a);
  background-size:220% auto;
  -webkit-background-clip:text;
  background-clip:text;
  animation:r68TextShine 5s linear infinite;
  text-shadow:none !important;
  filter:drop-shadow(0 0 10px rgba(255,210,80,.35));
  border-bottom:none !important;
}
.quickview-binding,
.quickview-author,
.quickview-author a,
.editor,
.quickview-price-save,
.quickview-price-pec,
.review-cust a,
.text-ship,
.text-shipping,
.text-tnc,
.quickview-peragraph,
.quickview-detail,
.quickview-detail p,
.instock{
  color:var(--r68-cream) !important;
  opacity:.92;
}
.quickview-author a,
.quickview-price-pec,
.review-cust a,
.text-shipping{
  color:var(--r68-gold-bright) !important;
  text-decoration:none !important;
  text-shadow:0 0 12px rgba(255,210,80,.35);
}
.quickview-price .special,
.cci-review-summary strong{
  color:transparent !important;
  background:linear-gradient(90deg, #ffb0b8, #ffd76a, #fff2bf, #ffb0b8);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  animation:r68TextShine 3.5s linear infinite;
  font-size:28px !important;
  font-family:var(--r68-font-display) !important;
  filter:drop-shadow(0 0 8px rgba(255,120,120,.35));
}
.instock{
  display:inline-block !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(240,208,96,.4);
  background:rgba(154,10,20,.45);
  box-shadow:0 0 18px rgba(255,80,100,.25);
  font-weight:700;
}

.bg-light.rounded,
.shadow-none.p-3.mb-5.bg-light.rounded{
  background:
    linear-gradient(160deg, rgba(80,10,16,.9), rgba(20,2,5,.95)) !important;
  border:1px solid rgba(240,208,96,.35) !important;
  border-radius:20px !important;
  box-shadow:0 0 24px rgba(255,200,80,.18), inset 0 0 30px rgba(255,255,255,.03) !important;
  color:var(--r68-cream) !important;
}

/* ---------- CTA buttons ---------- */
.btn-add-to-cart,
.btn-add-to-wishlist,
a.btn-add-to-cart,
a.btn-add-to-wishlist{
  position:relative !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:168px !important;
  margin:6px 0 !important;
  padding:14px 22px !important;
  border:0 !important;
  border-radius:999px !important;
  font-family:var(--r68-font-display) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:transform .25s ease, filter .25s ease !important;
  clip-path:polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  border-radius:0 !important;
}
.btn-add-to-cart,
a.btn-add-to-cart{
  color:#3a1500 !important;
  background:linear-gradient(120deg, #8a5a00, #f0d060, #fff1b0, #d4a017, #8a5a00) !important;
  background-size:260% 260% !important;
  animation:r68GradientFlow 3.2s linear infinite, r68GlowPulse 2.6s ease-in-out infinite !important;
  box-shadow:0 0 18px rgba(255,210,80,.45), 0 10px 24px rgba(0,0,0,.35) !important;
}
.btn-add-to-wishlist,
a.btn-add-to-wishlist{
  color:#fff4dc !important;
  background:linear-gradient(120deg, #5a0610, #c41828, #ff5a6a, #8a0c18, #5a0610) !important;
  background-size:260% 260% !important;
  animation:r68GradientFlow 3.2s linear infinite, r68GlowPulse 2.8s ease-in-out infinite !important;
  box-shadow:0 0 18px rgba(255,70,90,.4), 0 10px 24px rgba(0,0,0,.35) !important;
}
.btn-add-to-cart::before,
.btn-add-to-wishlist::before,
a.btn-add-to-cart::before,
a.btn-add-to-wishlist::before{
  content:"";
  position:absolute; top:-40%; left:-40%;
  width:40%; height:180%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-20deg);
  animation:r68Sheen 2.8s ease-in-out infinite;
}
.btn-add-to-cart:hover,
.btn-add-to-wishlist:hover,
a.btn-add-to-cart:hover,
a.btn-add-to-wishlist:hover{
  transform:translateY(-3px) scale(1.03) !important;
  filter:brightness(1.08) !important;
  color:#fff !important;
}

.btn-product,
.input-number{
  border-radius:10px !important;
  border:1px solid rgba(240,208,96,.35) !important;
  background:rgba(0,0,0,.35) !important;
  color:var(--r68-cream) !important;
}

/* ---------- Product carousel / related ---------- */
.single-product,
.product-mini-carousel,
.product-content{
  background:rgba(20,2,5,.55) !important;
  border-radius:14px !important;
  border:1px solid rgba(240,208,96,.18);
  box-shadow:0 0 18px rgba(154,10,20,.15);
  transition:transform .25s ease, box-shadow .25s ease;
}
.single-product:hover{
  transform:translateY(-6px);
  box-shadow:0 0 28px rgba(255,200,80,.28);
}
.product-content h3 a,
.author-category a,
.product-binding,
.product-price div{
  color:var(--r68-cream) !important;
}
.product-content h3 a:hover{ color:var(--r68-gold-bright) !important; }
.default-img{
  border-radius:12px !important;
  box-shadow:0 0 16px rgba(255,200,80,.2);
}

/* ---------- Content / FAQ / Reviews ---------- */
.quickview-peragraph{
  font-size:15px !important;
  line-height:1.8 !important;
  color:#ffe9c8 !important;
}
.quickview-peragraph b,
.quickview-peragraph i{
  color:var(--r68-gold-bright) !important;
}
.cci-faq{ padding:10px 8px 18px; }
.cci-faq-item{
  border:1px solid rgba(240,208,96,.28) !important;
  border-radius:14px !important;
  margin-bottom:12px;
  background:linear-gradient(145deg, rgba(70,8,14,.85), rgba(18,2,5,.92)) !important;
  box-shadow:0 0 18px rgba(255,180,60,.12);
  overflow:hidden;
}
.cci-faq-item summary{
  background:linear-gradient(90deg, rgba(154,10,20,.55), rgba(80,20,10,.35)) !important;
  color:var(--r68-cream) !important;
  font-family:var(--r68-font-body) !important;
  font-weight:700 !important;
}
.cci-faq-item summary::after{ color:var(--r68-gold) !important; }
.cci-faq-item[open]{
  box-shadow:0 0 26px rgba(255,200,80,.22);
}
.cci-faq-item[open] summary::after{ color:var(--r68-sakura) !important; }
.cci-faq-item p{
  color:#ffe7c2 !important;
  background:transparent !important;
}

.cci-reviews{ padding:10px 8px; }
.cci-review-summary{ color:#ffd9a8 !important; }
.cci-stars{
  color:var(--r68-gold) !important;
  text-shadow:0 0 10px rgba(255,210,80,.55);
}
.cci-review-card{
  border:1px solid rgba(240,208,96,.22) !important;
  border-radius:16px !important;
  background:
    linear-gradient(145deg, rgba(80,10,16,.8), rgba(18,2,5,.9)) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28), 0 0 18px rgba(255,180,60,.1);
  transition:transform .25s ease, box-shadow .25s ease;
}
.cci-review-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.35), 0 0 28px rgba(255,200,80,.22);
}
.cci-review-card h5{
  color:var(--r68-gold-bright) !important;
  font-family:var(--r68-font-display) !important;
}
.cci-review-meta,
.cci-review-card p{ color:#ffe7c2 !important; }

/* ---------- Footer ---------- */
.footer,
.copyright-section,
.footer-top,
.footer-bottom,
.copyright,
.footer a,
.footer p,
.footer li,
.footer span{
  background:transparent !important;
  color:#ffd9a8 !important;
}
.footer,
.copyright-section{
  background:linear-gradient(180deg, rgba(20,2,5,.2), rgba(10,1,2,.95)) !important;
  border-top:1px solid rgba(240,208,96,.25) !important;
  box-shadow:0 -10px 40px rgba(154,10,20,.2);
}
.copyright{
  text-align:center;
  letter-spacing:.08em;
  text-shadow:0 0 12px rgba(255,210,80,.25);
}

/* hide noisy template chrome that fights the new composition */
.preloader{ display:none !important; }
.topbar.d-none{ display:none !important; }
/* leftover ecommerce filter chrome from old template */
.shop-sidebar .single-widget.check,
.shop-sidebar .widget-checkbox,
.shop-sidebar .range-slider{ display:none !important; }

/* share / social restyle */
.share-now,
.default-social a,
.share h4{ color:var(--r68-gold-bright) !important; }

/* quantity / shipping icons remain readable */
.border-shipping,
.text-ship a{ color:var(--r68-cream) !important; }

/* ---------- Banner-matched page accents ---------- */
body[data-theme="home"] .products-img::after,
body[data-theme="leer"] .products-img::after,
body[data-theme="imprimir"] .products-img::after{
  content:"";
  position:absolute; inset:-8px;
  border-radius:26px;
  pointer-events:none;
  z-index:0;
  animation:r68Aura 4s ease-in-out infinite;
}
body[data-theme="home"] .products-img::after{
  background:radial-gradient(circle, rgba(255,80,100,.35), transparent 65%);
  box-shadow:0 0 40px rgba(255,70,90,.35);
}
body[data-theme="leer"] .products-img::after{
  background:radial-gradient(circle, rgba(255,160,60,.32), transparent 65%);
  box-shadow:0 0 40px rgba(255,170,50,.32);
}
body[data-theme="imprimir"] .products-img::after{
  background:radial-gradient(circle, rgba(255,120,160,.32), transparent 65%);
  box-shadow:0 0 40px rgba(255,110,150,.32);
}
body[data-theme="home"] .row-product-detail{
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset, 0 20px 50px rgba(0,0,0,.45), 0 0 50px rgba(255,60,80,.22);
}
body[data-theme="leer"] .row-product-detail{
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset, 0 20px 50px rgba(0,0,0,.45), 0 0 50px rgba(255,150,40,.22);
}
body[data-theme="imprimir"] .row-product-detail{
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset, 0 20px 50px rgba(0,0,0,.45), 0 0 50px rgba(255,100,140,.22);
}

/* breadcrumb / misc chrome */
.breadcrumb,
.breadcrumb a,
.breadcrumb li,
.breadcrumb-item,
.breadcrumb-item a{
  color:#ffd9a8 !important;
  background:transparent !important;
}
.breadcrumb{
  padding:10px 14px !important;
  border-radius:12px;
  border:1px solid rgba(240,208,96,.2);
  background:rgba(20,2,5,.4) !important;
  box-shadow:0 0 16px rgba(255,200,80,.1);
}
.tab-main,
.nav-tabs,
.nav-tabs .nav-link{
  background:transparent !important;
  border-color:rgba(240,208,96,.25) !important;
  color:var(--r68-cream) !important;
}
.nav-tabs .nav-link.active{
  color:#3a1500 !important;
  background:linear-gradient(120deg, var(--r68-gold-deep), var(--r68-gold-bright)) !important;
  border-color:transparent !important;
  box-shadow:0 0 16px rgba(255,210,80,.35);
}
.form-control,
input[type="text"],
input[type="email"],
select,
textarea{
  background:rgba(10,1,3,.55) !important;
  border:1px solid rgba(240,208,96,.3) !important;
  color:var(--r68-cream) !important;
  border-radius:12px !important;
}

/* floating gold rim behind product image stack */
.products-img > *{ position:relative; z-index:1; }

@media (max-width:768px){
  .products-img img#mainImg,
  #mainImg{ max-width:100% !important; }
  .btn-add-to-cart,
  .btn-add-to-wishlist,
  a.btn-add-to-cart,
  a.btn-add-to-wishlist{
    width:100%;
    clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  }
  .row-product-detail{ padding:16px 12px !important; }
}
