/*
Theme Name: Mon Thème 
Author: Marie
Description : Mon premier thème Wordpress !
Version: 1.0
*/


body {
    margin: 0;
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background-color: #fff,;
    color: #333;
}


a {
    color: #0073aa;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

header {
	background-color: #ffe4ee !important;
    border-bottom: 1px solid #eaeaea;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    position : relative;
}

.logo {
    max-height: 80px;
}

.logo img {
    max-height: 60px;
    width: auto;
}

.navbar {
    display: flex;
}

.menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.menu li {
    display: inline;
}

.menu li a {
    padding: 8px 12px;
    display: block;
    color: #333;
    font-weight: bold;
}

.menu li a:hover {
    background-color: #fdf8ec;
    border-radius: 5px;
}

footer {
    background-color: #222;
    color: #fff;
    padding: 40px 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer-navbar {
    margin-bottom: 20px;
    width: 100%;
}

.footer-menu {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 0;
    margin: 0;
}

.footer-menu li a {
    color: #ccc;
    font-size: 14px;
}

.footer-menu li a:hover {
    color: #fff;
}

.column {
    width: 22%;
    margin-bottom: 20px;
}

.column ul {
    list-style: none;
    padding: 0;
}

.column li {
    margin-bottom: 8px;
    font-size: 14px;
}


article {
    background-color: #fff;
    margin-bottom: 30px;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

article img {
    max-width: 100%;
    height: auto;
    margin-bottom: 15px;
}

article h2 a {
    color: #0073aa;
}

article h2 a:hover {
    color: #005580;
}


@media (max-width: 768px) {
    .menu {
        flex-direction: column;
        gap: 10px;
    }

    .column {
        width: 48%;
    }
}

@media (max-width: 480px) {
    header {
        flex-direction: column;
        align-items: flex-start;
    }

    .column {
        width: 100%;
    }
}
.hero-section {
    background-size: cover;
    background-position: center;
    padding: 150px 20px;
    text-align: center;
    position: relative;
    color: #000;
}

.overlay-box {
    background: rgba(255, 255, 255, 0.8);
    padding: 40px;
    display: inline-block;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 24px;
}

.btn-voir {
    display: inline-block;
    margin-top: 20px;
    background-color: #a2ddf3;
    color: #000;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: bold;
    text-decoration: none;
}

.section-promo .intro {
    text-align: center;
    font-size: 16px;
    margin-top: 40px;
    font-weight: bold;
}

.promo-image img {
    max-width: 100%;
    border-radius: 8px;
    margin-top: 20px;
}

.section-promo .desc {
    text-align: center;
    margin-top: 15px;
    font-size: 15px;
}

.section-avis {
    margin-top: 60px;
    text-align: center;
}

.note-global {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 30px;
}

.avis-list {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.avis {
    width: 200px;
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    font-size: 14px;
}

.grid-piscines {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 40px;
}

.piscine-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    width: calc(33.333% - 20px);
    text-align: center;
    transition: 0.3s;
}

.piscine-card:hover {
    transform: translateY(-5px);
}

.piscine-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.piscine-title {
    margin: 15px 0 5px;
    font-size: 1.2em;
    color: #0073aa;
}

.piscine-meta {
    font-size: 0.9em;
    color: #666;
    padding: 0 10px 15px;
}

.piscine-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 20px;
}
.piscine-gallery img {
    width: 200px;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.registration-form {
    max-width: 500px;
    margin: 0 auto;
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.registration-form label {
    display: block;
    margin-top: 15px;
    font-weight: bold;
}

.registration-form input,
.registration-form select {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.registration-form button {
    margin-top: 20px;
    padding: 12px 25px;
    background-color: #A2D9FF;
    border: none;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    border-radius: 5px;
}

.registration-form button:hover {
    background-color: #7FC9F5;
}
.header-cta {
    margin-left: auto;
}

.btn-connexion,
.btn-compte {
    display: inline-block;
    background-color: #A2D9FF;
    color: #fff;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: bold;
    text-decoration: none;
}

.btn-connexion:hover,
.btn-compte:hover {
    background-color: #89c9f7;
}

.account-forms {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.form-connexion, .form-inscription {
    width: 48%;
    background: #fff;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.account-forms label {
    display: block;
    margin-top: 10px;
}

.account-forms input, .account-forms select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    margin-bottom: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.btn-deconnexion, .btn-connexion {
    background: #A2D9FF;
    padding: 8px 16px;
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
}

.btn-deconnexion:hover, .btn-connexion:hover {
    background: #89c9f7;
}

body {
    font-family: 'Helvetica Neue', sans-serif;
    background-color: #fdfdfd;
    color: #333;
    margin: 0;
    padding: 0;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}
/* ---- BOUTONS ---- */

.btn, .button {
    background-color: #A6E1FA;
    color: #004F6E;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
    text-decoration: none;
    display: inline-block;
}

.btn:hover, .button:hover {
    background-color: #89d2ef;
}

/* ---- FORMULAIRES ---- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
select,
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    margin-top: 10px;
    margin-bottom: 20px;
    border-radius: 6px;
    box-sizing: border-box;
}

label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

/* ---- HEADERS ---- */
h1, h2, h3, h4 {
    color: #004F6E;
}

/* ---- FOOTER ---- */
footer {
    background-color: #FAE3E3;
    padding: 40px 20px;
    text-align: center;
    color: #333;
}

footer a {
    color: #004F6E;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

/* ---- AVIS / ÉTOILES ---- */
.stars {
    color: gold;
    font-size: 20px;
    margin: 0 5px;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
    .container {
        padding: 15px;
    }

    .menu {
        flex-direction: column;
        gap: 10px;
    }

    .column {
        width: 100%;
        margin-bottom: 20px;
    }
}
.logged-in-banner {
    background-color: #f0f8ff;
    border: 1px solid #cce;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    margin: 40px auto;
    max-width: 600px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.logged-in-banner p {
    font-size: 18px;
    margin-bottom: 15px;
}

.auth-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.auth-buttons .btn {
    background-color: #8cd1ff;
    color: #fff;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s;
}

.auth-buttons .btn:hover {
    background-color: #5cbff2;
}

.auth-buttons .logout {
    background-color: #ccc;
    color: #333;
}

.auth-buttons .logout:hover {
    background-color: #aaa;
}

.wp-login-form input[type="text"],
.wp-login-form input[type="password"],
.wp-login-form input[type="submit"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 12px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.wp-login-form input[type="submit"] {
    background-color: #82cdf3;
    color: white;
    border: none;
    font-weight: bold;
    cursor: pointer;
}

.wp-login-form input[type="submit"]:hover {
    background-color: #5bbde4;
}

.form-ajout-piscine {
    max-width: 600px;
    margin-top: 30px;
}

.form-ajout-piscine input[type="text"],
.form-ajout-piscine textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.form-ajout-piscine .checkboxes {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.form-ajout-piscine button {
    padding: 12px 20px;
    background-color: #82cdf3;
    color: white;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}

.form-ajout-piscine button:hover {
    background-color: #5bbde4;
}

.reservations-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.reservations-list li {
    background-color: #f8f8f8;
    padding: 20px;
    margin-bottom: 15px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

/* Container and Layout */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Filtres */
form {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

form label {
    font-weight: bold;
    margin-right: 10px;
}

form select, form button {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: #ffffff;
    font-size: 14px;
}

form button {
    background-color: #A2D9FF;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    border: none;
    transition: background 0.3s;
}

form button:hover {
    background-color: #80c8f8;
}

/* Piscines Grid */
.piscines-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

/* Card */
.piscine-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s;
}

.piscine-card:hover {
    transform: translateY(-5px);
}

.piscine-card img {
    width: 100%;
    height: auto;
    display: block;
}

.piscine-card h2 {
    font-size: 18px;
    margin: 15px;
    color: #333;
}

.piscine-card p {
    font-size: 14px;
    color: #666;
    margin: 0 15px 15px 15px;
}

.piscine-card a {
    display: block;
    background-color: #A2D9FF;
    text-align: center;
    color: #fff;
    padding: 10px 0;
    text-decoration: none;
    font-weight: bold;
    border-top: 1px solid #eee;
    border-radius: 0 0 10px 10px;
}

.piscine-card a:hover {
    background-color: #80c8f8;
}

/* Stars Rating */
.star-rating {
    margin: 0 15px 15px;
    color: #FFD700;
}
/* Global */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #FAFAFA;
    margin: 0;
    padding: 0;
    color: #333;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Header */
header {
    background-color: #FFE6F0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 40px;
}

header .logo img {
    height: 40px;
}

.navbar {
    display: flex;
    gap: 30px;
}

.navbar a {
    color: #333;
    text-decoration: none;
    font-weight: 500;
}

.header-cta a {
    background-color: #A2D9FF;
    padding: 10px 20px;
    border-radius: 5px;
    color: white;
    font-weight: 600;
    text-decoration: none;
}

/* Hero Section */
.hero {
    background: url('/assets/img/hero.jpg') center/cover no-repeat;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
}

.hero .cta {
    background-color: #A2D9FF;
    padding: 15px 30px;
    border-radius: 10px;
    font-weight: bold;
}

/* Category Page */
.category-filters {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 40px 0;
}

.category-filters input,
.category-filters select {
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #ccc;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.product-card {
    background-color: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.product-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.product-card .info {
    padding: 15px;
}

.product-card .info h3 {
    margin: 10px 0;
    font-size: 18px;
    font-weight: bold;
}

.product-card .price {
    color: #666;
    font-size: 14px;
}

/* Single Piscine */
.single-piscine {
    max-width: 1200px;
    margin: auto;
    padding: 20px;
}

.main-info {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
}

.piscine-image img {
    width: 600px;
    height: auto;
    border-radius: 15px;
    object-fit: cover;
}

.piscine-details {
    flex: 1;
}

.piscine-details h1 {
    font-size: 2em;
    margin-bottom: 10px;
}

.piscine-details .prix {
    font-size: 1.5em;
    color: #03045E;
    margin-bottom: 10px;
}

.stars {
    color: #FFD166;
    font-size: 1.2em;
    margin-bottom: 10px;
}

.localisation {
    font-style: italic;
    margin-bottom: 20px;
}

.description {
    font-size: 1em;
    margin-bottom: 20px;
}

.btn-reserver {
    display: inline-block;
    background: #90E0EF;
    padding: 12px 20px;
    color: #023047;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
}

.btn-reserver:hover {
    background: #00B4D8;
    color: #fff;
}

/* Services */
.services-list ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.services-list li {
    background: #CAF0F8;
    padding: 10px 15px;
    border-radius: 10px;
}

/* Réservation */
.reservation-section {
    margin-top: 50px;
}

.reservation-section form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Avis */
.avis-section {
    margin-top: 50px;
}

/* Piscines similaires */
.similar-pools {
    margin-top: 50px;
}

.pools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.pool-card {
    background: #CAF0F8;
    padding: 15px;
    border-radius: 10px;
    text-align: center;
}

.pool-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
}

.pool-card h3 {
    font-size: 1.1em;
    margin-bottom: 5px;
}

.pool-card p {
    color: #03045E;
    font-weight: bold;
}


/* Footer */
footer {
    background-color: #FFE6F0;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer .column {
    width: 25%;
    margin-bottom: 20px;
}

footer h3 {
    font-size: 16px;
    margin-bottom: 10px;
}

footer ul {
    list-style: none;
    padding: 0;
}

footer ul li {
    margin-bottom: 8px;
}

footer a {
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

footer a:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
    .single-piscine {
        flex-direction: column;
    }

    .single-piscine img,
    .single-piscine-details {
        width: 100%;
    }

    .navbar {
        flex-wrap: wrap;
        gap: 10px;
    }
}

.piscine-single-container {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 60px;
}

.piscine-left {
    flex: 2;
}

.piscine-right {
    flex: 1;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
}
.produits-similaires {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}

.similar-pool-card {
    flex: 1;
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: center;
}

.similar-pool-card img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.pool-card {
    width: 30%;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    text-align: center;
}

.pool-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
}

.pool-card h3 {
    font-size: 18px;
    margin-top: 10px;
}
.avis-utilisateurs {
    margin-top: 50px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-list li {
    padding: 15px;
    border-bottom: 1px solid #ddd;
}

.comment-author {
    font-weight: bold;
    margin-bottom: 5px;
}

.comment-meta {
    font-size: 12px;
    color: #888;
}

.comment-content {
    font-size: 14px;
    margin-top: 10px;
}

.comment-rating {
    font-size: 18px;
    color: gold;
    margin-top: 10px;
}
.piscine-image-large {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
    margin-bottom: 20px;
}
.avis-utilisateurs {
    margin-top: 50px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-list li {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.comment-list li:last-child {
    border-bottom: none;
}
/* ============ GLOBAL STYLES ============ */
body {
    margin: 0;
    font-family: 'Arial', sans-serif;
    background-color: #fdfdfd;
    color: #333;
}

a {
    text-decoration: none;
    color: #0073aa;
}

a:hover {
    text-decoration: underline;
}

/* ============ HEADER ============ */
header {
    background-color: #ffe6f0;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header .logo img {
    max-height: 60px;
}

.navbar {
    display: flex;
    gap: 30px;
}

.navbar a {
    font-weight: bold;
    color: #333;
}

/* ============ BANNERS & BUTTONS ============ */
.promo-banner {
    background: #0073aa;
    color: white;
    padding: 10px;
    text-align: center;
}

.btn-reserver, .btn-favori {
    display: inline-block;
    background: #b3e5fc;
    padding: 10px 20px;
    border-radius: 5px;
    margin-top: 10px;
    color: #000;
}

/* ============ SINGLE PISCINE PAGE ============ */
.single-piscine-container {
    max-width: 1200px;
    margin: auto;
    padding: 20px;
}

.main-content {
    display: flex;
    gap: 30px;
    margin-top: 20px;
}

.piscine-image img {
    width: 600px;
    border-radius: 10px;
}

.piscine-infos {
    flex: 1;
}

.piscine-infos h1 {
    font-size: 28px;
    margin-bottom: 10px;
}

.price {
    font-weight: bold;
    font-size: 20px;
}

.promo-box {
    background: #ffefc2;
    padding: 10px;
    margin: 10px 0;
    display: inline-block;
    border-radius: 5px;
}

.features {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.features li {
    margin-bottom: 8px;
}

/* ============ SIMILAIRES & AVIS ============ */
.produits-similaires {
    margin-top: 50px;
}

.similaires-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.piscine-similaire img {
    width: 100%;
    border-radius: 10px;
}

.avis-utilisateurs {
    margin-top: 50px;
}

.avis-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.avis {
    background: #f5f5f5;
    padding: 15px;
    border-radius: 8px;
}

.stars {
    color: gold;
}

.reservation-form {
    margin-top: 50px;
}

.reservation-form input, .reservation-form button {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
}

.reservation-form button {
    background: #b3e5fc;
    border: none;
    cursor: pointer;
}

.archive-piscines {
    max-width: 1200px;
    margin: auto;
    padding: 40px 20px;
}

.filters-bar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.filter-select,
.filter-input {
    padding: 10px;
    width: 22%;
    border: 1px solid #ccc;
    border-radius: 10px;
    font-size: 14px;
}

.filters-checkboxes {
    margin-bottom: 30px;
}

.filters-checkboxes h3 {
    font-size: 18px;
    margin-bottom: 10px;
}

.filters-checkboxes label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
}

.piscines-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.piscine-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    text-align: center;
    transition: transform 0.3s;
}

.piscine-card:hover {
    transform: translateY(-5px);
}

.piscine-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.piscine-card h4 {
    font-size: 16px;
    margin: 15px 0 5px;
}

.piscine-card p {
    font-size: 14px;
    color: #666;
}

.stars {
    color: #ffc107;
    margin-bottom: 15px;
    font-size: 16px;
}


footer {
    background-color: #ffe6f0;
    color: #333;
    padding: 40px 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer .footer-section {
    width: 30%;
    margin-bottom: 20px;
}

footer h4 {
    font-size: 16px;
    margin-bottom: 10px;
}

footer ul {
    list-style: none;
    padding: 0;
}

footer li {
    margin-bottom: 8px;
}

.hero {
    background: url('/wp-content/themes/votre-theme/assets/img/fond-piscine.jpg') center/cover no-repeat;
    padding: 180px 20px;
    text-align: center;
    position: relative;
}
.hero__content {
    background: rgba(255,255,255,0.85);
    display: inline-block;
    padding: 50px;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.btn-primary {
    display: inline-block;
    margin-top: 20px;
    background-color: #A2D9FF;
    color: #000;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: bold;
    text-decoration: none;
}
.promo-highlight {
    text-align: center;
    padding: 60px 20px;
}
.promo-highlight__image img {
    width: 100%;
    max-width: 900px;
    border-radius: 15px;
}
.promo-highlight__desc {
    margin-top: 20px;
    font-size: 16px;
}
.section-avis {
    padding: 60px 20px;
    text-align: center;
}
.avis-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 30px;
}
.avis {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.stars {
    color: gold;
    font-size: 18px;
}

.pools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.pool-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s;
}

.pool-card:hover {
    transform: translateY(-5px);
}

.pool-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.pool-info {
    padding: 15px;
}

.pool-price {
    font-size: 16px;
    margin: 10px 0;
    color: #333;
}

.pool-price span {
    color: #40A4E0;
    font-weight: bold;
}

.pool-info h3 {
    font-size: 18px;
    margin: 10px 0;
}

.pool-location {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

.pool-stars {
    color: #FFD700;
    font-size: 18px;
}
.piscines-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.piscine-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    max-width: 100% !important;
}

.piscine-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.piscine-details {
    padding: 15px;
}

.piscine-price {
    color: #007bff;
    font-weight: bold;
    margin-bottom: 10px;
}

.piscine-title {
    font-size: 18px;
    margin-bottom: 5px;
}

.piscine-localisation {
    font-size: 14px;
    color: #888;
}

.piscine-rating {
    color: gold;
    margin-top: 10px;
}
.piscine-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)) !important;
    gap: 30px;
}

.piscine-image img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
}

.piscine-header {
    display: flex;
    align-items: stretch;
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    gap: 40px;
}

.piscine-header-image {
    flex: 1;
    max-width: 60%;
}

.piscine-header-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.piscine-header-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.hero-section {
    width: 100vw;
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.hero-section {
    background-image: url('<?php echo get_template_directory_uri(); ?>/assets/hero-bg.jpg');
}


.hero-section::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, 0.6);
    padding: 10px 20px;
    border-radius: 15px;
    text-align: center;
}

.pool-slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 20px 0;
}
.pool-slider::-webkit-scrollbar {
    display: none; 
}
.slider-controls {
    text-align: center;
    margin-top: 10px;
}
.slider-controls button {
    background: #0073aa;
    color: white;
    border: none;
    padding: 10px 15px;
    margin: 0 10px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
}

html, body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body.admin-bar {
    margin-top: 0 !important;
}
html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
}

body {
    position: relative;
}

body.admin-bar {
    margin-top: 0 !important;
}

header {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: none !important;
}

.hero-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
header {
    background-color: #fdf8ec;
    padding: 20px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 80px;
}

.navbar {
    display: flex;
    align-items: center;
    gap: 30px;
}

.navbar a {
    font-weight: bold;
    color: #333;
    padding: 10px 15px;
    display: inline-block;
}
.reservation-section {
    margin-top: 50px;
    background: #f8f8f8;
    padding: 30px;
    border-radius: 10px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.reservation-section h2 {
    text-align: center;
    margin-bottom: 20px;
}

.reservation-section form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.reservation-section input,
.reservation-section button {
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
}

.reservation-section button {
    background-color: #A2D9FF;
    color: white;
    border: none;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.reservation-section button:hover {
    background-color: #80c8f8;
}

html {
    scroll-behavior: smooth;
}
.site-header {
    background-color: #FFF9EF;
    padding: 20px 40px;
}

.site-header {
    background-color: #FFF6E9;
    padding: 10px 40px;
    border-bottom: 1px solid #eee;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.logo img {
    height: 100px;
}

.header-nav {
    flex: 1;
    text-align: center;
}

.main-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    gap: 40px;
}

.main-menu li a {
    font-weight: bold;
    color: #333;
    text-decoration: none;
    font-size: 18px;
}

.header-cta {
    margin-left: auto;
}

.header-cta a {
    background-color: #A2D9FF;
    padding: 8px 16px;
    border-radius: 5px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.header-cta a:hover {
    background-color: #89c9f7;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .account-forms {
        flex-direction: column;
    }
}

.dashboard-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.dashboard-links a {
    padding: 14px 28px;
    background: #00AEEF;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s;
}

.dashboard-links a.logout-btn {
    background: #FFCCCC;
    color: #333;
}

.dashboard-links a:hover {
    transform: translateY(-2px);
}
.woocommerce-MyAccount-navigation {
    display: none;
}

.woocommerce-account .entry-content {
    display: flex;
    justify-content: center;
}


.woocommerce-MyAccount-content {
    text-align: center;
}


.woocommerce-account h1 {
    text-align: center;
}


.welcome-box {
    display: inline-block;
    text-align: center;
    padding: 30px;
    background-color: #e6f7ff;
    border-radius: 15px;
    margin-top: 20px;
}


.welcome-box a.button {
    margin: 0 10px;
}
.woocommerce-MyAccount-content form {
    max-width: 600px;
    margin: 0 auto;
    padding: 2rem;
    background-color: #F9F9F9;
    border-radius: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

.woocommerce-MyAccount-content h3 {
    text-align: center;
    font-size: 24px;
    color: #003C5E;
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content label {
    display: block;
    margin-top: 20px;
    font-weight: 600;
    color: #333;
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"] {
    width: 100%;
    padding: 12px 15px;
    margin-top: 8px;
    border: 1px solid #DDD;
    border-radius: 12px;
    background-color: #fff;
    font-size: 16px;
    transition: border 0.3s;
}

.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus {
    border: 1px solid #00AEEF;
    outline: none;
}

.woocommerce-MyAccount-content fieldset {
    border: none;
    padding: 0;
    margin-top: 30px;
}

.woocommerce-MyAccount-content fieldset legend {
    font-weight: bold;
    color: #003C5E;
    font-size: 18px;
    margin-bottom: 15px;
}

.woocommerce-MyAccount-content .woocommerce-Button {
    display: inline-block;
    background-color: #00AEEF;
    color: #fff;
    padding: 12px 25px;
    border-radius: 12px;
    font-weight: bold;
    margin-top: 30px;
    text-align: center;
    transition: background 0.3s;
}

.woocommerce-MyAccount-content .woocommerce-Button:hover {
    background-color: #008FC6;
}

.woocommerce-MyAccount-content .password-input {
    position: relative;
}

.woocommerce-MyAccount-content .password-input .show-password-input {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #00AEEF;
}
.woocommerce-account .woocommerce {
    display: flex;
    justify-content: center;
    padding: 50px 20px;
}

.woocommerce-account .woocommerce form {
    width: 100%;
    max-width: 600px;
    background: #f9f9f9;
    padding: 30px;
    border-radius: 20px;
}

.woocommerce-account .woocommerce h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 24px;
}

.woocommerce-account .woocommerce .form-row-first,
.woocommerce-account .woocommerce .form-row-last {
    width: 48%;
    display: inline-block;
    box-sizing: border-box;
}

.woocommerce-account .woocommerce .form-row-first {
    margin-right: 4%;
}

.woocommerce-account .woocommerce .form-row-wide {
    width: 100%;
    margin-top: 20px;
}

.woocommerce-account .woocommerce fieldset {
    background: #e6f4ff;
    padding: 20px;
    border-radius: 15px;
    margin-top: 30px;
    border: 1px solid #cce6ff;
}

.woocommerce-account .woocommerce fieldset legend {
    font-weight: bold;
    font-size: 18px;
    color: #003C5E;
    padding: 0 10px;
}

.woocommerce-account .woocommerce .woocommerce-Button {
    display: block;
    width: fit-content;
    margin: 30px auto 0 auto;
    background-color: #00AEEF;
    color: #fff !important;
    padding: 12px 25px;
    border-radius: 12px;
    font-weight: bold;
    text-align: center;
    transition: background 0.3s;
}

.woocommerce-account .woocommerce .woocommerce-Button:hover {
    background-color: #008FC6;
}
.contact-section {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 20px;
}

.contact-section h1 {
    font-size: 32px;
    margin-bottom: 10px;
}

.contact-section h2 {
    font-size: 24px;
    margin-top: 30px;
}

.contact-section p {
    font-size: 16px;
    margin-bottom: 30px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
.contact-form .file-upload {
    width: 100%;
    max-width: 500px;
    padding: 12px 20px;
    border-radius: 10px;
    border: none;
    background-color: #B6E0FF;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}

.contact-form textarea {
    resize: none;
}

.send-btn {
    background-color: #B6E0FF;
    border: none;
    padding: 12px 30px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: bold;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}

.send-btn:hover {
    background-color: #A3D4F7;
}

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.site-footer {
    width: 100%;
    box-sizing: border-box;
}

.site-wrapper, .main-content {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
}
html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    width: 100% !important;
}

* {
    box-sizing: border-box !important;
}

.single-piscine-wrapper, 
.site-footer, 
.site-content, 
#content, 
.wrap, 
.container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
}

img {
    max-width: 100% !important;
    height: auto;
    display: block;
}
body, html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}


.site-footer {
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
}

#formulaire-reservation {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    width: 100%;
}

body.single-piscine .single-piscine-wrapper {
    margin-top: 60px;
}

.swiper-container {
    position: relative;
    padding: 0 40px;
}

.swiper-button-prev, .swiper-button-next {
    width: 40px;
    height: 40px;
    background: #0073aa;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
}

.swiper-button-prev {
    left: 0;
}

.swiper-button-next {
    right: 0;
}
.swiper-wrapper {
    display: flex;
    align-items: stretch;
}

.swiper-slide {
    display: flex;
    flex-direction: column;
}
.swiper-container {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}
.swiper-slide {
    display: flex;
    justify-content: center;
}
.similaire-card {
    width: 100%;
    max-width: 350px;
}
.piscine-header {
    display: flex;
    align-items: stretch;
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    gap: 40px;
}

.piscine-header-image {
    flex: 1;
    max-width: 60%;
}

.piscine-header-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.piscine-header-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
}

.header-fixed {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px;
    background-color: #FFF8EC;
}

.header-left img {
    height: 90px;
    width: auto;
}

.header-center {
    flex-grow: 1;
    text-align: center;
}

.main-menu {
    display: inline-flex;
    gap: 40px;
}

.main-menu a {
    text-decoration: none;
    font-weight: bold;
    color: #333;
    font-size: 18px;
}

.header-right {
    min-width: 150px;
    text-align: right;
}

.btn-deconnexion {
    background-color: #A2D9FF;
    padding: 10px 20px;
    border-radius: 5px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.btn-deconnexion:hover {
    background-color: #89c9f7;
}
.page-mon-compte h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.mon-compte-wrapper {
    text-align: center;
    margin-bottom: 40px;
}

.mon-compte-wrapper p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.mon-compte-buttons a {
    display: inline-block;
    padding: 12px 25px;
    margin: 10px;
    border-radius: 8px;
    font-weight: bold;
    text-decoration: none;
}

.mon-compte-buttons a.account-link {
    background-color: #00AEEF; 
    color: #fff;
}

.mon-compte-buttons a.logout-link {
    background-color: #ffcccc; 
    color: #333;
}

@media screen and (max-width: 768px) {
    .mon-compte-buttons a {
        display: block;
        width: 80%;
        margin: 10px auto;
    }
}
.page-mon-compte h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.mon-compte-wrapper {
    text-align: center;
    margin-bottom: 40px;
}

.mon-compte-wrapper p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.mon-compte-buttons a {
    display: inline-block;
    padding: 12px 25px;
    margin: 10px;
    border-radius: 8px;
    font-weight: bold;
    text-decoration: none;
}

.mon-compte-buttons a.account-link {
    background-color: #00AEEF;
    color: #fff;
}

.mon-compte-buttons a.logout-link {
    background-color: #ffcccc; 
    color: #333;
}

.account-forms {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top: 40px;
}

.account-forms h2 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    text-align: center;
}

.form-connexion, .form-inscription {
    width: 45%;
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
}

.form-connexion form, .form-inscription form {
    display: flex;
    flex-direction: column;
}

.form-connexion label, .form-inscription label {
    margin-top: 10px;
    margin-bottom: 5px;
}

.form-connexion input, .form-inscription input, .form-inscription select {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

.form-inscription button {
    margin-top: 15px;
    padding: 12px;
    background-color: #00AEEF;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: bold;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .form-connexion, .form-inscription {
        width: 100%;
        margin-bottom: 20px;
    }

    .mon-compte-buttons a {
        display: block;
        width: 80%;
        margin: 10px auto;
    }
}

.page-mon-compte {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: 'Poppins', sans-serif;
}


.page-mon-compte h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #004c6d;
}


.mon-compte-wrapper {
    text-align: center;
    background: #e6f7ff;
    padding: 30px;
    border-radius: 15px;
    margin-bottom: 40px;
}

.mon-compte-wrapper p {
    font-size: 1.4rem;
    font-weight: 600;
    color: #004c6d;
}

.mon-compte-buttons {
    margin-top: 20px;
}

.mon-compte-buttons a {
    display: inline-block;
    padding: 12px 30px;
    margin: 10px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s;
}

.mon-compte-buttons a.account-link {
    background-color: #00AEEF;
    color: #fff;
}

.mon-compte-buttons a.logout-link {
    background-color: #FFCCCC;
    color: #333;
}

.mon-compte-buttons a:hover {
    transform: translateY(-2px);
}


.account-forms {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}


.form-connexion, .form-inscription {
    flex: 1;
    min-width: 300px;
    background-color: #fff0f5;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}


.form-connexion h2, .form-inscription h2 {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #004c6d;
}


.form-connexion label, .form-inscription label {
    font-weight: 500;
    margin-top: 15px;
    margin-bottom: 5px;
    display: block;
}

.form-connexion input, .form-inscription input, .form-inscription select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-bottom: 15px;
    font-size: 1rem;
}


.form-inscription button,
.form-connexion input[type="submit"] {
    width: 100%;
    padding: 14px;
    background: #00AEEF;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-weight: bold;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.3s;
}

.form-inscription button:hover,
.form-connexion input[type="submit"]:hover {
    background: #008fc7;
}


@media (max-width: 768px) {
    .account-forms {
        flex-direction: column;
    }
}
.mon-compte-wrapper {
    text-align: center;
    background: #e6f7ff;
    padding: 40px 20px;
    border-radius: 15px;
}

.mon-compte-wrapper h1 {
    font-size: 2.2rem;
    color: #004c6d;
    margin-bottom: 30px;
}

.dashboard-links {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.dashboard-links a {
    padding: 14px 28px;
    background: #00AEEF;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s;
}

.dashboard-links a.logout-btn {
    background: #FFCCCC;
    color: #333;
}

.dashboard-links a:hover {
    transform: translateY(-2px);
}
body.page-template-mon-compte .mon-compte-wrapper {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

body.page-template-mon-compte .connexion,
body.page-template-mon-compte .inscription {
    background-color: #ffe6f0;
    padding: 30px 40px;
    border-radius: 20px;
    box-sizing: border-box;
    width: 48%;
}

body.page-template-mon-compte .connexion h2,
body.page-template-mon-compte .inscription h2 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 25px;
}

body.page-template-mon-compte .connexion form,
body.page-template-mon-compte .inscription form {
    display: flex;
    flex-direction: column;
}

body.page-template-mon-compte .connexion form p,
body.page-template-mon-compte .inscription form p {
    margin-bottom: 15px;
}

body.page-template-mon-compte input[type="text"],
body.page-template-mon-compte input[type="email"],
body.page-template-mon-compte input[type="password"],
body.page-template-mon-compte select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid #ccc;
    font-size: 0.95rem;
    box-sizing: border-box;
}

body.page-template-mon-compte input[type="text"]:focus,
body.page-template-mon-compte input[type="email"]:focus,
body.page-template-mon-compte input[type="password"]:focus,
body.page-template-mon-compte select:focus {
    border-color: #e29fc9;
    outline: none;
    box-shadow: 0 0 6px rgba(226, 159, 201, 0.5);
}

body.page-template-mon-compte button[type="submit"],
body.page-template-mon-compte .btn-connexion {
    width: 100%;
    background-color: #e29fc9;
    color: white;
    padding: 12px 20px;
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    text-align: center;
}

body.page-template-mon-compte button[type="submit"]:hover,
body.page-template-mon-compte .btn-connexion:hover {
    background-color: #d178b0;
}

body.page-template-mon-compte .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 0.9rem;
}

body.page-template-mon-compte .mon-compte-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 20px;
}

body.page-template-mon-compte .mon-compte-buttons a {
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    font-size: 0.95rem;
    transition: background-color 0.3s ease;
}

body.page-template-mon-compte .account-link {
    background-color: #66aaff;
    color: white;
}

body.page-template-mon-compte .logout-link {
    background-color: #f9b3d1;
    color: #004466;
}

body.page-template-mon-compte .account-link:hover {
    background-color: #4a90e2;
}

body.page-template-mon-compte .logout-link:hover {
    background-color: #e99abc;
}

@media (max-width: 900px) {
    body.page-template-mon-compte .connexion,
    body.page-template-mon-compte .inscription {
        width: 100%;
    }

    body.page-template-mon-compte .mon-compte-wrapper {
        flex-direction: column;
        align-items: center;
    }
}

.page-mon-compte h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #004c6d;
}

.mon-compte-wrapper {
    text-align: center;
    background: #e6f7ff;
    padding: 40px 20px;
    border-radius: 15px;
    margin-bottom: 40px;
}

.mon-compte-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.mon-compte-buttons a {
    padding: 14px 28px;
    background: #00AEEF;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s;
}

.mon-compte-buttons a.logout-link {
    background: #FFCCCC;
    color: #333;
}

.mon-compte-buttons a:hover {
    transform: translateY(-2px);
}


.account-forms {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 40px;
}

.form-connexion, .form-inscription {
    flex: 1;
    min-width: 300px;
    background: #fff0f5;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.form-connexion h2, .form-inscription h2 {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #004c6d;
}

.form-connexion label, .form-inscription label {
    font-weight: 500;
    margin-top: 15px;
    margin-bottom: 5px;
    display: block;
}

.form-connexion input, .form-inscription input, .form-inscription select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-bottom: 15px;
    font-size: 1rem;
}

