/*
Theme Name: Astra Enfant
Description: Theme enfant de Astra. Vous pouvez maintenant effectuer vos modifications en toute sécurité.
Author: WPMarmite
Author URI: https://wpmarmite.com
Template: astra
Version: 2.15
*/

/*
Variables
*/
:root {
    --gap-conav : 5px;
    --gap-img : 2px;
    --color-link : #f69700;
    --color-text :  #fff3dc;
    --color-blanc : #ffffff;
	--color-title : #001513;
}

/* =========================================
   VOGUE AU VENT
   TITRES H1 à H6 : CASSE NORMALE
   ASTRA + ELEMENTOR
========================================= */

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body h1 *,
body h2 *,
body h3 *,
body h4 *,
body h5 *,
body h6 *,
body .elementor-heading-title,
body .elementor-widget-heading *,
body .ast-page-title,
body .entry-title,
body .ast-single-post .entry-title {
    text-transform: none !important;
    font-variant: normal !important;
    font-variant-caps: normal !important;
	color: var( --e-global-color-astglobalcolor4 )
}

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

/*
Modication couleur de l'affichage du n° de tel
*/
h3.elementor-heading-title.elementor-size-default a.telephone {
    color: var(--color-link);
}
/*
Changement couleur du lien dans le footer
*/
.ast-footer-copyright a, #meteoconsult p, #grandemaree ul, .portfolio-text {
    color: var(--color-text);
}

/* 
Tableau caracteristiques du bateau 
*/
table.tbl-voilier {
    border: 0;
}
table.tbl-voilier td {
	width: 50%;
}
table.tbl-voilier th, table.tbl-voilier td {
	border: 1px solid rgba(0,0,0,.1);
}
/* 
Blockquote sur page naviguer-ensemble 
*/
.nav-ensemble blockquote {
    color : var(--color-blanc);
    text-transform: uppercase;
}
@media (min-width: 1px) and (max-width: 480px) {
	.nav-ensemble blockquote {
		margin: 0;
		text-transform: none;
	}
}

/* 
SITEMAP 
*/
#sitemap {
    display: none;
}

/* 
Article des drisses et écoutes
*/
#drisse-ecoute table {
    width: 50%;
}

#drisse-ecoute label {
	color: var(--color-link);
	font-size: inherit;
}
/*
Affichage Galerie portfolio
*/
.galerie-portfolio .conav-header h3 {
    cursor: pointer;
    text-decoration: underline solid #d77a56;
}
.galerie-portfolio .conav-img {
    cursor: help;
}

/*
Affichage des co-navigations
*/
.flex-conav-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    gap: var(--gap-conav);
    width: 100%;
}

.wrap {
    flex-wrap: wrap;
}

.nowrap {
    flex-wrap: nowrap;
}

.nogap {
    gap: 0;
}

.flex-conav-item {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    order: 0;
    align-self: auto;
    height: auto;
    width:100%
}

@media (min-width: 468px) {
    .flex-conav-item.column {
        width: calc((100%) - var(--gap-conav));
    }
}
@media (min-width: 768px) {
    .flex-conav-item.column {
        width: calc((100% /3) - var(--gap-conav));
        padding: var(--gap-conav);
    }
}
@media (max-width: 767px) {
    .flex-conav-item.flex-conav-item.column.first-page {
        margin: 10px;
    }
}


/*@media ( min-width : 1201px ) {
    .column {
        width: calc((100% /4) - var(--gap-conav));
        padding: var(--gap-conav);
    }
}*/

.flex-conav-container figure {
    padding: 2px;
}

.conav-header, .conav-img, .conav-figure, .conav-text, .conav-date {
    margin: 0 0 15px 0;
    color: var(--color-text);
}

.conav-text {
    text-align: justify;
}

.conav-status {
    color: var(--color-link);
}

.conav-date h6 {
    margin-bottom: inherit;
}

.conav-img.first-page img {
    height: 400px !important;
    object-fit: cover;
    object-position: center center;
    transition-duration: 0.3s;
}

.conav-header.first-page {
    margin-top: 20px;
}

.conav-img.menu-page img {
    height: 250px !important;
    object-fit: cover;
}

.conav-text [id^="more-"], .btn-none {
    display: none;
}

/*
Bouton social share
*/
@media screen and (min-width: 1024px) {
    .socialshare-whatsapp {
        display: none !important;
    }
}
@media (max-width: 767px) {
    .container-post-social {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        justify-content: flex-start;
        width: 100%;
    }
}
.socialshare-link {
    padding: 2px 8px 4px 8px !important;
    color: white;
    font-size: 12px;
    border-radius: 2px;
    margin-right: 2px;
    cursor: pointer;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2);
    margin-top: 2px;
    display: inline-block;
    text-decoration: none;
}

.socialshare-link:hover,
.socialshare-link:active {
    color: white;
}

.socialshare-twitter {
    background: #000000;
}

.socialshare-twitter:hover,
.socialshare-twitter:active {
    background: #2c2a2a;
}

.fa.fa-twitter::before{
	content:"𝕏";
}

.socialshare-facebook {
    background: #3b5997;
}

.socialshare-facebook:hover,
.socialshare-facebook:active {
    background: #2d4372;
}

.socialshare-googleplus {
    background: #d64937;
}

.socialshare-googleplus:hover,
.socialshare-googleplus:active {
    background: #b53525;
}

.socialshare-buffer {
    background: #444;
}

.socialshare-buffer:hover,
.socialshare-buffer:active {
    background: #222;
}

