/*
Theme Name: Look Child
Theme URI: http://webdesign-finder.com/look/
Template: look
Author: MW Templates
Author URI: http://modernwebtemplates.com/
Description: Look is a bright, classy and modern WordPress template for portfolio website. As well as theme functionality! The template comes with great portfolio design and customized layout for BOOKED appointment plugin. We've made main accent on theme readability and convenient navigation. Look theme great looks at any device, both desktop computers and phones. Live customizer allows to easily change theme colors, change logo, title, tagline, add social icons and adjust widgets according to your needs.
Tags: Custom-Header,Left-Sidebar,Right-Sidebar,Post-Formats,Rtl-Language-Support,Theme-Options,Editor-Style,Sticky-Post
Version: 1.2.1
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/

body, div, p, h2, h3, h4, h5, h6, li, span, div, strong, b, a {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 16px;
}

.site-content {
    padding: 0 !important;
}

.footer {
    padding: 0 !important;
}

h2 {
    font-size: 30px ;
    font-weight: 600 !important;
    font-style: normal ;
    line-height: 55px !important;
    color: #303030 !important;
}
@media (max-width: 767px) {
    h2 {
        line-height: 30px !important;
        padding-top: 24px;
        display: block;
    }
    
}
h6 {
    font-size: 20px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    line-height: 24px !important;
    color: #616161 !important;
    text-transform: uppercase;
    position: relative;
    display: flex;
}
h6::after {
    content: "";
    width: 400px;
    height: 1px;
    background-color: #000;
    position: relative;
    display: inline-block;
        top: 11px;
    margin-left: 16px;
}

.middle-title {
    display: block;
}

.btn-default-youmodels {
    line-height: 44px;
}
.btn-default-youmodels a {
    border-left: 3px solid rgb(149, 198, 216);
    padding: 0px 20px;
}
.btn-default-youmodels .elementor-button-icon { 
        display: inline-block;
        vertical-align: top;
        margin-left: 16px;
        width: 40px;
        height: 40px;
        line-height: 51px;
        font-size: 20px;
        font-weight: 400;
        text-align: center;
        color: #303030;
        background-color: #95c6d8;
        -webkit-transition: all ease .4s;
        -moz-transition: all ease .4s;
        -ms-transition: all ease .4s;
        -o-transition: all ease .4s;
        transition: all ease .4s;
}
.btn-default-youmodels .elementor-button-icon svg {
        width: 10px;
        -webkit-transition: all ease .4s;
        -moz-transition: all ease .4s;
        -ms-transition: all ease .4s;
        -o-transition: all ease .4s;
        transition: all ease .4s;
}
.btn-default-youmodels a:hover .elementor-button-icon svg {
    fill: #fff;
}
.btn-default-youmodels .elementor-button-text {
    line-height: 41px;
    -webkit-transition: all ease .4s;
        -moz-transition: all ease .4s;
        -ms-transition: all ease .4s;
        -o-transition: all ease .4s;
        transition: all ease .4s;
}
.btn-default-youmodels a:hover .elementor-button-text {
    color: #95c6d8;
}

.sessao-contato-modelo form label {
    position: relative !important;
    display: block;
    font-size: 20px;
    left: 12px;
    line-height: 1;
    top: 10px;
    z-index: 1;
}

/* Model Profile Social */
.model-profile-social {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0px;
    text-align: left;
}

.model-profile-social li {
    position: relative;
    display: inline-block;
    text-align: left;
    line-height: 1;
    margin-right: 16px;
}
.model-profile-social li strong{
    display: block;
    margin-bottom: 16px;
}

.single-models_profile .foto-capa-modelo img {
    border-radius: 16px;
}
.single-models_profile .model-name {
    font-size: 3.4rem;
    
}
.single-models_profile .sessao-contato-modelo h3 {
    font-size: 30px;
    font-size: 2rem;
    text-transform: uppercase;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    line-height: 1;
}



