/* =========================================
   Casting Agency v1.0.7
   ========================================= */

* { box-sizing: border-box; }

/* ─── WRAP ─── */
div.ca-wrap {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* ─── GRID ─── */
div.ca-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 1024px) { div.ca-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 768px)  { div.ca-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; } }
@media (max-width: 480px)  { div.ca-grid { grid-template-columns: 1fr !important; } }

/* ─── CARD ─── */
article.ca-card {
    display: flex !important;
    flex-direction: column !important;
    cursor: pointer !important;
    overflow: hidden !important;
    border: 1px solid #222 !important;
    background: #000 !important;
    transition: border-color 0.2s, transform 0.2s !important;
    margin: 0 !important;
    padding: 0 !important;
}
article.ca-card:hover  { border-color: #555 !important; transform: translateY(-3px) !important; }
article.ca-card:focus  { outline: 2px solid #ff5a00 !important; outline-offset: 2px !important; }

article.ca-card div.ca-card__photo {
    width: 100% !important;
    height: 520px !important;       /* altura fixa igual para todos os cards */
    overflow: hidden !important;
    background: #1a1a1a !important;
    display: block !important;
    line-height: 0 !important;
    font-size: 0 !important;
    flex-shrink: 0 !important;
}
article.ca-card div.ca-card__photo img {
    width: 100% !important;
    height: 100% !important;        /* preenche os 520px */
    display: block !important;
    object-fit: cover !important;   /* corta sem distorcer */
    object-position: top center !important; /* prioriza rosto */
    position: static !important;
    max-width: 100% !important;
    transition: transform 0.35s ease !important;
}

/* Mobile: reduz altura proporcional */
@media (max-width: 768px) {
    article.ca-card div.ca-card__photo { height: 380px !important; }
}
@media (max-width: 480px) {
    article.ca-card div.ca-card__photo { height: 300px !important; }
}
article.ca-card:hover div.ca-card__photo img { transform: scale(1.04) !important; }

article.ca-card div.ca-card__footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 11px 14px 12px !important;
    background: #000 !important;
    border-top: 1px solid #1c1c1c !important;
    flex-shrink: 0 !important;
}
article.ca-card span.ca-card__name {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 !important;
    line-height: 1.2 !important;
}
article.ca-card span.ca-card__age {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: #fff !important;
    margin-left: 10px !important;
    flex-shrink: 0 !important;
    line-height: 1.2 !important;
}

/* ══════════════════════════════════════════
   MODAL BASE — aplica em AMBOS os modais
   via classes compartilhadas
══════════════════════════════════════════ */

/* Overlay */
div#ca-modal,
div#ca-inf-modal,
div#ca-st-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    margin: 0 !important;
    background: transparent !important;
}
div#ca-modal[hidden],
div#ca-inf-modal[hidden],
div#ca-st-modal[hidden] { display: none !important; }

/* Backdrop */
div#ca-modal div.ca-modal__backdrop,
div#ca-inf-modal div.ca-modal__backdrop {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0,0,0,0.84) !important;
    cursor: pointer !important;
}

/* Box branca */
div#ca-modal div.ca-modal__box,
div#ca-inf-modal div.ca-modal__box,
div#ca-st-modal div.ca-modal__box {
    position: relative !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    width: 100% !important;
    max-width: 960px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 36px 40px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    color: #000 !important;
    z-index: 1 !important;
}
div#ca-modal div.ca-modal__box::-webkit-scrollbar,
div#ca-inf-modal div.ca-modal__box::-webkit-scrollbar,
div#ca-st-modal div.ca-modal__box::-webkit-scrollbar { width: 5px; }
div#ca-modal div.ca-modal__box::-webkit-scrollbar-thumb,
div#ca-inf-modal div.ca-modal__box::-webkit-scrollbar-thumb,
div#ca-st-modal div.ca-modal__box::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }

/* Botão fechar */
div#ca-modal button.ca-modal__close,
div#ca-inf-modal button.ca-modal__close,
div#ca-st-modal button.ca-modal__close {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 1.5px solid #ccc !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: #666 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s, border-color 0.15s, color 0.15s !important;
    z-index: 10 !important;
}
div#ca-modal button.ca-modal__close:hover,
div#ca-inf-modal button.ca-modal__close:hover,
div#ca-st-modal button.ca-modal__close:hover {
    background: #ff5a00 !important;
    border-color: #ff5a00 !important;
    color: #fff !important;
}

/* ── Galeria: 4 thumbs — usando classe, funciona nos dois modais ── */
/* Wrapper do carrossel de thumbs */
div#ca-modal div.ca-modal__gallery-wrap,
div#ca-inf-modal div.ca-modal__gallery-wrap,
div#ca-st-modal div.ca-modal__gallery-wrap {
    position: relative !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
}
div#ca-modal div.ca-modal__gallery-wrap:empty,
div#ca-inf-modal div.ca-modal__gallery-wrap:empty,
div#ca-st-modal div.ca-modal__gallery-wrap:empty { display: none !important; margin: 0 !important; }

/* Track scrollável */
div#ca-modal div.ca-modal__gallery,
div#ca-inf-modal div.ca-modal__gallery,
div#ca-st-modal div.ca-modal__gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transition: transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94) !important;
}
div#ca-modal div.ca-modal__gallery:empty,
div#ca-inf-modal div.ca-modal__gallery:empty,
div#ca-st-modal div.ca-modal__gallery:empty { display: none !important; }

/* Botões prev/next dos thumbs */
button.ca-gal-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(0,0,0,0.65) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1 !important;
    transition: background 0.15s !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.25) !important;
}
button.ca-gal-btn:hover { background: #ff5a00 !important; }
button.ca-gal-btn[hidden] { display: none !important; }
button.ca-gal-btn--prev { left: -14px !important; }
button.ca-gal-btn--next { right: -14px !important; }

div#ca-modal div.ca-gallery-thumb,
div#ca-inf-modal div.ca-gallery-thumb,
div#ca-st-modal div.ca-gallery-thumb {
    display: block !important;
    position: relative !important;
    flex: 0 0 calc(20% - 8px) !important; /* 5 thumbs por vez */
    width: calc(20% - 8px) !important;
    height: 130px !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    background: #ddd !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
div#ca-modal div.ca-gallery-thumb:hover,
div#ca-inf-modal div.ca-gallery-thumb:hover,
div#ca-st-modal div.ca-gallery-thumb:hover { opacity: 0.82 !important; }

div#ca-modal div.ca-gallery-thumb img,
div#ca-inf-modal div.ca-gallery-thumb img,
div#ca-st-modal div.ca-gallery-thumb img {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #f0f0f0 !important;
    display: block !important;
}

div#ca-modal div.ca-gallery-thumb::after,
div#ca-inf-modal div.ca-gallery-thumb::after,
div#ca-st-modal div.ca-gallery-thumb::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 28px !important;
    background-color: transparent !important;
    opacity: 0 !important;
    transition: opacity 0.2s, background-color 0.2s !important;
    pointer-events: none !important;
}
div#ca-modal div.ca-gallery-thumb:hover::after,
div#ca-inf-modal div.ca-gallery-thumb:hover::after,
div#ca-st-modal div.ca-gallery-thumb:hover::after {
    opacity: 1 !important;
    background-color: rgba(0,0,0,0.32) !important;
}

