/**
 * DTC Home — Scoped Styles
 * ALL rules scoped under .dtc-home-wrapper
 * Brand: Cyan #00A9E0 | Teal #006F99 | Orange #FE5000 | Light #F0F9FF | Navy #0F172A
 */

/* ============================================================
   BASE
   ============================================================ */
.dtc-home-wrapper *, .dtc-home-wrapper *::before, .dtc-home-wrapper *::after { box-sizing: border-box; }
.dtc-home-wrapper { font-family: 'Source Sans 3', 'Inter', sans-serif; color: #1e293b; line-height: 1.6; }

/* Remove the theme's mobile margin-top on .page-main for the DTC home template */
@media (max-width: 1023px) {
    body.page-template-dtc-home .page-main { margin-top: 0 !important; }
}

/* ============================================================
   SHARED UTILITIES
   ============================================================ */
.dtc-home-wrapper .dtc-eyebrow {
    display: block; color: #FE5000; font-weight: 700; letter-spacing: 0.15em;
    text-transform: uppercase; font-size: 11px; margin-bottom: 10px;
}
.dtc-home-wrapper .dtc-btn-orange {
    display: inline-block; background: #FE5000; color: #fff !important;
    font-size: 15px; font-weight: 700; padding: 14px 36px; border-radius: 999px;
    text-decoration: none !important; border: none; cursor: pointer; line-height: 1;
    box-shadow: 0 10px 24px -8px rgba(254,80,0,0.45);
    transition: background 0.2s, transform 0.15s;
}
.dtc-home-wrapper .dtc-btn-orange:hover { background: #d44000; transform: translateY(-2px); color: #fff !important; }
.dtc-home-wrapper .dtc-btn-lg { font-size: 18px; padding: 18px 48px; }
.dtc-home-wrapper .dtc-stars-orange { color: #FE5000; }
.dtc-home-wrapper .dtc-img-placeholder {
    width: 100%; aspect-ratio: 4/3; border-radius: 32px;
    background: linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
    background-size: 200% 100%; animation: dtc-pulse 1.5s infinite;
}
.dtc-home-wrapper .dtc-skeleton-box {
    background: linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
    background-size: 200% 100%; animation: dtc-pulse 1.5s infinite; border-radius: 8px;
}
@keyframes dtc-pulse { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ============================================================
   HERO SECTION
   ============================================================ */
.dtc-home-wrapper .dtc-hero-section {
    background: #F0F9FF; padding: 80px 24px 96px; overflow: hidden;
}
.dtc-home-wrapper .dtc-hero-inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; gap: 64px;
}
.dtc-home-wrapper .dtc-hero-text { flex: 0 0 50%; max-width: 50%; }
.dtc-home-wrapper .dtc-hero-badges { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.dtc-home-wrapper .dtc-badge-red {
    background: #fff1f0; color: #dc2626; font-size: 10px; font-weight: 700;
    padding: 4px 10px; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.08em;
}
.dtc-home-wrapper .dtc-badge-cyan {
    background: rgba(0,169,224,0.1); color: #006F99; font-size: 10px; font-weight: 700;
    padding: 4px 10px; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.08em;
}
.dtc-home-wrapper .dtc-hero-h1 {
    font-size: clamp(40px, 5.5vw, 72px); font-weight: 900; line-height: 1.05;
    letter-spacing: -2px; color: #0f172a; margin: 0 0 20px;
}
.dtc-home-wrapper .dtc-hero-accent { color: #00A9E0; }
.dtc-home-wrapper .dtc-hero-sub {
    font-size: 18px; color: #475569; line-height: 1.7; max-width: 440px; margin: 0 0 24px;
}
.dtc-home-wrapper .dtc-hero-list {
    list-style: none; padding: 0; margin: 0 0 32px;
    display: flex; flex-direction: column; gap: 10px;
}
.dtc-home-wrapper .dtc-hero-list li {
    display: flex; align-items: center; gap: 10px;
    font-size: 16px; font-weight: 600; color: #334155;
}
.dtc-home-wrapper .dtc-hero-ctas {
    display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 28px;
}
.dtc-home-wrapper .dtc-link-teal {
    color: #006F99; font-weight: 700; font-size: 15px;
    text-decoration: none; transition: color 0.15s;
}
.dtc-home-wrapper .dtc-link-teal:hover { color: #FE5000; text-decoration: none; }
.dtc-home-wrapper .dtc-hero-rating { display: flex; align-items: center; gap: 10px; }
.dtc-home-wrapper .dtc-hero-rating p { font-size: 12px; color: #64748b; font-weight: 500; margin: 0; }

/* Hero image card (new single-image + arrows design) */
.dtc-home-wrapper .dtc-hero-slider { flex: 1; min-width: 0; position: relative; display: flex; align-items: center; justify-content: center; }
.dtc-home-wrapper .dtc-hero-img-card {
    width: 100% !important;
    max-width: 540px !important;
    aspect-ratio: 1 / 1 !important;
    background: #fff !important;
    border-radius: 40px !important;
    padding: 12px !important;
    box-shadow: 0 25px 60px -15px rgba(0,169,224,0.18) !important;
    border: 1px solid #fff !important;
    transition: transform 0.5s ease-out, box-shadow 0.5s ease-out !important;
    overflow: hidden !important;
    position: relative !important;
}
.dtc-home-wrapper .dtc-hero-img-card:hover {
    transform: scale(1.02) rotate(-1deg) !important;
    box-shadow: 0 35px 70px -15px rgba(0,169,224,0.28) !important;
}
.dtc-home-wrapper .dtc-hero-img-inner {
    width: 100% !important;
    height: 100% !important;
    border-radius: 32px !important;
    overflow: hidden !important;
    background: #f1f5f9 !important;
    position: relative !important;
}
.dtc-home-wrapper .dtc-hero-main-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: opacity 0.3s ease !important;
}
/* Prev / Next arrows inside the image card */
.dtc-home-wrapper .dtc-hero-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: rgba(255,255,255,0.9) !important;
    color: #FE5000 !important;
    border: none !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 20 !important;
    opacity: 1 !important;
    transition: opacity 0.2s, transform 0.2s, background 0.2s !important;
    outline: none !important;
}
.dtc-home-wrapper .dtc-hero-img-card:hover .dtc-hero-arrow { opacity: 1 !important; }
.dtc-home-wrapper .dtc-hero-arrow:hover {
    background: #fff !important;
    transform: translateY(-50%) scale(1.1) !important;
}
.dtc-home-wrapper .dtc-hero-prev { left: 16px !important; }
.dtc-home-wrapper .dtc-hero-next { right: 16px !important; }
@media (max-width: 768px) {
    .dtc-home-wrapper .dtc-hero-arrow { opacity: 1 !important; }
    .dtc-home-wrapper .dtc-hero-img-card { max-width: 100% !important; aspect-ratio: 4/3 !important; border-radius: 28px !important; }
}

/* ============================================================
   TRUST STRIP
   ============================================================ */
/* Trust strip marquee styles are now inline in dtc-home.php (.ts-wrap / .ts-track) */

/* ============================================================
   3 FEATURE CARDS
   ============================================================ */
.dtc-home-wrapper .dtc-features-section { padding: 80px 24px; background: #fff; }
.dtc-home-wrapper .dtc-features-inner { max-width: 1200px; margin: 0 auto; }
.dtc-home-wrapper .dtc-features-header { text-align: center; margin-bottom: 48px; }
.dtc-home-wrapper .dtc-features-header h2 {
    font-size: clamp(26px, 3.5vw, 40px); font-weight: 900; color: #0f172a;
    letter-spacing: -0.5px; margin: 0; line-height: 1.15;
}
.dtc-home-wrapper .dtc-features-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.dtc-home-wrapper .dtc-feature-card {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 28px; padding: 36px 28px;
    box-shadow: 0 8px 24px -12px rgba(0,0,0,0.06); transition: transform 0.2s, box-shadow 0.2s;
}
.dtc-home-wrapper .dtc-feature-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px -12px rgba(0,111,153,0.12); }
.dtc-home-wrapper .dtc-feature-icon {
    width: 48px; height: 48px; background: #F0F9FF; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 20px;
}
.dtc-home-wrapper .dtc-feature-card h3 { font-size: 17px; font-weight: 700; color: #0f172a; margin: 0 0 10px; line-height: 1.3; }
.dtc-home-wrapper .dtc-feature-card p { font-size: 14px; color: #475569; line-height: 1.7; margin: 0; }

/* ============================================================
   ZIG-ZAG SECTIONS
   ============================================================ */
.dtc-home-wrapper .dtc-zigzag { padding: 80px 24px; }
.dtc-home-wrapper .dtc-zigzag-light { background: #F0F9FF; }
.dtc-home-wrapper .dtc-zigzag-white { background: #fff; }
.dtc-home-wrapper .dtc-zigzag-inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; gap: 80px;
}
.dtc-home-wrapper .dtc-zigzag-rev .dtc-zigzag-inner { flex-direction: row-reverse; }
.dtc-home-wrapper .dtc-zigzag-img-col { flex: 0 0 50%; max-width: 50%; }
.dtc-home-wrapper .dtc-zigzag-img-col img {
    width: 100%; aspect-ratio: 4/3; object-fit: cover;
    border-radius: 40px; display: block; box-shadow: 0 20px 40px -15px rgba(0,0,0,0.1);
}
.dtc-home-wrapper .dtc-zigzag-text-col { flex: 1; }
.dtc-home-wrapper .dtc-zigzag-text-col h2 {
    font-size: clamp(26px, 3.5vw, 40px); font-weight: 900; color: #0f172a;
    letter-spacing: -0.5px; margin: 0 0 16px; line-height: 1.15;
}
.dtc-home-wrapper .dtc-zigzag-body { font-size: 16px; color: #475569; line-height: 1.75; margin: 0 0 24px; }
.dtc-home-wrapper .dtc-checklist-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin-bottom: 28px;
}
.dtc-home-wrapper .dtc-check-item {
    display: flex; align-items: flex-start; gap: 8px; font-size: 13px; font-weight: 700; color: #1e293b;
}
.dtc-home-wrapper .dtc-check-item span { color: #00A9E0; font-size: 16px; flex-shrink: 0; }

/* Steps */
.dtc-home-wrapper .dtc-steps { display: flex; flex-direction: column; gap: 28px; margin-bottom: 28px; }
.dtc-home-wrapper .dtc-step { display: flex; gap: 20px; align-items: flex-start; }
.dtc-home-wrapper .dtc-step-num { font-size: 28px; font-weight: 900; color: #00A9E0; line-height: 1; flex-shrink: 0; min-width: 40px; }
.dtc-home-wrapper .dtc-step h3 { font-size: 16px; font-weight: 700; color: #0f172a; margin: 0 0 4px; }
.dtc-home-wrapper .dtc-step p { font-size: 14px; color: #64748b; margin: 0; line-height: 1.6; }

/* Read more / expand buttons */
.dtc-home-wrapper .dtc-read-more-btn {
    display: inline-block; background: none; border: none; cursor: pointer; padding: 0;
    color: #006F99; font-size: 14px; font-weight: 700; margin-top: 16px;
    transition: color 0.15s; text-decoration: none;
}
.dtc-home-wrapper .dtc-read-more-btn:hover { color: #FE5000; text-decoration: underline; }
.dtc-home-wrapper .dtc-read-more-orange { color: #FE5000; }
.dtc-home-wrapper .dtc-read-more-orange:hover { color: #006F99; }
.dtc-home-wrapper .dtc-expandable {
    margin-top: 16px; padding: 16px 20px;
    background: rgba(255,255,255,0.7); border: 1px solid rgba(0,169,224,0.15);
    border-radius: 14px; font-size: 14px; color: #475569; line-height: 1.7;
}
.dtc-home-wrapper .dtc-expandable p { margin: 0 0 10px; }
.dtc-home-wrapper .dtc-expandable p:last-child { margin-bottom: 0; }
.dtc-home-wrapper .dtc-expandable ul { padding-left: 20px; margin: 0 0 10px; }
.dtc-home-wrapper .dtc-expandable li { margin-bottom: 4px; }
.dtc-home-wrapper .dtc-expandable a { color: #FE5000; }
.dtc-home-wrapper .dtc-expandable-light { background: #f8fafc; border-color: #e2e8f0; }
.dtc-home-wrapper .dtc-expandable-dark {
    background: rgba(255,255,255,0.08); border: none;
    border-top: 1px solid rgba(255,255,255,0.15); border-radius: 0;
    color: rgba(240,249,255,0.8); margin-top: 24px; padding-top: 20px;
}

/* ============================================================
   GUARANTEE BANNER
   ============================================================ */
.dtc-home-wrapper .dtc-guarantee { padding: 48px 24px; background: #fff; }
.dtc-home-wrapper .dtc-guarantee-inner { max-width: 900px; margin: 0 auto; }
.dtc-home-wrapper .dtc-guarantee-card {
    background: #0f172a; border-radius: 40px; padding: 64px 80px; text-align: center;
    position: relative; overflow: hidden; box-shadow: 0 32px 64px -20px rgba(0,0,0,0.3);
}
.dtc-home-wrapper .dtc-guarantee-card::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,111,153,0.2), transparent); pointer-events: none;
}
.dtc-home-wrapper .dtc-guarantee-icon-wrap {
    width: 52px; height: 52px; background: rgba(255,255,255,0.1); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 20px; position: relative; z-index: 1;
}
.dtc-home-wrapper .dtc-guarantee-icon { font-size: 32px; margin-bottom: 20px; position: relative; z-index: 1; }
.dtc-home-wrapper .dtc-guarantee-card h2 {
    font-size: clamp(24px, 3vw, 36px); font-weight: 900; color: #fff;
    letter-spacing: -0.5px; margin: 0 0 16px; position: relative; z-index: 1;
}
.dtc-home-wrapper .dtc-guarantee-card > p {
    font-size: 16px; color: rgba(240,249,255,0.8); max-width: 560px;
    margin: 0 auto 32px; line-height: 1.7; position: relative; z-index: 1;
}
.dtc-home-wrapper .dtc-guarantee-ctas {
    display: flex; align-items: center; justify-content: center;
    gap: 16px; flex-wrap: wrap; position: relative; z-index: 1;
}
.dtc-home-wrapper .dtc-btn-ghost {
    background: transparent; border: 1px solid rgba(255,255,255,0.3); color: #fff;
    font-size: 15px; font-weight: 700; padding: 14px 32px; border-radius: 999px;
    cursor: pointer; transition: background 0.2s;
}
.dtc-home-wrapper .dtc-btn-ghost:hover { background: rgba(255,255,255,0.1); }

/* ============================================================
   REVIEWS SECTION
   ============================================================ */
.dtc-home-wrapper .dtc-reviews { padding: 80px 24px; background: #F0F9FF; }
.dtc-home-wrapper .dtc-reviews-inner { max-width: 1200px; margin: 0 auto; }
.dtc-home-wrapper .dtc-reviews-header { text-align: center; margin-bottom: 48px; }
.dtc-home-wrapper .dtc-reviews-header h2 {
    font-size: clamp(26px, 3.5vw, 40px); font-weight: 900; color: #0f172a;
    letter-spacing: -0.5px; margin: 0; line-height: 1.15;
}
.dtc-home-wrapper .dtc-reviews-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.dtc-home-wrapper .dtc-rating-card {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 28px; padding: 36px 24px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; box-shadow: 0 4px 16px rgba(0,0,0,0.05);
}
.dtc-home-wrapper .dtc-rating-score {
    font-size: 56px; font-weight: 900; color: #0f172a; letter-spacing: -3px; margin: 8px 0 4px; line-height: 1;
}
.dtc-home-wrapper .dtc-rating-label {
    font-size: 14px; font-weight: 700; color: #00A9E0; text-transform: uppercase;
    letter-spacing: 0.1em; margin: 0 0 12px;
}
.dtc-home-wrapper .dtc-rating-count { font-size: 12px; color: #64748b; margin: 0; }
.dtc-home-wrapper .dtc-review-card {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 28px; padding: 28px 22px;
    display: flex; flex-direction: column; box-shadow: 0 4px 16px rgba(0,0,0,0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}
.dtc-home-wrapper .dtc-review-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,111,153,0.1); }
.dtc-home-wrapper .dtc-review-top {
    display: flex; align-items: center; gap: 10px;
    padding-bottom: 14px; border-bottom: 1px solid #f1f5f9; margin-bottom: 14px;
}
.dtc-home-wrapper .dtc-review-avatar {
    width: 44px; height: 44px; border-radius: 50%; background: #E5F8FF; color: #006F99;
    display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; flex-shrink: 0;
}
.dtc-home-wrapper .dtc-review-name { font-weight: 700; color: #0f172a; font-size: 14px; margin: 0 0 2px; }
.dtc-home-wrapper .dtc-review-count { font-size: 11px; color: #94a3b8; margin: 0; }
.dtc-home-wrapper .dtc-review-stars { font-size: 16px; letter-spacing: 1px; margin-bottom: 6px; }
.dtc-home-wrapper .dtc-review-verified {
    font-size: 11px; color: #64748b; font-weight: 600; margin: 0 0 10px;
    display: flex; align-items: center; gap: 4px; text-transform: uppercase; letter-spacing: 0.06em;
}
.dtc-home-wrapper .dtc-review-body { font-size: 13px; color: #475569; line-height: 1.65; margin: 0; flex-grow: 1; }

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.dtc-home-wrapper .dtc-faq { padding: 80px 24px; background: #fff; }
.dtc-home-wrapper .dtc-faq-inner { max-width: 760px; margin: 0 auto; }
.dtc-home-wrapper .dtc-faq-header { text-align: center; margin-bottom: 48px; }
.dtc-home-wrapper .dtc-faq-header h2 {
    font-size: clamp(26px, 3.5vw, 40px); font-weight: 900; color: #0f172a;
    letter-spacing: -0.5px; margin: 0; line-height: 1.15;
}
.dtc-home-wrapper .dtc-faq-list { display: flex; flex-direction: column; }
.dtc-home-wrapper .dtc-faq-item { border-bottom: 1px solid #e2e8f0; }
.dtc-home-wrapper .dtc-faq-btn {
    width: 100%; display: flex; justify-content: space-between; align-items: center;
    padding: 22px 0; background: none; border: none; cursor: pointer; text-align: left; gap: 16px;
}
.dtc-home-wrapper .dtc-faq-btn > span:first-child {
    font-size: 17px; font-weight: 700; color: #0f172a; transition: color 0.15s;
}
.dtc-home-wrapper .dtc-faq-btn:hover > span:first-child { color: #00A9E0; }
.dtc-home-wrapper .dtc-faq-icon {
    font-size: 24px; font-weight: 300; color: #00A9E0; flex-shrink: 0;
    transition: transform 0.25s; line-height: 1;
}
.dtc-home-wrapper .dtc-faq-btn[aria-expanded="true"] .dtc-faq-icon { transform: rotate(45deg); }
.dtc-home-wrapper .dtc-faq-content { padding-bottom: 24px; font-size: 15px; color: #475569; line-height: 1.7; }
.dtc-home-wrapper .dtc-faq-content p { margin: 0 0 16px; }
.dtc-home-wrapper .dtc-faq-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin-top: 16px; }
.dtc-home-wrapper .dtc-faq-check { display: flex; gap: 10px; font-size: 13px; color: #475569; }
.dtc-home-wrapper .dtc-faq-check > span { color: #FE5000; font-weight: 700; flex-shrink: 0; }
.dtc-home-wrapper .dtc-faq-check strong { color: #1e293b; }

/* ============================================================
   FINAL CTA
   ============================================================ */
.dtc-home-wrapper .dtc-final-cta { padding: 80px 24px; background: #F0F9FF; text-align: center; }
.dtc-home-wrapper .dtc-final-cta-inner { max-width: 640px; margin: 0 auto; }
.dtc-home-wrapper .dtc-final-cta h2 {
    font-size: clamp(26px, 3.5vw, 40px); font-weight: 900; color: #0f172a;
    letter-spacing: -0.5px; margin: 0 0 12px;
}
.dtc-home-wrapper .dtc-final-cta p { font-size: 16px; color: #64748b; margin: 0 0 28px; }
.dtc-home-wrapper .dtc-final-note { font-size: 12px; color: #94a3b8; font-weight: 500; margin: 16px 0 0; }

/* ============================================================
   AWARDS V2 — Modern card slider
   All rules !important to beat theme globals
   ============================================================ */
.dtc-home-wrapper .dtc-awards-v2 {
    padding: 80px 24px !important;
    background: #F0F9FF !important;
    position: relative !important;
    overflow: hidden !important;
}
.dtc-home-wrapper .dtc-av2-inner {
    max-width: 900px !important;
    margin: 0 auto !important;
}
.dtc-home-wrapper .dtc-av2-header {
    text-align: center !important;
    margin-bottom: 40px !important;
}
.dtc-home-wrapper .dtc-av2-heading {
    font-size: clamp(22px, 3vw, 36px) !important;
    font-weight: 900 !important;
    color: #0F172A !important;
    letter-spacing: -0.5px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
/* Main card */
.dtc-home-wrapper .dtc-av2-main-card {
    position: relative !important;
    background: #fff !important;
    border-radius: 40px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 20px 40px -15px rgba(0,0,0,0.05) !important;
    padding: 64px 80px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 320px !important;
    margin-bottom: 32px !important;
    transition: all 0.3s !important;
}
/* Arrows */
.dtc-home-wrapper .dtc-av2-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: none !important;
    color: #FE5000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    transition: background 0.2s, transform 0.2s !important;
    outline: none !important;
}
.dtc-home-wrapper .dtc-av2-arrow:hover {
    background: rgba(254,80,0,0.06) !important;
    transform: translateY(-50%) scale(1.2) !important;
}
.dtc-home-wrapper .dtc-av2-prev { left: 16px !important; }
.dtc-home-wrapper .dtc-av2-next { right: 16px !important; }
/* Active image */
.dtc-home-wrapper .dtc-av2-img-wrap {
    height: 128px !important;
    width: 100% !important;
    max-width: 280px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 28px !important;
}
.dtc-home-wrapper .dtc-av2-active-img {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.3s !important;
}
.dtc-home-wrapper .dtc-av2-active-img img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}
/* Active text */
.dtc-home-wrapper .dtc-av2-active-text {
    font-size: 17px !important;
    color: #475569 !important;
    line-height: 1.75 !important;
    max-width: 640px !important;
    margin: 0 !important;
    transition: opacity 0.3s !important;
    font-weight: 400 !important;
}
/* Thumbnail strip */
.dtc-home-wrapper .dtc-av2-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}
.dtc-home-wrapper .dtc-av2-thumb {
    width: 56px !important;
    height: 56px !important;
    border-radius: 12px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    opacity: 0.5 !important;
    filter: grayscale(1) !important;
    transition: opacity 0.2s, filter 0.2s, border-color 0.2s, transform 0.15s !important;
    outline: none !important;
    padding: 4px !important;
    overflow: hidden !important;
}
.dtc-home-wrapper .dtc-av2-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}
.dtc-home-wrapper .dtc-av2-thumb:hover {
    opacity: 0.85 !important;
    filter: grayscale(0) !important;
    transform: scale(1.05) !important;
}
.dtc-home-wrapper .dtc-av2-thumb-active {
    opacity: 1 !important;
    filter: grayscale(0) !important;
    border: 2px solid #FE5000 !important;
    transform: scale(1.08) !important;
}
@media (max-width: 768px) {
    .dtc-home-wrapper .dtc-awards-v2 { padding: 48px 16px !important; }
    .dtc-home-wrapper .dtc-av2-main-card { padding: 48px 24px !important; border-radius: 28px !important; }
    .dtc-home-wrapper .dtc-av2-prev { left: 4px !important; }
    .dtc-home-wrapper .dtc-av2-next { right: 4px !important; }
    .dtc-home-wrapper .dtc-av2-thumb { width: 48px !important; height: 48px !important; }
}

/* ============================================================
   RESPONSIVE — TABLET (≤1024px)
   ============================================================ */
@media (max-width: 1024px) {
    .dtc-home-wrapper .dtc-hero-inner { gap: 40px; }
    .dtc-home-wrapper .dtc-zigzag-inner { gap: 48px; }
    .dtc-home-wrapper .dtc-guarantee-card { padding: 48px 48px; }
    .dtc-home-wrapper .dtc-reviews-grid { grid-template-columns: repeat(2,1fr); }
    .dtc-home-wrapper .dtc-rating-card { grid-column: span 2; flex-direction: row; gap: 24px; justify-content: center; }
    .dtc-home-wrapper .dtc-awards-inner { gap: 40px; }
    .dtc-home-wrapper .dtc-awards-text-col { flex: 0 0 40%; max-width: 40%; }
}

/* ============================================================
   RESPONSIVE — MOBILE (≤768px)
   ============================================================ */
@media (max-width: 768px) {
    .dtc-home-wrapper .dtc-hero-section { padding: 48px 16px 80px; }
    .dtc-home-wrapper .dtc-hero-inner { flex-direction: column; gap: 40px; }
    .dtc-home-wrapper .dtc-hero-text { flex: none; max-width: 100%; width: 100%; }
    .dtc-home-wrapper .dtc-hero-slider { width: 100%; }
    .dtc-home-wrapper .dtc-hero-h1 { font-size: 40px; letter-spacing: -1px; }
    .dtc-home-wrapper .dtc-hero-thumb-float { display: none; }
    .dtc-home-wrapper .dtc-hero-ctas { flex-direction: column; align-items: flex-start; }
    .dtc-home-wrapper .dtc-btn-orange { width: 100%; text-align: center; }

    .dtc-home-wrapper .dtc-features-section { padding: 48px 16px; }
    .dtc-home-wrapper .dtc-features-grid { grid-template-columns: 1fr; }

    .dtc-home-wrapper .dtc-zigzag { padding: 48px 16px; }
    .dtc-home-wrapper .dtc-zigzag-inner,
    .dtc-home-wrapper .dtc-zigzag-rev .dtc-zigzag-inner { flex-direction: column; gap: 32px; }
    .dtc-home-wrapper .dtc-zigzag-img-col { flex: none; max-width: 100%; width: 100%; }
    .dtc-home-wrapper .dtc-checklist-grid { grid-template-columns: 1fr; }

    .dtc-home-wrapper .dtc-guarantee { padding: 32px 16px; }
    .dtc-home-wrapper .dtc-guarantee-card { padding: 40px 24px; border-radius: 28px; }
    .dtc-home-wrapper .dtc-guarantee-ctas { flex-direction: column; }
    .dtc-home-wrapper .dtc-btn-ghost { width: 100%; }

    .dtc-home-wrapper .dtc-reviews { padding: 48px 16px; }
    .dtc-home-wrapper .dtc-reviews-grid { grid-template-columns: 1fr; }
    .dtc-home-wrapper .dtc-rating-card { grid-column: span 1; flex-direction: column; }

    .dtc-home-wrapper .dtc-faq { padding: 48px 16px; }
    .dtc-home-wrapper .dtc-faq-checklist { grid-template-columns: 1fr; }

    .dtc-home-wrapper .dtc-final-cta { padding: 48px 16px; }

    .dtc-home-wrapper .dtc-awards-wrap { padding: 48px 16px; }
    .dtc-home-wrapper .dtc-awards-inner { flex-direction: column; gap: 32px; }
    .dtc-home-wrapper .dtc-awards-text-col { flex: none; max-width: 100%; width: 100%; }

    /* trust strip marquee — no mobile override needed, it scrolls on all sizes */
}

/* ============================================================
   HOME BLOCK ROWS — alternating white / light-blue
   ============================================================ */
.dtc-home-wrapper .dtc-blocks-wrap { width: 100%; }

.dtc-home-wrapper .dtc-block-row { padding: 56px 24px; }
.dtc-home-wrapper .dtc-block-row-white { background: #fff; }
.dtc-home-wrapper .dtc-block-row-blue  { background: #F0F9FF; }

.dtc-home-wrapper .dtc-block-row-inner {
    max-width: 1200px; margin: 0 auto;
    display: flex; align-items: center; gap: 64px;
}
/* Even rows: image on the right */
.dtc-home-wrapper .dtc-block-row-rev .dtc-block-row-inner { flex-direction: row-reverse; }

.dtc-home-wrapper .dtc-block-row-img {
    flex: 0 0 42%; max-width: 42%;
}
.dtc-home-wrapper .dtc-block-row-img img {
    width: 100%; border-radius: 28px; display: block;
    box-shadow: 0 12px 32px -10px rgba(0,0,0,0.1);
    object-fit: cover;
}
.dtc-home-wrapper .dtc-block-row-img .dtc-img-placeholder {
    aspect-ratio: 4/3; border-radius: 28px;
}
.dtc-home-wrapper .dtc-block-row-text { flex: 1; min-width: 0; }
.dtc-home-wrapper .dtc-block-row-title {
    font-size: clamp(20px, 2.5vw, 30px); font-weight: 800; color: #0f172a;
    letter-spacing: -0.5px; margin: 0 0 12px; line-height: 1.2;
}
.dtc-home-wrapper .dtc-block-row-excerpt {
    font-size: 15px; color: #475569; line-height: 1.75; margin: 0 0 16px;
}
/* Expand button — left-aligned, not centered */
.dtc-home-wrapper .dtc-block-row-text .dtc-read-more-btn {
    display: inline-block; text-align: left; margin-top: 12px;
}

/* ============================================================
   GUARANTEE BANNER — button layout fixes
   Buttons are SIDE BY SIDE (row), not stacked
   The theme has: button { width: 100% } which breaks flex.
   We override with !important here.
   ============================================================ */
.dtc-home-wrapper .dtc-guarantee-ctas {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    position: relative;
    z-index: 1;
    margin-top: 0;
}
.dtc-home-wrapper .dtc-guarantee-ctas .dtc-btn-orange {
    width: auto !important;
    flex: 0 0 auto !important;
}
.dtc-home-wrapper .dtc-guarantee-ctas .dtc-btn-ghost {
    width: auto !important;
    flex: 0 0 auto !important;
    height: auto !important;
}

/* ============================================================
   REVIEWS CAROUSEL — layout
   ============================================================ */
.dtc-home-wrapper .dtc-reviews-layout {
    display: flex; gap: 32px; align-items: stretch;
}
/* Amazon / rating card — fixed left column */
.dtc-home-wrapper .dtc-reviews-layout .dtc-rating-card {
    flex: 0 0 300px; max-width: 300px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 40px;
    padding: 40px 28px; display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    box-shadow: 0 10px 30px -10px rgba(0,111,153,0.1);
}
.dtc-home-wrapper .dtc-rating-score {
    font-size: 64px; font-weight: 900; color: #0f172a; letter-spacing: -4px;
    margin: 8px 0 4px; line-height: 1;
}
.dtc-home-wrapper .dtc-rating-label {
    font-size: 18px; font-weight: 700; color: #334155; margin: 0 0 16px;
}
.dtc-home-wrapper .dtc-rating-count { font-size: 13px; color: #64748b; margin: 0 0 20px; line-height: 1.5; }
.dtc-home-wrapper .dtc-amazon-badge {
    background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px;
    padding: 8px 20px; font-weight: 900; font-size: 16px; color: #94a3b8;
    letter-spacing: -0.5px; box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

/* Carousel wrapper — right column */
.dtc-home-wrapper .dtc-carousel-wrap {
    flex: 1; min-width: 0; position: relative; display: flex; align-items: center;
}
/* Scroll container */
.dtc-home-wrapper .dtc-carousel-slider {
    display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
    scroll-behavior: smooth; padding-bottom: 8px; width: 100%;
    scrollbar-width: none; -ms-overflow-style: none;
}
.dtc-home-wrapper .dtc-carousel-slider::-webkit-scrollbar { display: none; }

/* Individual review card */
.dtc-home-wrapper .dtc-carousel-card {
    flex: 0 0 calc(50% - 10px); scroll-snap-align: start;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 32px;
    padding: 28px 24px; display: flex; flex-direction: column;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}
.dtc-home-wrapper .dtc-carousel-card .dtc-review-name { font-size: 13px; font-weight: 700; color: #0f172a; margin: 0 0 2px; }
.dtc-home-wrapper .dtc-carousel-card .dtc-review-count { font-size: 11px; color: #94a3b8; margin: 0; }
.dtc-home-wrapper .dtc-carousel-card .dtc-review-stars { font-size: 14px; letter-spacing: 1px; margin-bottom: 4px; }
.dtc-home-wrapper .dtc-carousel-card .dtc-review-verified { font-size: 10px; margin-bottom: 8px; }
.dtc-home-wrapper .dtc-carousel-card-title {
    font-size: 13px; font-weight: 700; color: #0f172a; margin: 0 0 6px; line-height: 1.3;
}
.dtc-home-wrapper .dtc-carousel-card .dtc-review-body { font-size: 13px; color: #475569; line-height: 1.6; margin: 0; }

/* Prev / Next buttons */
.dtc-home-wrapper .dtc-carousel-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px; background: #fff; color: #00A9E0;
    border: 1px solid #e2e8f0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); cursor: pointer;
    opacity: 1; transition: opacity 0.2s, transform 0.15s; z-index: 10;
}
.dtc-home-wrapper .dtc-carousel-wrap:hover .dtc-carousel-btn,
.dtc-home-wrapper .dtc-carousel-btn:focus { opacity: 1; }
.dtc-home-wrapper .dtc-carousel-btn:hover { transform: translateY(-50%) scale(1.1); }
.dtc-home-wrapper .dtc-carousel-prev { left: -22px; }
.dtc-home-wrapper .dtc-carousel-next { right: -22px; }

/* Responsive */
@media (max-width: 1024px) {
    .dtc-home-wrapper .dtc-reviews-layout .dtc-rating-card { flex: 0 0 240px; max-width: 240px; }
    .dtc-home-wrapper .dtc-carousel-card { flex: 0 0 calc(60% - 10px); }
}
@media (max-width: 768px) {
    .dtc-home-wrapper .dtc-reviews-layout { flex-direction: column; }
    .dtc-home-wrapper .dtc-reviews-layout .dtc-rating-card { flex: none; max-width: 100%; width: 100%; flex-direction: row; gap: 20px; padding: 24px; border-radius: 24px; }
    .dtc-home-wrapper .dtc-carousel-card { flex: 0 0 85%; }
    .dtc-home-wrapper .dtc-carousel-prev { left: -10px; }
    .dtc-home-wrapper .dtc-carousel-next { right: -10px; }
    .dtc-home-wrapper .dtc-carousel-btn { opacity: 1; }
}

/* ============================================================
   RESPONSIVE — block rows on mobile
   ============================================================ */
@media (max-width: 768px) {
    .dtc-home-wrapper .dtc-block-row { padding: 40px 16px; }
    .dtc-home-wrapper .dtc-block-row-inner,
    .dtc-home-wrapper .dtc-block-row-rev .dtc-block-row-inner { flex-direction: column; gap: 24px; }
    .dtc-home-wrapper .dtc-block-row-img { flex: none; max-width: 100%; width: 100%; }
}

/* ============================================================
   HIDE OLD REVIEWS SECTION on DTC Home (we render inline)
   ============================================================ */
body.page-template-dtc-home section.home-reviews { display: none !important; }
body.page-template-dtc-home .dtc-modern-reviews { display: none !important; }

/* ============================================================
   REVIEWS V2 — Infinite looping carousel
   All rules use !important to beat theme globals
   ============================================================ */
.dtc-home-wrapper .dtc-reviews-v2 {
    padding: 80px 24px !important;
    background: #F0F9FF !important;
    position: relative !important;
    overflow: hidden !important;
}
.dtc-home-wrapper .dtc-rv2-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
}
.dtc-home-wrapper .dtc-rv2-header {
    text-align: center !important;
    margin-bottom: 56px !important;
}
.dtc-home-wrapper .dtc-rv2-eyebrow {
    display: block !important;
    color: #FE5000 !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    margin-bottom: 12px !important;
}
.dtc-home-wrapper .dtc-rv2-heading {
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 900 !important;
    color: #0F172A !important;
    letter-spacing: -1px !important;
    margin: 0 !important;
    line-height: 1.1 !important;
}
/* Layout */
.dtc-home-wrapper .dtc-rv2-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: stretch !important;
}
@media (min-width: 1024px) {
    .dtc-home-wrapper .dtc-rv2-layout {
        flex-direction: row !important;
    }
}
/* Rating card */
.dtc-home-wrapper .dtc-rv2-rating-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    background: #fff !important;
    border-radius: 24px !important;
    padding: 40px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04) !important;
}
@media (min-width: 1024px) {
    .dtc-home-wrapper .dtc-rv2-rating-card {
        width: 25% !important;
        flex: 0 0 25% !important;
    }
}
.dtc-home-wrapper .dtc-rv2-stars {
    color: #FE5000 !important;
    font-size: 24px !important;
    letter-spacing: 4px !important;
    margin-bottom: 16px !important;
    display: block !important;
}
.dtc-home-wrapper .dtc-rv2-score {
    font-size: 56px !important;
    font-weight: 900 !important;
    color: #0F172A !important;
    letter-spacing: -3px !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
    display: block !important;
}
.dtc-home-wrapper .dtc-rv2-excellent {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #00A9E0 !important;
    margin: 0 0 16px !important;
}
.dtc-home-wrapper .dtc-rv2-based {
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}
/* Carousel wrapper */
.dtc-home-wrapper .dtc-rv2-carousel-wrap {
    flex: 1 !important;
    min-width: 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}
/* Viewport — clips overflow */
.dtc-home-wrapper .dtc-rv2-viewport {
    overflow: hidden !important;
    width: 100% !important;
    padding: 16px 8px !important;
}
/* Track — flex row, no wrap */
.dtc-home-wrapper .dtc-rv2-track {
    display: flex !important;
    gap: 24px !important;
    transition: transform 0.5s ease-in-out !important;
    will-change: transform !important;
}
/* Slides */
.dtc-home-wrapper .dtc-rv2-slide {
    flex: 0 0 100% !important;
    background: #fff !important;
    border-radius: 24px !important;
    padding: 32px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}
@media (min-width: 768px) {
    .dtc-home-wrapper .dtc-rv2-slide {
        flex: 0 0 calc(50% - 12px) !important;
    }
}
@media (min-width: 1024px) {
    .dtc-home-wrapper .dtc-rv2-slide {
        flex: 0 0 calc(33.333% - 16px) !important;
    }
}
/* Card top row */
.dtc-home-wrapper .dtc-rv2-card-top {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}
.dtc-home-wrapper .dtc-rv2-avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #E5F8FF !important;
    color: #00A9E0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}
.dtc-home-wrapper .dtc-rv2-name {
    font-weight: 700 !important;
    color: #0F172A !important;
    font-size: 14px !important;
    margin: 0 0 4px !important;
    line-height: 1.2 !important;
}
.dtc-home-wrapper .dtc-rv2-verified {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #00A9E0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.dtc-home-wrapper .dtc-rv2-card-stars {
    color: #FE5000 !important;
    font-size: 18px !important;
    letter-spacing: 2px !important;
    margin-bottom: 16px !important;
    display: block !important;
}
.dtc-home-wrapper .dtc-rv2-body {
    font-size: 13px !important;
    color: #475569 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
    font-weight: 400 !important;
}
/* Prev / Next buttons */
.dtc-home-wrapper .dtc-rv2-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    width: 48px !important;
    height: 48px !important;
    background: #fff !important;
    color: #00A9E0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    opacity: 1 !important;
    transition: opacity 0.2s, transform 0.2s, background 0.2s !important;
    outline: none !important;
}
.dtc-home-wrapper .dtc-rv2-carousel-wrap:hover .dtc-rv2-btn,
.dtc-home-wrapper .dtc-rv2-btn:focus { opacity: 1 !important; }
.dtc-home-wrapper .dtc-rv2-btn:hover {
    background: #F0F9FF !important;
    transform: translateY(-50%) scale(1.1) !important;
}
.dtc-home-wrapper .dtc-rv2-prev { left: -24px !important; }
.dtc-home-wrapper .dtc-rv2-next { right: -24px !important; }
@media (max-width: 768px) {
    .dtc-home-wrapper .dtc-rv2-btn { opacity: 1 !important; }
    .dtc-home-wrapper .dtc-rv2-prev { left: -10px !important; }
    .dtc-home-wrapper .dtc-rv2-next { right: -10px !important; }
    .dtc-home-wrapper .dtc-reviews-v2 { padding: 48px 16px !important; }
}