.site-main .elementor-portfolio-item__overlay .lista-medidas-hover {
    padding: 0;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 16px;
    border-left: 3px solid #95c6d8;
    padding-left: 24px;
}
.site-main .elementor-portfolio-item__overlay .lista-medidas-hover li {
    list-style: none;
    font-weight: 400;
    line-height: 26px;
    margin-right: 24px;
}
.site-main .elementor-portfolio-item__overlay .lista-medidas-hover li strong {
    display: block;
    font-weight: 600;
}
.site-main .elementor-portfolio-item__overlay {
    opacity: 1 !important;
    background-color: #fff !important;
    /* altura fixa para mostrar apenas o nome */
    height: 48px !important;
    max-height: 48px !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-left: 3px solid #95c6d8 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 0 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    transition: height 0.4s ease-in-out,
                max-height 0.4s ease-in-out,
                background-color 0.4s ease-in-out !important;
}

.site-main .elementor-portfolio-item__overlay .elementor-portfolio-item__title {
    color: #595959 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 13px !important;
}

.site-main .elementor-portfolio-item__overlay .elementor-portfolio-item__title .nome-modelo-portfolio {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 13px;
    line-height: 1;
    margin: 0;
    font-family: 'Josefin Sans', sans-serif;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Estado padrão da lista — invisível e sem altura */
.lista-medidas-hover {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    opacity: 0;
    margin: 8px 0 0;
    padding: 0;
    transition: opacity 0.3s ease-in-out 0s !important;
}

/* Hover: expande e mostra medidas */
.elementor-post__thumbnail__link:hover .elementor-portfolio-item__overlay {
    height: 280px !important;
    max-height: 280px !important;
    background-color: #f5f5f5 !important;
    justify-content: flex-start !important;
    padding-top: 14px !important;
}

.elementor-post__thumbnail__link:hover .elementor-portfolio-item__overlay .lista-medidas-hover {
    opacity: 1;
    transition: opacity 0.3s ease-in-out 0.2s !important;
}

.site-main .elementor-post__thumbnail__link {
    padding-bottom: 48px;
}


.elementor-widget-testimonial-carousel .elementor-testimonial__image img {
    /* height: 50px; */
    width: 120px !important;
    height: auto !important;
}

.site-main .elementor-posts .elementor-posts__hover-gradient .elementor-post__card .elementor-post__thumbnail__link:after {
    display: none;
}

.site-main .elementor-posts .elementor-post__thumbnail__link {
    padding-bottom: 0px;
}

.site-main .elementor-posts .elementor-post__card {
    box-shadow: none;
}


/* --- GALERIA MASONRY MODELOS --- */
.galeria-masonry-you { 
    column-count: 3; 
    column-gap: 15px; 
    margin-top: 40px; 
    width: 100%;
}

.foto-item { 
    display: inline-block; 
    width: 100%; 
    margin-bottom: 15px; 
    break-inside: avoid; 
    border-radius: 5px; 
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    background: #f4f4f4;
}

.foto-item:hover { 
    transform: scale(1.02); 
}

.foto-item img { 
    width: 100%; 
    height: auto; 
    display: block; 
}

/* Efeito de carregamento suave */
.lazy-load-img {
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

.lazy-load-img.loaded {
    opacity: 1;
}

/* Ajustes para Celular e Tablet */
@media (max-width: 900px) { 
    .galeria-masonry-you { column-count: 2; } 
}

@media (max-width: 600px) { 
    .galeria-masonry-you { column-count: 1; } 
}

.single-modelos h2 {
    text-transform: uppercase;
    padding: 0;
    margin: 0;
    font-size: 60px;
}
@media (max-width: 900px) { 
    .single-modelos h2 {
        margin-top: 40px;
        font-size: 30px;
    }
}

/* ── CORREÇÃO: skeleton contido dentro do foto-item ── */
.skeleton-wrapper {
    position: relative; /* garante que o ::before fique contido aqui */
    overflow: hidden;   /* impede o shimmer de vazar para fora */
}

.skeleton-wrapper.loading::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
    background-image: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0,
        rgba(255, 255, 255, 0.2) 20%,
        rgba(255, 255, 255, 0.5) 60%,
        rgba(255, 255, 255, 0)
    );
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    100% { transform: translateX(100%); }
}