@media (max-width: 640px) {
    div#ca-modal div.ca-gallery-thumb,
    div#ca-inf-modal div.ca-gallery-thumb,
    div#ca-st-modal div.ca-gallery-thumb {
        flex: 0 0 calc(33.33% - 7px) !important;
        width: calc(33.33% - 7px) !important;
        height: 100px !important;
    }
}

/* ── Lightbox — classe, funciona nos dois ── */
div#ca-modal div.ca-lightbox,
div#ca-inf-modal div.ca-lightbox,
div#ca-st-modal div.ca-lightbox {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    right: 0 !important; bottom: 0 !important;
    background: rgba(0,0,0,0.96) !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
}
div#ca-modal div.ca-lightbox[hidden],
div#ca-inf-modal div.ca-lightbox[hidden],
div#ca-st-modal div.ca-lightbox[hidden] { display: none !important; }

div#ca-modal div.ca-lightbox div.ca-lightbox__img-wrap,
div#ca-inf-modal div.ca-lightbox div.ca-lightbox__img-wrap,
div#ca-st-modal div.ca-lightbox div.ca-lightbox__img-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 70px 90px !important;
}
div#ca-modal div.ca-lightbox div.ca-lightbox__img-wrap img,
div#ca-inf-modal div.ca-lightbox div.ca-lightbox__img-wrap img,
div#ca-st-modal div.ca-lightbox div.ca-lightbox__img-wrap img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 3px !important;
    position: static !important;
}

div#ca-modal button.ca-lightbox__close,
div#ca-inf-modal button.ca-lightbox__close,
div#ca-st-modal button.ca-lightbox__close {
    position: absolute !important;
    top: 14px !important; right: 16px !important;
    width: 36px !important; height: 36px !important;
    min-width: 0 !important; padding: 0 !important;
    background: rgba(255,255,255,0.12) !important;
    border: 1.5px solid rgba(255,255,255,0.3) !important;
    border-radius: 50% !important;
    font-size: 20px !important; color: #fff !important;
    cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: background 0.15s !important;
    z-index: 21 !important;
}
div#ca-modal button.ca-lightbox__close:hover,
div#ca-inf-modal button.ca-lightbox__close:hover,
div#ca-st-modal button.ca-lightbox__close:hover { background: #ff5a00 !important; border-color: #ff5a00 !important; }

div#ca-modal button.ca-lightbox__prev,
div#ca-modal button.ca-lightbox__next,
div#ca-inf-modal button.ca-lightbox__prev,
div#ca-inf-modal button.ca-lightbox__next,
div#ca-st-modal button.ca-lightbox__prev,
div#ca-st-modal button.ca-lightbox__next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 46px !important; height: 46px !important;
    min-width: 0 !important; padding: 0 !important;
    background: rgba(255,255,255,0.12) !important;
    border: 1.5px solid rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    font-size: 30px !important; color: #fff !important;
    cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    transition: background 0.15s !important;
    z-index: 21 !important; line-height: 1 !important;
}
div#ca-modal button.ca-lightbox__prev,
div#ca-inf-modal button.ca-lightbox__prev,
div#ca-st-modal button.ca-lightbox__prev { left: 14px !important; }
div#ca-modal button.ca-lightbox__next,
div#ca-inf-modal button.ca-lightbox__next,
div#ca-st-modal button.ca-lightbox__next { right: 14px !important; }
div#ca-modal button.ca-lightbox__prev:hover,
div#ca-modal button.ca-lightbox__next:hover,
div#ca-inf-modal button.ca-lightbox__prev:hover,
div#ca-inf-modal button.ca-lightbox__next:hover,
div#ca-st-modal button.ca-lightbox__prev:hover,
div#ca-st-modal button.ca-lightbox__next:hover { background: #ff5a00 !important; border-color: #ff5a00 !important; }
div#ca-modal button.ca-lightbox__prev:disabled,
div#ca-modal button.ca-lightbox__next:disabled,
div#ca-inf-modal button.ca-lightbox__prev:disabled,
div#ca-inf-modal button.ca-lightbox__next:disabled,
div#ca-st-modal button.ca-lightbox__prev:disabled,
div#ca-st-modal button.ca-lightbox__next:disabled { opacity: 0.2 !important; cursor: default !important; }

/* ── Divisor horizontal ── */
div#ca-modal hr.ca-modal__divider,
div#ca-inf-modal hr.ca-modal__divider,
div#ca-st-modal hr.ca-modal__divider {
    border: none !important;
    border-top: 1.5px solid #111 !important;
    margin: 0 0 16px 0 !important;
}

/* ── Corpo ── */
div#ca-modal div.ca-modal__body,
div#ca-inf-modal div.ca-modal__body,
div#ca-st-modal div.ca-modal__body {
    display: grid !important;
    grid-template-columns: 220px 57px 1fr !important;
    gap: 0 !important;
    margin-bottom: 16px !important;
    align-items: start !important;
}
@media (max-width: 640px) {
    div#ca-modal div.ca-modal__body,
    div#ca-inf-modal div.ca-modal__body,
    div#ca-st-modal div.ca-modal__body { grid-template-columns: 1fr !important; }
    div#ca-modal div.ca-modal__divider-v,
    div#ca-inf-modal div.ca-modal__divider-v,
    div#ca-st-modal div.ca-modal__divider-v { display: none !important; }
}

div#ca-modal div.ca-modal__divider-v,
div#ca-inf-modal div.ca-modal__divider-v,
div#ca-st-modal div.ca-modal__divider-v {
    background: #111 !important;
    align-self: stretch !important;
    margin: 0 !important;
    padding: 0 28px !important;
    width: 57px !important;
    background-clip: content-box !important;
}

/* ── Info lista ── */
div#ca-modal dl.ca-info-list,
div#ca-inf-modal dl.ca-info-list,
div#ca-st-modal dl.ca-info-list {
    margin: 0 !important; padding: 0 !important;
    display: flex !important; flex-direction: column !important; gap: 9px !important;
}
div#ca-modal div.ca-info-row,
div#ca-inf-modal div.ca-info-row,
div#ca-st-modal div.ca-info-row {
    display: flex !important; align-items: baseline !important; gap: 8px !important;
}
div#ca-modal dl.ca-info-list dt,
div#ca-inf-modal dl.ca-info-list dt,
div#ca-st-modal dl.ca-info-list dt {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important; font-weight: 700 !important; color: #000 !important;
    white-space: nowrap !important; min-width: 80px !important;
}
div#ca-modal dl.ca-info-list dd,
div#ca-inf-modal dl.ca-info-list dd,
div#ca-st-modal dl.ca-info-list dd {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important; font-weight: 400 !important;
    color: #000 !important; margin: 0 !important;
}