.form-inscription button,
.form-connexion input[type="submit"] {
    width: 100%;
    padding: 14px;
    background: #00AEEF;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-weight: bold;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.3s;
}

.form-inscription button:hover,
.form-connexion input[type="submit"]:hover {
    background: #008fc7;
}


.mes-reservations h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #004c6d;
}

.reservations-list {
    list-style: none;
    padding: 0;
    max-width: 800px;
    margin: 0 auto;
}

.reservations-list li {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    margin-bottom: 20px;
    text-align: left;
}

.reservations-list h2 {
    margin-top: 0;
    color: #00AEEF;
    font-size: 1.2rem;
}


.mes-informations h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #004c6d;
}

.informations-form {
    max-width: 600px;
    margin: 0 auto;
    background: #fdf8ec;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.informations-form label {
    font-weight: bold;
    display: block;
    margin-bottom: 8px;
    color: #333;
}

.informations-form input {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ccc;
    margin-bottom: 20px;
    font-size: 1rem;
}

.informations-form button {
    width: 100%;
    padding: 14px;
    background-color: #00AEEF;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.3s;
}

.informations-form button:hover {
    background-color: #008fc7;
}


@media (max-width: 768px) {
    .account-forms {
        flex-direction: column;
    }

    .mon-compte-buttons a {
        width: 80%;
        margin: 10px auto;
        text-align: center;
    }
}
.ajouter-piscine h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #004c6d;
}