.lazy-load.loaded {
    opacity: 1 !important;
}

.skeleton-wrapper.loaded::before {
    display: none;
}

/* ============================================================
   HEADER SPLIT: Menu Esquerdo | LOGO CENTRAL | Menu Direito
   Adicione em: Aparência → Personalizar → CSS Adicional
   ============================================================ */

/* Layout principal em 3 colunas iguais */
.header__primary--split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Cada lado do menu ocupa 1 parte flexível */
.header-menu-side {
    flex: 1;
    display: flex;
    align-items: center;
}

/* Logo central: não cresce nem encolhe, fica fixo no meio */
.header-logo-center {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
}

/* Menu esquerdo: itens alinhados à direita (encostam no logo) */
.header-menu-left {
    justify-content: flex-end;
}

.header-menu-left .main-nav--left ul {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Menu direito: itens alinhados à esquerda (encostam no logo) */
.header-menu-right {
        align-items: center;
    display: flex;
    height: 100%;
}

.header-menu-right .main-nav--right ul {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Itens de menu individuais */
.header-menu-left .menu-item,
.header-menu-right .menu-item {
    position: relative;
}

/* Submenu dropdown */
.header-menu-left .sub-menu,
.header-menu-right .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 180px;
    list-style: none;
    padding: 8px 0;
    margin: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 9999;
}

.header-menu-left .menu-item:hover > .sub-menu,
.header-menu-right .menu-item:hover > .sub-menu {
    display: block;
}

.header-menu-left .sub-menu .menu-item a,
.header-menu-right .sub-menu .menu-item a {
    display: block;
    padding: 8px 16px;
    white-space: nowrap;
}

/* ============================================================
   MOBILE: abaixo de 992px — bloco único
   ============================================================ */
@media (max-width: 992px) {

    .search-box {
        display: none !important;
    }

    .header-menu-left,
    .header-menu-right {
        display: none !important;
    }

    /* Fundo cor do tema, sem faixa branca */
    .header-wrapper {
        background-color: #90b2bc !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .header__primary--split {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        min-height: 50px;
        overflow: visible !important;
        background: transparent !important;
    }

    /* Logo abaixo da faixa, sobre o hero */
    .header-logo-center {
        display: flex !important;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        margin-top: 16px;
        z-index: 100;
        flex: none;
        padding: 0;
    }

    /* Hamburguer à direita */
    .toggle_menu {
        margin-left: auto;
        position: static !important;
        transform: none !important;
        flex-shrink: 0;
    }
}

.logo_big {
    max-width: 170px;
}

.main-nav .menu > li:after {
    content: "|";
    font-size: 20px;
    font-size: 2rem;
    font-weight: 400;
    position: relative;
    top: 0px;
}
.main-nav .menu li a {
    font-size: 12px;
    font-weight: 600;
}
.main-nav .menu > li > a {
    margin: 0 10px;
    padding-bottom: 5px;
}


.header-button__search {
    display: none;
}






/*Lazy Load Elementor*/
/* Card oculto — não ocupa espaço e não baixa imagens */

/* ── Cards ocultos ── */
.elementor-post.ym-hidden,
.elementor-portfolio-item.ym-hidden,
.e-loop-item.ym-hidden {
    display: none !important;
}
 
/* ── Fade-in ao revelar ── */
.elementor-post.ym-revealed,
.elementor-portfolio-item.ym-revealed,
.e-loop-item.ym-revealed {
    animation: ym-fadein 0.4s ease forwards;
}
 
@keyframes ym-fadein {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0);    }
}
 
