/*
Theme Name: Blocksy Child
Theme URI: https://example.com/blocksy-child/
Description: Thème enfant pour Blocksy, adapté au tourisme avec sous-domaines par ville.
Author: Ton Nom
Author URI: https://example.com/
Template: blocksy
Version: 1.15.0  /* Nouvelle version pour éviter cache */
Text Domain: blocksy-child
*/

/* Import du style parent */
@import url("../blocksy/style.css");

/* Styles globaux pour tourisme */

/* Typographie */
body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.6;
    color: #333;
}

h1, h2, h3 {
    font-family: 'Montserrat', sans-serif;
}

/* Header */
.ct-header {
    position: relative;
    background: linear-gradient(0deg, rgba(223,233,243,10) 0%, rgb(255,255,255) 100%); /* headerRowBackground */
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    padding: 45px 20px; /* header_row_padding */
    text-align: center;
    min-height: 300px; /* headerRowHeight */
    background-color: rgba(255, 255, 255, 0.7); /* headerRowBackground */
}

.ct-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 00%, rgb(255, 255, 255, 0.0) 15%);
}

.ct-header > * {
    position: relative;
    z-index: 2;
}

.hero-section[data-type=type-2]>figure .ct-media-container {
    height: 100%;
    vertical-align: top;
    opacity: 0.6 !important;
}

.page-title {
	background: linear-gradient(0deg, rgb(255, 255, 255, 0.5) 0%, rgb(255, 255, 255, 0.8) 50%, rgb(255, 255, 255, 0.5) 100%);
    padding: 15px;
    border-radius: 10px;
	
}


.ct-breadcrumbs {

    background: #ffffff88;
    padding: 5px;
	
}

/* Site Title */
.site-title {
    font-family: 'Abyssinica SIL', sans-serif !important; /* siteTitle family */
    font-size: 50px !important; /* siteTitle size */
    line-height: 1.5 !important; /* siteTitle line-height */
}

/* Protéger les featured images */
.entry-thumbnail, .post-thumbnail, .wp-block-post-featured-image, .wp-block-post-featured-image img, .ct-media-container, .ct-media-container img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    background: none;
    max-width: 100%;
    object-fit: contain;
    visibility: visible;
    opacity: 1 
}

.sub-menu {
    background-color: #fff0 !important;
}

/* Blog Cards (blog_archive_order) */
.ct-posts .ct-post-card {
    background-color: var(--theme-palette-color-6); /* blog_cardBackground */
    border-radius: 10px; /* blog_cardRadius */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1); /* blog_cardShadow */
    margin-bottom: 60px; /* blog_cardsGap */
    padding: 20px; /* blog_card_spacing */
}

.ct-posts .ct-post-card .entry-title {
    color: #1e1b40 !important; /* blog_cardTitleColor default */
}

.ct-posts .ct-post-card .entry-title:hover {
    color: #19163e !important; /* blog_cardTitleColor hover */
}

.ct-posts .ct-post-card .entry-thumbnail {
    aspect-ratio: 4/3; /* thumb_ratio */
}

.entry-content {
    counter-reset: footnotes;
    padding: 50px;
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(230, 230, 230) 50%, rgb(255, 255, 255) 100%);
}
#main-container .site-main {
    flex-grow: 1;
}

/* Liens */
a {
    color: #006688 !important; /* linkColor default */
}

a:hover {
    color: #007799 !important; /* linkColor hover */
}

/* Contenu tourisme */
.attractions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.attraction-card {
    background: #f9f9f9 !important;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.attraction-card img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Footer */
.site-footer {
    background: #005588dd !important;
    color: white !important;
    padding-top: 5px;
	padding-bottom: 1px;
    text-align: center;
}

.site-footer a {
    color: #00d4ff !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ct-header {
        min-height: 150px;
        padding: 4vw 20px; /* header_row_padding tablet */
    }
    .site-title {
        font-size: 1.8em !important;
    }
}

.atag-category-menu-container{
    width: var(--theme-container-width) !important;
    max-width: var(--theme-normal-container-max-width) !important;
    background: #f8f8f8aa;
    padding: 5px 0;
}