/* ── Formulário ── */
div#ca-modal div.ca-modal__form,
div#ca-inf-modal div.ca-modal__form,
div#ca-st-modal div.ca-modal__form {
    display: flex !important; flex-direction: column !important; gap: 8px !important;
}
div#ca-modal div.ca-form__group,
div#ca-inf-modal div.ca-form__group,
div#ca-st-modal div.ca-form__group { display: flex !important; flex-direction: column !important; gap: 4px !important; }
div#ca-modal label.ca-form__label,
div#ca-inf-modal label.ca-form__label,
div#ca-st-modal label.ca-form__label {
    display: none !important; /* substituídas por placeholder nos inputs */
}
div#ca-modal input.ca-form__input,
div#ca-modal textarea.ca-form__input,
div#ca-inf-modal input.ca-form__input,
div#ca-inf-modal textarea.ca-form__input,
div#ca-st-modal input.ca-form__input,
div#ca-st-modal textarea.ca-form__input {
    width: 100% !important; padding: 12px 14px !important;
    border: 1.5px solid #111 !important; border-radius: 3px !important;
    font-size: 14px !important; font-family: 'Barlow', sans-serif !important;
    color: #222 !important; background: #fff !important;
    outline: none !important; box-shadow: none !important;
    -webkit-appearance: none !important; resize: none !important; display: block !important; margin: 0 !important;
}
div#ca-modal input.ca-form__input:focus,
div#ca-modal textarea.ca-form__input:focus,
div#ca-inf-modal input.ca-form__input:focus,
div#ca-inf-modal textarea.ca-form__input:focus,
div#ca-st-modal input.ca-form__input:focus,
div#ca-st-modal textarea.ca-form__input:focus { border-color: #ff5a00 !important; box-shadow: none !important; }
div#ca-modal input.ca-form__input::placeholder,
div#ca-modal textarea.ca-form__input::placeholder,
div#ca-inf-modal input.ca-form__input::placeholder,
div#ca-inf-modal textarea.ca-form__input::placeholder,
div#ca-st-modal input.ca-form__input::placeholder,
div#ca-st-modal textarea.ca-form__input::placeholder { color: #bbb !important; }
div#ca-modal textarea.ca-form__textarea,
div#ca-inf-modal textarea.ca-form__textarea,
div#ca-st-modal textarea.ca-form__textarea { min-height: 100px !important; resize: vertical !important; }

/* ── Botão CAST ME / WORK WITH ME ── */
div#ca-modal button.ca-btn-cast,
div#ca-inf-modal button.ca-btn-cast,
div#ca-st-modal button.ca-btn-cast {
    display: block !important; width: 100% !important;
    padding: 20px 24px !important;
    background: #ff5a00 !important; background-color: #ff5a00 !important;
    color: #fff !important;
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 18px !important; font-weight: 700 !important;
    letter-spacing: 0.14em !important; text-transform: uppercase !important;
    border: none !important; border-radius: 10px !important;
    cursor: pointer !important;
    transition: background 0.18s, transform 0.1s !important;
    margin-top: 10px !important; text-align: center !important;
    line-height: 1 !important; box-shadow: none !important; -webkit-appearance: none !important;
}
div#ca-modal button.ca-btn-cast:hover,
div#ca-inf-modal button.ca-btn-cast:hover,
div#ca-st-modal button.ca-btn-cast:hover { background: #e04d00 !important; color: #fff !important; }
div#ca-modal button.ca-btn-cast:active,
div#ca-inf-modal button.ca-btn-cast:active,
div#ca-st-modal button.ca-btn-cast:active { transform: scale(0.99) !important; }
div#ca-modal button.ca-btn-cast:disabled,
div#ca-inf-modal button.ca-btn-cast:disabled,
div#ca-st-modal button.ca-btn-cast:disabled { background: #bbb !important; cursor: not-allowed !important; }

/* ── Feedback ── */
div#ca-modal div.ca-form__feedback,
div#ca-inf-modal div.ca-form__feedback,
div#ca-st-modal div.ca-form__feedback {
    text-align: center !important; padding: 11px 16px !important;
    border-radius: 4px !important; font-size: 14px !important; font-weight: 600 !important;
    margin-top: 10px !important; font-family: 'Barlow', sans-serif !important;
}
div#ca-modal div.ca-form__feedback.is-success,
div#ca-inf-modal div.ca-form__feedback.is-success,
div#ca-st-modal div.ca-form__feedback.is-success { background: #d4edda !important; color: #155724 !important; }
div#ca-modal div.ca-form__feedback.is-error,
div#ca-inf-modal div.ca-form__feedback.is-error,
div#ca-st-modal div.ca-form__feedback.is-error { background: #f8d7da !important; color: #721c24 !important; }

/* ── Animação ── */
@keyframes ca-modal-in {
    from { opacity: 0; transform: translateY(14px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
div#ca-modal:not([hidden]) div.ca-modal__box,
div#ca-inf-modal:not([hidden]) div.ca-modal__box,
div#ca-st-modal:not([hidden]) div.ca-modal__box {
    animation: ca-modal-in 0.22s ease forwards;
}

/* ══════════════════════════════════════════
   INFLUENCER — extras específicos
══════════════════════════════════════════ */
div#ca-inf-modal .ca-inf-bio-row { margin: 4px 0 12px 0 !important; }
div#ca-inf-modal p.ca-inf-bio-text {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important; font-weight: 400 !important;
    color: #555 !important; line-height: 1.5 !important;
    margin: 0 !important; padding: 0 !important;
}

/* Botão Download Midia Kit */
div#ca-inf-modal a.ca-btn-mediakit {
    display: block !important; width: 100% !important;
    padding: 16px 20px !important; margin-top: 20px !important;
    background: #000 !important; background-color: #000 !important;
    color: #fff !important;
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 15px !important; font-weight: 700 !important;
    letter-spacing: 0.10em !important; text-transform: uppercase !important;
    text-align: center !important; text-decoration: none !important;
    border: none !important; border-radius: 10px !important;
    cursor: pointer !important; transition: background 0.18s !important; line-height: 1 !important;
}
div#ca-inf-modal a.ca-btn-mediakit:hover {
    background: #333 !important; background-color: #333 !important;
    color: #fff !important; text-decoration: none !important;
}

p.ca-empty { color: #777 !important; text-align: center !important; padding: 60px 20px !important; }

@media (max-width: 768px) {
    div#ca-modal div.ca-modal__box,
    div#ca-inf-modal div.ca-modal__box,
    div#ca-st-modal div.ca-modal__box { padding: 28px 18px 24px !important; }
}

/* ══════════════════════════════════════════
   STUDIO — Cards horizontais 3 colunas
══════════════════════════════════════════ */

div.ca-st-wrap {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

div.ca-st-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 900px) { div.ca-st-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { div.ca-st-grid { grid-template-columns: 1fr !important; } }

/* Card Studio */
article.ca-st-card {
    position: relative !important;
    display: block !important;
    cursor: pointer !important;
    overflow: hidden !important;
    background: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    /* ratio 16:10 — horizontal */
    aspect-ratio: 16 / 10 !important;
}
article.ca-st-card:focus { outline: 3px solid #ff5a00 !important; outline-offset: -3px !important; }

/* Imagem de fundo que preenche o card */
div.ca-st-card__img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}
div.ca-st-card__img img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}
article.ca-st-card:hover div.ca-st-card__img img { transform: scale(1.06) !important; }

/* Overlay gradiente escuro na parte inferior */
div.ca-st-card__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 100%) !important;
    transition: opacity 0.3s !important;
}
article.ca-st-card:hover div.ca-st-card__overlay { opacity: 0.9 !important; }