/* ── Sentinela invisível ── */
.ym-sentinel {
    height: 1px;
    width: 100%;
    display: block;
    pointer-events: none;
}
 
/* ══════════════════════════════════════════════════
   BARRA DE STATUS
   ══════════════════════════════════════════════════ */
.ym-status-bar {
    width: 100%;
    padding: 20px 16px;
    margin-top: 32px;
    text-align: center;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: background 0.3s ease, color 0.3s ease;
    border-top: 1px solid #e8e8e8;
}
 
.ym-status-inner {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
 
/* ── Pill de contagem ── */
.ym-pill {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    vertical-align: middle;
    margin-left: 6px;
}
 
/* ── Checkmark final ── */
.ym-checkmark {
    display: inline-block;
    margin-right: 6px;
    font-size: 15px;
}
 
/* ──────────────────────────────
   Estado: aguardando (idle)
   ────────────────────────────── */
.ym-status--idle {
    color: #888;
    background: transparent;
}
.ym-status--idle .ym-pill {
    background: #f0f0f0;
    color: #555;
}
.ym-status--idle .ym-spinner { display: none; }
 
/* ──────────────────────────────
   Estado: carregando (loading)
   ────────────────────────────── */
.ym-status--loading {
    color: #303030;
    background: #f7f7f7;
}
.ym-status--loading .ym-pill {
    background: #95c6d8;
    color: #fff;
}
 
/* Spinner SVG animado */
.ym-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid #d0d0d0;
    border-top-color: #95c6d8;
    border-radius: 50%;
    animation: ym-spin 0.75s linear infinite;
    flex-shrink: 0;
}
 
@keyframes ym-spin {
    to { transform: rotate(360deg); }
}
 
.ym-status--idle    .ym-spinner { display: none; }
.ym-status--done    .ym-spinner { display: none; }
.ym-status--loading .ym-spinner { display: inline-block; }
 
/* ──────────────────────────────
   Estado: concluído (done)
   ────────────────────────────── */
.ym-status--done {
    color: #777;
    background: transparent;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: none;
}



/* Reset da lista de medidas */
.model-profile-details {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Remove bullets e padding padrão */
ul.model-profile-details {
    list-style: none;
    padding: 0;
    margin: 0px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

/* Cada item ocupa uma coluna */
ul.model-profile-details li {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 24px;
    border-left: 1px solid #95c6d8;
    min-width: 90px;
    text-align: center;
}

ul.model-profile-details li:first-child {
    border-left: none;
    padding-left: 0;
    align-items: flex-start;
    text-align: left;
}

/* Label — ex: "Altura" */
ul.model-profile-details li strong {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 6px;
}

/* Valor — ex: "173" */
ul.model-profile-details li strong + * ,
ul.model-profile-details li {
    font-size: 18px;
    font-weight: 300;
    color: #111;
    letter-spacing: 0.05em;
}

/* Responsivo */
@media (max-width: 576px) {
    ul.model-profile-details {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px 0;
        margin-top: 40px;
    }

    ul.model-profile-details li {
        border-left: none;
        border-bottom: 1px solid #95c6d8;
        padding: 12px 8px;
        align-items: center;
        text-align: center;
    }

    ul.model-profile-details li:first-child {
        align-items: center;
        text-align: center;
    }
}

.stats-grid-modelo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    margin-top: 1rem;
    max-width: 280px;
}
.stat-item-modelo {
    padding: 8px 8px;
}
.stat-label-modelo {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #999;
    margin-bottom: 4px;
}
.stat-value-modelo {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #111;
}

/* Single Modelos: centraliza o bloco de texto verticalmente em relação à foto */
.single-modelos .row.align-items-stretch {
    display: flex;
    flex-wrap: wrap;
}

.single-modelos .row.align-items-stretch > .col-md-4 {
    display: flex;
    flex-direction: column;
}

.single-modelos .row.align-items-stretch > .col-md-8 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/* Quebra de linha entre row1 e row2 no hover */
.lista-medidas-hover .ym-break {
    width: 100%;
    height: 0;
    padding: 0;
    margin: 4px 0;
    border: none;
    list-style: none;
    pointer-events: none;
}
/* Hover feminino adulto — 3 colunas (9 itens em 3 linhas de 3) */
.lista-medidas-3col {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px 8px;
    justify-items: start;
}
.lista-medidas-3col li {
    width: auto;
    margin-right: 0;
}

/* Ajuste responsivo do container hero da home */
.elementor-element-52588eb9 {
    min-height: auto !important;
    height: auto !important;
    overflow: hidden;
}

.elementor-element-52588eb9 img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Espaçamento global do título em relação ao header */
.entry-header-wrapper .entry-title-wrap {
    padding-top: 50px;
}

/* Restaura linha decorativa em posts sem div.subtitle */
.entry-header-wrapper .entry-title-wrap:not(:has(.subtitle)) h1.page-title {
    position: relative;
    padding-top: 30px;
}

.entry-header-wrapper .entry-title-wrap:not(:has(.subtitle)) h1.page-title::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(
        to right,
        #303030 calc(50% - 15px),
        transparent calc(50% - 15px),
        transparent calc(50% + 15px),
        #303030 calc(50% + 15px)
    );
}