.ajouter-piscine-form {
    max-width: 600px;
    margin: 0 auto;
    background: #fdf8ec;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.ajouter-piscine-form label {
    font-weight: bold;
    display: block;
    margin-bottom: 8px;
    color: #333;
}

.ajouter-piscine-form input,
.ajouter-piscine-form textarea {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ccc;
    margin-bottom: 20px;
    font-size: 1rem;
}

.ajouter-piscine-form textarea {
    min-height: 120px;
}

.ajouter-piscine-form button {
    width: 100%;
    padding: 14px;
    background-color: #00AEEF;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.3s;
}

.ajouter-piscine-form button:hover {
    background-color: #008fc7;
}


.piscines-list {
    list-style: none;
    padding: 0;
    max-width: 800px;
    margin: 0 auto;
}

.piscines-list li {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    margin-bottom: 20px;
    text-align: left;
}

.piscines-list h2 {
    margin-top: 0;
    color: #00AEEF;
    font-size: 1.2rem;
}

.piscines-list a {
    color: #0073aa;
    text-decoration: underline;
    font-size: 0.95rem;
}


@media (max-width: 768px) {
    .ajouter-piscine-form {
        padding: 20px;
    }
}
.reservations-piscines h1 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #004c6d;
}

.reservations-list {
    list-style: none;
    padding: 0;
    max-width: 800px;
    margin: 0 auto;
}