/* Título e preço sobre a imagem */
div.ca-st-card__info {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 16px 20px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 10px !important;
    z-index: 2 !important;
}

span.ca-st-card__title {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: clamp(14px, 1.4vw, 20px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    line-height: 1.15 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
    flex: 1 !important;
}

span.ca-st-card__price {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    opacity: 0.85 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    background: rgba(255,90,0,0.85) !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
}

/* Borda hover sutil */
article.ca-st-card::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border: 2px solid transparent !important;
    transition: border-color 0.2s !important;
    pointer-events: none !important;
    z-index: 3 !important;
}
article.ca-st-card:hover::after { border-color: rgba(255,255,255,0.25) !important; }

/* ── Modal Studio — seletores base já cobertos pelos globais ── */
/* Apenas extras específicos */

div#ca-st-modal .ca-st-desc-text {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #555 !important;
    line-height: 1.5 !important;
    margin: 4px 0 12px 0 !important;
    padding: 0 !important;
}

div#ca-st-modal dl.ca-info-list dt {
    min-width: 88px !important;
}

/* Botão BOOK NOW */
div#ca-st-modal button.ca-btn-rent {
    background: #ff5a00 !important;
    background-color: #ff5a00 !important;
}
div#ca-st-modal button.ca-btn-rent:hover {
    background: #e04d00 !important;
    background-color: #e04d00 !important;
}

/* ── Correções v1.1.0: card studio borda + fonte ── */

/* Borda branca no card */
article.ca-st-card {
    border: 1px solid rgba(255,255,255,0.18) !important;
    outline: none !important;
}
article.ca-st-card:hover {
    border-color: rgba(255,255,255,0.55) !important;
}
article.ca-st-card:focus {
    border-color: #ff5a00 !important;
    outline: none !important;
}

/* Garantir fonte Barlow Condensed no título do card */
span.ca-st-card__title {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-style: italic !important;
}

/* ── Form row: dois campos lado a lado (studio modal) ── */
div#ca-st-modal div.ca-form__row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}
@media (max-width: 500px) {
    div#ca-st-modal div.ca-form__row {
        grid-template-columns: 1fr !important;
    }
}

/* ══════════════════════════════════════════
   TEAM — Cards sem modal, 5 colunas
══════════════════════════════════════════ */

div.ca-team-wrap {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

div.ca-team-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--ca-team-cols, 5), 1fr) !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 1200px) { div.ca-team-grid { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 900px)  { div.ca-team-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 620px)  { div.ca-team-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; } }
@media (max-width: 380px)  { div.ca-team-grid { grid-template-columns: 1fr !important; } }

/* Card */
div.ca-team-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #fff !important;
    background: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: default !important;
}

/* Foto — sem ratio fixo, proporcional */
div.ca-team-card div.ca-team-card__photo {
    width: 100% !important;
    overflow: hidden !important;
    background: #1a1a1a !important;
    display: block !important;
    line-height: 0 !important;
    font-size: 0 !important;
}
div.ca-team-card div.ca-team-card__photo img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    position: static !important;
    max-width: 100% !important;
    filter: grayscale(100%) !important;
    transition: filter 0.35s ease !important;
}
div.ca-team-card:hover div.ca-team-card__photo img {
    filter: grayscale(0%) !important;
}

/* Rodapé preto com nome e cargo */
div.ca-team-card div.ca-team-card__footer {
    background: #000 !important;
    padding: 12px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    border-top: 1px solid #fff !important;
    flex-shrink: 0 !important;
}

/* Nome — Barlow Condensed Bold */
div.ca-team-card span.ca-team-card__name {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: 0.01em !important;
    line-height: 1.1 !important;
    display: block !important;
}

/* Cargo — menor, uppercase, espaçado */
div.ca-team-card span.ca-team-card__role {
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    display: block !important;
    opacity: 0.75 !important;
}

/* ── Studio modal: padding extra embaixo para botão não cortar ── */
div#ca-st-modal div.ca-modal__box {
    padding-bottom: 56px !important;
}

/* ══════════════════════════════════════════
   VIDEO PRODUCTION — Before/After Slider
══════════════════════════════════════════ */

div.ca-ba-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

/* Container do slider — relative para clip-path funcionar */
div.ca-ba-slider {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    cursor: ew-resize !important;
    touch-action: pan-y !important;
    /* Altura responsiva: 55vw desktop, 60vw tablet, 75vw mobile */
    height: 55vw !important;
    max-height: 680px !important;
    min-height: 280px !important;
    display: block !important;
}

/* AFTER — fundo, cobre tudo */
div.ca-ba-after,
div.ca-ba-before {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

div.ca-ba-after img,
div.ca-ba-before img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    pointer-events: none !important;
    draggable: false !important;
}

/* BEFORE — clip-path dinâmico via JS (inicia em 50%) */
div.ca-ba-before {
    clip-path: inset(0 50% 0 0); /* SEM !important — JS sobrescreve via inline style */
    z-index: 2 !important;
}

/* Texto esquerdo (BEFORE) — Neue Power Ultra / Barlow Condensed */
div.ca-ba-left-text {
    position: absolute !important;
    left: 6% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 15 !important; /* acima do handle (10) e de tudo */
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    pointer-events: none !important;
}

div.ca-ba-left-text span {
    font-family: 'Neue Power Ultra', 'NeuePowerUltra', 'neue-power', 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: clamp(20px, 2.6vw, 42px) !important;
    font-weight: 800 !important;
    font-style: normal !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    line-height: 1.1 !important;
    display: block !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

/* Texto direito (AFTER) */
div.ca-ba-right-text {
    position: absolute !important;
    right: 5% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    max-width: 280px !important;
    z-index: 3 !important;
    text-align: right !important;
    pointer-events: none !important;
}

div.ca-ba-right-text {
    font-family: 'Barlow', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(11px, 1.1vw, 15px) !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.88) !important;
    line-height: 1.55 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.35) !important;
}

/* Handle — linha + círculo */
div.ca-ba-handle {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50%; /* SEM !important — JS atualiza via inline style */
    transform: translateX(-50%) !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    pointer-events: none !important;
}

div.ca-ba-line {
    width: 2px !important;
    flex: 1 !important;
    background: #ffffff !important;
    box-shadow: 0 0 8px rgba(0,0,0,0.4) !important;
}

div.ca-ba-circle {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
    transition: transform 0.15s ease !important;
    flex-shrink: 0 !important;
}

div.ca-ba-wrap:hover div.ca-ba-circle {
    transform: translate(-50%, -50%) scale(1.1) !important;
}

