/* ==========================================================
   SECTION 7C — MAIN DOG VIDEO CSS
   ========================================================== */

.cacc-main-dog-video,
.cacc-video-main-frame {
    margin-top: 20px;
    text-align: center;
    width: 100%;
}

.cacc-main-video,
.cacc-video-main-frame {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 15px !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}

/* GLOBAL FORCING RULE — MEDIA ONLY */
iframe[src*="youtube"],
iframe[src*="youtube-nocookie"],
.cacc-main-video iframe,
.cacc-video-main-frame iframe,
.wp-oembed-container,
.wp-oembed-container iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    border: 0 !important;
}

/* Preview wrapper */
.cacc-video-preview {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    background: #000 !important;
    overflow: hidden !important;
    cursor: pointer;
}

.cacc-video-preview img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Isolated layout fix for the play button arrow indicator */
.cacc-play-arrow-icon {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 74px !important;
    height: 74px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.68) !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 74px !important;
    text-align: center !important;
    padding-left: 5px !important;
    user-select: none !important;
    display: block !important;
    box-shadow: none !important;
}

/* Kill theme pseudo-element overlays */
.cacc-video-main-frame .cacc-video-preview::before,
.cacc-video-main-frame .cacc-video-preview::after,
.cacc-video-main-frame .cacc-video-preview *::before,
.cacc-video-main-frame .cacc-video-preview *::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
    background: none !important;
}

/* Thumbnail row */
.cacc-main-video-thumbnails,
.cacc-video-carousel {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    padding: 10px 0 !important;
    -webkit-overflow-scrolling: touch !important;
}

.cacc-main-thumb,
.cacc-video-card {
    display: inline-block !important;
    cursor: pointer !important;
    flex: 0 0 auto !important;
    width: 140px !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* FIXED: Normalized layout to clear out black bars from bad aspect ratios */
.cacc-main-thumb img,
.cacc-video-card img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border: 2px solid #ccc !important;
    border-radius: 6px !important;
    transition: border-color 0.2s, transform 0.2s !important;
    display: block !important;
}

.cacc-main-thumb:hover img,
.cacc-video-card:hover img,
.cacc-main-thumb.active-thumb img,
.cacc-video-card.active-thumb img {
    border-color: #ffcc00 !important;
    transform: scale(1.03) !important;
}

.cacc-thumb-label,
.cacc-thumb-title {
    font-size: 12px !important;
    color: #333 !important;
    margin-top: 6px !important;
    display: block !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}

/* Remaining parts of CSS file left unchanged for safety */
.cacc-other-dogs-carousel-wrap { margin: 35px 0; width: 100%; }
.cacc-other-dogs-carousel-wrap h3 { margin-bottom: 15px; }
.cacc-carousel-shell { position: relative; width: 100%; display: flex; align-items: center; gap: 10px; }
.cacc-carousel { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 14px !important; overflow-x: auto !important; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none !important; -ms-overflow-style: none !important; width: 100%; padding: 10px 4px; }
.cacc-carousel::-webkit-scrollbar { display: none !important; }
.cacc-carousel-card { flex: 0 0 180px !important; width: 180px !important; display: block !important; text-align: center; text-decoration: none !important; color: inherit; }
.cacc-carousel-card img { width: 180px !important; height: 180px !important; object-fit: cover; display: block !important; border-radius: 10px; background: #f2f2f2; }
.cacc-carousel-title { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.3; }
.cacc-carousel-arrow { flex: 0 0 auto; background: transparent !important; color: #f28c00 !important; border: none !important; box-shadow: none !important; font-weight: 900 !important; font-size: 42px !important; width: 42px !important; height: 42px !important; line-height: 1 !important; padding: 0 !important; cursor: pointer; z-index: 2; }
.cacc-carousel-arrow:hover, .cacc-carousel-arrow:focus { background: transparent !important; color: #ff9800 !important; outline: none !important; }
.cacc-details-box, .cacc-story { background: #ffffff; border: 1px solid #e2e2e2; border-radius: 14px; padding: 22px; margin: 25px 0; box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.cacc-details-box h2 { margin-top: 0; margin-bottom: 18px; font-size: 28px; line-height: 1.2; }
.cacc-details { display: flex; flex-wrap: wrap; gap: 30px; }
.cacc-col { flex: 1 1 280px; line-height: 2; font-size: 16px; }
.cacc-story { font-size: 17px; line-height: 1.8; }
.cacc-dog-grid-wrap { margin: 35px 0; width: 100%; }
.cacc-dog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; width: 100%; }
.cacc-dog-grid-card { display: block; text-align: center; text-decoration: none !important; color: #004f9e !important; min-width: 0; }
.cacc-dog-grid-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 14px; background: #f2f2f2; }
.cacc-dog-grid-name { margin-top: 8px; font-size: 15px; font-weight: 700; line-height: 1.3; }
.cacc-dog-grid-button-wrap { text-align: center; margin-top: 26px; }
.cacc-dog-grid-load-more { background: #0073e6 !important; color: #ffffff !important; border: none !important; border-radius: 0 !important; padding: 14px 24px !important; font-size: 16px !important; font-weight: 800 !important; cursor: pointer !important; box-shadow: none !important; }
.cacc-dog-grid-load-more:hover, .cacc-dog-grid-load-more:focus { background: #005bb5 !important; color: #ffffff !important; }
.cacc-dog-grid-load-more:disabled { opacity: 0.7; cursor: wait !important; }
@media (max-width: 900px) { .cacc-dog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cacc-dog-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); } }