.reservations-list li {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    margin-bottom: 20px;
    text-align: left;
}

.reservations-list h2 {
    margin-top: 0;
    color: #00AEEF;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.reservations-list p {
    margin: 5px 0;
    font-size: 0.95rem;
    color: #333;
}


@media (max-width: 768px) {
    .reservations-list li {
        padding: 15px;
    }
}

.panier-wrapper {
    max-width: 1000px;
    margin: 60px auto;
    padding: 20px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.panier-wrapper h1 {
    font-size: 28px;
    margin-bottom: 30px;
    text-align: center;
}

.panier-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.panier-table th, .panier-table td {
    padding: 15px 10px;
    text-align: center;
    border-bottom: 1px solid #eee;
}

.panier-table th {
    background-color: #f5f5f5;
    font-weight: 600;
    font-size: 16px;
}

.panier-table td {
    font-size: 14px;
}

.remove-item {
    background: #ff6b6b;
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s;
}

.remove-item:hover {
    background: #e04b4b;
}

.panier-total {
    font-size: 20px;
    text-align: right;
    margin-bottom: 20px;
}

.btn-payer {
    display: block;
    width: 100%;
    padding: 15px;
    background-color: #0073aa;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.3s;
}

.btn-payer:hover {
    background-color: #005f8d;
}

@media screen and (max-width: 768px) {
    .panier-table th, .panier-table td {
        font-size: 12px;
        padding: 10px 5px;
    }

    .btn-payer {
        font-size: 16px;
        padding: 12px;
    }
}
h1 {
    text-align: center;
}
.panier-wrapper {
    max-width: 800px;
    margin: 40px auto;
    padding: 30px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.panier-wrapper h1 {
    text-align: center;
    font-size: 32px;
    margin-bottom: 30px;
}

.panier-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding: 15px 0;
}

.panier-item:last-child {
    border-bottom: none;
}

.panier-item-details {
    flex: 1;
}

.panier-item-actions {
    margin-left: 20px;
}

.btn-supprimer {
    background: #ff5c5c;
    color: #fff;
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
    font-size: 14px;
}

.panier-total {
    text-align: right;
    font-size: 18px;
    margin-top: 20px;
}

.panier-actions {
    text-align: right;
    margin-top: 30px;
}

.panier-actions .btn-payer {
    background: #0073aa;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
}
.annulation-wrapper {
    max-width: 600px;
    margin: 100px auto;
    text-align: center;
    padding: 30px;
    background: #fff7f7;
    border: 1px solid #f5c2c7;
    border-radius: 12px;
}

.annulation-wrapper h1 {
    font-size: 24px;
    color: #d9534f;
    margin-bottom: 20px;
}

.annulation-wrapper p {
    font-size: 16px;
    margin-bottom: 30px;
}

.btn-retour {
    display: inline-block;
    padding: 10px 20px;
    background-color: #0073aa;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
}
.legal-page {
  padding: 80px 20px;
  background-color: #fafafa;
  font-family: 'Inter', sans-serif;
}

.legal-page .container {
  max-width: 800px;
  margin: auto;
}

.legal-page h1 {
  font-size: 36px;
  margin-bottom: 30px;
  color: #333;
}

.legal-page p {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 20px;
}
.footer-legal-links {
  margin-top: 30px;
  text-align: center;
}

.footer-legal-links a {
  color: #999;
  margin: 0 12px;
  font-size: 14px;
  text-decoration: none;
}

.footer-legal-links a:hover {
  color: #333;
  text-decoration: underline;
}
.legal-page {
  padding: 80px 20px;
  background-color: #fafafa;
  font-family: 'Inter', sans-serif;
}
.legal-page .container {
  max-width: 800px;
  margin: auto;
}
.legal-page h1, .legal-page h2, .legal-page h3 {
  color: #333;
  margin-bottom: 20px;
}
.legal-page p, .legal-page li {
  color: #555;
  font-size: 16px;
  line-height: 1.7;
}
.legal-page ul {
  margin-left: 20px;
  margin-bottom: 20px;
}
.notification-inscription {
  background-color: #d2f8e8;
  border-left: 4px solid #34c38f;
  color: #155c4a;
  padding: 15px 20px;
  margin-bottom: 30px;
  font-weight: 500;
  border-radius: 5px;
  font-size: 16px;
}
.menu-header li a {
  padding: 10px 20px;
  border-radius: 30px;
  background-color: #ffeef4; /* rose pâle */
  color: #333;
  font-weight: 600;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.menu-header li a:hover {
  background-color: #ffb8c9; 
  color: white;
}
.btn-connexion {
  padding: 10px 20px;
  border-radius: 30px;
  background-color: #ffeef4;
  color: #333;
  font-weight: 600;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.btn-connexion:hover {
  background-color: #ffb8c9;
  color: white;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Helvetica Neue', sans-serif;
}


.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}


.flex {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}


img {
  max-width: 100%;
  height: auto;
  display: block;
}


h1, h2, h3 {
  line-height: 1.2;
}


form input,
form select,
form textarea,
form button {
  width: 100%;
  max-width: 100%;
  padding: 10px;
  margin-bottom: 15px;
}


button, .btn, .account-link {
  padding: 10px 20px;
  border-radius: 30px;
  border: none;
  background-color: #ffeef4;
  color: #333;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s ease;
}

button:hover, .btn:hover, .account-link:hover {
  background-color: #ffb8c9;
  color: white;
}


footer {
  padding: 40px 20px;
  text-align: center;
  font-size: 14px;
}


.menu-header {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.menu-header li {
  list-style: none;
}

.menu-header li a {
  text-decoration: none;
}


.page-mon-compte .account-forms {
  display: flex;
  gap: 40px;
}

.page-mon-compte .form-connexion,
.page-mon-compte .form-inscription {
  flex: 1;
  min-width: 250px;
}


.card-piscine,
.similar-pools,
.filters-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.card-piscine {
  width: calc(33.33% - 20px);
}

@media screen and (max-width: 768px) {
  .page-mon-compte .account-forms {
    flex-direction: column;
  }

  .card-piscine {
    width: 100%;
  }

  .filters-wrapper {
    flex-direction: column;
  }

  .menu-header {
    flex-direction: column;
    align-items: flex-start;
  }
}
.page-mon-compte {
    max-width: 1000px;
    margin: 80px auto;
    padding: 0 20px;
}

.page-mon-compte h1 {
    font-size: 32px;
    margin-bottom: 30px;
    color: #333;
    text-align: center;
}

.notification-inscription {
    background: #d4edda;
    color: #155724;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 500;
}


.account-forms {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

.form-connexion, .form-inscription {
    flex: 1;
    background-color: #ffeef4;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    min-width: 300px;
}

.form-connexion h2, .form-inscription h2 {
    font-size: 22px;
    margin-bottom: 20px;
    color: #333;
}

input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="number"], select {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    margin-bottom: 15px;
}

button[type="submit"], input[type="submit"] {
    background-color: #ffb8c9;
    color: white;
    font-weight: bold;
    padding: 12px 20px;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: 0.3s ease;
}

button[type="submit"]:hover, input[type="submit"]:hover {
    background-color: #f895aa;
}

.registration-errors .error {
    color: #b10036;
    font-size: 14px;
    margin-bottom: 8px;
}


.mon-compte-wrapper {
    background: #fefefe;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    text-align: center;
}

.mon-compte-wrapper p {
    font-size: 18px;
    margin-bottom: 20px;
}

.mon-compte-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.account-link, .logout-link {
    padding: 12px 24px;
    background-color: #ffeef4;
    border-radius: 30px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    border: 2px solid transparent;
    transition: 0.3s ease;
}

.account-link:hover, .logout-link:hover {
    background-color: #ffb8c9;
    color: white;
}
.container.mes-reservations {
    max-width: 1000px;
    margin: 80px auto;
    padding: 0 20px;
}

.mes-reservations h1 {
    font-size: 32px;
    margin-bottom: 30px;
    color: #333;
    text-align: center;
}

.reservations-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.reservations-list li {
    background: #ffeef4;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    text-align: center;
}

.reservations-list li h2 {
    font-size: 20px;
    margin-bottom: 10px;
}

.reservations-list li img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 10px;
}

.reservations-list li p {
    font-size: 14px;
    margin: 5px 0;
}
.container.ajouter-piscine {
    max-width: 600px;
    margin: 80px auto;
    padding: 0 20px;
}

.ajouter-piscine h1 {
    font-size: 28px;
    text-align: center;
    margin-bottom: 30px;
}

.ajouter-piscine-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: #ffeef4;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.ajouter-piscine-form label {
    font-weight: bold;
    font-size: 14px;
    color: #555;
}

.ajouter-piscine-form input[type="text"],
.ajouter-piscine-form input[type="number"],
.ajouter-piscine-form input[type="file"],
.ajouter-piscine-form textarea {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-size: 14px;
}

.ajouter-piscine-form textarea {
    min-height: 100px;
    resize: vertical;
}

.ajouter-piscine-form button {
    padding: 14px;
    background-color: #ffb8c9;
    color: #fff;
    border: none;
    border-radius: 30px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.ajouter-piscine-form button:hover {
    background-color: #f28ca9;
}

@media (max-width: 500px) {
    .container.ajouter-piscine {
        padding: 0 10px;
    }

    .ajouter-piscine-form {
        padding: 20px;
    }
}
.ajouter-piscine {
    max-width: 600px;
    margin: 40px auto;
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.ajouter-piscine h1 {
    text-align: center;
    margin-bottom: 20px;
}

.ajouter-piscine-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.ajouter-piscine-form input,
.ajouter-piscine-form textarea,
.ajouter-piscine-form select {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
}

.ajouter-piscine-form button {
    background: #0073aa;
    color: #fff;
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

.ajouter-piscine-form button:hover {
    background: #005f8d;
}
.mes-piscines {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.piscines-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.piscine-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
}

.piscine-card:hover {
    transform: translateY(-5px);
}

.piscine-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.piscine-info {
    padding: 15px;
    text-align: center;
}

.piscine-info h2 {
    font-size: 18px;
    margin-bottom: 10px;
}

.btn-view {
    background: #0073aa;
    color: white;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    display: inline-block;
    transition: background 0.3s;
}

.btn-view:hover {
    background: #005f8d;
}
.reservations-piscines {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

.reservations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.reservation-card {
    background: #fff;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform 0.3s ease;
}

.reservation-card:hover {
    transform: translateY(-5px);
}

.reservation-card h2 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #0073aa;
}

.reservation-card p {
    font-size: 14px;
    color: #333;
}

.no-piscines {
    text-align: center;
    font-size: 16px;
    margin-top: 40px;
    color: #777;
}
.mes-informations {
    max-width: 600px;
    margin: 40px auto;
    padding: 0 20px;
    background: #fff0f5;
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 30px;
}

.mes-informations h1 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 30px;
    color: #333;
}

.informations-form .form-group {
    margin-bottom: 20px;
}

.informations-form label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
    color: #555;
}

.informations-form input {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 14px;
}

.optional {
    font-weight: normal;
    color: #999;
    font-size: 12px;
}

.btn-enregistrer {
    display: block;
    width: 100%;
    padding: 12px;
    background: #FFB6C1;
    color: white;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s ease;
}

.btn-enregistrer:hover {
    background: #ff8aa5;
}

@media(max-width: 600px) {
    .mes-informations {
        padding: 20px;
        margin: 20px;
    }

    .btn-enregistrer {
        font-size: 14px;
    }
}
.site-footer {
    background: #FFE4EF;
    padding: 40px 20px;
    width: 100%;
    box-sizing: border-box;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: auto;
}

.footer-column {
    flex: 1;
    min-width: 220px;
    margin: 20px 0;
}

.footer-column h4 {
    font-size: 16px;
    margin-bottom: 15px;
    color: #333;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 8px;
}

.footer-column ul li a {
    text-decoration: none;
    color: #444;
    transition: color 0.3s;
}

.footer-column ul li a:hover {
    color: #0073aa;
}

.legal-links ul li a {
    font-size: 14px;
}

.copyright {
    text-align: center;
    font-size: 13px;
    margin-top: 30px;
    color: #666;
}

@media(max-width: 768px) {
    .footer-container {
        flex-direction: column;
        align-items: center;
    }

    .footer-column {
        text-align: center;
    }
}
.burger-menu-icon {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
}

.burger-menu-icon span {
    width: 25px;
    height: 3px;
    background: #333;
    border-radius: 2px;
}

.mobile-menu {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    background: #ffe4ef;
    padding: 20px;
    text-align: center;
    flex-direction: column;
    gap: 20px;
}

.mobile-menu a {
    display: block;
    padding: 10px 0;
    font-weight: bold;
    text-decoration: none;
    color: #333;
}

@media (max-width: 768px) {
    .desktop-menu {
        display: none;
    }

    .burger-menu-icon {
        display: flex;
    }

    .mobile-menu.active {
        display: flex;
    }
}


.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.logo img {
    height: 100px;
}

.main-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    gap: 40px;
}

.main-menu li a {
    font-weight: bold;
    color: #333;
    text-decoration: none;
    font-size: 18px;
}

.btn-connexion {
  padding: 10px 20px;
  border-radius: 30px;
  background-color: #ffeef4;
  color: #333;
  font-weight: 600;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.btn-connexion:hover {
  background-color: #ffb8c9;
  color: white;
}


.burger-menu {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
}

.burger-menu span {
    height: 3px;
    width: 25px;
    background: #333;
    border-radius: 2px;
}


@media (max-width: 768px) {
    .header-container {
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }

    .main-menu {
        display: none;
        flex-direction: column;
        background: white;
        width: 100%;
        padding: 20px;
        gap: 20px;
        border-top: 1px solid #eee;
    }

    .main-menu li a {
        font-size: 16px;
        padding: 10px;
        display: block;
    }

    .main-menu.show {
        display: flex;
    }

    .burger-menu {
        display: flex;
        position: relative;
        z-index: 1000;
    }

    .btn-connexion {
        margin-top: 10px;
        width: 100%;
        text-align: center;
    }

   
    .main-menu {
        background-color: #ffeef4;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: all 0.3s ease-in-out;
    }

    .main-menu.show {
        opacity: 1;
        max-height: 500px; 
    }

   
    .burger-menu.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .burger-menu.active span:nth-child(2) {
        opacity: 0;
    }

    .burger-menu.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    .burger-menu span {
        transition: all 0.3s ease;
    }
}

.pool-map-wrap {
  margin: 20px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.pool-map-wrap iframe {
  width: 100%;
  height: 320px;
  display: block;
}

.site-header .logo {
  display: flex;
  align-items: center;
  justify-content: center;
}


.site-header .logo img {
  display: block;
  width: auto;          
  height: 34px;         
  max-width: 70vw;     
  object-fit: contain;  
}


@media (max-width: 768px) {
  .site-header .logo img {
    height: 40px;       
    max-width: 70vw;    
  }
}

footer .text {
    text-align: center;
    display: block;
    width: 100%;
    margin: 0 auto;
}
footer .copyright {
    text-align: center;
    display: block;
    width: 100%;
    margin: 0 auto;
}

.ajouter-piscine {
  --pp-bg: #ffe8f0;
  --pp-bg-2: #fff3f7;
  --pp-border: #ffd1e1;
  --pp-accent: #ff6aa6;
  --pp-accent-2: #ff8fbd;
  --pp-text: #2b2b2b;
  --pp-muted: #7a7a7a;
  --pp-radius: 18px;
  --pp-shadow: 0 8px 20px rgba(0,0,0,0.08);
  max-width: 880px;
  margin: 40px auto 80px;
  padding: 0 20px;
}

.ajouter-piscine h1 {
  text-align: center;
  margin: 0 0 18px;
  color: #0f3b57;
  font-size: 32px;
  letter-spacing: .2px;
}

.ajouter-piscine-form {
  background: var(--pp-bg);
  border: 1px solid var(--pp-border);
  border-radius: var(--pp-radius);
  box-shadow: var(--pp-shadow);
  padding: 26px;
}

.ajouter-piscine-form label {
  display: block;
  font-weight: 600;
  color: var(--pp-text);
  margin: 18px 0 8px;
}

.ajouter-piscine-form input[type="text"],
.ajouter-piscine-form input[type="number"],
.ajouter-piscine-form input[type="file"],
.ajouter-piscine-form select,
.ajouter-piscine-form textarea {
  width: 100%;
  display: block;
  background: #fff;
  border: 1.5px solid var(--pp-border);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15px;
  color: var(--pp-text);
  transition: border-color .2s ease, box-shadow .2s ease;
  outline: none;
}

.ajouter-piscine-form textarea {
  min-height: 140px;
  resize: vertical;
}

.ajouter-piscine-form input[type="text"]:focus,
.ajouter-piscine-form input[type="number"]:focus,
.ajouter-piscine-form select:focus,
.ajouter-piscine-form textarea:focus {
  border-color: var(--pp-accent);
  box-shadow: 0 0 0 4px rgba(255,106,166,.15);
}

.ajouter-piscine-form select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--pp-accent) 50%),
    linear-gradient(135deg, var(--pp-accent) 50%, transparent 50%),
    linear-gradient(to right, #fff, #fff);
  background-position:
    calc(100% - 22px) calc(1em + 2px),
    calc(100% - 16px) calc(1em + 2px),
    100% 0;
  background-size: 6px 6px, 6px 6px, 2.5em 3.2em;
  background-repeat: no-repeat;
}

.equipements-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px 12px;
  margin-top: 8px;
}