div.ca-ba-circle svg {
    display: block !important;
    pointer-events: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    div.ca-ba-slider {
        height: 68vw !important;
        max-height: 480px !important;
        min-height: 220px !important;
        cursor: ns-resize !important;
    }
    div.ca-ba-left-text span { font-size: clamp(13px, 3.5vw, 24px) !important; }
    div.ca-ba-right-text { max-width: 38% !important; font-size: clamp(9px, 2vw, 13px) !important; }
    div.ca-ba-circle { width: 36px !important; height: 36px !important; }
}

@media (max-width: 480px) {
    div.ca-ba-slider { height: 80vw !important; min-height: 200px !important; }
    div.ca-ba-left-text span { font-size: clamp(11px, 4vw, 20px) !important; }
    div.ca-ba-right-text { display: none !important; }
}

/* picture element herda estilos — before/after mobile */
div.ca-ba-after picture,
div.ca-ba-before picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}
div.ca-ba-after picture img,
div.ca-ba-before picture img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    pointer-events: none !important;
}

/* ══════════════════════════════════════════
   VIDEO CAROUSEL — 1 + 1/2 peek effect
══════════════════════════════════════════ */

div.ca-vc-wrap {
    position: relative !important;
    width: 100% !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

/* Header com título */
div.ca-vc-header {
    margin: 0 0 0 0 !important;
    padding: 0 !important;
}

h2.ca-vc-title {
    font-family: 'Neue Power Ultra', 'NeuePowerUltra', 'Barlow Condensed', Arial, sans-serif !important;
    font-size: clamp(28px, 4vw, 56px) !important;
    font-weight: 800 !important;
    font-style: normal !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

/* Viewport — overflow hidden, mostra 1 + meio */
div.ca-vc-viewport {
    position: relative !important;
    width: 100% !important;
    height: var(--ca-vc-h, 620px) !important;
    overflow: hidden !important;
    cursor: grab !important;
}
div.ca-vc-viewport:active { cursor: grabbing !important; }

/* Track — flex, sem quebra */
div.ca-vc-track {
    display: flex !important;
    height: 100% !important;
    will-change: transform !important;
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Slide individual — 1 card visível + 50% do próximo */
div.ca-vc-slide {
    position: relative !important;
    /* Largura: ~66.6% → mostra 1 + metade do próximo */
    flex: 0 0 calc(66.67% - 8px) !important;
    width: calc(66.67% - 8px) !important;
    height: 100% !important;
    overflow: hidden !important;
    cursor: pointer !important;
    margin-right: 16px !important;
    background: #111 !important;
}
div.ca-vc-slide:last-child { margin-right: 0 !important; }
div.ca-vc-slide:focus { outline: 2px solid #ff5a00 !important; outline-offset: -2px !important; }

/* Thumbnail que preenche o slide */
div.ca-vc-thumb {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
div.ca-vc-thumb img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}
div.ca-vc-slide:hover div.ca-vc-thumb img { transform: scale(1.04) !important; }

/* Overlay escuro */
div.ca-vc-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.5) 100%) !important;
    transition: opacity 0.3s !important;
}
div.ca-vc-slide:hover div.ca-vc-overlay { opacity: 0.7 !important; }

/* Categoria — canto superior esquerdo */
div.ca-vc-category {
    position: absolute !important;
    top: 18px !important;
    left: 20px !important;
    z-index: 5 !important;
    font-family: 'Neue Power Ultra', 'NeuePowerUltra', 'Barlow Condensed', Arial, sans-serif !important;
    font-size: clamp(13px, 1.4vw, 20px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important;
    pointer-events: none !important;
}

/* Botão play centralizado */
div.ca-vc-play-btn {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 6 !important;
    width: 72px !important;
    height: 72px !important;
    background: rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s, transform 0.2s !important;
    pointer-events: none !important;
}
div.ca-vc-slide:hover div.ca-vc-play-btn {
    background: rgba(255,255,255,0.28) !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
}
div.ca-vc-play-btn svg { margin-left: 4px !important; }

/* Player (iframe/video) — overlay que cobre o slide */
div.ca-vc-player {
    position: absolute !important;
    inset: 0 !important;
    z-index: 20 !important;
    background: #000 !important;
}
div.ca-vc-player[hidden] { display: none !important; }
div.ca-vc-player iframe,
div.ca-vc-player video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    display: block !important;
}

/* Botões prev/next */
button.ca-vc-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(0,0,0,0.55) !important;
    border: 1.5px solid rgba(255,255,255,0.25) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s, border-color 0.15s !important;
    backdrop-filter: blur(4px) !important;
}
button.ca-vc-btn:hover {
    background: #ff5a00 !important;
    border-color: #ff5a00 !important;
}
button.ca-vc-btn--prev { left: 12px !important; }
button.ca-vc-btn--next { right: 12px !important; }
button.ca-vc-btn[disabled] { opacity: 0.25 !important; cursor: default !important; }

/* ── Mobile ── */
@media (max-width: 768px) {
    div.ca-vc-viewport {
        height: calc(var(--ca-vc-h, 620px) * 0.65) !important;
    }
    div.ca-vc-slide {
        /* Mobile: mostra 1 + 30% do próximo */
        flex: 0 0 calc(78% - 6px) !important;
        width: calc(78% - 6px) !important;
        margin-right: 10px !important;
    }
    div.ca-vc-play-btn { width: 56px !important; height: 56px !important; }
    div.ca-vc-category { font-size: clamp(11px, 3vw, 16px) !important; top: 12px !important; left: 14px !important; }
    button.ca-vc-btn { width: 38px !important; height: 38px !important; }
}

@media (max-width: 480px) {
    div.ca-vc-viewport { height: calc(var(--ca-vc-h, 620px) * 0.55) !important; }
    div.ca-vc-slide { flex: 0 0 calc(88% - 6px) !important; width: calc(88% - 6px) !important; }
}

/* ══════════════════════════════════════════
   PHOTOGRAPHY PORTFOLIO — Abas + Carrossel
══════════════════════════════════════════ */

div.ca-ph-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* ─── Abas ─── */
div.ca-ph-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 0 45px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: none !important;
}

