/* Modal full product page link styling */
.pm-modal-fullpage-link-row {
  text-align: center;
  margin-top: 12px;
}
.pm-modal-fullpage-divider {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 8px 0 8px 0;
}
.pm-modal-fullpage-link {
  display: inline-block;
  font-size: 1rem;
  color: #0d5fae;
  background: none;
  text-decoration: underline;
  padding: 4px 12px;
  border-radius: 4px;
  transition: background 0.2s;
}
.pm-modal-fullpage-link:hover {
  background: #eaf3ff;
  color: #0a4a8a;
}
/* Advanced animations inspired by top-pages.css */
@keyframes shimmer {
  0% { background-position: -1000px 0; }
  100% { background-position: 1000px 0; }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 4px 16px rgba(74,158,255,0.3), 0 2px 8px rgba(0,0,0,0.3); }
  50% { box-shadow: 0 4px 20px rgba(74,158,255,0.5), 0 2px 12px rgba(0,0,0,0.4); }
}

@keyframes slide-in-up {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

:root{
  --header-h:68px;
  --bg:#0a0a0a;
  --panel:#181818;
  --border:#2a2a2a;
  --fg:#e0e0e0;
  --muted:#888;
  --accent:#4a9eff;
  --accent-hover:#5eb3ff;
  --surface:#1a1a1a;
  --primary-color:#4a9eff;
  --shadow-md:0 4px 24px rgba(0,0,0,.18);
  --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}
main.container{
  background:transparent!important;
  max-width:1400px;
  margin:0 auto;
  padding:0 32px;
  scroll-margin-top:calc(var(--header-h) + 10px);
  animation: slide-in-up 0.6s ease-out;
  box-sizing: border-box;
}
/* Ensure all children respect box-sizing */
main.container *,
main.container *::before,
main.container *::after {
  box-sizing: border-box;
}
.amazon-btn-container{margin:20px 0;text-align:center}

/* Enhanced amazon buttons with premium styling */
.amazon-btn,
.pm-amazon-button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:18px 36px;
  font-size:1.05rem;
  font-weight:800;
  border-radius:14px;
  border:1px solid rgba(255,200,0,0.5);
  background:linear-gradient(135deg,#ff9900 0%,#ff8800 100%);
  color:#ffffff;
  box-shadow:
    0 4px 20px rgba(255,153,0,0.4),
    0 2px 8px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.3);
  cursor:pointer;
  text-decoration:none;
  transition:all .4s var(--transition-smooth);
  position:relative;
  overflow:hidden;
  letter-spacing: 0.3px;
}
.amazon-btn::before,
.pm-amazon-button::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);
  transition:left .6s ease;
}
.amazon-btn::after,
.pm-amazon-button::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center, rgba(255,255,255,0.2), transparent 70%);
  opacity:0;
  transition:opacity 0.3s ease;
}
.amazon-btn:hover::before,
.pm-amazon-button:hover::before{left:100%}
.amazon-btn:hover::after,
.pm-amazon-button:hover::after{opacity:1}
.amazon-btn:hover,
.pm-amazon-button:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:
    0 12px 40px rgba(255,153,0,0.6),
    0 4px 16px rgba(255,153,0,0.3),
    inset 0 1px 0 rgba(255,255,255,0.4);
  background:linear-gradient(135deg,#ffaa22 0%,#ff9900 100%);
  border-color:rgba(255,220,0,0.8);
  color:#fff;
  text-decoration:none;
}
.amazon-btn img,
.pm-amazon-button img{
  height:22px;
  width:22px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
  transition: transform 0.3s ease;
}
.amazon-btn:hover img,
.pm-amazon-button:hover img{transform:scale(1.1)}

.product-info-row{display:flex;align-items:center;gap:24px;margin:32px 0;flex-wrap:wrap}

/* Premium product image wrapper with 3D effects */
.product-detail-image-wrapper{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  background:#ffffff;
  padding:32px;
  border-radius:20px;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:
    0 8px 32px rgba(0,0,0,0.15),
    0 0 0 1px rgba(255,255,255,0.1),
    inset 0 1px 0 rgba(255,255,255,0.5);
  transition:all .5s var(--transition-smooth);
  isolation: isolate;
}
.product-detail-image-wrapper::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(74,158,255,0.08), transparent 70%);
  opacity:0;
  transition:opacity 0.4s ease;
  border-radius:20px;
  pointer-events:none;
}
.product-detail-image-wrapper:hover{
  box-shadow:
    0 16px 48px rgba(74,158,255,0.25),
    0 0 0 2px rgba(74,158,255,0.2),
    inset 0 1px 0 rgba(255,255,255,0.6);
  transform:translateY(-6px) rotate(0.5deg);
  border-color:rgba(74,158,255,0.3);
}
.product-detail-image-wrapper:hover::before{opacity:1}
.product-image{
  max-width:100%;
  height:auto;
  object-fit:contain;
  display:block;
  transition:transform .5s var(--transition-smooth), filter 0.3s ease!important;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,0.15));
}
.product-image:hover{
  transform:scale(1.08)!important;
  filter: drop-shadow(0 12px 32px rgba(74,158,255,0.25))!important;
}