.equipements-list .checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 2px solid var(--pp-border);
  background: var(--pp-bg-2);
  cursor: pointer;
  user-select: none;
  transition: border-color .2s ease, background .2s ease, transform .05s ease;
  font-size: 14px;
}

.equipements-list .checkbox:hover {
  border-color: var(--pp-accent-2);
}

.equipements-list .checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  accent-color: var(--pp-accent);
}

.equipements-list .checkbox span {
  line-height: 1;
  color: var(--pp-text);
}

.equipements-list .checkbox:has(input:checked) {
  background: #fff;
  border-color: var(--pp-accent);
  box-shadow: 0 0 0 3px rgba(255,106,166,.12) inset;
}

.ajouter-piscine-form button[type="submit"] {
  display: inline-block;
  margin-top: 22px;
  width: 100%;
  font-weight: 700;
  letter-spacing: .2px;
  border: none;
  border-radius: 14px;
  padding: 14px 18px;
  background: linear-gradient(180deg, var(--pp-accent), var(--pp-accent-2));
  color: #fff;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(255,106,166,.25);
  transition: transform .07s ease, filter .2s ease, box-shadow .2s ease;
}

.ajouter-piscine-form button[type="submit"]:hover {
  filter: brightness(1.03);
  box-shadow: 0 10px 22px rgba(255,106,166,.28);
}