/* Estilo border (padrão — igual ao print) */
button.ca-ph-tab--border {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 28px !important;
    background: transparent !important;
    border: 2px solid #fff !important;
    border-radius: 0 !important;
    color: #fff !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    cursor: pointer !important;
    transition: background 0.18s, border-color 0.18s, color 0.18s !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    min-height: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
button.ca-ph-tab--border:hover {
    border-color: #fff !important;
    color: #fff !important;
    background: rgba(255,255,255,0.08) !important;
}
button.ca-ph-tab--border.is-active {
    background: #ff5a00 !important;
    border-color: #ff5a00 !important;
    color: #fff !important;
}

/* Estilo filled */
button.ca-ph-tab--filled {
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 22px !important;
    background: rgba(255,255,255,0.08) !important;
    border: none !important;
    border-radius: 4px !important;
    color: rgba(255,255,255,0.7) !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.18s, color 0.18s !important;
    white-space: nowrap !important;
}
button.ca-ph-tab--filled:hover { background: rgba(255,255,255,0.15) !important; color: #fff !important; }
button.ca-ph-tab--filled.is-active { background: #ff5a00 !important; color: #fff !important; }

/* Estilo pill */
button.ca-ph-tab--pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 9px 20px !important;
    background: transparent !important;
    border: 1.5px solid rgba(255,255,255,0.3) !important;
    border-radius: 50px !important;
    color: rgba(255,255,255,0.7) !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.18s !important;
    white-space: nowrap !important;
}
button.ca-ph-tab--pill:hover { border-color: #fff !important; color: #fff !important; }
button.ca-ph-tab--pill.is-active { background: #ff5a00 !important; border-color: #ff5a00 !important; color: #fff !important; }

/* ─── Painel ─── */
div.ca-ph-panel {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    /* sem espaço entre abas e imagens */
}
div.ca-ph-panel[hidden="true"],
div.ca-ph-panel:not(.is-active) { display: none !important; }
div.ca-ph-panel.is-active { display: block !important; }

/* ─── Carrossel ─── */
div.ca-ph-carousel {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    height: var(--ca-ph-h, 480px) !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
div.ca-ph-carousel:active { cursor: grabbing !important; }

div.ca-ph-track {
    display: flex !important;
    height: 100% !important;
    gap: 0 !important;
    transition: transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Slide: ratio ajustado para mostrar aprox 4 no desktop */
div.ca-ph-slide {
    position: relative !important;
    flex: 0 0 25% !important;
    width: 25% !important;
    height: 100% !important;
    overflow: hidden !important;
    cursor: pointer !important;
    background: #1a1a1a !important;
    flex-shrink: 0 !important;
}
div.ca-ph-slide img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.4s ease, opacity 0.3s ease !important;
    pointer-events: none !important;
}
div.ca-ph-slide:hover img { transform: scale(1.04) !important; opacity: 0.88 !important; }

/* Ícone de zoom no hover */
div.ca-ph-slide::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,0) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.25s !important;
    pointer-events: none !important;
}
div.ca-ph-slide:hover::after { background: rgba(0,0,0,0.18) !important; }

/* Botões nav do carrossel */
button.ca-ph-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(0,0,0,0.6) !important;
    border: 1.5px solid rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s, border-color 0.15s !important;
    backdrop-filter: blur(4px) !important;
    box-shadow: none !important;
}
button.ca-ph-nav:hover { background: #ff5a00 !important; border-color: #ff5a00 !important; }
button.ca-ph-nav[disabled] { opacity: 0.2 !important; cursor: default !important; }
button.ca-ph-nav--prev { left: 10px !important; }
button.ca-ph-nav--next { right: 10px !important; }

/* ─── Lightbox do photography ─── */
div.ca-ph-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}
div.ca-ph-lightbox[hidden] { display: none !important; }

div.ca-ph-lb-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.92) !important;
    cursor: pointer !important;
}

div.ca-ph-lb-box {
    position: relative !important;
    z-index: 1 !important;
    max-width: 90vw !important;
    max-height: 90vh !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

div.ca-ph-lb-img-wrap {
    max-width: 85vw !important;
    max-height: 88vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
div.ca-ph-lb-img-wrap img {
    max-width: 100% !important;
    max-height: 88vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 3px !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6) !important;
}

button.ca-ph-lb-close {
    position: absolute !important;
    top: -48px !important;
    right: 0 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,0.1) !important;
    border: 1.5px solid rgba(255,255,255,0.3) !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 20px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s !important;
    z-index: 2 !important;
}
button.ca-ph-lb-close:hover { background: #ff5a00 !important; border-color: #ff5a00 !important; }

button.ca-ph-lb-prev,
button.ca-ph-lb-next {
    width: 48px !important;
    height: 48px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,0.1) !important;
    border: 1.5px solid rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 32px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}
button.ca-ph-lb-prev:hover,
button.ca-ph-lb-next:hover { background: #ff5a00 !important; border-color: #ff5a00 !important; }
button.ca-ph-lb-prev[disabled],
button.ca-ph-lb-next[disabled] { opacity: 0.2 !important; cursor: default !important; }

/* ─── Mobile ─── */
@media (max-width: 768px) {
    div.ca-ph-carousel { height: calc(var(--ca-ph-h, 480px) * 0.7) !important; }
    div.ca-ph-slide { flex: 0 0 50% !important; width: 50% !important; }
    div.ca-ph-tabs { gap: 6px !important; }
    button.ca-ph-tab--border,
    button.ca-ph-tab--filled,
    button.ca-ph-tab--pill { padding: 10px 16px !important; font-size: 14px !important; }
}
@media (max-width: 480px) {
    div.ca-ph-slide { flex: 0 0 85% !important; width: 85% !important; }
    div.ca-ph-carousel { height: calc(var(--ca-ph-h, 480px) * 0.65) !important; }
    div.ca-ph-lb-prev, div.ca-ph-lb-next { display: none !important; }
}

/* ══════════════════════════════════════════
   STUDIO SERVICES — Carrossel simples
   4 imagens visíveis, setas laterais, sem zoom
══════════════════════════════════════════ */

div.ca-svc-wrap {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

div.ca-svc-viewport {
    width: 100% !important;
    overflow: hidden !important;
    height: var(--ca-svc-h, 440px) !important;
    min-height: 200px !important;
    display: block !important;
}

div.ca-svc-track {
    display: flex !important;
    height: 100% !important;
    gap: 35px !important;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
div.ca-svc-track:active { cursor: grabbing !important; }

div.ca-svc-slide {
    flex: 0 0 calc(100% / var(--ca-svc-per, 4)) !important;
    width: calc(100% / var(--ca-svc-per, 4)) !important;
    height: 100% !important;
    min-height: 200px !important;
    overflow: hidden !important;
    position: relative !important;
    display: block !important;
    flex-shrink: 0 !important;
}

div.ca-svc-slide img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    pointer-events: none !important;
    /* SEM transition — sem zoom */
}

/* Setas — fora do viewport, nas laterais */
button.ca-svc-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 22px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.15s !important;
    opacity: 0.75 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    line-height: 1 !important;
}
button.ca-svc-btn:hover  { opacity: 1 !important; }
button.ca-svc-btn[disabled] { opacity: 0.2 !important; cursor: default !important; }

button.ca-svc-btn--prev { left: -28px !important; }
button.ca-svc-btn--next { right: -28px !important; }

/* Se não houver espaço lateral, colocar sobre o carousel */
@media (max-width: 1100px) {
    button.ca-svc-btn--prev { left: 8px !important; }
    button.ca-svc-btn--next { right: 8px !important; }
}

/* Mobile: 2 por vez */
@media (max-width: 768px) {
    div.ca-svc-wrap { --ca-svc-per: 2 !important; }
    div.ca-svc-viewport { height: calc(var(--ca-svc-h, 440px) * 0.7) !important; }
}
@media (max-width: 480px) {
    div.ca-svc-wrap { --ca-svc-per: 1 !important; }
}

/* Margem direita entre slides do photography */
div.ca-ph-slide { margin-right: 30px !important; }
div.ca-ph-slide:last-child { margin-right: 0 !important; }

/* ══════════════════════════════════════════
   VIDEO OVERLAY — Drag overlay sobre vídeo
   Simula "antes vs depois" com shape arrastável
══════════════════════════════════════════ */

div.ca-vo-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

div.ca-vo-slider {
    position: relative !important;
    width: 100% !important;
    /* 16:9 exato — elimina as barras pretas do YouTube */
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    max-height: 680px !important;
    min-height: 280px !important;
    overflow: hidden !important;
    cursor: none !important;
}

/* Vídeo DEPOIS — base, ocupa 100%, sempre visível */
div.ca-vo-video-after {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Vídeo ANTES — sobreposto, clipado pela metade esquerda via clip-path */
div.ca-vo-video-before {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 2 !important;
    pointer-events: none !important;
    /* clip-path controlado pelo JS — inicia em 50% */
    clip-path: inset(0 50% 0 0);
    -webkit-clip-path: inset(0 50% 0 0);
}

div.ca-vo-video-bg video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

div.ca-vo-video-bg iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    /* Overscan agressivo: cobre barras pretas em qualquer tela */
    width: calc(100% + 4px) !important;
    height: calc(100% + 4px) !important;
    /* Garante proporção 16:9 mínima */
    min-width: calc(177.78vh) !important;  /* 16/9 * 100vh */
    min-height: calc(56.25vw) !important;  /* 9/16 * 100vw */
    transform: translate(-50%, -50%) !important;
    border: none !important;
    pointer-events: none !important;
}

/* Overlay — não usado mais com 2 vídeos (bad-filter cobre o video-before) */
div.ca-vo-overlay {
    display: none !important;
}

/* Pseudo-elemento com o filtro de degradação — não afeta o handle */
div.ca-vo-overlay::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    /* Baixa saturação + contraste baixo + leve escurecido */
    background: rgba(30, 30, 30, 0.18) !important;
    mix-blend-mode: multiply !important;
    pointer-events: none !important;
}

