/* PluginTheme — pt-front-page.css */

/* == front-page.php == */
/* ── Page background ── */
body { background: #f5f3ff; }

/* ── Hero wrapper ── */
.pt-hero-wrap {
background: linear-gradient(160deg, #ece9fb 0%, #f0eefe 40%, #e8e4f9 100%);
padding: 28px 0 0;
}
.pt-hero-container {
max-width: 90%; width: 90%; margin: 0 auto; padding: 0;
display: grid; grid-template-columns: 1fr 340px; gap: 16px; align-items: stretch;
}

/* ── Slider Card (left) ── */
.pt-slider-card {
background: #0f0c1e;
border-radius: 16px; overflow: hidden; position: relative;
display: flex; flex-direction: column;
}
.pt-slides { flex: 1; position: relative; overflow: hidden; min-height: 240px; }
/* ── Slide: full-cover image, optional overlay ── */
.pt-slide {
position: absolute; inset: 0;
display: block;
opacity: 0; transition: opacity .5s ease; pointer-events: none;
overflow: hidden;
}
.pt-slide.active { opacity: 1; pointer-events: auto; }

/* Full-width image link */
.pt-slide-img-link {
display: block; width: 100%; height: 100%;
text-decoration: none; cursor: pointer;
}
.pt-slide-img-link img {
width: 100%; height: 100%;
  /* object-fit:cover + center: যেকোনো size/ratio ছবি distort ছাড়া fill করবে */
object-fit: cover; object-position: center center;
display: block;
}

/* Left column — image only */
.pt-slide-img-col {
position: relative; overflow: hidden;
background: linear-gradient(145deg, #0f0c29, #302b63);
flex-shrink: 0;
  /* যেকোনো size ছবি — fixed column width, height stretches to match card */
width: 220px; min-width: 220px;
}
.pt-slide-img-col img {
position: absolute; inset: 0; width: 100%; height: 100%;
  /* object-fit:cover — যেকোনো aspect ratio (portrait/landscape/square) ক্রপ করে fit করে */
object-fit: cover;
  /* center center: subject সাধারণত মাঝখানে থাকে — portrait ছবিও কাটবে না */
object-position: center center;
display: block;
}
/* Gradient overlay on right edge to blend into dark bg */
.pt-slide-img-col::after {
content: ''; position: absolute; inset: 0;
background: linear-gradient(to right, transparent 65%, rgba(27,24,56,.85) 100%);
pointer-events: none;
}
/* Fallback icon (shown when no image) */
.pt-slide-img-fallback {
position: absolute; inset: 0;
display: flex; align-items: center; justify-content: center;
font-size: 6rem;
}

/* Right column — existing content */
.pt-slide-content-col {
flex: 1; min-width: 0;
display: flex; align-items: center;
padding: 32px 36px 28px 32px;
}
.pt-slide-content { flex: 1; min-width: 0; }

.pt-slide-title {
font-size: 1.5rem; font-weight: 800; color: #fff; line-height: 1.2;
margin-bottom: 6px; letter-spacing: -.02em;
}
.pt-slide-sub {
font-size: 1.35rem; font-weight: 800; line-height: 1.2; margin-bottom: 12px;
background: linear-gradient(135deg, #a855f7, #ec4899);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
background-clip: text;
}
.pt-slide-desc { font-size: .82rem; color: rgba(255,255,255,.6); line-height: 1.6; margin-bottom: 14px; max-width: 320px; }
.pt-slide-chips { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.pt-slide-chip { display: flex; align-items: center; gap: 5px; font-size: .72rem; color: rgba(255,255,255,.65); font-weight: 500; }
.pt-slide-chip::before { content: '↺'; font-size: .9rem; }
.pt-slide-chip:first-child::before { content: '⊙'; }
.pt-slide-chip:last-child::before { content: '⚡'; }
.pt-slide-buy { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pt-slide-btn {
display: inline-flex; align-items: center; gap: 6px;
background: linear-gradient(135deg, #a855f7, #7c3aed); color: #fff;
font-size: .88rem; font-weight: 700; padding: 11px 22px; border-radius: 8px;
text-decoration: none; border: none; cursor: pointer; transition: all .2s;
box-shadow: 0 4px 16px rgba(168,85,247,.4);
}
.pt-slide-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(168,85,247,.5); color: #fff; }
.pt-slide-price-group { display: flex; align-items: center; gap: 8px; }
.pt-slide-price { font-size: 1.3rem; font-weight: 900; color: #fff; }
.pt-slide-price-orig { font-size: .8rem; color: rgba(255,255,255,.4); text-decoration: line-through; }
.pt-slide-discount {
background: linear-gradient(135deg, #ef4444, #dc2626); color: #fff;
font-size: .7rem; font-weight: 800; padding: 2px 8px; border-radius: 6px;
}
/* Legacy icon — hidden (image col used instead) */
.pt-slide-icon { display: none !important; }
/* Slider dots & nav */
.pt-slider-footer {
padding: 16px 40px; display: flex; align-items: center; justify-content: center;
border-top: 1px solid rgba(255,255,255,.06);
}
.pt-slider-dots { display: flex; gap: 6px; }
.pt-slider-dot {
width: 22px; height: 4px; border-radius: 2px;
background: rgba(255,255,255,.2); cursor: pointer; transition: all .25s; border: none;
}
.pt-slider-dot.active { background: #a855f7; width: 32px; }
.pt-slider-nav { display: flex; gap: 8px; }
.pt-slider-arrow {
width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.08);
border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.7);
display: flex; align-items: center; justify-content: center; cursor: pointer;
font-size: .8rem; transition: all .2s;
}
.pt-slider-arrow:hover { background: rgba(255,255,255,.16); color: #fff; }

/* ── License Panel (right) ── */
.pt-license-card {
background: linear-gradient(160deg, #1e1b3a 0%, #221e42 100%);
border-radius: 16px; padding: 18px 16px; display: flex; flex-direction: column;
}
.pt-lc-header {
display: flex; align-items: center; justify-content: space-between;
margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.08);
}
.pt-lc-header-left { display: flex; align-items: center; gap: 8px; }
.pt-lc-dot { width: 26px; height: 26px; border-radius: 50%; background: #2d8a9e; display: flex; align-items: center; justify-content: center; font-size: .85rem; flex-shrink: 0; }
.pt-lc-title { font-size: .85rem; font-weight: 700; color: #fff; }
.pt-lc-all { font-size: .72rem; color: #2d8a9e; font-weight: 600; text-decoration: none; display: flex; align-items: center; gap: 3px; }
.pt-lc-all:hover { text-decoration: underline; }
.pt-lc-item {
display: flex; align-items: center; gap: 8px; padding: 7px 0;
border-bottom: 1px solid rgba(255,255,255,.05);
}
.pt-lc-item-link {
display: flex !important;
text-decoration: none !important;
color: inherit !important;
cursor: pointer;
border-radius: 8px;
transition: background 0.15s, transform 0.15s;
}
.pt-lc-item-link:hover {
background: rgba(124,58,237,0.07) !important;
transform: translateX(3px);
}
.pt-lc-item-link:hover .pt-lc-name {
color: #7c3aed !important;
}

.pt-lc-item:last-child { border-bottom: none; }
.pt-lc-thumb {
width: 32px; height: 32px; border-radius: 7px; flex-shrink: 0;
background: rgba(255,255,255,.1); object-fit: cover;
display: flex; align-items: center; justify-content: center; font-size: .9rem;
}
.pt-lc-info { flex: 1; min-width: 0; }
.pt-lc-name { font-size: .74rem; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.pt-lc-orig-price { font-size: .65rem; color: rgba(255,255,255,.3); text-decoration: line-through; }
.pt-lc-price { font-size: .82rem; font-weight: 800; color: #22C55E; white-space: nowrap; flex-shrink: 0; }

/* ── Feature Cards ── */
.pt-feature-wrap { max-width: 1100px; width: 90%; margin: 0 auto; padding: 16px 0 0; display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 16px; box-sizing: border-box; }
@media(max-width:1024px){ .pt-feature-wrap { max-width:96%;width:96%; gap:12px !important; } }
@media(max-width:540px){ .pt-feature-wrap { max-width:100%;width:100%; gap:10px !important; padding:14px 12px 0 !important; } }
.pt-fc {
background: linear-gradient(145deg, #1e1b38, #221e40);
border-radius: 14px; padding: 20px 18px; text-decoration: none;
display: flex; flex-direction: column; gap: 6px; transition: all .2s;
border: 1px solid rgba(255,255,255,.06);
box-sizing: border-box; width: 100%; min-width: 0; overflow: hidden;
}
.pt-fc:hover { transform: translateY(-2px); border-color: rgba(168,85,247,.3); }
.pt-fc-icon-row { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.pt-fc-icon {
width: 40px; height: 40px; border-radius: 10px;
display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}
.pt-fc-name { font-size: .88rem; font-weight: 700; color: #fff; }
.pt-fc-sub { font-size: .73rem; color: rgba(255,255,255,.45); }
.pt-fc-link { font-size: .73rem; font-weight: 700; margin-top: 6px; display: flex; align-items: center; gap: 4px; }

/* ── After-hero white sections ── */
.pt-main-content { background: #fff; padding-top: 60px; }
@media(max-width:768px){.pt-main-content{padding-top:20px;}.pt-feature-wrap{padding-bottom:12px;}}

/* Products section */
.pt-products-section { padding: 60px 0; background: #fff; }
.pt-products-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; gap: 12px; }
.pt-filter-tabs { display: flex; gap: 4px; background: #F8FAFC; border: 1.5px solid #E2E8F0; border-radius: 10px; padding: 3px; }
.pt-filter-tab { padding: 6px 14px; border-radius: 7px; font-size: .78rem; font-weight: 600; color: #64748B; cursor: pointer; transition: all .2s; border: none; background: transparent; }
.pt-filter-tab.active { background: #fff; color: #2563EB; box-shadow: 0 1px 4px rgba(0,0,0,.08); }

/* Category pills */
.pt-cat-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.pt-cat-pill { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid #E2E8F0; border-radius: 99px; font-size: .8rem; font-weight: 600; color: #475569; text-decoration: none; transition: all .2s; }
.pt-cat-pill:hover, .pt-cat-pill.active { border-color: #2563EB; color: #2563EB; background: #EFF6FF; }
.pt-cat-pill-icon { font-size: .9rem; }

/* Pricing dark section */
.pt-pricing-section {
background: linear-gradient(135deg, #0c2340 0%, #102d4f 100%); padding: 80px 0;
}
.pt-pricing-section .section-title { color: #fff; }
.pt-pricing-section .section-subtitle { color: rgba(255,255,255,.5); }
.pt-pricing-section .section-badge { background: rgba(37,99,235,.2); color: #93C5FD; border-color: rgba(37,99,235,.25); }

/* ── Reviews & Ratings Section ── */
.pt-reviews-section{padding:72px 0 60px;background:#060d2e;position:relative;}
.pt-rv-header{text-align:center;margin-bottom:36px;}
.pt-rv-badge{display:inline-block;padding:5px 18px;border-radius:50px;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.55);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;}
.pt-rv-title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;color:#fff;margin:0;letter-spacing:-.03em;}
.pt-rv-title .rv-star{color:#2d8a9e;}
/* Summary Card */
.pt-rv-summary{display:grid;grid-template-columns:140px 1fr auto;gap:0;align-items:stretch;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;margin-bottom:32px;overflow:hidden;}
.pt-rv-score{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 28px;border-right:1px solid rgba(255,255,255,.08);}
.pt-rv-score-num{font-size:3.2rem;font-weight:900;color:#38BDF8;line-height:1;letter-spacing:-.04em;}
.pt-rv-score-stars{color:#2d8a9e;font-size:1rem;letter-spacing:.06em;margin:6px 0 6px;}
.pt-rv-score-label{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.pt-rv-bars{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px 32px;}
.pt-rv-bar-row{display:flex;align-items:center;gap:10px;}
.pt-rv-bar-label{font-size:.8rem;color:rgba(255,255,255,.55);white-space:nowrap;min-width:28px;}
.pt-rv-bar-track{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden;}
.pt-rv-bar-fill{height:100%;background:linear-gradient(90deg,#3B82F6,#60A5FA);border-radius:99px;transition:width .8s ease;}
.pt-rv-bar-pct{font-size:.78rem;color:rgba(255,255,255,.45);min-width:32px;text-align:right;}
.pt-rv-stats{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:24px 24px 24px 0;}
.pt-rv-stat-pill{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:7px 14px;white-space:nowrap;font-size:.78rem;color:rgba(255,255,255,.8);font-weight:500;}
.pt-rv-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
/* Slider */
.pt-rv-slider-wrap{overflow:hidden;position:relative;}
.pt-rv-track{display:flex;gap:16px;transition:transform .4s cubic-bezier(.25,.46,.45,.94);will-change:transform;}
.pt-rv-card{flex:0 0 calc(25% - 12px);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:0;transition:border-color .2s;min-width:0;}
.pt-rv-card:hover{border-color:rgba(255,255,255,.18);}
.pt-rv-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;}
.pt-rv-card-stars{color:#2d8a9e;font-size:.9rem;letter-spacing:.04em;}
.pt-rv-quote{font-size:2rem;color:rgba(255,255,255,.08);line-height:.8;font-family:Georgia,serif;font-weight:900;margin-top:-4px;}
.pt-rv-card-text{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.7;flex:1;margin-bottom:16px;}
.pt-rv-card-author{display:flex;align-items:center;gap:10px;margin-top:auto;}
.pt-rv-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:.02em;overflow:hidden;position:relative;}
/* Avatar-এ real photo থাকলে — যেকোনো size/ratio ছবি circle-এ fit হবে */
.pt-rv-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;}
.pt-rv-author-name{font-size:.84rem;font-weight:700;color:#fff;margin-bottom:2px;}
.pt-rv-author-meta{display:flex;align-items:center;gap:5px;font-size:.72rem;color:rgba(255,255,255,.4);}
.pt-rv-flag{font-size:.85rem;}
.pt-rv-verified{display:flex;align-items:center;gap:3px;color:#10B981;}
.pt-rv-verified svg{width:10px;height:10px;}
/* Navigation */
.pt-rv-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px;}
.pt-rv-btn{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.pt-rv-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);}
.pt-rv-btn svg{width:16px;height:16px;}
.pt-rv-dots{display:flex;gap:6px;align-items:center;}
.pt-rv-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:all .25s;}
.pt-rv-dot.active{width:24px;border-radius:99px;background:#3B82F6;}
.pt-rv-counter{text-align:center;color:rgba(255,255,255,.3);font-size:.8rem;margin-top:10px;letter-spacing:.04em;}
/* Responsive */
@media(max-width:1100px){.pt-rv-card{flex:0 0 calc(50% - 8px);}}
@media(max-width:480px){
  /* রিভিউ নেভ বাটন ও ডট মোবাইলে বড় করা */
.pt-rv-btn { width: 48px !important; height: 48px !important; }
.pt-rv-dot { width: 10px !important; height: 10px !important; }
.pt-rv-dot.active { width: 28px !important; }
.pt-rv-nav { gap: 12px !important; margin-top: 20px !important; }
.pt-rv-card { padding: 16px !important; }
.pt-rv-card-text { font-size: .8rem !important; }
}
@media(max-width:800px){
.pt-rv-summary{grid-template-columns:1fr;border-radius:12px;}
.pt-rv-score{flex-direction:row;gap:16px;padding:18px 20px;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);justify-content:flex-start;}
.pt-rv-score-label{display:none;}
.pt-rv-bars{padding:16px 20px;}
.pt-rv-stats{flex-direction:row;flex-wrap:wrap;padding:0 20px 18px;gap:8px;}
.pt-rv-stat-pill{font-size:.72rem;padding:5px 10px;}
  /* reviews section padding mobile */
.pt-reviews-section { padding: 44px 0 36px !important; }
.pt-rv-header { margin-bottom: 24px !important; }
}
@media(max-width:600px){
.pt-rv-card{flex:0 0 100% !important; width:100% !important; max-width:100% !important;}
  /* Track সঠিকভাবে snap করার জন্য */
.pt-rv-track { gap: 0 !important; }
.pt-rv-slider-wrap {
overflow: hidden !important;
width: 100% !important;
max-width: 100% !important;
  }
  /* Review section — overflow-x only, contain removed (breaks slider) */
.pt-reviews-section {
overflow-x: hidden !important;
overflow-y: visible !important;
position: relative !important;
z-index: 1 !important;
width: 100% !important;
max-width: 100vw !important;
  }
.pt-reviews-section .container {
max-width: 90% !important;
width: 90% !important;
overflow-x: hidden !important;
padding-left: 16px !important;
padding-right: 16px !important;
  }
  /* Track must respect parent width */
#ptRvTrack {
width: 100% !important;
max-width: 100% !important;
  }
}

@media (max-width: 1200px) { .pt-hero-container { max-width: 94%; width: 94%; } }
@media (max-width: 768px) { .pt-hero-container { max-width: 96%; width: 96%; } }
@media (max-width: 900px) {
.pt-hero-container { grid-template-columns: 1fr; }
.pt-license-card { display: none; }
.pt-feature-wrap { grid-template-columns: repeat(2, 1fr); }
  /* Mobile slider: keep image col VISIBLE (was hidden, causing blank space) */
.pt-slide {
display: flex !important;
flex-direction: row !important;
align-items: stretch !important;
  }
.pt-slide-img-col {
display: block !important;
width: 110px !important;
flex-shrink: 0 !important;
margin: 0 !important;
border-radius: 0 !important;
overflow: hidden !important;
position: relative !important;
min-height: 130px !important;
  }
.pt-slide-content-col {
flex: 1 !important;
padding: 20px 16px 20px 20px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
  }
}
@media (max-width: 540px) {
.pt-feature-wrap { grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 12px 0; }
.pt-hero-container { gap: 10px; padding: 0 12px; }
.pt-slide-content-col { padding: 22px 18px 18px; }
.pt-slide-title { font-size: 1.15rem !important; }
.pt-slide-sub { font-size: 1.05rem !important; }
.pt-slide-desc { font-size: .78rem !important; }
.pt-slide-btn { font-size: .8rem !important; padding: 9px 16px !important; }
.pt-slide-price { font-size: 1.1rem !important; }
.pt-slider-footer { padding: 12px 20px; }
}
@media (max-width: 400px) {
.pt-slide-content-col { padding: 18px 14px 14px; }
.pt-slide-title { font-size: 1.05rem !important; }
.pt-slide-sub { font-size: .95rem !important; }
.pt-slide-chips { gap: 8px; margin-bottom: 12px; }
.pt-slide-chip { font-size: .68rem; }
.pt-slide-buy { gap: 8px; }
.pt-slide-btn { font-size: .75rem !important; padding: 8px 14px !important; }
}

/* Slider dot mobile fix — 44px tap via ::before, visual pill preserved */
.pt-slider-dot{width:22px!important;height:4px!important;min-width:0!important;min-height:0!important;padding:0!important;border-radius:2px!important;background:rgba(255,255,255,.2)!important;display:inline-block!important;position:relative!important;overflow:visible!important;vertical-align:middle!important;}
.pt-slider-dot.active{background:#a855f7!important;width:32px!important;}
.pt-slider-dot::before{content:''!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:44px!important;height:44px!important;display:block!important;}

/* ── Override pt-frontend.php !important rules that conflict with new grid layout ── */
/* Ensure slide never gets padding (it's a flex container; padding goes to content col) */
.pt-slide { padding: 0 !important; display: block !important; }
/* On mobile ≤900px: flex row layout */
@media (max-width: 900px) {
.pt-slide { display: flex !important; flex-direction: row !important; align-items: stretch !important; }
.pt-slide-content-col { padding: 20px 16px 20px 20px !important; }
}
@media (max-width: 768px) {
  /* Mobile: hide inactive slides with display:none, show active with flex */
.pt-slide { display: none !important; position: relative !important; inset: auto !important; opacity: 1 !important; }
.pt-slide.active { display: flex !important; flex-direction: row !important; align-items: stretch !important; }
.pt-slide-content-col { padding: 20px 16px !important; }
.pt-slide-desc { display: block !important; max-width: 100% !important; }
}
@media (max-width: 540px) {
.pt-slide-content-col { padding: 16px 14px 14px !important; }
.pt-slide-desc { display: none !important; }
}
/* Image column — no padding ever */
.pt-slide-img-col { padding: 0 !important; }

/* ═══════════════════════════════════════════════════════
   MOBILE HERO — FULL-COVER IMAGE (≤ 768px)
   ═══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
.pt-hero-wrap { padding: 0 !important; }
.pt-hero-container { padding: 0 !important; gap: 0 !important; }
.pt-slides { min-height: 0 !important; height: auto !important; }
.pt-slider-card {
border-radius: 0 0 20px 20px !important;
min-height: 0 !important;
overflow: hidden !important;
  }
  /* Slide: row layout — image fills height naturally */
.pt-slide {
position: relative !important;
inset: auto !important;
opacity: 1 !important;
display: none !important;
  }
.pt-slide.active {
display: flex !important;
flex-direction: row !important;
align-items: stretch !important;
  }
  /* Image column — fixed width on mobile */
.pt-slide-img-col {
display: block !important;
width: 120px !important;
min-width: 120px !important;
flex-shrink: 0 !important;
margin: 0 !important;
border-radius: 0 !important;
position: relative !important;
  }
  /* Content column — takes remaining space */
.pt-slide-content-col {
flex: 1 !important;
padding: 20px 16px !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
background: linear-gradient(135deg, #0f0c1e, #1a1535) !important;
  }
  /* Overlay content smaller on mobile */
.pt-slide a > div { padding: 14px 16px !important; }
.pt-slide a > div > div:first-child { font-size: 1rem !important; }

  /* Slider footer */
.pt-slider-footer {
padding: 10px 14px !important;
background: rgba(10,8,28,.55) !important;
backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
border-top: 1px solid rgba(255,255,255,.08) !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 10px !important;
  }
.pt-slider-dots { display: flex !important; gap: 5px !important; align-items: center !important; }
.pt-slider-dot { width: 18px !important; height: 4px !important; border-radius: 2px !important; background: rgba(255,255,255,.2) !important; }
.pt-slider-dot.active { width: 26px !important; background: #a855f7 !important; }
  /* Feature cards: 2-column grid on mobile */
.pt-feature-wrap {
display: grid !important;
grid-template-columns: repeat(2, 1fr) !important;
flex-wrap: unset !important;
overflow-x: unset !important;
scroll-snap-type: unset !important;
scrollbar-width: unset !important;
gap: 10px !important;
padding: 14px 16px 16px !important;
  }
.pt-feature-wrap::-webkit-scrollbar { display: none !important; }
.pt-fc {
flex: unset !important;
width: 100% !important;
min-width: 0 !important;
max-width: 100% !important;
box-sizing: border-box !important;
scroll-snap-align: unset !important;
padding: 16px 14px !important;
  }
.pt-fc-sub { font-size: .7rem !important; }
.pt-fc-name { font-size: .82rem !important; }
}

/* ── 10. Progress bar (injected by JS) ── */
.pt-slider-progress {
position: absolute !important;
top: 0 !important; left: 0 !important; right: 0 !important;
height: 3px !important;
z-index: 20 !important;
background: rgba(255,255,255,.08) !important;
pointer-events: none !important;
}
.pt-slider-progress-fill {
height: 100% !important;
width: 0% !important;
background: linear-gradient(90deg, #a855f7, #ec4899) !important;
border-radius: 0 2px 2px 0 !important;
transition: width 4000ms linear !important;
}

/* ── 12. Very small screens ── */
@media (max-width: 400px) {
.pt-slide-img-col { width: 88px !important; margin: 16px 14px 16px 0 !important; border-radius: 14px !important; }
.pt-slide-content-col { padding: 18px 14px 14px 16px !important; }
.pt-slide-title { font-size: 1rem !important; }
.pt-slide-sub { font-size: .88rem !important; }
/* v6.4.34: removed `.pt-fc{width:158px}` — it broke the 2-col grid on <=400px. Cards now flex via repeat(2,minmax(0,1fr)). */
}

/* ── Most Popular Products Section ── */
.pt-mpp-section { padding: 72px 0 64px; background: #F8FAFC; }
.pt-mpp-section .container { max-width: 90%; width: 90%; margin: 0 auto; padding: 0; }
@media(max-width:768px){ .pt-mpp-section .container { max-width: 96%; width: 96%; } }
.pt-mpp-section-header { text-align: center; margin-bottom: 40px; }
.pt-mpp-section-header h2 {
font-size: 1.8rem; font-weight: 900; color: #0c2340;
letter-spacing: -.025em; margin: 0 0 8px;
display: flex; align-items: center; justify-content: center; gap: 10px;
  }
.pt-mpp-section-header h2 .flame { font-size: 1.6rem; }
.pt-mpp-section-header p { font-size: .9rem; color: #64748B; margin: 0; }

  /* Layout */
.pt-mpp-layout { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: start; }

  /* Sidebar */
.pt-mpp-sidebar {
background: #102d4f; border-radius: 14px; overflow: hidden;
position: sticky; top: 90px;
  }
.pt-mpp-sidebar-header {
display: flex; align-items: center; gap: 10px;
padding: 16px 18px; border-bottom: 1px solid rgba(255,255,255,.07);
  }
.pt-mpp-sidebar-icon {
width: 34px; height: 34px; background: #2d8a9e; border-radius: 8px;
display: flex; align-items: center; justify-content: center; font-size: .95rem; flex-shrink: 0;
  }
.pt-mpp-sidebar-title { font-size: .88rem; font-weight: 800; color: #fff; }
.pt-mpp-sidebar-sub   { font-size: .7rem; color: rgba(255,255,255,.4); margin-top: 1px; }
.pt-mpp-cat-list { list-style: none; margin: 0; padding: 8px 0; }
.pt-mpp-cat-item a {
display: flex; align-items: center; justify-content: space-between;
padding: 9px 18px; font-size: .8rem; font-weight: 500; color: rgba(255,255,255,.6);
text-decoration: none; transition: all .15s; gap: 8px;
  }
.pt-mpp-cat-item a:hover { color: #fff; background: rgba(255,255,255,.05); }
.pt-mpp-cat-item.active a { color: #2d8a9e; font-weight: 700; background: rgba(45,138,158,.08); }
.pt-mpp-cat-item a .arrow { font-size: .65rem; opacity: .5; margin-right: 4px; }
.pt-mpp-cat-count {
background: rgba(255,255,255,.08); border-radius: 20px;
font-size: .68rem; font-weight: 700; padding: 2px 8px;
color: rgba(255,255,255,.5); margin-left: auto; flex-shrink: 0;
  }
.pt-mpp-cat-item.active .pt-mpp-cat-count { background: rgba(45,138,158,.18); color: #2d8a9e; }

  /* Right panel */
.pt-mpp-right {}
.pt-mpp-toolbar {
display: flex; align-items: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap;
  }
.pt-mpp-search {
display: flex; align-items: center; gap: 8px;
border: 1.5px solid #E2E8F0; border-radius: 9px; padding: 0 12px;
background: #fff; min-width: 180px; flex: 0 0 auto;
  }
.pt-mpp-search svg { color: rgba(255,255,255,.4); flex-shrink: 0; }
.pt-mpp-search input {
border: none; outline: none; font-size: .82rem; padding: 9px 0;
color: rgba(255,255,255,.75); background: transparent; width: 140px;
  }
.pt-mpp-sort-tabs { display: flex; gap: 4px; flex-wrap: wrap; flex: 1; }
.pt-mpp-sort-tab {
padding: 8px 14px; border-radius: 8px; font-size: .76rem; font-weight: 700;
border: 1.5px solid #E2E8F0; background: #fff; color: #64748B;
text-decoration: none; transition: all .15s; white-space: nowrap;
display: inline-flex; align-items: center; gap: 5px;
  }
.pt-mpp-sort-tab:hover { border-color: #2d8a9e; color: #2d8a9e; }
.pt-mpp-sort-tab.active { background: #2d8a9e; border-color: #2d8a9e; color: #fff; }

  /* Product Grid */
.pt-mpp-grid {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  }
  /* Product Card */
.pt-mpp-card {
background: #fff; border-radius: 12px; overflow: hidden;
border: 1.5px solid #F1F5F9; transition: all .2s; display: flex; flex-direction: column;
  }
.pt-mpp-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.09); border-color: #E2E8F0; transform: translateY(-2px); }
.pt-mpp-card-thumb { position: relative; background: #0c2340; overflow: hidden; }
.pt-mpp-card-thumb a { display: block; aspect-ratio: 1/1; overflow: hidden; }
.pt-mpp-card-thumb img {
width: 100%; height: 100%; aspect-ratio: 1/1; object-fit: contain; display: block; background: #0c2340;
  }
.pt-mpp-card-thumb-placeholder {
width: 100%; aspect-ratio: 16/10; display: flex; align-items: center;
justify-content: center; font-size: 3rem; background: #F1F5F9;
  }
.pt-mpp-discount-badge {
position: absolute; top: 10px; left: 10px;
background: linear-gradient(135deg, #EF4444, #DC2626);
color: #fff; font-size: .68rem; font-weight: 800;
padding: 4px 9px; border-radius: 6px; letter-spacing: .03em;
  }
.pt-mpp-card-body { padding: 12px 14px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.pt-mpp-card-title {
font-size: .85rem; font-weight: 700; color: #0c2340; line-height: 1.4;
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
text-decoration: none;
  }
.pt-mpp-card-title:hover { color: #2d8a9e; }
.pt-mpp-card-rating {
display: flex; align-items: center; gap: 5px; margin-top: 2px;
  }
.pt-mpp-stars { display: none; }
.pt-mpp-card-rating span { font-size: .72rem; color: rgba(255,255,255,.4); }
.pt-mpp-card-price { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.pt-mpp-sale-price { font-size: 1.1rem; font-weight: 900; color: #0c2340; }
.pt-mpp-regular-price { font-size: .8rem; color: #CBD5E1; text-decoration: line-through; }
.pt-mpp-card-actions {
display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
padding: 10px 14px 12px; border-top: 1px solid #F8FAFC; margin-top: auto;
  }
.pt-mpp-btn-view {
display: flex; align-items: center; justify-content: center; gap: 5px;
padding: 8px 10px; border-radius: 8px; font-size: .75rem; font-weight: 700;
border: 1.5px solid #E2E8F0; color: #475569; text-decoration: none; transition: all .15s;
  }
.pt-mpp-btn-view:hover { border-color: rgba(255,255,255,.4); color: #0c2340; }
.pt-mpp-btn-cart {
display: flex; align-items: center; justify-content: center; gap: 5px;
padding: 8px 10px; border-radius: 8px; font-size: .75rem; font-weight: 700;
background: linear-gradient(135deg, #3aa6bd, #2d8a9e); color: #fff;
text-decoration: none; transition: all .15s; border: none; cursor: pointer;
  }
.pt-mpp-btn-cart:hover { box-shadow: 0 4px 14px rgba(45,138,158,.35); color: #fff; transform: translateY(-1px); }

  /* No results */
.pt-mpp-no-results { grid-column: 1/-1; text-align: center; padding: 48px 0; color: rgba(255,255,255,.4); }

  /* View all */
.pt-mpp-view-all { text-align: center; margin-top: 28px; }
.pt-mpp-view-all-btn {
display: inline-flex; align-items: center; gap: 8px;
padding: 12px 30px; border-radius: 10px;
border: 2px solid #E2E8F0; font-size: .88rem; font-weight: 700;
color: #475569; text-decoration: none; transition: all .2s;
  }
.pt-mpp-view-all-btn:hover { border-color: #2d8a9e; color: #2d8a9e; }

@media (max-width: 900px) {
.pt-mpp-layout { grid-template-columns: 1fr; }
.pt-mpp-sidebar { display: none !important; }
.pt-mpp-grid { grid-template-columns: repeat(2, 1fr); }
  }
@media (max-width: 540px) {
.pt-mpp-grid { grid-template-columns: 1fr; }
.pt-mpp-toolbar { flex-direction: column; align-items: stretch; }
.pt-mpp-search { width: 100%; }
.pt-mpp-search input { flex: 1; }
  }

.pt-ra-section{padding:64px 0 56px;background:#fff;border-top:1px solid #F1F5F9;}
.pt-ra-section .container{max-width:90%;width:90%;margin:0 auto;padding:0;}
@media(max-width:768px){.pt-ra-section .container{max-width:96%;width:96%;}}
.pt-ra-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px;}
.pt-ra-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.08));border:1px solid rgba(34,197,94,.25);color:#16A34A;font-size:.72rem;font-weight:800;padding:4px 12px;border-radius:99px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;}
.pt-ra-header-left h2{font-size:1.75rem;font-weight:900;color:#0c2340;margin:0;letter-spacing:-.025em;}
.pt-ra-header-left h2 span{color:#16A34A;}
.pt-ra-header-left p{font-size:.88rem;color:#64748B;margin:6px 0 0;}
.pt-ra-view-all{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1.5px solid #E2E8F0;border-radius:10px;color:#475569;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s;white-space:nowrap;}
.pt-ra-view-all:hover{border-color:#16A34A;color:#16A34A;background:rgba(34,197,94,.05);}
.pt-ra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.pt-ra-card{background:#fff;border:1px solid #E8EEFA;border-radius:16px;overflow:hidden;transition:all .25s;position:relative;}
.pt-ra-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(12,35,64,.1);border-color:#CBD5E1;}
.pt-ra-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:#F8FAFC;}
.pt-ra-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.pt-ra-card:hover .pt-ra-thumb img{transform:scale(1.05);}
.pt-ra-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
.pt-ra-new-badge{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#16A34A,#059669);color:#fff;font-size:.65rem;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.05em;text-transform:uppercase;}
.pt-ra-discount-badge{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,#DC2626,#B91C1C);color:#fff;font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:99px;}
.pt-ra-body{padding:14px 14px 10px;}
.pt-ra-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.88rem;font-weight:700;color:#0c2340;text-decoration:none;line-height:1.4;margin-bottom:8px;}
.pt-ra-title:hover{color:#16A34A;}
.pt-ra-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.pt-ra-price{font-size:1rem;font-weight:900;color:#0c2340;}
.pt-ra-reg-price{font-size:.75rem;color:#94A3B8;text-decoration:line-through;margin-left:4px;}
.pt-ra-free{color:#16A34A;}
.pt-ra-date{font-size:.7rem;color:#94A3B8;display:flex;align-items:center;gap:3px;}
.pt-ra-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #F1F5F9;margin-top:10px;}
.pt-ra-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 6px;font-size:.73rem;font-weight:700;text-decoration:none;transition:all .2s;white-space:nowrap;}
.pt-ra-btn-view{color:#475569;border-right:1px solid #F1F5F9;}
.pt-ra-btn-view:hover{color:#16A34A;background:rgba(34,197,94,.04);}
.pt-ra-btn-cart{color:#4C6EF5;}
.pt-ra-btn-cart:hover{color:#3B5BDB;background:rgba(76,110,245,.05);}
@media(max-width:960px){.pt-ra-grid{grid-template-columns:repeat(3,1fr);gap:14px;}}
@media(max-width:640px){.pt-ra-grid{grid-template-columns:repeat(2,1fr);gap:12px;}.pt-ra-header-left h2{font-size:1.4rem;}.pt-ra-section{padding:44px 0 40px;}}
@media(max-width:400px){.pt-ra-grid{gap:10px;}.pt-ra-body{padding:10px 10px 8px;}.pt-ra-title{font-size:.82rem;}}

.pt-stats-section {
position: relative; padding: 70px 5% 60px; overflow: hidden; box-sizing: border-box;
background: linear-gradient(160deg, #050d1a 0%, #0a1628 45%, #0d1f3c 100%);
  }
.pt-stats-map-bg {
position: absolute; inset: 0; opacity: .13; pointer-events: none;
background-image: radial-gradient(circle at 20% 50%, rgba(45,138,158,.15) 0%, transparent 50%),
                      radial-gradient(circle at 80% 50%, rgba(59,130,246,.1) 0%, transparent 50%);
  }
.pt-stats-map-bg svg { width: 100%; height: 100%; object-fit: cover; }
.pt-stats-inner { position: relative; z-index: 1; max-width: 90%; width: 90%; margin: 0 auto; padding: 0; }
@media(max-width:768px){ .pt-stats-inner { max-width:96%;width:96%; } }
.pt-stats-header { text-align: center; margin-bottom: 52px; }
.pt-stats-header h2 {
font-size: 1.65rem; font-weight: 900; color: #fff; margin: 0 0 8px;
letter-spacing: -.02em; display: flex; align-items: center; justify-content: center; gap: 10px;
  }
.pt-stats-header h2 .star { color: #2d8a9e; font-size: 1.2rem; }
.pt-stats-header p { font-size: .9rem; color: rgba(255,255,255,.45); margin: 0; }
.pt-stats-grid {
display: grid; grid-template-columns: repeat(5, 1fr); gap: 0;
  }
.pt-stat-item {
text-align: center; padding: 0 16px;
border-right: 1px solid rgba(255,255,255,.08);
  }
.pt-stat-item:last-child { border-right: none; }
.pt-stat-value {
font-size: 2.6rem; font-weight: 900; color: #2d8a9e;
letter-spacing: -.02em; line-height: 1; display: block;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }
.pt-stat-label {
font-size: .65rem; font-weight: 800; color: rgba(255,255,255,.45);
letter-spacing: .12em; text-transform: uppercase; margin-top: 8px; display: block;
  }
@media (max-width: 900px) {
.pt-stats-grid { grid-template-columns: repeat(3, 1fr); gap: 32px 0; }
.pt-stat-item { border-right: none; }
  }
@media (max-width: 540px) {
.pt-stats-section { padding: 48px 0 44px; }
.pt-stats-inner { padding: 0 16px; }
.pt-stats-header { margin-bottom: 32px; }
.pt-stats-header h2 { font-size: 1.4rem; }
.pt-stats-header p { font-size: .78rem; }
    /* 2x2 grid + last item full width */
.pt-stats-grid {
      grid-template-columns: 1fr 1fr;
      gap: 0;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 18px;
      overflow: hidden;
      background: rgba(255,255,255,.03);
    }
.pt-stat-item {
      padding: 20px 12px;
      border-right: 1px solid rgba(255,255,255,.08);
      border-bottom: 1px solid rgba(255,255,255,.08);
      text-align: center;
    }
    /* right col: no right border */
.pt-stat-item:nth-child(2n) { border-right: none; }
    /* last item spans full width */
.pt-stat-item:last-child {
      grid-column: 1 / -1;
      border-right: none;
      border-bottom: none;
      background: rgba(45,138,158,.06);
    }
    /* 3rd and 4th items: no bottom border */
.pt-stat-item:nth-last-child(2) { border-bottom: none; }
.pt-stat-value { font-size: 2.2rem; line-height: 1; }
.pt-stat-label { font-size: .58rem; margin-top: 6px; }
  }
@media (max-width: 380px) {
.pt-stat-value { font-size: 1.85rem; }
.pt-stat-label { font-size: .54rem; }
.pt-stat-item { padding: 16px 10px; }
  }

.pt-features-section {
background: #fff;
padding: 80px 0;
position: relative;
overflow: hidden;
  }
.pt-features-section::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #e2e8f0, transparent);
  }
.pt-features-section .container {
max-width: 90%; margin: 0 auto; padding: 0;
  }
.pt-features-header {
text-align: center;
margin-bottom: 56px;
  }
.pt-features-badge {
display: inline-block;
background: linear-gradient(135deg, rgba(45,138,158,.1), rgba(45,138,158,.15));
border: 1px solid rgba(45,138,158,.3);
color: #3aa6bd;
font-size: .68rem;
font-weight: 800;
padding: 5px 14px;
border-radius: 99px;
letter-spacing: .09em;
text-transform: uppercase;
margin-bottom: 14px;
  }
.pt-features-header h2 {
font-size: 2rem;
font-weight: 900;
color: #0c2340;
margin: 0 0 12px;
letter-spacing: -.04em;
  }
.pt-features-header p {
font-size: .9rem;
color: #64748b;
max-width: 520px;
margin: 0 auto;
line-height: 1.7;
  }
.pt-features-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
align-items: center;
  }
.pt-features-left {
padding-right: 56px;
  }
.pt-features-counter {
display: flex;
gap: 28px;
margin-bottom: 36px;
  }
.pt-fc-item {
text-align: center;
flex: 1;
background: #F8FAFC;
border: 1.5px solid #E2E8F0;
border-radius: 14px;
padding: 20px 12px;
  }
.pt-fc-num {
font-size: 1.8rem;
font-weight: 900;
color: #0c2340;
line-height: 1;
margin-bottom: 4px;
  }
.pt-fc-num span { color: #3aa6bd; }
.pt-fc-label { font-size: .7rem; color: #64748b; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; }
.pt-features-list {
list-style: none;
padding: 0; margin: 0;
display: flex;
flex-direction: column;
gap: 14px;
  }
@keyframes ptFeatIn {
from { opacity: 0; transform: translateX(-20px); }
to   { opacity: 1; transform: translateX(0); }
  }
.pt-feature-item {
display: flex;
align-items: flex-start;
gap: 14px;
opacity: 0;
transform: translateX(-20px);
transition: all .45s ease;
animation: ptFeatIn .5s ease forwards;
  }
.pt-feature-item:nth-child(1){animation-delay:.05s}
.pt-feature-item:nth-child(2){animation-delay:.17s}
.pt-feature-item:nth-child(3){animation-delay:.29s}
.pt-feature-item:nth-child(4){animation-delay:.41s}
.pt-feature-item:nth-child(5){animation-delay:.53s}
.pt-feature-item:nth-child(6){animation-delay:.65s}
.pt-feature-item:nth-child(7){animation-delay:.77s}
.pt-feature-item:nth-child(8){animation-delay:.89s}
.pt-feature-item:nth-child(9){animation-delay:1.01s}
.pt-feature-item:nth-child(10){animation-delay:1.13s}
.pt-feature-item:nth-child(11){animation-delay:1.25s}
.pt-feature-item:nth-child(12){animation-delay:1.37s}
.pt-feature-item.visible {
opacity: 1;
transform: translateX(0);
  }
.pt-feature-icon {
width: 40px; height: 40px;
border-radius: 10px;
display: flex; align-items: center; justify-content: center;
font-size: 1.1rem;
flex-shrink: 0;
background: linear-gradient(135deg, #0f3c52, #8fb3c4);
border: 1.5px solid #5cbdb9;
  }
.pt-feature-text h4 {
font-size: .88rem;
font-weight: 800;
color: #0c2340;
margin: 0 0 2px;
  }
.pt-feature-text p {
font-size: .78rem;
color: #64748b;
margin: 0;
line-height: 1.55;
  }
.pt-features-right {
background: linear-gradient(145deg, #0c2340, #102d4f);
border-radius: 24px;
padding: 40px;
position: relative;
overflow: hidden;
  }
.pt-features-right::before {
content: '';
position: absolute;
top: -60px; right: -60px;
width: 200px; height: 200px;
border-radius: 50%;
background: radial-gradient(circle, rgba(45,138,158,.15) 0%, transparent 70%);
  }
.pt-checklist-title {
font-size: .72rem;
font-weight: 800;
color: rgba(255,255,255,.4);
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 20px;
  }
.pt-checklist {
list-style: none;
padding: 0; margin: 0 0 28px;
display: flex; flex-direction: column; gap: 10px;
  }
.pt-checklist li {
display: flex;
align-items: center;
gap: 10px;
font-size: .85rem;
color: rgba(255,255,255,.75);
opacity: 0;
transform: translateX(20px);
transition: all .4s ease;
  }
.pt-checklist li.visible { opacity: 1; transform: translateX(0); }
.pt-check-icon {
width: 20px; height: 20px;
border-radius: 50%;
background: linear-gradient(135deg, #22C55E, #16A34A);
display: flex; align-items: center; justify-content: center;
font-size: .65rem;
font-weight: 900;
color: #fff;
flex-shrink: 0;
  }
.pt-features-divider {
height: 1px;
background: rgba(255,255,255,.08);
margin: 20px 0;
  }
.pt-features-cta {
display: flex;
flex-direction: column;
gap: 10px;
  }
.pt-features-cta a {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 13px 24px;
border-radius: 10px;
font-size: .85rem;
font-weight: 800;
text-decoration: none;
transition: all .2s;
  }
.pt-features-cta .btn-orange {
background: linear-gradient(135deg, #3aa6bd, #2d8a9e);
color: #fff;
  }
.pt-features-cta .btn-orange:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(45,138,158,.4); color: #fff; }
.pt-features-cta .btn-outline {
background: transparent;
border: 1.5px solid rgba(255,255,255,.15);
color: rgba(255,255,255,.65);
  }
.pt-features-cta .btn-outline:hover { border-color: rgba(255,255,255,.4); color: #0c2340; }
@media(max-width:900px){
.pt-features-layout { grid-template-columns: 1fr; gap: 40px; }
.pt-features-left { padding-right: 0; }
  }

.pt-why-section { background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%); padding: 80px 0; position: relative; overflow: hidden; }
.pt-why-section::before { content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(168,85,247,.08), transparent 70%); border-radius: 50%; pointer-events: none; }
.pt-why-section::after { content: ''; position: absolute; bottom: -100px; left: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(59,130,246,.08), transparent 70%); border-radius: 50%; pointer-events: none; }
.pt-why-section .container { max-width: 90%; width: 90%; margin: 0 auto; padding: 0; position: relative; z-index: 1; }
@media(max-width:768px){ .pt-why-section .container { max-width: 96%; width: 96%; } }
.pt-why-section .section-header { text-align: center; margin-bottom: 48px; }
.pt-why-section .section-title { font-size: 2.4rem; font-weight: 900; color: #1e1b3a; margin-bottom: 14px; letter-spacing: -.02em; }
.pt-why-section .section-subtitle { color: #64748b; font-size: 1.05rem; max-width: 600px; margin: 0 auto; }
.pt-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pt-why-card {
background: #fff;
border-radius: 20px;
border: 1px solid rgba(226,232,240,.8);
padding: 36px 30px;
box-shadow: 0 4px 16px rgba(12,35,64,.04), 0 1px 3px rgba(12,35,64,.03);
transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s, border-color .25s;
position: relative;
overflow: hidden;
  }
.pt-why-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #a855f7, #2d8a9e, #3b82f6); transform: scaleX(0); transform-origin: left; transition: transform .4s cubic-bezier(.4,0,.2,1); }
.pt-why-card:hover { transform: translateY(-8px); box-shadow: 0 24px 56px rgba(99,102,241,.18), 0 8px 16px rgba(12,35,64,.06); border-color: rgba(99,102,241,.25); }
.pt-why-card:hover::before { transform: scaleX(1); }
.pt-why-card:hover .pt-why-icon { transform: scale(1.1) rotate(-5deg); }
.pt-why-card.highlight { border-color: #5cbdb9; box-shadow: 0 4px 16px rgba(92,189,185,.15), 0 1px 3px rgba(12,35,64,.04); }
.pt-why-card.highlight::before { background: linear-gradient(90deg, #5cbdb9, #2d8a9e); }
.pt-why-icon {
width: 64px; height: 64px; border-radius: 16px;
display: flex; align-items: center; justify-content: center;
margin-bottom: 20px;
box-shadow: 0 8px 20px rgba(0,0,0,.1), inset 0 1px 1px rgba(255,255,255,.3);
transition: transform .35s cubic-bezier(.4,0,.2,1);
font-size: 1.5rem;
  }
.pt-why-card h4 {
font-size: 1.05rem; font-weight: 800; color: #1e1b3a;
margin-bottom: 12px; letter-spacing: -.01em;
  }
.pt-why-card p { font-size: .92rem; color: #64748b; line-height: 1.7; margin: 0; }

  /* ── Tablet: 2 columns ── */
@media (max-width: 900px) {
.pt-why-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
.pt-why-section { padding: 60px 0; }
.pt-why-section .section-title { font-size: 2rem; }
  }

  /* ── Mobile: 1 column ── */
@media (max-width: 560px) {
.pt-why-grid { grid-template-columns: 1fr; gap: 16px; }
.pt-why-section { padding: 50px 0; }
.pt-why-section .section-title { font-size: 1.7rem; }
.pt-why-section .section-subtitle { font-size: .95rem; }
.pt-why-card { padding: 28px 22px; border-radius: 16px; }
.pt-why-icon { width: 56px; height: 56px; }
  }

.pt-cta-section { padding: 70px 5%; position: relative; overflow: hidden; box-sizing: border-box; background: linear-gradient(135deg, #2d8a9e 0%, #3aa6bd 50%, #ec4899 100%); }
.pt-cta-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 50%, rgba(255,255,255,.15), transparent 60%), radial-gradient(circle at 80% 50%, rgba(255,255,255,.1), transparent 60%); pointer-events: none; }
.pt-cta-container { max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.pt-cta-left { color: #fff; }
.pt-cta-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; background: rgba(255,255,255,.18); backdrop-filter: blur(10px); border-radius: 50px; font-size: .75rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; margin-bottom: 16px; border: 1px solid rgba(255,255,255,.25); }
.pt-cta-title { font-size: 2.4rem; font-weight: 900; line-height: 1.15; margin: 0 0 14px; letter-spacing: -.02em; }
.pt-cta-subtitle { font-size: 1.05rem; line-height: 1.6; opacity: .92; margin: 0 0 26px; max-width: 540px; }
.pt-cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.pt-cta-btn-primary { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; background: #fff; color: #2d8a9e; border-radius: 12px; font-weight: 800; font-size: .95rem; text-decoration: none; transition: transform .2s, box-shadow .2s; box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.pt-cta-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.28); color: #4f46e5; }
.pt-cta-btn-secondary { display: inline-flex; align-items: center; gap: 8px; padding: 14px 26px; background: rgba(255,255,255,.12); color: #fff; border: 2px solid rgba(255,255,255,.4); border-radius: 12px; font-weight: 700; font-size: .95rem; text-decoration: none; backdrop-filter: blur(10px); transition: background .2s; }
.pt-cta-btn-secondary:hover { background: rgba(255,255,255,.2); color: #fff; }
.pt-cta-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pt-cta-stat { background: rgba(255,255,255,.12); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 20px 14px; text-align: center; transition: transform .2s; }
.pt-cta-stat:hover { transform: translateY(-3px); background: rgba(255,255,255,.18); }
.pt-cta-stat-num { font-size: 1.8rem; font-weight: 900; color: #fff; line-height: 1; margin-bottom: 4px; }
.pt-cta-stat-label { font-size: .68rem; font-weight: 700; color: rgba(255,255,255,.85); text-transform: uppercase; letter-spacing: .8px; }
@media (max-width: 900px) { .pt-cta-container { grid-template-columns: 1fr; gap: 32px; text-align: center; } .pt-cta-buttons { justify-content: center; } .pt-cta-title { font-size: 1.9rem; } }
@media (max-width: 540px) { .pt-cta-section { padding: 50px 3%; box-sizing: border-box; } .pt-cta-title { font-size: 1.55rem; } .pt-cta-subtitle { font-size: .95rem; } .pt-cta-stat-num { font-size: 1.4rem; } .pt-cta-stat { padding: 16px 8px; } .pt-cta-buttons { flex-direction: column; } .pt-cta-btn-primary, .pt-cta-btn-secondary { width: 100%; justify-content: center; } }

.pt-faq-section { padding: 70px 20px; background: #fafbff; }
.pt-faq-container { max-width: 800px; margin: 0 auto; }
.pt-faq-header { text-align: center; margin-bottom: 40px; }
.pt-faq-badge {
display: inline-block; padding: 6px 14px; border-radius: 30px;
background: #eef2ff; color: #2d8a9e;
font-size: .72rem; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase;
margin-bottom: 14px;
  }
.pt-faq-title { font-size: 2rem; font-weight: 900; color: #0c2340; margin: 0 0 10px; letter-spacing: -.02em; }
.pt-faq-subtitle { color: #64748b; font-size: .95rem; margin: 0; }
.pt-faq-list { display: flex; flex-direction: column; gap: 12px; }
.pt-faq-item {
background: #fff; border-radius: 14px; border: 1.5px solid #e5e7eb;
overflow: hidden; transition: all .25s;
box-shadow: 0 1px 3px rgba(12,35,64,.04);
  }
.pt-faq-item:hover { border-color: #c7d2fe; box-shadow: 0 4px 16px rgba(99,102,241,.08); }
.pt-faq-item.open { border-color: #2d8a9e; box-shadow: 0 8px 24px rgba(99,102,241,.12); }
.pt-faq-q {
padding: 20px 24px; cursor: pointer;
display: flex; align-items: center; justify-content: space-between; gap: 16px;
font-size: 1rem; font-weight: 700; color: #0c2340;
user-select: none;
  }
.pt-faq-icon {
width: 32px; height: 32px; border-radius: 10px;
background: #eef2ff; color: #2d8a9e;
display: flex; align-items: center; justify-content: center;
font-size: 1.2rem; font-weight: 800; flex-shrink: 0;
transition: all .25s;
  }
.pt-faq-item.open .pt-faq-icon { background: #2d8a9e; color: #fff; transform: rotate(45deg); }
.pt-faq-a { padding: 0 24px; max-height: 0; overflow: hidden; transition: all .35s ease; color: #475569; line-height: 1.7; }
.pt-faq-item.open .pt-faq-a { padding: 0 24px 22px; max-height: 500px; }
@media (max-width: 560px) {
.pt-faq-section { padding: 50px 16px; }
.pt-faq-title { font-size: 1.55rem; }
.pt-faq-q { padding: 16px 18px; font-size: .92rem; }
.pt-faq-a { padding: 0 18px; }
.pt-faq-item.open .pt-faq-a { padding: 0 18px 18px; }
  }

.pt-newsletter-section {
padding: 70px 20px;
background: linear-gradient(135deg, #0c2340 0%, #102d4f 100%);
position: relative; overflow: hidden;
  }
.pt-newsletter-section::before {
content: ''; position: absolute; top: -50%; right: -20%; width: 800px; height: 800px;
background: radial-gradient(circle, rgba(99,102,241,.15) 0%, transparent 70%);
pointer-events: none;
  }
.pt-newsletter-container {
max-width: 700px; margin: 0 auto; text-align: center; position: relative; z-index: 2;
  }
.pt-newsletter-icon {
display: inline-flex; align-items: center; justify-content: center;
width: 64px; height: 64px; border-radius: 18px;
background: linear-gradient(135deg, #2d8a9e, #a855f7);
color: #fff; font-size: 1.8rem; margin-bottom: 20px;
box-shadow: 0 10px 30px rgba(99,102,241,.4);
  }
.pt-newsletter-title { font-size: 2rem; font-weight: 900; color: #fff; margin: 0 0 10px; letter-spacing: -.02em; }
.pt-newsletter-desc { color: rgba(255,255,255,.7); font-size: 1rem; margin: 0 0 30px; line-height: 1.6; }
.pt-newsletter-form {
display: flex; gap: 10px; max-width: 500px; margin: 0 auto;
background: rgba(255,255,255,.06); backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 6px;
  }
.pt-newsletter-input {
flex: 1; background: transparent; border: 0; outline: none;
padding: 14px 18px; color: #fff; font-size: .95rem;
  }
.pt-newsletter-input::placeholder { color: rgba(255,255,255,.4); }
.pt-newsletter-btn {
padding: 14px 28px; border: 0; border-radius: 10px; cursor: pointer;
background: linear-gradient(135deg, #2d8a9e, #a855f7); color: #fff;
font-weight: 800; font-size: .92rem; white-space: nowrap;
transition: all .25s;
  }
.pt-newsletter-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(99,102,241,.4); }
.pt-newsletter-msg { color: #22c55e; font-size: .88rem; margin-top: 14px; min-height: 20px; }
.pt-newsletter-msg.error { color: #ef4444; }
.pt-newsletter-trust { color: rgba(255,255,255,.5); font-size: .82rem; margin-top: 16px; }
@media (max-width: 560px) {
.pt-newsletter-section { padding: 50px 16px; }
.pt-newsletter-title { font-size: 1.55rem; }
.pt-newsletter-form { flex-direction: column; padding: 12px; }
.pt-newsletter-input { padding: 12px 14px; }
.pt-newsletter-btn { width: 100%; padding: 14px; }
  }

.pt-blog-section {
padding: 64px 0 56px;
background: #fff;
border-top: 1px solid #F1F5F9;
  }
.pt-blog-section .container { max-width: 90%; width: 90%; margin: 0 auto; padding: 0; }
@media(max-width:768px){ .pt-blog-section .container { max-width: 96%; width: 96%; } }
.pt-blog-header {
display: flex; align-items: flex-start; justify-content: space-between;
margin-bottom: 32px; flex-wrap: wrap; gap: 12px;
  }
.pt-blog-header-left { display: flex; align-items: center; gap: 12px; }
.pt-blog-header-icon {
width: 40px; height: 40px; border-radius: 10px;
background: #EFF6FF; display: flex; align-items: center; justify-content: center;
font-size: 1.1rem; flex-shrink: 0;
  }
.pt-blog-header-text h2 {
font-size: 1.45rem; font-weight: 800; color: #0c2340; margin: 0 0 3px;
letter-spacing: -.02em;
  }
.pt-blog-header-text p { font-size: .82rem; color: rgba(255,255,255,.4); margin: 0; }
.pt-blog-view-all {
display: inline-flex; align-items: center; gap: 5px;
font-size: .83rem; font-weight: 700; color: #2563EB; text-decoration: none;
transition: gap .15s;
  }
.pt-blog-view-all:hover { gap: 8px; color: #1D4ED8; }
  /* Grid */
.pt-blog-grid {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
  }
  /* Card */
.pt-blog-card {
border-radius: 14px; overflow: hidden;
border: 1.5px solid #F1F5F9;
background: #fff;
transition: box-shadow .2s, transform .2s;
display: flex; flex-direction: column;
text-decoration: none;
  }
.pt-blog-card:hover {
box-shadow: 0 8px 32px rgba(37,99,235,.1);
transform: translateY(-3px);
  }
.pt-blog-thumb {
position: relative; width: 100%; padding-top: 58%; overflow: hidden;
background: #F1F5F9; flex-shrink: 0;
  }
.pt-blog-thumb img {
position: absolute; inset: 0; width: 100%; height: 100%;
object-fit: cover; transition: transform .3s;
  }
.pt-blog-card:hover .pt-blog-thumb img { transform: scale(1.04); }
.pt-blog-thumb-placeholder {
position: absolute; inset: 0; display: flex; align-items: center;
justify-content: center; font-size: 2.5rem; background: #EFF6FF;
  }
.pt-blog-cat {
position: absolute; top: 10px; left: 10px;
background: rgba(37,99,235,.85); color: #fff;
font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
padding: 3px 9px; border-radius: 5px; backdrop-filter: blur(4px);
  }
.pt-blog-cat.guide   { background: rgba(37,99,235,.85); }
.pt-blog-cat.comparison { background: rgba(168,85,247,.85); }
.pt-blog-cat.tutorial   { background: rgba(16,185,129,.85); }
.pt-blog-body { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.pt-blog-title {
font-size: .88rem; font-weight: 700; color: #0c2340; line-height: 1.45;
margin: 0; display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
  }
.pt-blog-meta {
display: flex; align-items: center; gap: 10px; margin-top: auto;
font-size: .72rem; color: rgba(255,255,255,.4); font-weight: 500;
  }
.pt-blog-meta span { display: flex; align-items: center; gap: 3px; }
@media (max-width: 900px) { .pt-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .pt-blog-grid { grid-template-columns: 1fr; } }


/* == inc/homepage-settings.php == */
.pt-hp-wrap{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:1100px;margin:20px 20px 40px}
      .pt-hp-header{display:flex;align-items:center;gap:14px;padding:24px 28px;background:linear-gradient(135deg,#0c2340,#102d4f);border-radius:14px;margin-bottom:24px}
      .pt-hp-header h1{font-size:1.4rem;font-weight:800;color:#fff;margin:0}
      .pt-hp-header p{font-size:.85rem;color:rgba(255,255,255,.55);margin:4px 0 0}
      .pt-hp-header .ico{font-size:2rem}
      .pt-hp-saved{background:#D1FAE5;border:1px solid #6EE7B7;border-radius:8px;padding:10px 16px;color:#065F46;font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:8px}
      /* Tabs */
      .pt-hp-tabs{display:flex;gap:4px;background:#F1F5F9;border-radius:10px;padding:4px;margin-bottom:24px}
      .pt-hp-tab{padding:8px 18px;border-radius:8px;font-size:.82rem;font-weight:700;color:#64748B;text-decoration:none;transition:all .15s;white-space:nowrap}
      .pt-hp-tab:hover{color:#173a63;background:#fff}
      .pt-hp-tab.active{background:#fff;color:#0c2340;box-shadow:0 1px 6px rgba(0,0,0,.1)}
      /* Section */
      .pt-hp-section{background:#fff;border:1.5px solid #E2E8F0;border-radius:12px;overflow:hidden}
      .pt-hp-section-title{padding:16px 22px;background:#F8FAFC;border-bottom:1px solid #E2E8F0;font-size:.88rem;font-weight:800;color:#0c2340;display:flex;align-items:center;gap:8px}
      .pt-hp-section-body{padding:22px}
      /* Slide Cards */
      .pt-hp-slide-card{border:1.5px solid #E2E8F0;border-radius:10px;margin-bottom:14px;overflow:hidden}
      .pt-hp-slide-head{padding:10px 16px;background:#F8FAFC;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;border-bottom:1px solid #E2E8F0}
      .pt-hp-slide-head h3{font-size:.85rem;font-weight:700;color:#374151;margin:0}
      .pt-hp-slide-toggle{font-size:.75rem;color:#6B7280;font-weight:700;transition:transform .2s}
      .pt-hp-slide-body{padding:18px 18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
      .pt-hp-slide-body.collapsed{display:none}
      /* Form fields */
      .pt-hp-field{display:flex;flex-direction:column;gap:5px}
      .pt-hp-field.full{grid-column:1/-1}
      .pt-hp-field label{font-size:.75rem;font-weight:700;color:#374151;letter-spacing:.02em}
      .pt-hp-field input[type=text],.pt-hp-field input[type=url],.pt-hp-field input[type=color],.pt-hp-field textarea{padding:8px 11px;border:1.5px solid #E2E8F0;border-radius:7px;font-size:.82rem;color:#374151;font-family:inherit;transition:border-color .15s;width:100%}
      .pt-hp-field input:focus,.pt-hp-field textarea:focus{border-color:#3aa6bd;outline:none;box-shadow:0 0 0 2px rgba(45,138,158,.12)}
      .pt-hp-field textarea{min-height:80px;resize:vertical}
      .pt-hp-field input[type=color]{padding:2px 5px;height:36px;width:60px;flex-shrink:0}
      .pt-hp-color-row{display:flex;align-items:center;gap:8px}
      .pt-hp-color-row input[type=text]{flex:1}
      /* Feature Grid */
      .pt-hp-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
      .pt-hp-feat-card{border:1.5px solid #E2E8F0;border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
      .pt-hp-feat-card h4{font-size:.8rem;font-weight:800;color:#2d8a9e;margin:0 0 10px;grid-column:1/-1}
      /* License Items */
      .pt-hp-li-row{display:grid;grid-template-columns:60px 1fr 90px 90px 30px;gap:8px;align-items:center;padding:8px 10px;border-radius:7px;background:#F8FAFC;margin-bottom:6px}
      .pt-hp-li-row:nth-child(even){background:#fff;border:1px solid #F1F5F9}
      .pt-hp-li-header{display:grid;grid-template-columns:60px 1fr 90px 90px 30px;gap:8px;padding:6px 10px;font-size:.7rem;font-weight:800;color:#94A3B8;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
      /* Testi */
      .pt-hp-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
      .pt-hp-testi-card{border:1.5px solid #E2E8F0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:9px}
      .pt-hp-testi-card h4{font-size:.8rem;font-weight:800;color:#2d8a9e;margin:0}
      /* Buttons */
      .pt-hp-actions{padding:18px 22px;background:#F8FAFC;border-top:1px solid #E2E8F0;display:flex;gap:10px;align-items:center}
      .pt-hp-save-btn{padding:10px 24px;background:linear-gradient(135deg,#3aa6bd,#2d8a9e);border:none;border-radius:8px;color:#fff;font-size:.88rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s}
      .pt-hp-save-btn:hover{box-shadow:0 4px 14px rgba(45,138,158,.4);transform:translateY(-1px)}
      .pt-hp-note{font-size:.75rem;color:#94A3B8;margin-left:auto}
      @media(max-width:700px){
        .pt-hp-slide-body,.pt-hp-feat-grid,.pt-hp-testi-grid{grid-template-columns:1fr}
        .pt-hp-feat-card{grid-template-columns:1fr}
      }

.pt-fc-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}
            .pt-fc-admin-card{background:#102d4f;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px;position:relative}
            .pt-fc-admin-card h4{margin:0 0 14px;color:#94A3B8;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}
            .pt-fc-remove-btn{background:#7f1d1d;color:#fca5a5;border:none;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:700;cursor:pointer;line-height:1.4}
            .pt-fc-remove-btn:hover{background:#991b1b}
            .pt-fc-add-btn{background:linear-gradient(135deg,#2d8a9e,#4F46E5);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-bottom:20px}
            .pt-fc-add-btn:hover{background:linear-gradient(135deg,#818CF8,#2d8a9e)}
            .pt-fc-admin-card .pt-hp-field label{font-size:.75rem}

.pt-wcu-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
            @media(max-width:900px){.pt-wcu-grid{grid-template-columns:1fr}}
            .pt-wcu-item-card{background:#F8FAFC;border:1px solid #E2E8F0;border-radius:10px;padding:14px 16px;margin-bottom:10px;position:relative}
            .pt-wcu-item-card .pt-wcu-remove{position:absolute;top:10px;right:10px;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;padding:3px 10px;font-size:.75rem;font-weight:700;cursor:pointer}
            .pt-wcu-item-card .pt-wcu-remove:hover{background:#fecaca}
            .pt-wcu-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#EFF6FF;color:#2563EB;border:1.5px dashed #93C5FD;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;margin-top:8px}
            .pt-wcu-add-btn:hover{background:#DBEAFE}
            .pt-wcu-section-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#94A3B8;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #E2E8F0}


/* ══════════════════════════════════════════
   PREMIUM REVIEW CARDS — Override
══════════════════════════════════════════ */

/* Section background */
.pt-reviews-section {
    background:
        radial-gradient(ellipse 80% 50% at 20% -10%, rgba(99,102,241,.14) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 80% 110%, rgba(168,85,247,.12) 0%, transparent 60%),
        linear-gradient(180deg, #04050f 0%, #080c1a 50%, #030712 100%) !important;
}

/* Premium card */
.pt-rv-card {
    background:
        linear-gradient(160deg,
            rgba(255,255,255,.10) 0%,
            rgba(255,255,255,.03) 60%,
            rgba(99,102,241,.07) 100%) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 24px !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    box-shadow:
        0 4px 32px rgba(0,0,0,.3),
        0 1px 0 rgba(255,255,255,.09) inset !important;
    transition: transform .45s cubic-bezier(.16,1,.3,1),
                border-color .45s, box-shadow .45s !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Top shimmer line per card */
.pt-rv-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,255,255,.55) 40%,
        rgba(168,85,247,.9) 60%,
        transparent 100%) !important;
    opacity: .8 !important;
}

/* Hover glow overlay */
.pt-rv-card::after {
    content: '' !important;
    position: absolute !important; inset: 0 !important;
    border-radius: 24px !important;
    opacity: 0 !important;
    transition: opacity .4s !important;
    background:
        radial-gradient(ellipse at 30% 0%,
            rgba(99,102,241,.22) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 100%,
            rgba(168,85,247,.14) 0%, transparent 50%) !important;
    pointer-events: none !important;
}

.pt-rv-card:hover {
    transform: translateY(-9px) scale(1.015) !important;
    border-color: rgba(139,92,246,.55) !important;
    box-shadow:
        0 32px 80px -20px rgba(99,102,241,.40),
        0 0 0 1px rgba(139,92,246,.28),
        0 1px 0 rgba(255,255,255,.14) inset !important;
}
.pt-rv-card:hover::after { opacity: 1 !important; }

/* Stars glow */
.pt-rv-card-stars {
    color: #5cbdb9 !important;
    font-size: 1rem !important;
    letter-spacing: .04em !important;
    filter: drop-shadow(0 0 8px rgba(92,189,185,.75)) !important;
    transition: filter .3s !important;
}
.pt-rv-card:hover .pt-rv-card-stars {
    filter: drop-shadow(0 0 12px rgba(92,189,185,1)) !important;
}

/* Big quote mark */
.pt-rv-quote {
    font-size: 3.8rem !important;
    background: linear-gradient(135deg, #818CF8, #C084FC, #F472B6) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    opacity: .85 !important;
    line-height: .6 !important;
    font-family: Georgia, serif !important;
    font-weight: 900 !important;
    transition: opacity .3s !important;
}
.pt-rv-card:hover .pt-rv-quote { opacity: 1 !important; }

/* Review text */
.pt-rv-card-text {
    color: rgba(220,228,245,.78) !important;
    font-size: .855rem !important;
    line-height: 1.82 !important;
    letter-spacing: .008em !important;
    font-style: italic !important;
}

/* Avatar ring */
.pt-rv-avatar {
    box-shadow:
        0 0 0 2px rgba(255,255,255,.18),
        0 0 0 4px rgba(255,255,255,.05),
        0 6px 20px rgba(0,0,0,.45) !important;
    transition: transform .35s, box-shadow .35s !important;
}
.pt-rv-card:hover .pt-rv-avatar {
    transform: scale(1.1) !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.28),
        0 0 0 4px rgba(139,92,246,.25),
        0 8px 28px rgba(0,0,0,.55) !important;
}

/* Nav buttons */
.pt-rv-btn {
    width: 52px !important; height: 52px !important;
    background: linear-gradient(135deg,
        rgba(99,102,241,.2) 0%,
        rgba(139,92,246,.14) 100%) !important;
    border: 1px solid rgba(139,92,246,.38) !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 4px 16px rgba(99,102,241,.18) !important;
    transition: all .3s cubic-bezier(.16,1,.3,1) !important;
}
.pt-rv-btn:hover {
    background: linear-gradient(135deg,
        rgba(99,102,241,.45) 0%,
        rgba(139,92,246,.35) 100%) !important;
    border-color: rgba(139,92,246,.75) !important;
    transform: scale(1.13) !important;
    box-shadow:
        0 0 32px rgba(99,102,241,.45),
        0 0 64px rgba(99,102,241,.18) !important;
}

/* Active dot */
.pt-rv-dot.active {
    width: 32px !important;
    background: linear-gradient(90deg, #2d8a9e, #A78BFA, #E879F9) !important;
    box-shadow: 0 0 18px rgba(99,102,241,.65),
                0 0 42px rgba(99,102,241,.22) !important;
}

/* Section top border glow */
.pt-reviews-section {
    border-top: 1px solid transparent !important;
    background-image:
        linear-gradient(#04050f, #04050f),
        linear-gradient(90deg, transparent, rgba(99,102,241,.7) 30%, rgba(168,85,247,.9) 50%, rgba(236,72,153,.7) 70%, transparent) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
}

/* Floating glow orbs */
.pt-reviews-section::before {
    content: '' !important;
    position: absolute !important;
    top: -150px !important; left: 50% !important;
    transform: translateX(-50%) !important;
    width: 900px !important; height: 600px !important;
    background: radial-gradient(ellipse,
        rgba(99,102,241,.15) 0%,
        rgba(168,85,247,.08) 40%,
        transparent 70%) !important;
    pointer-events: none !important; z-index: 0 !important;
    animation: ptRvOrb 8s ease-in-out infinite !important;
}
@keyframes ptRvOrb {
    0%, 100% { opacity: .6; transform: translateX(-50%) scale(1); }
    50%       { opacity: 1;  transform: translateX(-50%) scale(1.1); }
}

/* ─────────────────────────────────────────────────────────────
   v6.4.45 — Review-card performance / virtualization
   Browser-native "virtualization" via content-visibility: auto.
   Off-screen cards skip layout + paint until they scroll near
   the viewport, keeping FPS smooth even with 36+ cards × clones.
   contain-intrinsic-size reserves space so CLS stays at 0.
   ───────────────────────────────────────────────────────────── */
.pt-reviews-section {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}
.pt-rv-card {
  content-visibility: auto;
  contain-intrinsic-size: 300px 260px;
  contain: layout paint style;
}
/* Cloned cards never need a11y focus / interaction — paint-only */
.pt-rv-card[data-clone="1"] {
  contain: strict;
  contain-intrinsic-size: 300px 260px;
}
/* Tablet / mobile reserve sizes */
@media (max-width: 1100px) {
  .pt-rv-card, .pt-rv-card[data-clone="1"] { contain-intrinsic-size: 260px 240px; }
}
@media (max-width: 640px) {
  .pt-rv-card, .pt-rv-card[data-clone="1"] { contain-intrinsic-size: 100vw 240px; }
}
/* Before marquee JS boots, cap visible cards to ~one viewport to
   avoid painting the entire 36-card row on first paint. */
.pt-rv-track:not(.is-marquee) > .pt-rv-card:nth-child(n+9) {
  content-visibility: hidden;
}

/* ─────────────────────────────────────────────────────────────
   v6.4.46 — Reviews marquee controls (pause/play + speed)
   Injected by JS into .pt-reviews-section .container.
   ───────────────────────────────────────────────────────────── */
.pt-rv-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 18px auto 0;
  padding: 8px 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  width: max-content;
  max-width: 100%;
  flex-wrap: wrap;
}
.pt-rv-ctrl-btn {
  appearance: none;
  border: 0;
  background: rgba(255,255,255,.12);
  color: #fff;
  width: 36px; height: 36px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .15s, transform .15s;
  font-size: 14px;
  line-height: 1;
}
.pt-rv-ctrl-btn:hover { background: rgba(255,255,255,.22); }
.pt-rv-ctrl-btn:active { transform: scale(.94); }
.pt-rv-ctrl-btn svg { width: 14px; height: 14px; fill: currentColor; }
.pt-rv-ctrl-label {
  color: rgba(255,255,255,.78);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.pt-rv-ctrl-speed {
  appearance: none;
  width: 130px;
  height: 4px;
  background: rgba(255,255,255,.22);
  border-radius: 999px;
  outline: none;
  cursor: pointer;
}
.pt-rv-ctrl-speed::-webkit-slider-thumb {
  appearance: none;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #2d8a9e;
  border: 2px solid #fff;
  cursor: pointer;
}
.pt-rv-ctrl-speed::-moz-range-thumb {
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #2d8a9e;
  border: 2px solid #fff;
  cursor: pointer;
}
.pt-rv-ctrl-value {
  color: #fff;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  min-width: 36px;
  text-align: right;
}
@media (max-width: 480px) {
  .pt-rv-controls { gap: 10px; padding: 6px 10px; }
  .pt-rv-ctrl-speed { width: 100px; }
  .pt-rv-ctrl-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pt-rv-track.is-marquee { animation-play-state: paused !important; }
}

/* v6.4.47 — image avatar variant (lazy-loaded). Falls back to initials on error. */
img.pt-rv-avatar-img {
  width: 44px; height: 44px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: rgba(255,255,255,.08);
  flex-shrink: 0;
}

/* v6.4.48 — Rating filter + sort dropdowns in marquee toolbar */
.pt-rv-ctrl-divider {
  width: 1px; height: 20px;
  background: rgba(255,255,255,.18);
  margin: 0 4px;
}
.pt-rv-ctrl-select {
  appearance: none;
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 6px 28px 6px 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23ffffff' stroke-width='1.8'><path d='M3 5l3 3 3-3'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px;
}
.pt-rv-ctrl-select:focus { outline: 2px solid rgba(45,138,158,.6); outline-offset: 2px; }
.pt-rv-ctrl-select option { color: #0c2340; background: #fff; }
.pt-rv-ctrl-count {
  color: rgba(255,255,255,.65);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  padding-left: 6px;
  border-left: 1px solid rgba(255,255,255,.14);
  margin-left: 2px;
}
@media (max-width: 640px) {
  .pt-rv-ctrl-divider { display: none; }
  .pt-rv-ctrl-count   { display: none; }
  .pt-rv-ctrl-select  { font-size: 11px; padding: 5px 24px 5px 10px; }
}