.ajouter-piscine-form button[type="submit"]:active {
  transform: translateY(1px);
}

.ajouter-piscine .notice.success {
  background: #e7f7ee;
  border: 1px solid #c9efd9;
  color: #2d7a46;
}
.ajouter-piscine .notice.warning {
  background: #fff6e5;
  border: 1px solid #ffe1b3;
  color: #8a6d1d;
}

@media (max-width: 640px) {
  .ajouter-piscine {
    padding: 0 14px;
  }
  .ajouter-piscine-form {
    padding: 18px;
  }
  .ajouter-piscine h1 {
    font-size: 26px;
  }
}

.ajouter-piscine .equipements-list{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, max-content)) !important;
  gap:10px 12px !important;
  margin:8px 0 16px !important;
  align-items:start !important;
}

.ajouter-piscine .equipements-list label,
.ajouter-piscine .equipements-list .checkbox{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:6px 10px !important;
  background:#fff !important;
  border:1px solid var(--pp-border, #ffd1e1) !important;
  border-radius:14px !important;
  box-shadow:none !important;
  height:auto !important;
  min-height:0 !important;
  line-height:1.2 !important;
  font-size:14px !important;
  font-weight:500 !important;
  cursor:pointer !important;
}

.ajouter-piscine .equipements-list input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  margin:0 !important;
  accent-color: var(--pp-accent, #ff6aa6) !important;
  flex:0 0 auto !important;
}


.ajouter-piscine .equipements-list label:has(input:checked),
.ajouter-piscine .equipements-list .checkbox:has(input:checked){
  background:#ffe8f2 !important;
  border-color: var(--pp-accent, #ff6aa6) !important;
  box-shadow:0 0 0 2px rgba(255,106,166,.12) inset !important;
}


.ajouter-piscine-form input[type="file"]{ margin-top:10px !important; }


.ajouter-piscine .equipements-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 12px !important;
  margin: 6px 0 12px !important; 
}

.ajouter-piscine .equipements-list label {
  flex: 0 0 auto !important; 
}

.filter-section select[name="localisation"] {
  appearance: none; 
  -webkit-appearance: none;
  -moz-appearance: none;
  
  width: 100%;
  max-width: 300px;
  padding: 12px 40px 12px 16px;
  font-size: 15px;
  color: #333;
  background: #fff;
  border: 2px solid #ffd1e1;
  border-radius: 25px;
  outline: none;
  transition: all .25s ease;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
  cursor: pointer;
  margin-bottom: 14px;
}

.filter-section select[name="localisation"]:focus {
  border-color: #ff6aa6;
  box-shadow: 0 0 0 4px rgba(255,106,166,.15);
}

.filter-section select[name="localisation"] {
  background-image:
    linear-gradient(45deg, transparent 50%, #ff6aa6 50%),
    linear-gradient(135deg, #ff6aa6 50%, transparent 50%),
    linear-gradient(to right, #fff, #fff);
  background-position:
    calc(100% - 24px) 16px,
    calc(100% - 18px) 16px,
    100% 0;
  background-size: 6px 6px, 6px 6px, 2.5em 100%;
  background-repeat: no-repeat;
}

.filter-section select[name="localisation"]:hover {
  border-color: #ff8fbd;
}

@media (max-width: 900px){
  .header-container, .header-top { position: relative; }

 
  #burger-menu.burger-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:16px;
    top:12px;
    width:44px;
    height:44px;
    background:#fff;               
    border:2px solid #ff8fbd;        
    border-radius:999px;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    z-index:1001;
    cursor:pointer;
  }

  #burger-menu.burger-menu span{
    display:block;
    width:22px;
    height:2px;
    background:#0f3b57;             
    border-radius:2px;
    transition:.25s;
  }
  #burger-menu.burger-menu span + span{ margin-top:5px; }


  #burger-menu.burger-menu.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  #burger-menu.burger-menu.is-open span:nth-child(2){ opacity:0; }
  #burger-menu.burger-menu.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


  #burger-menu.burger-menu:focus-visible{
    outline:3px solid #0ea5e9;
    outline-offset:2px;
  }
}

@media (max-width: 900px){
  .header-container { position: relative; }


  #burger-menu.burger-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:16px;
    top:12px;
    width:44px; height:44px;
    background:#fff;
    border:2px solid #ff8fbd;
    border-radius:999px;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    z-index:1001;
  }
  #burger-menu.burger-menu span{
    display:block;
    width:22px; height:2px;
    background:#0f3b57;
    border-radius:2px;
    transition:.25s;
  }
  #burger-menu.burger-menu span + span{ margin-top:5px; }
  #burger-menu.burger-menu.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  #burger-menu.burger-menu.active span:nth-child(2){ opacity:0; }
  #burger-menu.burger-menu.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .header-navigation { background:#ffeef4; border-top:1px solid #ffcfe2; }
  .main-menu{
    display:none;
    flex-direction:column;
    gap:12px;
    margin:0; padding:16px;
    list-style:none;
  }
  .main-menu.show{ display:flex; }

  .main-menu li a{
    display:block;
    padding:12px 14px;
    background:#fff;
    border:2px solid #ffcfe2;
    border-radius:12px;
    color:#0f3b57;
    font-weight:600;
    text-decoration:none;
  }

  .header-navigation .btn-connexion{ display:none; }
  .header-navigation .main-menu.show + .btn-connexion{
    display:block;
    width:calc(100% - 32px);
    margin:0 16px 16px;
    text-align:center;
    padding:12px 14px;
    background:#fff;
    border:2px solid #ff8fbd;
    border-radius:999px;
    color:#0f3b57;
    font-weight:700;
    text-decoration:none;
  }
}