/* A parte do vídeo sob o overlay fica "degradada" via filter no wrapper */
div.ca-vo-wrap.has-overlay-left div.ca-vo-video-bg {
    /* Sobrescrito — o filtro fica no pseudo-elemento separado */
}

/* SVG noise filter para textura granulada */
div.ca-vo-overlay::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    opacity: 0.08 !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E") !important;
    background-size: 128px 128px !important;
    mix-blend-mode: overlay !important;
    pointer-events: none !important;
}

/* Div separada para aplicar o filtro CSS de degradação sobre a parte esquerda do vídeo */
div.ca-vo-bad-filter {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 3 !important;
    pointer-events: none !important;
    --ca-vo-blur: 3px;
    backdrop-filter: saturate(0.90) brightness(0.95) blur(var(--ca-vo-blur, 3px)) !important;
    -webkit-backdrop-filter: saturate(0.90) brightness(0.95) blur(var(--ca-vo-blur, 3px)) !important;
}

/* Texto esquerdo — sobre o overlay */
div.ca-vo-left-text {
    position: absolute !important;
    left: 6% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    pointer-events: none !important;
}

div.ca-vo-left-text span {
    color: #ffffff !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    display: block !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

/* Texto direito — sobre o vídeo limpo */
div.ca-vo-right-text {
    position: absolute !important;
    right: 3% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    max-width: 350px !important;
    z-index: 4 !important;
    text-align: right !important;
    color: rgba(255,255,255,0.88) !important;
    line-height: 1.55 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.35) !important;
    pointer-events: none !important;
}

/* Handle — linha + círculo */
div.ca-vo-handle {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50%; /* SEM !important — JS sobrescreve via inline style */
    width: 2px !important;
    transform: translateX(-50%) !important;
    z-index: 15 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    pointer-events: none !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

div.ca-vo-line {
    width: 2px !important;
    flex: 1 !important;
    background: #ffffff !important;
    box-shadow: 0 0 8px rgba(0,0,0,0.4) !important;
}

div.ca-vo-circle {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
    flex-shrink: 0 !important;
    transition: transform 0.15s !important;
}

div.ca-vo-wrap:hover div.ca-vo-circle {
    transform: translate(-50%, -50%) scale(1.1) !important;
}

/* Mobile */
@media (max-width: 768px) {
    div.ca-vo-slider {
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
        max-height: 480px !important;
        min-height: 220px !important;
        cursor: ns-resize !important;
    }
    div.ca-vo-left-text span { font-size: clamp(13px,3.5vw,24px) !important; }
    div.ca-vo-right-text { max-width: 38% !important; font-size: clamp(9px,2vw,13px) !important; }
    div.ca-vo-circle { width: 36px !important; height: 36px !important; }
}
@media (max-width: 480px) {
    div.ca-vo-slider { height: 80vw !important; min-height: 200px !important; }
    div.ca-vo-right-text { display: none !important; }
}

/* Bloquear cliques e overlay nativo do YouTube iframe */
div.ca-vo-video-bg iframe {
    pointer-events: none !important;
}
/* Pseudo-elemento cobrindo o iframe para bloquear qualquer UI residual */
div.ca-vo-video-bg::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* ── Video Overlay — altura por breakpoint via ID #videooverlay ── */

/* Desktop (> 1200px) */
@media (min-width: 1201px) {
    #videooverlay div.ca-vo-slider {
        max-height: 680px !important;
    }
}

/* Notebook (769px – 1200px) */
@media (min-width: 769px) and (max-width: 1200px) {
    #videooverlay div.ca-vo-slider {
        max-height: 500px !important;
    }
}

/* Mobile (≤ 768px) */
@media (max-width: 768px) {
    #videooverlay div.ca-vo-slider {
        max-height: 340px !important;
    }
}

/* Camada de captura de eventos — cobre o iframe por completo */
div.ca-vo-drag-layer { 
    position: absolute !important;
    inset: 0 !important;
    z-index: 50 !important; /* acima do iframe (z1), overlay (z3), bad-filter (z2), handle (z10) */
    cursor: none !important; /* sem cursor — o handle mostra a posição */
    background: transparent !important;
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* ══════════════════════════════════════════
   SOCIAL MEDIA B&A — Before & After Carousel
══════════════════════════════════════════ */

div.ca-bas-wrap {
    position: relative !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

div.ca-bas-viewport {
    width: 100% !important;
    overflow: hidden !important;
    display: block !important;
}

div.ca-bas-track {
    display: flex !important;
    height: 100% !important;
    gap: 0 !important;
    transition: transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
    cursor: grab !important;
}
div.ca-bas-track:active { cursor: grabbing !important; }

/* Slide — dois halves lado a lado */
div.ca-bas-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #111 !important;
}

/* Half — before ou after */
div.ca-bas-half {
    flex: 1 1 50% !important;
    width: 50% !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
}

div.ca-bas-half img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    pointer-events: none !important;
}

