/* ===== PRODUCT / CARD GRIDS ===== */
.product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:30px; }
.product-card {
  background: var(--bg-card); border: 1px solid var(--border);
  padding: 32px; border-radius: var(--radius);
  transition: all 0.35s var(--transition);
}
.product-card:hover { border-color: var(--emerald); box-shadow: var(--shadow-card); }
.spec-table { width:100%; margin-top:1rem; border-collapse:collapse; }
.spec-table td { padding:10px 0; border-bottom:1px solid var(--border); font-size:0.88rem; transition:border-color 0.4s; }
.spec-label { font-weight:500; color:var(--text-muted); }
.spec-value { text-align:right; font-weight:700; color:var(--text); }

/* ===== RPL SHOWCASE CARDS ===== */
.rpl-showcase-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; }
.rpl-card {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); overflow: hidden;
  cursor: pointer; transition: all 0.35s var(--transition);
  position: relative;
}
.rpl-card:hover { border-color: var(--emerald); box-shadow: var(--shadow-card); transform: translateY(-5px); }
.rpl-card-img { width:100%; aspect-ratio:4/3; overflow:hidden; background:var(--cream); }
.rpl-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.rpl-card:hover .rpl-card-img img { transform:scale(1.05); }
.rpl-card-body { padding: 22px; }
.rpl-card-body h3 { font-family:'Times New Roman',Times,serif; font-size:1.5rem; color:var(--text); margin-bottom:4px; }
.rpl-card-sub { font-size:0.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:1.5px; font-weight:600; margin-bottom:12px; }
.rpl-card-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.rpl-card-tags span { background:var(--cream); color:var(--text-muted); padding:4px 10px; border-radius:20px; font-size:0.72rem; font-weight:600; transition:background 0.4s; }
.rpl-card-gsm { font-size:1.1rem; font-weight:700; color:var(--text); font-family:'Times New Roman',Times,serif; margin-bottom:10px; }
.rpl-card-link { font-size:12px; color:var(--emerald); font-weight:600; letter-spacing:0.5px; }
.rpl-gallery-thumb { width:60px; height:60px; border-radius:6px; border:2px solid var(--border); cursor:pointer; object-fit:cover; transition:border-color 0.2s; }
.rpl-gallery-thumb:hover,.rpl-gallery-thumb.active { border-color: var(--emerald); }

/* ===== ABOUT / PROFILE ===== */
.profile-container { max-width:1100px; margin:auto; text-align:center; display:flex; flex-direction:column; align-items:center; }
.profile-logo { height:110px; display:block; margin-bottom:8px; }
.profile-text { display:grid; grid-template-columns:1fr 1fr; gap:60px; text-align:left; color:var(--text-muted); margin-bottom:60px; line-height:1.8; }
.stats-row { width:100%; display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:50px; border-top:1px solid var(--border); padding-top:50px; }
.stat-val { display:block; font-size:2.5rem; font-weight:700; color:var(--emerald); font-family:'Times New Roman',Times,serif; }
.stat-lab { font-size:10px; text-transform:uppercase; letter-spacing:2.5px; color:var(--gold); font-weight:600; }

