/*
Theme Name: Astra Child - Madipsy
Theme URI: https://madipsy.com/
Template: astra
Author: Madi MARCU
Description: Thème enfant Astra personnalisé pour le site madipsy.com
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.0.1769291403
Updated: 2026-01-24 22:50:03

*/
/*  GENERAL  */
*:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
*:focus-visible {
    outline: 2px solid rgba(120, 55, 200, 0.45) !important; /* violet doux */
    outline-offset: 3px !important;
    border-radius: 8px;
}
:root, html, body {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}
body, .site, .site-content, .content-area, .kt-site, .kt-wrap, .kt-row-layout-inner {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}
.bouton-theme a {
    background-color: #32373c;
    border-width: 0;
    color: #fff;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: 1.4rem !important;
    padding-top: calc(0.667em + 2px);
    padding-right: calc(1.333em + 2px);
    padding-bottom: calc(0.667em + 2px);
    padding-left: calc(1.333em + 2px);
    text-decoration: none;
    text-transform: inherit;
}
.bouton-theme-noir a {
    background: #32373c !important;
}
.bouton-theme-gris a {
    background: #718096 !important;
}
.displaynone {
    display: none !important;
}
.site-content .ast-container {
    flex-direction: column;
}
.nowrap {
    white-space: nowrap;
}
.ast-mobile-header-content .menu-item {
    min-height: 60px;
}
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link {
    background-color: white;
}
.ast-mobile-header-content a {
    display: flex !important;
    padding-left: 87px !important;
}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: #1e293c;
}
#ast-scroll-top {
    background-color: rgba(0, 0, 0, 0.4) !important;
}
.ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content {
    position: absolute !important;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.4);
    width: 100%;
}
.kb-button {
    cursor: pointer;
}
.entry-content {
    position: relative;
}
/* Conteneur du titre */
.site-title {
    display: inline-block;
    position: relative;
    min-width: max-content;
}
/* Nom principal */
.site-title a {
    display: inline-block;
}
/* Texte ajouté sous le nom */
.site-title::after {
    content: 'Psychanalyste';
    position: relative;
    left: 1px;
    display: block;
    font-family: 'Karla';
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.21em;
    opacity: 0.6;
}
/*  HOME  */
.home h1 {
    display: flex;
    gap: 8px;
    line-height: normal;
    flex-direction: column;
    margin-bottom: 0px;
}
.home .h1-span {
    font-family: 'Karla', sans-serif;
    color: var(--ast-global-color-3);
    font-size: 17px;
    font-weight: normal;
    line-height: 29px;
}
/*  MENU  */
.main-header-menu a {
    position: relative;
    color: var(--ast-global-color-2) !important;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}
.main-header-menu a:hover, .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link {
    position: relative;
    opacity: 1;
    transition: opacity 0.2s ease;
}
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link {
    font-weight: bold;
}
.main-header-menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    opacity: 0;
    background: var(--ast-global-color-2) !important;
    transition: opacity 0.6s ease;
}
.main-header-menu a:hover::after {
    opacity: 1;
    transition: opacity 0.6s ease;
}
.main-header-menu a:hover::after, .ast-builder-menu-1 .menu-item.current-menu-item > a::after {
    width: 100%;
}
.ast-builder-menu-1 .menu-item.current-menu-item > a::after {
    background: linear-gradient(135deg, #2FB3C3 0%, #4F6FB5 35%, #7B4FA3 65%, #C03A8C 100%) !important;
    opacity: 1 !important;
    transition: opacity 0.6s ease;
    width: 100%;
    height: 4px;
    bottom: -3px;
}

.ast-builder-menu-mobile .current-menu-item .menu-link::before {
	    content: '';
    position: relative;
    top: 0;
    left: 0px;
    margin-right: 8px;
    background: linear-gradient(180deg, #2FB3C3 0%, #4F6FB5 35%, #7B4FA3 65%, #C03A8C 100%);
    width: 2px;
    height: 30px;
}
.ast-builder-menu-mobile nav {
    width: calc(100vw - 20%);
    height: 100vh;
    background-color: white;
}
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link {
    background-color: transparent;
    color: var(--ast-global-color-2) !important;
    font-weight: bold;
    opacity: 1;
}
.ast-builder-menu-mobile .main-header-bar-navigation nav {
	transform: translateX(-100vw);
	border-right: 1px solid #dbdbdb;
}

.ast-builder-menu-mobile .main-header-bar-navigation.toggle-on nav {
  animation: slideX 0.3s ease-out;
  animation-fill-mode: forwards;
}

@keyframes slideX {
  from {
		display:none;
    transform: translateX(-100vw);
    opacity: 0;
  }
  to {
		display:block !important;
    transform: translateX(0px);
    opacity: 1;
  }
}
.ast-plain-container.ast-no-sidebar .entry-content > .alignfull {
    max-width: 1200px;
    width: 100%;
    margin: auto;
}
.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0;
    margin-bottom: 0;
}
.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
}
/*  NAV  */
nav.breadcrumbs{
    display: flex;
    gap: 8px;
    padding: 24px 16px;
    position: relative;
    z-index: 2;
    font-size: 14px;
    color: var(--ast-global-color-2) !important;
}
nav.breadcrumbs a{
    color: var(--ast-global-color-2) !important;
}
#ast-hf-mobile-menu.main-header-menu a::after {
    height: 0px;
}
/*  SLIDER  */
.k-slider {
    width: 100%;
    max-width: 100%;
    height: 260px; /* ajuste */
    position: relative;
    overflow: hidden;
}