.socialshare-pinterest {
    background: #bd081c;
}

.socialshare-pinterest:hover,
.socialshare-pinterest:active {
    background: #bd081c;
}

.socialshare-linkedin {
    background: #0074a1;
}

.socialshare-linkedin:hover,
.socialshare-linkedin:active {
    background: #006288;
}

.socialshare-whatsapp {
    background: #43d854;
}

.socialshare-whatsapp:hover,
.socialshare-whatsapp:active {
    background: #009688;
}

.socialshare-instagram {
  background-color: #9f64e0;
}
.socialshare-instagram:hover,
.socialshare-instagram:active {
  background-color: #765e8f;
}

.socialshare {
    margin: 20px 0px 10px 0px;
    -webkit-font-smoothing: antialiased;
    font-size: 12px;
}

.socialshare a {
    color: white !important;
    font-size: 14px !important;
    font-family: cabin !important;
    font-weight: 700;
}

.socialshare .fa {
    border-right: 1px solid #fff3 !important;
    padding-right: 5px !important;
    margin-right: 5px !important;
}

.social-display-title {
    padding-bottom: 10px;
    color: white;
}

.img-haut-page img {
    aspect-ratio: 7/3;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}


/* Vogue au Vent — Préparer sa navigation */

.vav-navigation {
    background: #fff;
    color: #103253;
}

.vav-navigation__inner {
    margin: 0 auto;
}

.vav-navigation__inner h2 {
    color: #103253;
	margin:0;
	padding:0;
}

.vav-navigation__intro {
    margin: 0;
    color: #667687;
    font-size: clamp(17px, 1.35vw, 24px);
    line-height: 1.6;
}

.vav-navigation__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
}

.vav-navigation__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 260px;
    padding: 39px;
    border: 1px solid #d5e5ed;
    border-radius: 27px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(20, 54, 76, 0.08);
    color: #103253;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.vav-navigation__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(20, 54, 76, 0.13);
}

.vav-navigation__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 31px;
    border-radius: 22px;
    background: #eaf5fd;
    color: #103253;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
}

.vav-navigation__card h3 {
    margin: 0;
    color: #103253;
    font-size: clamp(21px, 1.55vw, 29px);
    font-weight: 700;
    line-height: 1.3;
}

.vav-navigation__card p {
    margin: 0;
	padding:0;
    color: #667687;
    font-size: clamp(17px, 1.3vw, 24px);
}

@media (max-width: 900px) {
    .vav-navigation__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

    .vav-navigation__card {
        padding: 28px;
    }
}

@media (max-width: 600px) {
    .vav-navigation {
        padding: 38px 18px 48px;
    }

    .vav-navigation__intro {
        margin-bottom: 28px;
    }

    .vav-navigation__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .vav-navigation__card {
        min-height: auto;
        padding: 26px;
        border-radius: 22px;
    }

    .vav-navigation__icon {
        width: 60px;
        height: 60px;
        margin-bottom: 22px;
    }
}


/* Vogue au Vent — Dernières nouvelles */

.vav-news {
    /*padding: 48px 24px 58px;*/
    /*background: #eaf4ff;*/
    color: #103253;
}

.vav-news__inner {
    /*max-width: 1330px;*/
    margin: 0 auto;
}

.vav-news__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.vav-news__header h2 {
    margin: 0 0 10px;
    color: #103253;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: -1px;
}

.vav-news__header p {
    margin: 0;
    color: #637383;
    font-size: 18px;
    line-height: 1.6;
}

.vav-news__all,
.vav-news__read {
    color: #246b9e !important;
    font-weight: 700;
    text-decoration: none !important;
}

.vav-news__all {
    flex-shrink: 0;
    padding-bottom: 5px;
    font-size: 17px;
}

.vav-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.vav-news__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(207, 224, 237, .8);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(24, 62, 91, .08);
}


.vav-news__image {
    display: block;
    position: relative;
    height: 230px;
    min-height: 230px;
    overflow: hidden;
    background: #dceaf4;
    line-height: 0;
}

.vav-news__image img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center;
    margin: 0 !important;
    padding: 0 !important;
    transition: transform .3s ease;
}

.vav-news__card:hover .vav-news__image img {
    transform: scale(1.035);
}

.vav-news__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: #dceaf4;
}

.vav-news__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 25px 24px 26px;
}

.vav-news__date {
    display: block;
    margin-bottom: 14px;
    color: #737e87;
    font-size: 15px;
}

.vav-news__content h3 {
    margin: 0 0 12px;
    color: #103253;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.vav-news__content h3 a {
    color: inherit;
    text-decoration: none;
}

.vav-news__content h3 a:hover {
    color: #246b9e;
}

.vav-news__excerpt {
    margin-bottom: 25px;
    color: #687581;
    font-size: 17px;
    line-height: 1.75;
}

.vav-news__read {
    display: inline-block;
    margin-top: auto;
    font-size: 17px;
}

.vav-news__all:hover,
.vav-news__read:hover {
    color: #103253 !important;
}

@media (max-width: 900px) {
    .vav-news__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .vav-news__image {
        height: 205px;
    }
}

@media (max-width: 600px) {
    .vav-news {
        padding: 36px 16px 42px;
    }

    .vav-news__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin-bottom: 24px;
    }

    .vav-news__header p {
        font-size: 16px;
    }

    .vav-news__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .vav-news__image {
        height: 220px;
    }

    .vav-news__content {
        padding: 22px;
    }
}

.vav-title__header h2 {
    margin: 0 0 14px;
    color: #103253;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: -1px;
}