/* ===== CONTACT ===== */
.contact-container { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.contact-form { display:flex; flex-direction:column; gap:14px; }
.contact-form input, .contact-form textarea {
  padding: 16px 18px; border: 1.5px solid var(--border);
  border-radius: 8px; font-family: 'Outfit', sans-serif;
  font-size: 14px; background: var(--bg-card); color: var(--text);
  transition: all 0.3s ease;
}
.contact-form input:focus, .contact-form textarea:focus {
  outline: none; border-color: var(--emerald);
  box-shadow: 0 0 0 3px rgba(13,74,43,0.08);
}

/* ===== BRAND DETAIL PAGES ===== */
.apl-breadcrumb {
  font-size:12px; color:var(--text-muted); margin-bottom:24px; letter-spacing:0.3px;
}
.apl-bc-sep { margin:0 8px; color:var(--border); }
.brand-badge {
  display: inline-block; padding: 6px 16px;
  border-radius: 20px; font-size: 10px;
  font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; margin-bottom: 14px;
}
.brand-cta {
  text-align: center; padding: 52px 32px;
  background: linear-gradient(135deg, rgba(13,74,43,0.03), rgba(13,74,43,0.08));
  border-radius: var(--radius-lg);
  border: 1px solid rgba(13,74,43,0.12);
}
.brand-cta h3 { font-size: 2rem; margin-bottom: 12px; font-family:'Times New Roman',Times,serif; }
.brand-cta p { color: var(--text-muted); margin-bottom: 24px; font-weight: 300; }

/* ===== BRAND PAGE VIDEO BANNER (top of each product section) ===== */
/* Compact card matching home page video tiles */
.brand-page-video {
  display: flex;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 30px;
  cursor: pointer;
  transition: all 0.35s var(--transition);
  max-width: 420px;
}
.brand-page-video:hover {
  border-color: var(--emerald);
  box-shadow: var(--shadow-card);
  transform: translateY(-3px);
}
.brand-page-video .bpv-thumb {
  position: relative;
  flex: 0 0 180px;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #000;
}
.brand-page-video .bpv-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.brand-page-video:hover .bpv-thumb img { transform: scale(1.05); }
.brand-page-video .bpv-thumb .bv-play {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:44px; height:44px; border-radius:50%;
  background: rgba(13,74,43,0.85); display:flex; align-items:center; justify-content:center;
  transition: all 0.3s;
}
.brand-page-video:hover .bpv-thumb .bv-play { background: var(--emerald); transform: translate(-50%,-50%) scale(1.1); }
.brand-page-video .bpv-thumb .bv-play span { color:#fff; font-size:16px; margin-left:2px; }
.brand-page-video .bpv-info {
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
}
.brand-page-video .bpv-info h4 {
  font-family: 'Playfair Display', serif;
  font-size: 1rem; margin-bottom: 3px;
  line-height: 1.2;
}
.brand-page-video .bpv-info p {
  color: var(--text-muted); font-size: 0.78rem;
  font-weight: 300; line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.brand-page-video .bpv-badge {
  display:inline-block; font-size:9px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase;
  padding:3px 8px; border-radius:3px; margin-bottom:6px;
  align-self: flex-start;
}
@media(max-width:480px){
  .brand-page-video { max-width:100%; }
  .brand-page-video .bpv-thumb { flex: 0 0 140px; }
  .brand-page-video .bpv-info h4 { font-size: 0.92rem; }
  .brand-page-video .bpv-info p { font-size: 0.72rem; }
}

/* ===== APL / ANDHRA SIDEBAR LAYOUT ===== */
.apl-layout { display:grid; grid-template-columns:260px 1fr; gap:40px; align-items:start; }
.apl-sidebar {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px;
  position: sticky; top: 130px;
  transition: background 0.4s, border-color 0.4s;
}
.apl-sidebar-section { margin-bottom:8px; }
.apl-sidebar-heading { font-size:12px; font-weight:700; color:#1B6B4F; text-transform:uppercase; letter-spacing:1px; padding:10px 12px; cursor:pointer; border-radius:6px; transition:background 0.2s; display:flex; justify-content:space-between; align-items:center; }
.apl-sidebar-heading:hover { background:rgba(27,107,79,0.06); }
.apl-sb-link { display:block; padding:9px 14px; font-size:13px; color:var(--text-muted); cursor:pointer; border-radius:6px; transition:all 0.2s; }
.apl-sb-link:hover { background:rgba(13,74,43,0.05); color:var(--emerald); padding-left:18px; }
.apl-cat-heading { font-family:'Times New Roman',Times,serif; font-size:1.35rem; color:#1B6B4F; margin-bottom:18px; padding-bottom:8px; border-bottom:2px solid rgba(27,107,79,0.12); }
.apl-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:18px; margin-bottom:35px; }
.apl-product-thumb { cursor:pointer; text-align:center; border-radius:var(--radius); border:1px solid var(--border); overflow:hidden; transition:all 0.3s ease; background:var(--bg-card); }
.apl-product-thumb:hover { border-color:#1B6B4F; box-shadow:var(--shadow-card); transform:translateY(-4px); }
.apl-thumb-img { width:100%; aspect-ratio:1; overflow:hidden; display:flex; align-items:center; justify-content:center; background:var(--cream); }
.apl-thumb-img img { width:90%; height:90%; object-fit:contain; transition:transform 0.4s; }
.apl-product-thumb:hover .apl-thumb-img img { transform:scale(1.05); }
.apl-product-thumb h5 { padding:12px 10px; font-size:0.82rem; color:var(--text); font-weight:600; margin:0; background:var(--bg-card); border-top:1px solid var(--border); }
.apl-detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.apl-detail-img-wrap { position:sticky; top:140px; }
.apl-accordion { border:1px solid var(--border); border-radius:8px; margin-bottom:12px; overflow:hidden; transition:border-color 0.4s; }
.apl-accordion-head { padding:16px 20px; background:var(--cream); cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:0.92rem; color:var(--emerald); transition:background 0.2s; }
.apl-accordion-head:hover { background:rgba(13,74,43,0.04); }
.apl-acc-icon { font-size:1.2rem; font-weight:400; color:var(--silver); transition:transform 0.3s; }
.apl-accordion-body { display:none; padding:18px 20px; font-size:0.88rem; color:var(--text-muted); line-height:1.8; border-top:1px solid var(--border); }
.apl-accordion-body.apl-open { display:block; }
.apl-accordion-body ul { padding-left:18px; margin:0; }
.apl-accordion-body ul li { margin-bottom:6px; }
.apl-accordion-body table { width:100%; border-collapse:collapse; margin-top:5px; }
.apl-accordion-body table th, .apl-accordion-body table td { padding:10px 14px; border:1px solid var(--border); font-size:0.84rem; text-align:left; }
.apl-accordion-body table th { background:var(--cream); color:var(--emerald); font-weight:600; }

/* ===== GALLERY & LIGHTBOX ===== */
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.gallery-item { position:relative; border-radius:var(--radius); overflow:hidden; cursor:pointer; aspect-ratio:4/3; background:var(--cream); border:1px solid var(--border); transition:all 0.3s ease; }
.gallery-item:hover { transform:translateY(-4px); box-shadow:var(--shadow-card); border-color:var(--emerald); }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-item .gallery-overlay { position:absolute; bottom:0; left:0; right:0; padding:15px; background:linear-gradient(transparent,rgba(0,0,0,0.7)); color:#fff; font-size:0.85rem; font-weight:500; opacity:0; transition:opacity 0.3s; }
.gallery-item:hover .gallery-overlay { opacity:1; }
.gallery-empty { grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--silver); }
.gallery-empty .empty-icon { font-size:48px; margin-bottom:15px; opacity:0.4; }
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.92); z-index:99999; justify-content:center; align-items:center; flex-direction:column; cursor:pointer; }
.lightbox.active { display:flex; animation:fadeEffect 0.3s; }
.lightbox img { max-width:90%; max-height:80vh; border-radius:var(--radius); box-shadow:0 0 60px rgba(0,0,0,0.5); }
.lightbox-close { position:absolute; top:24px; right:28px; color:#fff; font-size:30px; cursor:pointer; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,0.08); transition:background 0.3s; }
.lightbox-close:hover { background:rgba(255,255,255,0.2); }
.lightbox-caption { color:#bbb; margin-top:14px; font-size:0.88rem; letter-spacing:0.5px; }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); color:#fff; font-size:34px; cursor:pointer; width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,0.06); transition:background 0.3s; user-select:none; }
.lightbox-nav:hover { background:rgba(255,255,255,0.16); }
.lightbox-prev { left:18px; }
.lightbox-next { right:18px; }

/* Video grid */
.video-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(350px,1fr)); gap:24px; }
.video-card { background:var(--bg-card); border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); transition:all 0.3s ease; }
.video-card:hover { border-color:var(--emerald); box-shadow:var(--shadow-card); transform:translateY(-3px); }

/* ===== REVIEW SECTION ===== */
#review-section {
  padding: 80px 5vw; background: var(--bg-card);
  border-top: 1px solid var(--border);
  transition: background 0.4s, border-color 0.4s;
  /* Full-width — this sits outside .page so no breakout needed */
  width: 100%;
}

/* ===== FOOTER ===== */
footer {
  background: var(--charcoal); color: var(--silver);
  padding: 64px 5vw; text-align: center;
  width: 100%;
  transition: background 0.4s;
}
[data-theme="dark"] footer { background: #0A0C0B; }
footer .footer-brand {
  font-family: 'Times New Roman', Times, serif;
  font-size: 2rem; color: #fff;
  margin-bottom: 8px; letter-spacing: 3px;
}
footer .footer-line {
  width: 40px; height: 2px; background: var(--gold);
  margin: 0 auto 18px; border-radius: 1px;
}