.pm-loyolo-badge{
  position:absolute;
  top:16px;
  left:16px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(74,158,255,0.25),rgba(74,158,255,0.15));
  border:1px solid rgba(74,158,255,0.5);
  color:var(--fg);
  backdrop-filter:blur(12px);
  box-shadow:
    0 4px 16px rgba(74,158,255,0.3),
    0 2px 8px rgba(0,0,0,0.3),
    0 0 20px rgba(74,158,255,0.2);
  animation:pulse-glow 3s ease-in-out infinite;
  transition: all 0.3s var(--transition-smooth);
}
.pm-loyolo-badge:hover{
  transform: translateY(-2px) scale(1.05);
  box-shadow:
    0 6px 20px rgba(74,158,255,0.5),
    0 4px 12px rgba(0,0,0,0.4),
    0 0 30px rgba(74,158,255,0.3);
}
.pm-loyolo-badge-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.8px;
  text-transform:uppercase;
  color:#b8d4ff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.pm-loyolo-badge-score{
  font-size:16px;
  font-weight:800;
  line-height:1;
  color:#fff;
  background:linear-gradient(180deg,#5aa3ff 0%,#2b7be0 100%);
  padding:6px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.18);
  min-width:32px;
  text-align:center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transition: transform 0.3s ease;
}
.pm-loyolo-badge:hover .pm-loyolo-badge-score{
  transform: scale(1.1);
}
.pm-discount-badge{
  position:absolute;
  top:16px;
  right:16px;
  background:linear-gradient(135deg,#ff5f5f,#d62f2f);
  color:#fff;
  font-weight:800;
  padding:8px 14px;
  border-radius:10px;
  box-shadow:
    0 4px 16px rgba(255,95,95,0.4),
    0 2px 8px rgba(0,0,0,0.3);
  border:1px solid rgba(255,255,255,0.25);
  font-size:12px;
  letter-spacing:0.5px;
  transition: all 0.3s var(--transition-smooth);
  animation: float 3s ease-in-out infinite;
}
.pm-discount-badge:hover{
  transform: translateY(-3px) scale(1.05);
  box-shadow:
    0 6px 20px rgba(255,95,95,0.6),
    0 4px 12px rgba(0,0,0,0.4);
}
.pm-pack-badge{
  position:absolute;
  bottom:16px;
  right:16px;
  background:rgba(0,0,0,0.85);
  color:#fff;
  font-weight:700;
  padding:8px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.2);
  backdrop-filter:blur(12px);
  box-shadow:0 4px 12px rgba(0,0,0,0.4);
  font-size:11px;
  transition: all 0.3s var(--transition-smooth);
}
.pm-pack-badge:hover{
  transform: translateY(-2px);
  background:rgba(0,0,0,0.95);
  border-color:rgba(255,255,255,0.3);
}

.product-rating{display:flex;align-items:center;gap:8px;font-size:1.1rem}
.product-rating .rating-stars{color:#ffd700;font-size:1.2rem}
.product-rating .rating-value{font-weight:600;color:var(--fg)}
.product-rating .rating-reviews{color:var(--muted);font-size:.9rem}

.product-price{flex:1;min-width:150px}
.product-amazon-btn{flex-shrink:0}
.pm-price-unavailable{color:var(--muted);font-style:italic;font-size:.9rem;padding:8px 0}

.product-detail-layout{
  background:linear-gradient(135deg,rgba(18,24,28,0.85) 0%,rgba(24,30,36,0.80) 100%)!important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color:var(--fg)!important;
  border:1px solid rgba(74,158,255,0.2)!important;
  border-radius:24px;
  padding:48px;
  margin-bottom:32px;
  box-shadow:
    0 4px 16px rgba(0,0,0,0.3),
    0 0 0 1px rgba(255,255,255,0.05),
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 20px 40px -20px rgba(0,0,0,0.3);
  transition:all .5s var(--transition-smooth);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}
.product-detail-layout::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, #4a9eff 0%, #667eea 50%, #91c5ff 100%);
  border-radius:24px 24px 0 0;
  opacity:0;
  transition:opacity 0.4s ease;
  z-index:1;
}
.product-detail-layout::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(74,158,255,0.12), transparent 70%);
  opacity:0;
  transition:opacity 0.5s ease;
  pointer-events:none;
  border-radius:24px;
}
.product-detail-layout:hover{
  box-shadow:
    0 12px 40px rgba(74,158,255,0.25),
    0 0 0 2px rgba(74,158,255,0.3),
    0 0 40px rgba(74,158,255,0.2),
    inset 0 1px 0 rgba(255,255,255,0.12);
  border-color:rgba(74,158,255,0.4)!important;
  transform: translateY(-4px);
}
.product-detail-layout:hover::before,
.product-detail-layout:hover::after{opacity:1}
.product-title{
  color:#f8fafc!important;
  font-size:2.2rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  margin-bottom:20px!important;
  letter-spacing:-0.6px!important;
  background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  transition: all 0.3s var(--transition-smooth);
}
.product-detail-layout:hover .product-title{
  background:linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  transform: translateX(4px);
}
.product-description{
  color:#94a3b8!important;
  font-size:1.05rem!important;
  line-height:1.8!important;
  margin-bottom:24px!important;
  transition: color 0.3s ease;
}
.product-detail-layout:hover .product-description{
  color:#cbd5e1!important;
}
.pm-section-title,.pm-card h3{
  color:#f8fafc!important;
  font-size:1.4rem!important;
  font-weight:800!important;
  margin-bottom:16px!important;
  letter-spacing:-0.3px!important;
  position: relative;
  padding-left: 16px;
}
.pm-section-title::before,.pm-card h3::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:70%;
  background:linear-gradient(180deg, #4a9eff, #667eea);
  border-radius:2px;
  box-shadow: 0 0 8px rgba(74,158,255,0.4);
}