/* Label BEFORE / AFTER — canto inferior */
span.ca-bas-label {
    position: absolute !important;
    bottom: 18px !important;
    font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
    font-size: clamp(14px, 1.4vw, 20px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}
div.ca-bas-half--before span.ca-bas-label { left: 20px !important; }
div.ca-bas-half--after  span.ca-bas-label { left: 20px !important; }

/* Linha divisória central */
div.ca-bas-divider {
    flex: 0 0 2px !important;
    width: 2px !important;
    background: rgba(255,255,255,0.6) !important;
    height: 100% !important;
    z-index: 3 !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

/* Setas — fora do viewport */
button.ca-bas-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.75 !important;
    transition: opacity 0.15s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
button.ca-bas-btn:hover   { opacity: 1 !important; }
button.ca-bas-btn[disabled] { opacity: 0.2 !important; cursor: default !important; }
button.ca-bas-btn--prev { left: -36px !important; }
button.ca-bas-btn--next { right: -36px !important; }

@media (max-width: 1100px) {
    button.ca-bas-btn--prev { left: 8px !important; }
    button.ca-bas-btn--next { right: 8px !important; }
}

/* Mobile */
@media (max-width: 768px) {
    div.ca-bas-viewport { height: auto !important; }
    div.ca-bas-slide    { height: auto !important; min-height: 220px !important; }
    span.ca-bas-label   { font-size: 12px !important; bottom: 10px !important; }
}

/* ══════════════════════════════════════════
   STUDIO PHOTOS — Full width, 1 + ½ peek
   object-fit: contain para altura uniforme
══════════════════════════════════════════ */

div.ca-sp-wrap {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

div.ca-sp-viewport {
    width: 100% !important;
    overflow: hidden !important;
    display: block !important;
}

div.ca-sp-track {
    display: flex !important;
    gap: 16px !important;
    transition: transform 0.44s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
    cursor: grab !important;
    align-items: stretch !important;
}
div.ca-sp-track:active { cursor: grabbing !important; }

/* Slide: largura fixa 451px (prop. 748×862 → altura 520px) */
div.ca-sp-slide {
    flex: 0 0 451px !important;
    width: 451px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    display: block !important;
}

div.ca-sp-slide img {
    width: 100% !important;
    height: 100% !important;
    /* cover: preenche o slide sem barras pretas */
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    pointer-events: none !important;
}

/* Setas — simples, fora do viewport */
button.ca-sp-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.75 !important;
    transition: opacity 0.15s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
button.ca-sp-btn:hover    { opacity: 1 !important; }
button.ca-sp-btn[disabled]{ opacity: 0.2 !important; cursor: default !important; }
button.ca-sp-btn--prev { left: -36px !important; }
button.ca-sp-btn--next { right: -36px !important; }

@media (max-width: 1100px) {
    button.ca-sp-btn--prev { left: 10px !important; }
    button.ca-sp-btn--next { right: 10px !important; }
}

/* Mobile: slide ocupa ~88% → mostra 1 + 12% do próximo */
@media (max-width: 768px) {
    div.ca-sp-slide {
        flex: 0 0 88% !important;
        width: 88% !important;
    }
    div.ca-sp-viewport { height: auto !important; }
    div.ca-sp-slide     { height: auto !important; min-height: 260px !important; }
}

/* ══════════════════════════════════════════
   GOOGLE REVIEWS — Carrossel de cards de texto
══════════════════════════════════════════ */

div.ca-gr-wrap {
    position: relative !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    user-select: none !important;
}

div.ca-gr-viewport {
    width: 100% !important;
    overflow: hidden !important;
}

div.ca-gr-track {
    display: flex !important;
    gap: 20px !important;
    transition: transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    align-items: stretch !important;
    cursor: grab !important;
}
div.ca-gr-track:active { cursor: grabbing !important; }

/* Card */
div.ca-gr-card {
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    border: 3px solid #000000 !important;
    border-radius: 2px !important;
    padding: 24px 24px 20px !important;
    background: #fff !important;
    color: #111 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-height: 140px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

/* Aspas — imagem */
div.ca-gr-quote {
    display: block !important;
    margin-bottom: -21px !important;
    pointer-events: none !important;
    line-height: 0 !important;
}
div.ca-gr-quote img {
    width: 42px !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
}

p.ca-gr-text {
    font-family: 'Inter', sans-serif !important;
    font-size: clamp(13px, 1.1vw, 17px) !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: #000000 !important;
    margin: 0 !important;
    flex: 1 !important;
}

div.ca-gr-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-top: 4px !important;
}

span.ca-gr-author {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #555 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

span.ca-gr-time {
    font-family: 'Barlow', sans-serif !important;
    font-size: 11px !important;
    color: #aaa !important;
}

/* Setas */
button.ca-gr-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: rgba(0,0,0,0.06) !important;
    border: 1.5px solid #ddd !important;
    border-radius: 50% !important;
    color: #333 !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s, border-color 0.15s !important;
    box-shadow: none !important;
}
button.ca-gr-btn:hover { background: #ff5a00 !important; border-color: #ff5a00 !important; color: #fff !important; }
button.ca-gr-btn[disabled] { opacity: 0.25 !important; cursor: default !important; }
button.ca-gr-btn--prev { left: -48px !important; }
button.ca-gr-btn--next { right: -48px !important; }

@media (max-width: 1100px) {
    button.ca-gr-btn--prev { left: 4px !important; }
    button.ca-gr-btn--next { right: 4px !important; }
}

/* Mobile: 1 card por vez */
@media (max-width: 768px) {
    div.ca-gr-card {
        flex: 0 0 calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
        padding: 20px !important;
    }
}

/* ══════════════════════════════════════════
   GALLERY EQUIPAMENTS — largura proporcional
   max-height 410px, contain
══════════════════════════════════════════ */

div.ca-eg-wrap {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

div.ca-eg-viewport {
    width: 100% !important;
    overflow: hidden !important;
    display: block !important;
}

div.ca-eg-track {
    display: flex !important;
    gap: 12px !important;
    transition: transform 0.44s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform !important;
    cursor: grab !important;
    align-items: stretch !important;
}
div.ca-eg-track:active { cursor: grabbing !important; }

/* Slide: largura calculada via PHP inline (proporcional) */
div.ca-eg-slide {
    flex-shrink: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    display: block !important;
    background: #f0f0f0 !important;
}

div.ca-eg-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    pointer-events: none !important;
}

/* Setas */
button.ca-eg-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.8 !important;
    transition: opacity 0.15s !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
button.ca-eg-btn:hover    { opacity: 1 !important; }
button.ca-eg-btn[disabled]{ opacity: 0.2 !important; cursor: default !important; }
button.ca-eg-btn--prev { left: -36px !important; }
button.ca-eg-btn--next { right: -36px !important; }

@media (max-width: 1100px) {
    button.ca-eg-btn--prev { left: 8px !important; }
    button.ca-eg-btn--next { right: 8px !important; }
}

@media (max-width: 768px) {
    div.ca-eg-viewport { height: auto !important; }
    div.ca-eg-slide    { height: auto !important; min-height: 200px !important; }
}

/* YouTube IFrame API player container */
div.ca-vo-yt-player {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
div.ca-vo-yt-player iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: calc(100% + 4px) !important;
    height: calc(100% + 4px) !important;
    min-width: calc(177.78vh) !important;
    min-height: calc(56.25vw) !important;
    transform: translate(-50%, -50%) !important;
    border: none !important;
    pointer-events: none !important;
}

span.ca-gr-stars {
    color: #ff5a00 !important;
    font-size: 16px !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
    display: block !important;
}
