/* Tách tự động từ app/Views/product/detail.php (SEO 2026-10-24) — sửa tại đây, không sửa trong view. */
.pd-breadcrumb { background:#F5F7FA; padding:12px 0; border-bottom:1px solid #E1E4E8; font-size:13px; color:#666; }
.pd-breadcrumb .container { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pd-breadcrumb a { color:#005A9C; text-decoration:none; }
.pd-breadcrumb a:hover { text-decoration:underline; }
.pd-page { padding-top:28px; padding-bottom:64px; }
.pd-hero { display:grid; grid-template-columns:1.15fr 0.85fr; gap:36px; align-items:start; margin-bottom:36px; }
.pd-sidebar { position:sticky; top:90px; }
.pd-gallery__main { position:relative; border-radius:12px; overflow:hidden; border:1px solid #E1E4E8; aspect-ratio:4/3; background:#F5F7FA; }
.pd-gallery__stage { position:absolute; inset:0; background:#fff; }
.pd-gallery__stage > img,
.pd-gallery__stage > a.pd-gallery__image-link,
.pd-gallery__video,
.pd-gallery__video iframe { width:100%; height:100%; display:block; }
.pd-gallery__stage > img,
.pd-gallery__stage > a.pd-gallery__image-link img { object-fit:contain; background:#fff; width:100%; height:100%; display:block; }
.pd-gallery__video { position:relative; background:#0f172a; }
.pd-gallery__video iframe { border:0; position:absolute; inset:0; }
.pd-gallery__poster { position:absolute; inset:0; margin:0; padding:0; border:none; cursor:pointer; background:#0f172a; }
.pd-gallery__poster img { width:100%; height:100%; object-fit:cover; display:block; opacity:.92; }
.pd-gallery__poster-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(15,23,42,.28); color:#fff; transition:background .2s; }
.pd-gallery__poster:hover .pd-gallery__poster-play { background:rgba(15,23,42,.4); }
.pd-gallery__poster-play span { width:64px; height:64px; border-radius:50%; background:#FF0000; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.pd-gallery__nav { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border:none; border-radius:8px; background:rgba(255,255,255,.92); color:#1e293b; box-shadow:0 4px 14px rgba(0,0,0,.12); cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:2; }
.pd-gallery__nav:hover { background:#fff; color:#005A9C; }
.pd-gallery__nav--prev { left:12px; }
.pd-gallery__nav--next { right:12px; }
.pd-gallery__counter { position:absolute; bottom:12px; left:12px; background:rgba(0,0,0,.55); color:#fff; font-size:12px; font-weight:600; padding:4px 10px; border-radius:999px; z-index:2; }
.pd-gallery__fs { position:absolute; top:12px; right:12px; background:rgba(0,0,0,.5); color:#fff; border:none; border-radius:6px; padding:8px; cursor:pointer; z-index:2; }
.pd-gallery__fs:hover { background:rgba(0,0,0,.8); }
.pd-gallery__empty { width:100%; height:100%; min-height:320px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#94a3b8; gap:12px; }
.pd-gallery__thumbs { display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:8px; margin-top:10px; }
.pd-thumb { position:relative; aspect-ratio:1; border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; padding:0; background:none; }
.pd-thumb.is-active { border-color:#005A9C; }
.pd-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.pd-thumb__play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); color:#fff; pointer-events:none; }
.pd-thumb__play svg { filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.pd-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:99999; align-items:center; justify-content:center; padding:24px; }
.pd-lightbox__close { position:absolute; top:16px; right:20px; background:none; border:none; color:#fff; font-size:36px; line-height:1; cursor:pointer; z-index:2; }
.pd-lightbox__body { width:min(1100px,96vw); height:min(82vh,720px); display:flex; align-items:center; justify-content:center; }
.pd-lightbox__body img { max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; }
.pd-lightbox__body iframe { width:100%; height:100%; border:0; border-radius:8px; background:#000; }
.pd-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.pd-title { font-family:'Outfit',sans-serif; font-size:24px; font-weight:700; color:#1e293b; line-height:1.3; margin:0; flex:1; min-width:0; }
.pd-admin-edit {
  display:inline-flex; align-items:center; gap:6px; flex-shrink:0;
  background:#0f766e; color:#fff; padding:6px 12px; border-radius:6px;
  font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap;
  transition:background .15s ease;
}
.pd-admin-edit:hover { background:#0d655f; color:#fff; }
.pd-meta-row { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:14px; font-size:13px; color:#64748b; }
.pd-views, .pd-purchases { display:inline-flex; align-items:center; gap:6px; }
.pd-purchases { color:#16a34a; font-weight:600; }
.pd-excerpt { font-size:14px; line-height:1.7; color:#475569; margin:0 0 14px; }
.pd-price { font-family:'Outfit',sans-serif; font-size:26px; font-weight:700; color:#D4A000; margin-bottom:16px; display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 14px; }
.pd-price__current { color:#D4A000; }
.pd-price--sale .pd-price__current { color:#dc2626; }
.pd-price__origin { font-size:15px; font-weight:500; color:#94a3b8; text-decoration:line-through; }
.pd-price--contact { font-size:22px; color:#005A9C; }
.pd-coupon { margin:0 0 16px; padding:12px; border:1px dashed #cbd5e1; border-radius:10px; background:#f8fafc; }
.pd-coupon__label { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:#005A9C; margin-bottom:8px; }
.pd-coupon__row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.pd-coupon__input { flex:1 1 140px; min-width:120px; padding:10px 12px; border:1.5px solid #E1E4E8; border-radius:8px; font-size:13px; outline:none; background:#fff; text-transform:uppercase; box-sizing:border-box; line-height:1.4; }
.pd-coupon__phone { text-transform:none; flex:1 1 130px; }
.pd-coupon__input:focus { border-color:#005A9C; }
.pd-coupon__btn { padding:10px 14px; border:none; border-radius:8px; background:#005A9C; color:#fff; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.pd-coupon__btn:hover { filter:brightness(1.05); }
.pd-coupon__btn--ghost { background:#fff; color:#64748b; border:1px solid #cbd5e1; }
.pd-coupon__btn:disabled { opacity:.65; cursor:not-allowed; }
.pd-coupon__msg { margin-top:8px; font-size:12px; color:#065F46; }
.pd-coupon__msg.is-error { color:#991B1B; }
.pd-coupon__msg.is-ok { color:#065F46; }
.pd-coupon.is-applied { border-color:#86efac; background:#f0fdf4; }
.pd-variants { margin:0 0 16px; }
.pd-variant-group { margin-bottom:14px; }
.pd-variant-label { font-size:13px; font-weight:600; color:#475569; margin-bottom:8px; }
.pd-variant-opts { display:flex; flex-wrap:wrap; gap:8px; }
.pd-variant-opt {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; min-height:40px;
  border:1px solid #d0d5dd; border-radius:4px;
  background:#fff; color:#1e293b; font-size:13px; font-weight:500;
  cursor:pointer; transition:border-color .15s, color .15s, box-shadow .15s;
  font-family:inherit; text-align:left; line-height:1.3;
}
.pd-variant-opt:hover:not(.is-disabled) { border-color:#94a3b8; }
.pd-variant-opt.is-active {
  border-color:#ee4d2d; color:#ee4d2d;
  box-shadow:0 0 0 1px #ee4d2d;
}
.pd-variant-opt.is-disabled {
  opacity:.4; cursor:not-allowed; text-decoration:line-through;
}
.pd-variant-opt--img { padding:4px 10px 4px 4px; }
.pd-variant-opt__thumb {
  width:32px; height:32px; object-fit:cover; border-radius:2px; flex-shrink:0;
  background:#f1f5f9;
}
.pd-qty-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:4px; }
.pd-qty-row .pd-variant-label { margin:0; }
.pd-qty { display:inline-flex; align-items:center; border:1px solid #d0d5dd; border-radius:4px; overflow:hidden; background:#fff; }
.pd-qty__btn {
  width:32px; height:32px; border:none; background:#fff; color:#475569;
  font-size:18px; line-height:1; cursor:pointer; font-family:inherit;
}
.pd-qty__btn:hover { background:#f8fafc; color:#0f172a; }
.pd-qty__input {
  width:48px; height:32px; border:none; border-left:1px solid #e5e7eb; border-right:1px solid #e5e7eb;
  text-align:center; font-size:14px; font-weight:600; color:#1e293b; outline:none;
  -moz-appearance:textfield;
}
.pd-qty__input::-webkit-outer-spin-button,
.pd-qty__input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pd-stock-status { font-size:13px; font-weight:600; color:#16a34a; }
.pd-stock-status.is-out { color:#dc2626; }
.product-contact-box { background:#F8FAFF; border:1.5px solid #C3D9F5; border-radius:12px; padding:16px; margin-bottom:14px; }
.product-contact-box__title { font-family:'Outfit',sans-serif; font-size:15px; font-weight:700; color:#005A9C; margin-bottom:6px; display:flex; align-items:center; gap:8px; }
.pd-consult-hint { font-size:12px; color:#666; margin:0 0 12px; }
.pd-consult-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:0; }
.pd-consult-fields--compact { grid-template-columns:1fr 1fr auto; }
.pd-consult-fields input { padding:10px 12px; border:1.5px solid #E1E4E8; border-radius:8px; font-size:13px; outline:none; width:100%; background:#fff; }
.pd-consult-submit { padding:10px 16px !important; white-space:nowrap; }
.pd-consult-welcome { display:flex; align-items:center; gap:10px; padding:14px; background:#EDF4FF; border-radius:10px; margin-bottom:14px; }
.pd-consult-avatar { width:40px; height:40px; border-radius:50%; background:#005A9C; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; }
.pd-consult-greeting { font-weight:700; color:#005A9C; font-size:15px; }
.pd-consult-sub { font-size:12px; color:#64748b; }
.pd-action-btns { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.pd-action-btn { display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:10px; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.pd-action-btn:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,90,156,.15); }
.pd-action-btn span { display:flex; flex-direction:column; gap:2px; }
.pd-action-btn strong { font-size:13px; font-weight:700; line-height:1.2; }
.pd-action-btn small { font-size:11px; opacity:.85; }
.pd-action-btn--primary { background:#005A9C; color:#fff; }
.pd-action-btn--outline { background:#fff; color:#005A9C; border:1.5px solid #C3D9F5; }
.pd-wholesale-btn { display:flex; align-items:center; gap:10px; width:100%; padding:12px 14px; background:#005A9C; color:#fff; border-radius:10px; text-decoration:none; margin-bottom:8px; box-sizing:border-box; }
.pd-wholesale-btn span { flex:1; display:flex; flex-direction:column; gap:2px; }
.pd-wholesale-btn strong { font-size:13px; }
.pd-wholesale-btn small { font-size:12px; opacity:.9; }
.pd-wholesale-btn:hover { filter:brightness(1.05); }
.pd-zalo-btn { display:block; text-align:center; padding:10px; border-radius:10px; background:#0068FF; color:#fff; font-weight:600; font-size:13px; text-decoration:none; }
.pd-zalo-btn:hover { filter:brightness(1.06); }
.pd-highlights { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:40px; padding:20px; background:linear-gradient(180deg,#F8FAFF 0%,#fff 100%); border:1px solid #E1E4E8; border-radius:14px; }
.pd-highlight { display:flex; gap:12px; align-items:flex-start; }
.pd-highlight__icon { color:#005A9C; flex-shrink:0; }
.pd-highlight h3 { font-size:14px; font-weight:700; color:#1e293b; margin:0 0 4px; font-family:'Outfit',sans-serif; }
.pd-highlight p { font-size:12px; color:#64748b; margin:0; line-height:1.45; }
.pd-section { margin-bottom:40px; }
.pd-section__title { font-family:'Outfit',sans-serif; font-size:22px; font-weight:700; color:#005A9C; margin:0 0 18px; padding-bottom:10px; border-bottom:2px solid #E1E4E8; }
/* Related products — layout mẫu otohoangkim */
.pd-related { margin-bottom:40px; }
.pd-related__card { background:#fff; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; }
.pd-related__header { padding:18px 20px; border-bottom:1px solid #E5E7EB; }
.pd-related__title { font-family:'Outfit',sans-serif; font-size:18px; font-weight:700; color:#0f2744; margin:0; }
.pd-related__body { padding:20px; }
.pd-related__grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}
.pd-rpc {
  display:flex; flex-direction:column; height:100%;
  border:1px solid #E5E7EB; border-radius:10px; background:#fff; overflow:hidden;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.pd-rpc:hover { border-color:#C3D9F5; box-shadow:0 8px 24px rgba(0,90,156,.08); }
.pd-rpc__img {
  position:relative; display:block; aspect-ratio:360/230;
  background:#F8FAFC; overflow:hidden; text-decoration:none;
}
.pd-rpc__img img {
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.pd-rpc__badge {
  position:absolute; top:10px; left:10px; z-index:1;
  background:#005A9C; color:#fff; font-size:11px; font-weight:700;
  padding:3px 8px; border-radius:6px; line-height:1.3;
}
.pd-rpc__cnt {
  display:flex; flex-direction:column; flex:1; padding:12px 12px 0; gap:8px;
}
.pd-rpc__name {
  margin:0; font-family:'Outfit',sans-serif; font-size:14px; font-weight:700;
  line-height:1.4; color:#0f2744;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  min-height:calc(1.4em * 2);
}
.pd-rpc__name a { color:inherit; text-decoration:none; }
.pd-rpc__name a:hover { color:#005A9C; }
.pd-rpc__usp {
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px;
}
.pd-rpc__usp li { display:flex; gap:8px; align-items:flex-start; }
.pd-rpc__usp-dot {
  width:6px; height:6px; border-radius:50%; background:#64748b;
  flex-shrink:0; margin-top:6px;
}
.pd-rpc__usp-text {
  font-size:12px; line-height:1.45; color:#64748b;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.pd-rpc__price {
  margin-top:auto; padding-top:4px;
  font-family:'Outfit',sans-serif; font-size:16px; font-weight:700; color:#0f2744;
  display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px;
}
.pd-rpc__price span { font-size:12px; font-weight:600; color:#64748b; margin-left:1px; }
.pd-rpc__price--sale .pd-rpc__price-current { color:#dc2626; }
.pd-rpc__price-origin { font-size:12px !important; font-weight:500 !important; color:#94a3b8 !important; text-decoration:line-through; margin-left:0 !important; }
.pd-rpc__actions {
  display:flex; align-items:center; gap:8px; padding:12px;
}
.pd-rpc__detail {
  flex:1; display:inline-flex; align-items:center; justify-content:center;
  min-height:36px; padding:8px 10px; border-radius:8px;
  background:#005A9C; color:#fff; font-size:13px; font-weight:600;
  text-decoration:none; text-align:center; line-height:1.2;
}
.pd-rpc__detail:hover { filter:brightness(1.06); color:#fff; }
.pd-rpc__cart {
  flex-shrink:0; width:36px; height:36px; border-radius:8px;
  border:1px solid #D1D5DB; background:#fff; color:#0f2744;
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.pd-rpc__cart:hover { border-color:#005A9C; color:#005A9C; }
.pd-rpc__badge--hot {
  background:#F5C518; color:#1e293b;
}
.pd-rpc--viewed .pd-rpc__detail { width:100%; }
.pd-viewed__grid {
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
}
.pd-row-specs-install { display:grid; grid-template-columns:1fr 1.15fr; gap:20px; margin-bottom:40px; align-items:stretch; }
.pd-row-specs-install > .pd-card:only-child { grid-column:1 / -1; max-width:720px; }
.pd-card { background:#fff; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.pd-card__header { padding:18px 20px; border-bottom:1px solid #E5E7EB; }
.pd-card__title { font-family:'Outfit',sans-serif; font-size:18px; font-weight:700; color:#005A9C; margin:0; }
.pd-card__body { padding:20px; flex:1; }
.pdd-specs-table { border:1px solid #E5E7EB; border-radius:8px; overflow:hidden; }
.pdd-specs-row { display:grid; grid-template-columns:42% 1fr; border-bottom:1px solid #E5E7EB; }
.pdd-specs-row:last-child { border-bottom:none; }
.pdd-specs-l { padding:11px 14px; background:#F8FAFC; color:#475569; font-size:13px; font-weight:500; border-right:1px solid #E5E7EB; }
.pdd-specs-v { padding:11px 14px; color:#1e293b; font-size:13px; font-weight:600; background:#fff; }
.pdd-install-body { display:flex; align-items:center; }
.pdd-install-steps {
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:28px 12px; width:100%;
}
.pdd-install-step { position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; }
/* dashed connector through circle centers on each row */
.pdd-install-step:not(:nth-child(4n))::before {
  content:''; position:absolute; top:23px; left:calc(50% + 26px); width:calc(100% - 40px); height:0;
  border-top:1.5px dashed #CBD5E1; z-index:0;
}
.pdd-install-step:nth-child(4)::before,
.pdd-install-step:last-child::before { display:none; }
/* when 7 steps: row2 has 3 items starting at 5 — hide connector after 7, and don't draw from 4 to 5 */
.pdd-install-step:nth-child(4)::before { display:none; }
.pdd-install-step-marker {
  position:relative; z-index:1; width:48px; height:48px; border-radius:50%;
  border:2px solid #005A9C; background:#fff;
  display:flex; align-items:center; justify-content:center; margin-bottom:10px;
}
.pdd-install-step-num {
  font-family:'Outfit',sans-serif; font-size:20px; font-weight:700; color:#005A9C; line-height:1;
}
.pdd-install-step-title {
  margin:0 0 6px; font-size:13px; font-weight:700; color:#0f2744; line-height:1.35;
}
.pdd-install-step-desc {
  margin:0; font-size:11px; color:#64748b; line-height:1.45; max-width:140px;
}
@media (max-width:1100px) {
  .pd-row-specs-install { grid-template-columns:1fr; }
  .pdd-install-steps { grid-template-columns:repeat(4, 1fr); }
}
@media (max-width:700px) {
  .pdd-install-steps { grid-template-columns:repeat(2, 1fr); gap:22px 10px; }
  .pdd-install-step:not(:nth-child(4n))::before { display:none; }
  .pdd-install-step:not(:nth-child(2n))::before {
    display:block; content:''; position:absolute; top:23px; left:calc(50% + 26px);
    width:calc(100% - 40px); height:0; border-top:1.5px dashed #CBD5E1; z-index:0;
  }
  .pdd-install-step:nth-child(2n)::before { display:none; }
  .pdd-specs-row { grid-template-columns:1fr; }
  .pdd-specs-l { border-right:none; border-bottom:1px solid #E5E7EB; }
}
/* Hàng mô tả + sidebar (dưới specs/install) */
.pd-row-desc-side {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  gap:20px;
  margin-bottom:40px;
  align-items:start;
}
.pd-desc-col { display:flex; flex-direction:column; gap:20px; min-width:0; }
.pd-side-col {
  display:flex;
  flex-direction:column;
  gap:20px;
  position:sticky;
  top:88px;
}
.pd-desc-card__body { padding-bottom:8px; }
.pd-desc-card__footer {
  padding:0 20px 20px;
  text-align:center;
  border-top:none;
}
.pd-toc {
  border:1px solid #E1E4E8;
  border-radius:8px;
  margin-bottom:20px;
  background:#fff;
  overflow:hidden;
}
.pd-toc > summary {
  padding:10px 15px;
  cursor:pointer;
  font-weight:600;
  font-size:15px;
  color:#4B5563;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.pd-toc > summary::-webkit-details-marker { display:none; }
.pd-toc > summary::after { content:'▾'; color:#6B7280; font-size:12px; }
.pd-toc[open] > summary::after { content:'▴'; }
.pd-toc__list { padding:4px 8px 12px; display:flex; flex-direction:column; gap:2px; }
.pd-toc__list a {
  display:block;
  padding:8px 10px;
  border-radius:6px;
  color:#1e3a5f;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}
.pd-toc__list a:hover { background:#EDF4FF; color:#005A9C; }
.pd-toc__list a.is-h3 { padding-left:22px; font-size:13px; font-weight:500; }
.pd-desc-wrap { position:relative; max-height:420px; overflow:hidden; transition:max-height .35s ease; }
.pd-desc-wrap.is-expanded { max-height:none; }
.pd-desc-fade {
  position:absolute; left:0; right:0; bottom:0; height:90px;
  background:linear-gradient(transparent, #fff); pointer-events:none;
}
.pd-desc-wrap.is-expanded .pd-desc-fade { display:none; }
.pd-desc-more {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0 auto;
  padding:8px 4px;
  border:none;
  background:transparent;
  color:#005A9C;
  font-weight:500;
  font-size:14px;
  cursor:pointer;
}
.pd-desc-more svg { transition:transform .25s ease; }
.pd-desc-more.is-expanded svg { transform:rotate(180deg); }
.pd-desc-more:hover { opacity:.85; }
.pd-content { color:#1e293b; line-height:1.8; font-size:15px; }
.pd-content img { max-width:100%; height:auto; border-radius:8px; }
.pd-content img.img-align-left { float:left; margin:.4em 1.2em .6em 0; }
.pd-content img.img-align-right { float:right; margin:.4em 0 .6em 1.2em; }
.pd-content img.img-align-center { display:block; float:none; margin:.8em auto; }
.pd-content figure.image { display:inline-block; margin:.6em 0; max-width:100%; }
.pd-content figure.image img { display:block; }
.pd-content figure.image-align-left,
.pd-content figure.image.image-style-align-left { float:left; margin:.4em 1.2em .6em 0; }
.pd-content figure.image-align-right,
.pd-content figure.image.image-style-align-right { float:right; margin:.4em 0 .6em 1.2em; }
.pd-content figure.image-align-center,
.pd-content figure.image.image-style-align-center { display:block; margin-left:auto; margin-right:auto; }
.pd-content iframe[src*="youtube.com/embed"],
.pd-content iframe[src*="youtube-nocookie.com/embed"] {
  display:block; width:100%; max-width:900px; height:auto; aspect-ratio:16/9;
  margin:18px auto; border:0; border-radius:10px; background:#000;
}
.pd-content video { display:block; width:100%; max-width:900px; height:auto; max-height:70vh; margin:18px auto; border-radius:10px; background:#000; }
.pd-content .content-video { clear:both; max-width:900px; margin:18px auto; }
.pd-content .content-video--youtube { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:10px; background:#000; }
.pd-content .content-video--youtube iframe { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; margin:0; border:0; }
.pd-content .content-video video { display:block; width:100%; height:auto; max-height:70vh; margin:0; border-radius:10px; background:#000; }
.pd-content::after { content:""; display:table; clear:both; }
.pd-content h2 { color:#005A9C; font-size:1.25rem; margin:1.25em 0 .6em; scroll-margin-top:100px; }
.pd-content h3 { scroll-margin-top:100px; }
.pd-faq-card .pd-faq { display:flex; flex-direction:column; gap:0; margin:-4px 0; }
.pd-faq__item {
  border:none;
  border-bottom:1px solid #E5E7EB;
  border-radius:0;
  background:#fff;
  overflow:hidden;
}
.pd-faq__item:last-child { border-bottom:none; }
.pd-faq__item summary {
  padding:14px 4px;
  cursor:pointer;
  font-weight:500;
  color:#005A9C;
  list-style:none;
  display:flex;
  align-items:center;
  gap:12px;
}
.pd-faq__item summary::-webkit-details-marker { display:none; }
.pd-faq__item summary::after {
  content:'▾';
  margin-left:auto;
  font-size:12px;
  color:#6B7280;
  flex-shrink:0;
}
.pd-faq__item[open] summary::after { content:'▴'; }
.pd-faq__q-icon {
  flex-shrink:0;
  width:22px; height:22px;
  border-radius:50%;
  background:#005A9C;
  color:#fff;
  font-size:13px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.pd-faq__q-text { flex:1; min-width:0; text-align:left; }
.pd-faq__a { padding:0 4px 16px 38px; font-size:14px; color:#475569; line-height:1.7; }
.pd-need-card .pd-card__title { font-size:16px; line-height:1.4; }
.pd-need-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.pd-need-list li {
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14px;
  color:#1e3a5f;
  line-height:1.5;
}
.pd-need-check {
  flex-shrink:0;
  width:20px; height:20px;
  border-radius:50%;
  background:#16a34a;
  color:#fff;
  font-size:12px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:1px;
}
.pd-tags { display:flex; flex-wrap:wrap; gap:8px; }
.pd-tag {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  background:#E8F1FB;
  border:none;
  border-radius:999px;
  font-size:13px;
  color:#1e3a5f;
  text-decoration:none;
  cursor:pointer;
  transition:background .15s, color .15s, box-shadow .15s;
}
.pd-tag:hover {
  background:#d6e8fb;
  color:#005A9C;
  box-shadow:0 1px 4px rgba(0,90,156,.12);
}
.pd-tag:focus-visible {
  outline:2px solid #005A9C;
  outline-offset:2px;
}
.pd-tag svg { flex-shrink:0; opacity:.75; }
.pd-reviews { margin-top:8px; margin-bottom:40px; background:#fff; border:1px solid #E1E4E8; border-radius:12px; padding:28px; }
.review-item-hidden { display: none !important; }
@media (max-width:1100px) {
  .pd-row-desc-side { grid-template-columns:1fr; }
  .pd-side-col { position:static; }
  .pd-related__grid:not(.pd-viewed__grid) { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:900px) {
  .pd-hero { grid-template-columns:1fr; gap:24px; }
  .pd-sidebar { position:static; }
  .pd-highlights { grid-template-columns:1fr 1fr; }
  .pd-consult-fields--compact { grid-template-columns:1fr; }
  .pd-coupon__row { flex-wrap:wrap; align-items:stretch; }
  #pd-coupon-code { flex:1 1 0; min-width:0; width:auto; }
  #pd-coupon-apply, #pd-coupon-remove { flex:0 0 auto; width:auto; }
  .pd-coupon__phone { flex:1 1 100%; width:100%; }
  .rating-summary-dashboard { grid-template-columns:1fr !important; }
  .rating-summary-dashboard > div:first-child { border-right:none !important; border-bottom:1px solid #D1E3F8; padding-bottom:16px; margin-bottom:8px; }
  .pd-related__grid:not(.pd-viewed__grid) { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:560px) {
  .pd-highlights { grid-template-columns:1fr; }
  .pd-action-btns { grid-template-columns:1fr; }
  .pd-title { font-size:20px; }
  .product-reviews-section form > div[style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr !important; }
  .reviews-list .replies-list, .reviews-list [id^="product-reply-form-"] { margin-left:0 !important; }
  .pd-related__body { padding:14px; }
  .pd-related__grid:not(.pd-viewed__grid) { gap:12px; }
  .pd-viewed__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
}