@media (max-width:768px){
	main.container{padding:0 20px}
	.amazon-btn,.pm-amazon-button{padding:16px 28px;font-size:1rem;width:100%;justify-content:center}
	.product-detail-layout{
		padding:24px 20px;
		border-radius:20px;
		margin-bottom:20px;
	}
	.product-info-row{flex-direction:column;align-items:flex-start;gap:20px}
	.product-rating{font-size:1rem}
	.product-rating .rating-stars{font-size:1.1rem}
	.product-amazon-btn{width:100%;text-align:center}
	.product-title{font-size:1.6rem!important}
	.product-description{font-size:1rem!important}
	.product-detail-image-wrapper{padding:24px}
}

.desc-toggle{background:none!important;border:none!important;color:var(--accent)!important;cursor:pointer!important;font-size:.9rem!important;margin-top:8px!important;text-decoration:underline!important;padding:4px 0!important}
.desc-toggle:hover{color:var(--primary-color)!important}
.modal-transition-overlay{backdrop-filter:blur(4px)}
.upgrade-banner{animation:slideUp .3s ease-out}
@keyframes slideUp{from{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}
.price-alert-modal input{font-family:inherit}
.price-alert-modal input:focus{outline:2px solid var(--accent);outline-offset:2px}
.product-image:hover{cursor:zoom-in}
.image-lightbox{backdrop-filter:blur(8px)}
.image-lightbox img{box-shadow:0 20px 60px rgba(0,0,0,.5)}
.site-header{
  position:sticky;
  top:0;
  z-index:3000;
  background:rgba(16,18,20,0.95);
  backdrop-filter:blur(12px) saturate(180%);
  border-bottom:1px solid rgba(74,158,255,0.15);
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
  transition:all 0.3s var(--transition-smooth);
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:var(--header-h);
  padding:8px 16px;
}
.site-logo{
  display:inline-block;
  position:relative;
  transition:transform 0.3s var(--transition-smooth);
}
.site-logo:hover{transform:scale(1.05)}
.site-logo-img{
  height:52px!important;
  width:auto;
  display:block;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));
  transition:filter 0.3s ease;
}
.site-logo:hover .site-logo-img{
  filter:drop-shadow(0 4px 8px rgba(74,158,255,0.3));
}
.exp-badge{
  position:absolute!important;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  padding:4px 10px;
  font-size:10px;
  line-height:1;
  border-radius:999px;
  font-weight:900;
  color:#0b0f12;
  background:linear-gradient(90deg,#ffd54a,#ff9a3c);
  border:1px solid rgba(255,255,255,0.3);
  box-shadow:
    0 4px 12px rgba(0,0,0,0.35),
    0 0 20px rgba(255,213,74,0.4);
  text-transform:uppercase;
  letter-spacing:0.6px;
  white-space:nowrap;
  pointer-events:none;
  animation:pulse-glow 3s ease-in-out infinite;
}
.site-tagline{
  color:var(--muted);
  font-size:0.92rem;
  margin-left:4px;
  transition:color 0.3s ease;
}
.site-header:hover .site-tagline{
  color:#9aa4ae;
}
@media (max-width:768px){:root{--header-h:60px}.site-logo-img{height:44px!important}.site-header .container{padding:6px 12px}.exp-badge{font-size:9px;padding:3px 8px;letter-spacing:.5px}}