@media (max-width: 900px){
  .header-container{
    display:grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items:center;
    position: relative; 
    padding: 10px 14px;
  }

  .header-container .logo{
    grid-column: 2;
    justify-self: center;
  }
  .header-container .logo img{
    height: 56px; 
  }

  #burger-menu.burger-menu{
    grid-column: 3;
    justify-self: end;
    position: static !important; 
    right: auto !important;
    top: auto !important;
    width: 40px;
    height: 40px;
    background: #fff;
    border: 2px solid #ff8fbd;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 1; 
  }

  #burger-menu.burger-menu span{
    width: 22px; height: 2px; background:#0f3b57; border-radius:2px;
  }
  #burger-menu.burger-menu span + span{ margin-top:5px; }

  .header-navigation{
    background:#ffeef4;
    border-top:1px solid #ffcfe2;
  }
  .main-menu{
    display:none;
    flex-direction:column;
    gap:12px;
    margin:0; padding:16px;
    list-style:none;
  }
  .main-menu.show{ display:flex; }

  .main-menu li a{
    display:block;
    padding:12px 14px;
    background:#fff;
    border:2px solid #ffcfe2;
    border-radius:12px;
    color:#0f3b57; font-weight:600; text-decoration:none;
  }

  .header-navigation .btn-connexion{ display:none; }
  .main-menu.show + .btn-connexion{
    display:block;
    width:calc(100% - 32px);
    margin:0 16px 16px;
    text-align:center;
    padding:12px 14px;
    background:#fff;
    border:2px solid #ff8fbd;
    border-radius:999px;
    color:#0f3b57; font-weight:700; text-decoration:none;
  }
}

.site-header .header-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between; 
  align-items: center;
  padding: 16px 30px;
}

.header-navigation {
  display: flex;
  justify-content: flex-start;
  gap: 28px;
  flex: 1; 
}
.header-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 28px;
}
.header-navigation li {
  display: inline-flex;
}

.site-logo {
  margin-left: auto;
}
.site-logo img,
.custom-logo {
  max-height: 72px; 
  height: auto;
  width: auto;
}

.header-navigation a {
  display: flex;
  align-items: center;
  padding: 8px 0; 
  text-decoration: none;
}

.header-navigation .menu-item a[href*="mon-compte"],
.header-navigation .menu-item a.mon-compte-link {
  background: #fce9f1;      
  border-radius: 20px;
  padding: 8px 16px;       
  margin-left: 12px;        
  display: inline-flex;
  align-items: center;
  height: 100%;
}

.header-navigation .btn-connexion {
  border: 2px solid #ff8fbd;  
  border-radius: 999px;        
  padding: 6px 18px;
  background: transparent;
  color: #0f3b57;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.header-navigation .btn-connexion:hover {
  background: #ff8fbd;
  color: #fff;
}

@media (max-width: 900px){

  .header-navigation{
    display:block !important;
    grid-template-columns: none !important;
    background:#ffeef4;
    border-top:1px solid #ffcfe2;
    padding:0 !important;
  }

  .main-menu{
    display:none; 
    flex-direction:column !important;
    gap:12px !important;
    margin:0 !important;
    padding:16px !important;
    list-style:none !important;
    float:none !important;
    width:100% !important;
  }
  .main-menu.show{ display:flex !important; }

  .main-menu > li{ width:100% !important; margin:0 !important; }
  .main-menu > li > a{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    padding:14px 16px !important;
    background:#fff !important;
    border:2px solid #ffcfe2 !important;
    border-radius:14px !important;
    color:#0f3b57 !important;
    text-decoration:none !important;
    font-weight:600 !important;
    height:auto !important;      
  }

  .header-navigation .btn-connexion{
    display:none !important;
    height:auto !important;
  }
  .main-menu.show + .btn-connexion{
    display:block !important;
    width:calc(100% - 32px) !important;
    margin:0 16px 16px !important;
    padding:14px 16px !important;
    text-align:center !important;
    background:#fff !important;
    border:2px solid #ff8fbd !important;
    border-radius:999px !important;
    color:#0f3b57 !important;
    font-weight:700 !important;
    text-decoration:none !important;
  }
}
@media (min-width: 901px){
  .site-header{
    background:#ffdbe9;        
    border-bottom:1px solid #ffcfe2;
  }

  .main-menu li a{
    color:#0f3b57;               
    font-weight:700;
    text-decoration:none;
    transition:color .2s ease;
  }
  .main-menu li a:hover,
  .main-menu li.current-menu-item > a{
    color:#ff5b99;               
  }

  .btn-connexion{
    background:#ffffff;         
    color:#0f3b57;
    border:2px solid #ff8fbd;  
    border-radius:999px;
    padding:8px 18px;
    font-weight:700;
    text-decoration:none;
    transition:all .2s ease;
  }
  .btn-connexion:hover{
    background:#ff8fbd;        
    color:#ffffff;          
    box-shadow:0 6px 14px rgba(255,143,189,.25);
  }
}

@media (max-width: 900px){
  .header-navigation{
    display:none !important; 
  }
  .main-menu,
  .btn-connexion{
    margin:0 !important;
    padding:0 !important;
  }
}

@media (max-width: 900px){
  .header-navigation{ display:none !important; } 
  .header-navigation.nav-open{ display:block !important; } 

  .main-menu{
    display:none;
    flex-direction:column;
    gap:12px;
    margin:0; padding:16px;
    list-style:none;
  }
  .main-menu.show{ display:flex; }

  .main-menu > li > a{
    display:block; width:100%; text-align:center;
    padding:14px 16px; background:#fff; border:2px solid #ffcfe2;
    border-radius:14px; color:#0f3b57; font-weight:600; text-decoration:none;
  }

  .header-navigation .btn-connexion{ display:none; }
  .main-menu.show + .btn-connexion{
    display:block; width:calc(100% - 32px); margin:0 16px 16px;
    padding:14px 16px; text-align:center; background:#fff;
    border:2px solid #ff8fbd; border-radius:999px; color:#0f3b57; font-weight:700;
    text-decoration:none;
  }
}

/* ====== Mes Piscines (un peu de style si besoin) ====== */
.piscines-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.piscine-card {
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.03);
  display: flex;
  flex-direction: column;
}

.piscine-image {
  width: 100%;
  aspect-ratio: 4/3;
  background: #f6f6f6;
  display: grid;
  place-items: center;
}
.piscine-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.piscine-placeholder {
  color: #777;
  font-size: 14px;
}

.piscine-info {
  padding: 12px;
}
.piscine-title {
  font-size: 18px;
  margin: 0 0 6px;
}
.piscine-status {
  margin: 0 0 12px;
  color: #555;
}