.k-slider__track {
    position: relative;
    width: 100%;
    height: 100%;
}

/* Chaque slide empilée */
.k-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1000ms ease-in-out; /* durée du fondu */
}

/* Slide visible */
.k-slider__slide.is-active {
    opacity: 1;
    z-index: 1;
}

.k-slider__slide img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* cover si tu veux plein cadre */
    display: block;
}

/* ===== Animation stagger des cartes Kadence ===== */

/* État initial (avant apparition) */
.stagger-cards .wp-block-kadence-column {
    opacity: 0;
    transform: translateY(16px);
    transition:
            opacity 1200ms ease-out,
            transform 1200ms ease-out;
}

/* État visible */
.stagger-cards.is-visible .wp-block-kadence-column {
    opacity: 1;
    transform: translateY(0);
}

/* Délais d’apparition (bien espacés) */
.stagger-cards.is-visible .wp-block-kadence-column:nth-child(1) {
    transition-delay: 0ms;
}

.stagger-cards.is-visible .wp-block-kadence-column:nth-child(2) {
    transition-delay: 600ms;
}

.stagger-cards.is-visible .wp-block-kadence-column:nth-child(3) {
    transition-delay: 1200ms;
}

/* Accessibilité – respect des préférences utilisateur */
@media (prefers-reduced-motion: reduce) {
    .stagger-cards .wp-block-kadence-column {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
.ti-widget.ti-goog .ti-header
{
    padding: 16px 20px 20px 20px !important
}

/* Désactive toute interaction sur le badge Trustindex */
.section-approche .ti-widget.ti-goog {
    pointer-events: none !important;
}

/* Force le curseur normal partout */
.section-approche .ti-widget.ti-goog,
.section-approche .ti-widget.ti-goog * {
    cursor: default !important;
}
.texte-avis {
    max-width: 260px;
}
.cta-consultations-container > .kt-row-column-wrap {
    padding-left: 0px !important;
    padding-right: 0px !important;
}
#ast-scroll-top {
    background-color: #4a91ce;
    border-radius: 16px;
}
/* FOOTER */
.footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 14px;
    padding: 16px 32px;
    margin-top: 32px;
    background-color: #f7fafc;
    border-radius: 32px 32px 0px 0px;
    border-bottom: transparent;
    border-left: 1px solid #DBDBDB;
    border-top: 1px solid #DBDBDB;
    border-right: 1px solid #DBDBDB;
}
.footer-menu {
    display: flex;
    gap: 90px;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.footer-MM .site-branding {
    display: flex;
    align-items: center;
    gap: 16px;
}
.footer-bloc {
    flex: 0 1 180px;
    min-width: 180px;
}
.footer-bloc-large {
    flex: 2 1 400px;
}
.footer-bloc ul {
    margin: 0px;
    list-style: none;
}
.footer-bloc ul a {
    color: var(--ast-global-color-2);
}
.footer-bloc h6 {
    margin-top: 34px;
    margin-bottom: 15px;
}
.footer-link {
    display: flex;
    gap: 24px;
    margin: 32px 0px;
}
.footer-menu .ti-fade-container {
    display: flex;
    gap: 6px;
    margin-top: 16px;
}
.footer-menu .ti-mob-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer-menu .ti-platform-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.footer-menu .ti-stars {
    color: #fbbc04; /* jaune Google-like */
    font-size: 16px;
    letter-spacing: 2px;
    line-height: 1;
}
.footer-copyright {
    text-align: center;
}
.hypnose-card-container, .mentions-legales {
    max-width: 790px !important;
}
.hypnose-cta-container {
    margin-bottom: 40px !important;
}
.hypnose-card .wp-block-kadence-image:not(:last-child) {
    margin-bottom: 0px !important;
}
.header-img img {
    max-width: 740px;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 160px;
}
.hypnose-card {
    height: 100%;
}
.card-titre {
    width: max-content;
}
.hypnose-card .kt-inside-inner-col {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.kadence-column766_7a9645-00 > .kt-inside-inner-col {
    background-size: contain !important;
    background-position: 240px !important;
}
.fluentform.ff-default.fluentform_wrapper_4.ffs_default_wrap {
    width: 100%;
}
#fluentform_4 {
    padding: 16PX 24px;
    background-color: #f7fafc;
    border-radius: 32px;
    border: 1px solid #dbdbdb;
}
form.fluent_form_4 .ff-btn-submit:not(.ff_btn_no_style) {
    background-color: #32373d !important;
    opacity: 1;
}
.ff-message-success {
    border-radius: 8px;
    background-color: #f7fafc;
    border: 1px solid #DBDBDB;
}
.header-container-card {
    max-width: 900px !important;
}
.header-container-card a {
    color: var(--ast-global-color-3);
    text-decoration: none !important;
}
.slider-card .kt-inside-inner-col,
.slider-card .kt-inside-inner-col .kb-row-layout-wrap {
    height: 100%;
}
.slider-card-container {
    overflow: hidden;
}
.slider-card-container > div {
    display: flex;
    overflow: auto;
    /* Firefox */
    scrollbar-width: none;
    /* Edge / IE */
    -ms-overflow-style: none;
}
.slider-card {
    min-width: 280px !important;
    width: 100%;
}
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    position: relative;
    top: -9px;
}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    width: 26px !important;
    height: 26px !important;
}
.menu-toggle::after{
	position:absolute;
	content:'Menu';
	top: 34px;
	left:9px;
	width: max-content;
	color: #1e293c;
	font-size: 12px;
	font-weight: bold;
}
.menu-toggle.toggled::after{
	content:'Fermer';
	left:6px;
}
@media (max-width: 767px) {
    .kadence-column1211_16f17f-6e {
        width: 100%;
    }
}
@media (min-width: 1025px) {
    .header-img img {
        margin-left: var(--global-kb-spacing-xl, 4rem);
    }
    .mentions-legales {
        margin-left: 70px !important;
    }

}
/* Ajustement padding container sur mobile */
@media (max-width: 768px) {
    main, .home .h1-span {
        font-size: 14px !important;
    }
    h1, h2, h3, h4, h5, h6 {
        font-size: 21px !important;
    }
    .home .h1-span {
        line-height: 24px;
    }
    .header-container-card {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }
    .slider-card-container > div {
        gap: 16px !important;
    }
    .texte-avis {
        display: none;
    }
    .ast-container,
    .ast-container-fluid {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    /* Psychanalyse */
    #post-764 .kt-row-column-wrap {
        gap: 0px !important;
    }
    .header-img, .mentions-legales {
        margin-left: 8px !important;
        margin-right: 8px !important;
    }
    .kadence-column766_7a9645-00 > .kt-inside-inner-col {
        background-position: 0px !important;
    }
    .footer-menu {
        gap: 24px;
    }
/*
container => .hypnose-card .kt-inside-inner-col
a         => .hypnose-card .wp-block-kadence-advancedheading
b         => .hypnose-card .wp-block-kadence-image
c         => .hypnose-card .wp-block-kadence-advancedbtn
*/

    .hypnose-card .kt-inside-inner-col{
        display: grid !important;
        grid-template-columns: 80px 0.6fr; /* gauche (image) / droite (texte) */
        grid-template-areas:"img title""img btn";
        column-gap: 16px;
        align-items: end !important;
        padding: 0.4rem 0.2rem 0.2rem 0.4rem !important;
    }
    /* B = image à gauche */
    .hypnose-card .wp-block-kadence-image{
        grid-area: img;
        margin: 0 !important;
    }
    /* A = titre en haut à droite */
    .hypnose-card .wp-block-kadence-advancedheading{
        grid-area: title;
        margin: 0 !important;
        text-align: left !important;
        font-size: 1.2rem !important;
    }
    /* C = bouton en bas à droite */
    .hypnose-card .wp-block-button{
        grid-area: btn;
        margin: 0 !important;
        width: max-content;
    }
    .hypnose-card .wp-block-buttons.is-content-justification-center {
        justify-content: left !important;
    }
}