/* Products archive + detail */
.pda-products .product-three-thumb { position: relative; }
.pda-products .product-three-thumb img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.pda-badge-franchise { position: absolute; top: 14px; left: 14px; z-index: 3; background: var(--main-eight-600); color: #fff; font-size: 13px; font-weight: 600; padding: 5px 12px; border-radius: 999px; line-height: 1.3; }
.pda-cta .cta-wrapper .section-title { font-size: clamp(26px, 3.2vw, 44px); }

.pda-pd-gallery { border-radius: 24px; overflow: hidden; background: #f3f6f7; }
.pda-pd-gallery img { width: 100%; display: block; object-fit: cover; aspect-ratio: 1/1; }
.pda-pd-title { font-size: clamp(32px, 4vw, 52px); line-height: 1.15; }
.pda-pd-tagline { color: var(--main-eight-600); font-size: 20px; }
.pda-pd-excerpt { color: #5c6672; }
.pda-pd-franchise { background: rgb(0 0 0 / 4%); border-left: 4px solid var(--main-eight-600); padding: 10px 14px; border-radius: 8px; font-weight: 500; }
.pda-pd-franchise i { color: var(--main-eight-600); }
.pda-pd-features { list-style: none; padding: 0; display: grid; gap: 10px; }
.pda-pd-features li { display: flex; align-items: flex-start; gap: 10px; }
.pda-pd-features i { color: var(--main-eight-600); font-size: 22px; flex: none; margin-top: 1px; }
.pda-pd-call { gap: 8px; padding: 0 28px; height: 56px; border: 1.5px solid var(--main-eight-600); color: var(--main-eight-600); transition: all .3s; }
.pda-pd-call:hover { background: var(--main-eight-600); color: #fff; }
.pda-pd-actions .tw-primary-btn { min-height: 56px; }

.pda-pd-tabs { border-top: 1px solid rgb(32 52 66 / 12%); padding-top: 40px; }
.pda-pd-tabs .nav-tabs { border: 0; gap: 10px; margin-bottom: 24px; }
.pda-pd-tabs .nav-link { border: 1px solid rgb(32 52 66 / 14%); border-radius: 999px; padding: 10px 26px; color: inherit; font-weight: 600; background: #fff; }
.pda-pd-tabs .nav-link.active { background: var(--main-eight-600); border-color: transparent; color: #fff; }
.pda-spec-table { width: 100%; border-collapse: collapse; }
.pda-spec-table th, .pda-spec-table td { padding: 14px 16px; border-bottom: 1px solid rgb(32 52 66 / 10%); vertical-align: top; }
.pda-spec-table th { width: 32%; background: rgb(0 0 0 / 3%); font-weight: 600; }

@media (max-width: 991px) {
    .pda-pd-info { margin-top: 28px; }
}
@media (max-width: 767px) {
    .pda-pd-tagline { font-size: 17px; }
    .pda-pd-actions > * { width: 100%; justify-content: center; }
    .pda-spec-table th, .pda-spec-table td { display: block; width: 100%; padding: 8px 12px; }
    .pda-spec-table th { border-bottom: 0; }
    .pda-pd-tabs .nav-link { padding: 8px 18px; }
}

/* Description tab: spaced, structured card (works for demo and CMS-authored content) */
.pda-pd-content { background: #f7f7f7; border-radius: 16px; padding: 40px 44px; line-height: 1.9; color: #3f4a55; font-size: 17px; }
.pda-pd-content > *:first-child { margin-top: 0; }
.pda-pd-content > *:last-child { margin-bottom: 0; }
.pda-pd-content p { margin: 0 0 20px; }
.pda-pd-content > p:first-child { font-size: 20px; line-height: 1.7; font-weight: 600; color: var(--heading-color, #1F3441); padding-bottom: 20px; border-bottom: 1px solid rgb(32 52 66 / 12%); margin-bottom: 24px; }
.pda-pd-content h2, .pda-pd-content h3, .pda-pd-content h4 { margin: 36px 0 16px; padding-left: 14px; border-left: 4px solid var(--main-eight-600); font-size: 21px; line-height: 1.4; color: var(--heading-color, #1F3441); }
.pda-pd-content ul, .pda-pd-content ol { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 12px; }
.pda-pd-content li { position: relative; background: #fff; border-radius: 12px; padding: 14px 18px 14px 52px; }
.pda-pd-content ul li::before { content: ""; position: absolute; left: 18px; top: 18px; width: 22px; height: 22px; border-radius: 50%; background: var(--main-eight-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat; }
.pda-pd-content ol { counter-reset: pdi; }
.pda-pd-content ol li { counter-increment: pdi; }
.pda-pd-content ol li::before { content: counter(pdi); position: absolute; left: 16px; top: 15px; width: 26px; height: 26px; border-radius: 50%; background: var(--main-eight-600); color: #fff; font-weight: 600; font-size: 14px; line-height: 26px; text-align: center; }
.pda-pd-content p:has(> em:only-child) { margin-top: 28px; padding: 14px 18px; border-radius: 12px; background: rgb(23 146 168 / 8%); font-size: 15px; line-height: 1.7; color: #5c6672; }
@media (max-width: 767px) {
  .pda-pd-content { padding: 24px 18px; font-size: 16px; }
  .pda-pd-content > p:first-child { font-size: 18px; }
  .pda-pd-content li { padding: 12px 14px 12px 46px; }
  .pda-pd-content ul li::before { left: 14px; top: 15px; }
}