.piscine-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.btn {
  display: inline-block;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
}
.btn-view {
  background: #f4f7ff;
  color: #1e52ff;
  border-color: #dfe7ff;
}
.btn-view:hover { background: #e9f0ff; }

.btn-edit {
  background: #e7f7ee;
  color: #236f4a;
  border-color: #cdebd9;
}
.btn-edit:hover { background: #d9f2e4; }

@media (max-width: 640px) {
  .container.modifier-piscine { margin: 24px auto; }
  .container.modifier-piscine form { padding: 14px; }
}

.container.modifier-piscine {
  max-width: 900px;
  margin: 40px auto 60px;
  padding: 0 20px;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #1e293b;
}

.container.modifier-piscine h1 {
  font-size: 28px;
  text-align: center;
  margin-bottom: 28px;
  color: #0d5ea6;
  font-weight: 800;
  letter-spacing: -.2px;
}

.container.modifier-piscine form {
  background: #fff;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 12px 32px rgba(13, 94, 166, 0.08);
  border: 1px solid #f0f4fa;
}

.container.modifier-piscine label {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
  color: #334155;
}

.container.modifier-piscine input[type="text"],
.container.modifier-piscine input[type="number"],
.container.modifier-piscine input[type="file"],
.container.modifier-piscine textarea,
.container.modifier-piscine select {
  width: 100%;
  border: none;
  background: #f9fafb;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 15px;
  margin-bottom: 18px;
  box-shadow: inset 0 0 0 1px #e5e7eb;
  transition: all .2s ease;
}

.container.modifier-piscine textarea {
  min-height: 140px;
}

.container.modifier-piscine input:focus,
.container.modifier-piscine textarea:focus,
.container.modifier-piscine select:focus {
  outline: none;
  background: #fff;
  box-shadow: inset 0 0 0 2px #0d5ea6;
}

.container.modifier-piscine input[type="file"] {
  padding: 10px;
  background: #f9fafb;
}
.container.modifier-piscine input[type="file"]::file-selector-button {
  padding: 10px 14px;
  border-radius: 12px;
  border: none;
  background: #0d5ea6;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.container.modifier-piscine input[type="file"]::file-selector-button:hover {
  background: #0b4e89;
}

.container.modifier-piscine .equipements-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.container.modifier-piscine .equipements-list label {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f1f5f9;
  border-radius: 12px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background .2s, transform .1s;
}
.container.modifier-piscine .equipements-list label:hover {
  background: #e2e8f0;
  transform: translateY(-1px);
}
.container.modifier-piscine .equipements-list input[type="checkbox"] {
  accent-color: #0d5ea6;
}

.container.modifier-piscine button[type="submit"] {
  display: inline-block;
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 14px;
  background: linear-gradient(135deg, #0d5ea6, #187cd1);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .05s ease, box-shadow .2s ease;
  box-shadow: 0 8px 20px rgba(13, 94, 166, 0.2);
}
.container.modifier-piscine button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(13, 94, 166, 0.28);
}
.container.modifier-piscine button[type="submit"]:active {
  transform: translateY(1px);
  box-shadow: 0 6px 16px rgba(13, 94, 166, 0.2);
}

.container.modifier-piscine .notice.success {
  background: #eafaf1;
  color: #166534;
  border: 1px solid #bbf7d0;
  padding: 12px 16px;
  border-radius: 12px;
  margin-bottom: 20px;
}
.container.modifier-piscine .notice.warning {
  background: #fff7ed;
  color: #92400e;
  border: 1px solid #fdba74;
  padding: 12px 16px;
  border-radius: 12px;
  margin-bottom: 20px;
}

.piscine-actions .btn {
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
}
.piscine-actions .btn-view {
  background: #f3f6ff; color: #1e52ff; border-color: #e1e8ff;
}
.piscine-actions .btn-view:hover { background:#eaf0ff; }
.piscine-actions .btn-edit {
  background: #eafaf1; color: #12633f; border-color: #cfeedd;
}
.piscine-actions .btn-edit:hover { background:#e1f6ea; }

.container.mes-piscines {
  max-width: 1200px;
  margin: 32px auto 64px;
  padding: 0 16px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #0f172a;
}

.container.mes-piscines h1 {
  font-size: 32px;
  text-align: center;
  margin: 6px 0 24px;
  color: #0d5ea6; 
}

.mes-piscines .piscines-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.mes-piscines .piscine-card {
  background: #fff;
  border: 1px solid #e8eef6;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(13, 94, 166, .06);
  display: flex;
  flex-direction: column;
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.mes-piscines .piscine-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(13, 94, 166, .12);
  border-color: #d8e6f7;
}

.mes-piscines .piscine-image {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  background: #f5f8fc;
  overflow: hidden;
}
.mes-piscines .piscine-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform .5s ease;
}
.mes-piscines .piscine-card:hover .piscine-image img {
  transform: scale(1.04);
}
.mes-piscines .piscine-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #64748b;
  font-size: 14px;
}

.mes-piscines .piscine-info {
  padding: 14px;
  display: grid;
  gap: 10px;
}
.mes-piscines .piscine-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  color: #0f172a;
  line-height: 1.25;
}

.mes-piscines .piscine-status {
  margin: 0;
}
.mes-piscines .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 999px;
  padding: 6px 10px;
  border: 1px solid transparent;
}
.mes-piscines .status--publish {
  color: #14532d;
  background: #e7f7ee;
  border-color: #cfeedd;
}
.mes-piscines .status--pending {
  color: #92400e;
  background: #fff7ed;
  border-color: #fde2c2;
}
.mes-piscines .status--draft {
  color: #0f3a63;
  background: #eef6ff;
  border-color: #d9e9ff;
}

.mes-piscines .piscine-actions {
  display: flex;
  gap: 10px;
  margin-top: 4px;
  flex-wrap: wrap;
}

.mes-piscines .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform .04s ease, box-shadow .2s ease, filter .2s ease, background .2s ease, border-color .2s ease;
  cursor: pointer;
}

.mes-piscines .btn-view {
  background: #0d5ea6;
  color: #fff;
  box-shadow: 0 10px 22px rgba(13, 94, 166, .18);
}
.mes-piscines .btn-view:hover { filter: brightness(.96); box-shadow: 0 14px 30px rgba(13, 94, 166, .26); }

.mes-piscines .btn-edit {
  background: #f3f8ff;
  color: #0d5ea6;
  border-color: #dfeaff;
}
.mes-piscines .btn-edit:hover { background: #e8f1ff; }

.mes-piscines a.btn { text-decoration: none; }

.mes-piscines .empty {
  background: #f8fafc;
  border: 1px dashed #c9d5e6;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  color: #475569;
  max-width: 700px;
  margin: 24px auto 0;
}
.mes-piscines .empty a {
  display: inline-block;
  margin-top: 10px;
  color: #0d5ea6;
  font-weight: 700;
}

.swiper-button-next,
.swiper-button-prev {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #0b78a3;
    color: #0b78a3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: #0b78a3;
    color: #fff;
    transform: scale(1.1);
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 18px;
    font-weight: bold;
}

@media (max-width: 768px) {
    .single-piscine-wrapper .piscine-header-image img,
    .single-piscine-wrapper img.wp-post-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block;
        object-fit: cover;
        margin: 0 auto;
    }

    .single-piscine-wrapper .piscine-header-image {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0;
        padding: 0;
    }
}

#pp-review-form{ margin:0 0 22px; }

.pp-reviews-title{
  margin: 10px 0 14px;
  font-size: clamp(18px, 2vw, 22px);
  color:#0f172a;
  font-weight:800;
}

.pp-reviews-wrap{ max-width:100%; }
.pp-reviews-wrap > ol{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }

.pp-review-card{
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:16px;
  box-shadow:0 14px 40px rgba(47,118,255,.08);
  padding:16px;
}

.pp-review-header{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.pp-review-avatar{ width:48px; height:48px; border-radius:50%; }
.pp-review-author{ color:#0f172a; font-weight:800; }
.pp-review-date{ display:block; font-size:12px; color:#64748b; }

.pp-review-stars{ margin:6px 0 6px; }
.pp-stars{ position:relative; display:inline-block; font-size:18px; line-height:1; height:1em; }
.pp-stars-base, .pp-stars-fill{
  position:absolute; inset:0; white-space:nowrap; letter-spacing:1px;
}
.pp-stars-base{ color:#d8e0ff; }
.pp-stars-fill{ color:#ff91c7; overflow:hidden; }

.pp-review-content{ color:#0f172a; line-height:1.6; }
.pp-review-content p{ margin:0 0 10px; }

.pp-awaiting{
  display:inline-block; padding:4px 8px; border-radius:999px;
  background:#fff6e5; color:#8a6d1d; font-size:12px; font-weight:700; margin-bottom:6px;
}

.pp-review-actions{ margin-top:8px; }
.pp-review-actions a{
  display:inline-block; padding:6px 10px; border-radius:999px;
  background:var(--pp-bg); border:1px solid var(--pp-border);
  color:#0f172a; text-decoration:none; font-size:13px; font-weight:700;
}
.pp-review-actions a:hover{ background:#f0f5ff; }

.comment-navigation{ display:flex; justify-content:space-between; margin-top:16px; }
.comment-navigation a{
  padding:8px 14px; border:1px solid var(--pp-border); background:#fff;
  border-radius:12px; text-decoration:none; color:#0f172a;
}

.piscine-two-columns #pp-review-form{ margin-bottom:18px; }

.pp-reviews-wrap ol,
.pp-reviews-wrap .comment-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.pp-reviews-wrap .comment-list > li::marker { content: none; }

.pp-review,
.pp-review * {
  background: transparent !important;
  border-color: inherit;
}

.pp-review-card{
  background:#fff !important;
  border:1px solid var(--pp-border) !important;
  border-radius:16px !important;
  box-shadow:0 14px 40px rgba(47,118,255,.08) !important;
  padding:16px !important;
}

.pp-review-card .rating,
.pp-review-card .star-rating,
.pp-review-card .comment-rating { display:none; }

.pp-review-stars{ margin:6px 0 6px; }
.pp-stars{ position:relative; display:inline-block; font-size:18px; line-height:1; height:1em; }
.pp-stars-base, .pp-stars-fill{ position:absolute; inset:0; white-space:nowrap; letter-spacing:1px; }
.pp-stars-base{ color:#d8e0ff; }
.pp-stars-fill{ color:#ff91c7; overflow:hidden; }

.pp-review .star-rating,
.pp-review .stars-rating,
.pp-review p.stars,
.pp-review .rating {
  display: none !important;
}

header, .site-header, .main-navigation {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.hero-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