.entry-header-wrapper .entry-title-wrap:not(:has(.subtitle)) h1.page-title::after {
    content: none;
}

/* Corrige layout legado Joomla nos posts do blog */
.single-post .entry-content img {
    float: none !important;
    display: block !important;
    margin: 0 auto 20px auto !important;
    max-width: 100% !important;
}

.single-post .entry-content div[style*="float"] {
    float: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
}

/* ============================================================
   MENU MOBILE DEDICADO
   ============================================================ */

/* Elenco oculto no menu desktop */
.elenco-mobile {
    display: none !important;
}

/* Overlay fullscreen */
#ym-mobile-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 99999;
    overflow-y: auto;
    padding: 70px 0 40px;
}

#ym-mobile-nav.ym-open {
    display: block;
}

/* Botão fechar */
#ym-mobile-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #303030;
    padding: 0;
    line-height: 1;
}

/* Lista principal */
.ym-mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ym-mobile-menu > li > a {
    display: block;
    padding: 14px 24px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid #f0f0f0;
    color: #303030;
}

.ym-mobile-menu > li > a:hover {
    color: #95c6d8;
}

/* Indicador de sub-menu */
.ym-mobile-menu .menu-item-has-children > a::after {
    content: "+";
    float: right;
    font-weight: 300;
    font-size: 18px;
    line-height: 1;
}

.ym-mobile-menu .menu-item-has-children.ym-sub-open > a::after {
    content: "−";
}

/* Sub-itens ocultos por padrão, abrem ao tap */
.ym-mobile-menu .sub-menu {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    background: #f9f9f9;
}

.ym-mobile-menu .menu-item-has-children.ym-sub-open > .sub-menu {
    display: block;
}

.ym-mobile-menu .sub-menu a {
    display: block;
    padding: 10px 24px 10px 40px;
    font-size: 12px;
    border-bottom: 1px solid #f0f0f0;
    color: #595959;
}

.ym-mobile-menu .sub-menu a:hover {
    color: #95c6d8;
}

@media (max-width: 992px) {
    .sticky-menu .header-logo-center {
        display: none !important;
    }

    .sticky-menu {
        background-color: #90b2bc !important;
        min-height: 0 !important;
        padding: 8px 16px !important;
    }

    /* Cobre o canto branco causado pela scrollbar */
    body::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 50px;
        background-color: #90b2bc;
        z-index: 1;
        pointer-events: none;
    }
}

@media (max-width: 992px) {
    html {
        background-color: #90b2bc;
    }
}

@media (max-width: 992px) {
    .ym-mobile-menu > li > a {
        font-size: 20px;
    }

    .ym-mobile-menu .sub-menu a {
        font-size: 22px;
    }
}