/*
Theme Name: Cavalli Island
Theme URI: https://cavalliisland.se
Author: Cavalli Island
Author URI: https://rippler.se
Description: Custom theme for Cavalli Island
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cavallitheme
*/

:root {
	--secondary-font: bebas-neue, sans-serif;
	--black: #000000;
	--white: #FFFFFF;
	--bg-color: #FFF9F1;
	--primary-color: #488000;
	--secondary-color: #463021;
	--accent-color: #D10253;
}

button.cky-btn, button.cky-btn a{
	color: var(--white) !important;
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}

button.cky-btn-revisit, .cky-btn-revisit-wrapper {
	background-color: var(--secondary-color) !important;
}

body {
    background-color: var(--bg-color);
    margin: 0 auto;
    padding: 0;
    font-family: cormorant-garamond, serif;
	scroll-margin-top: 40px;
}

main {
    margin-bottom: 80px;
}

h1 {
    font-size: clamp(120px, 20vw, 180px);
    font-family: var(--secondary-font);
    text-transform: uppercase;
    margin-block: 0;
    color: white;
    text-align: center;
    line-height: 0.9em;
    padding: 20px;
}

.safari h1 {
    -webkit-font-smoothing: antialiased;
}

h2 {
	font-size: 34px;
}

h3 {    
    font-size: 28px;
}

h4 {    
    font-size: 22px;
}

h5 {    
    font-size: 20px;
}

h2,h3,h4,h5,h6 {
	margin-block: 0;
	margin-block-start: 1em;
	line-height: 1em;
}

p {
	font-size: 18px;
}

a {
	font-family:var(--secondary-font);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--primary-color);
}

a:hover{
	color: black;
}

button {
	background-color: var(--accent-color);
	padding: 16px 40px;
	border-radius: 100px;
	font-family: var(--secondary-font);
	font-size: 22px;
	border: 0;
	color: var(--white);
	cursor: pointer;
}

button:hover {
	background-color: var(--black);
}

button a {
		color: var(--white);
}

/*Sektion med tre kort*/

.three-cards {
	padding: 80px;
}

.three-cards .three-cards__title {
	margin-bottom: 40px;
}

.three-cards .three-cards__grid {
	display: grid;
	row-gap: 40px;
	column-gap: 40px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.three-cards .three-cards__grid .three-cards__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	justify-content: space-between;
}

.three-cards__content{
    display: flex;
    gap: 8px;
    flex-direction: column;
	margin-bottom: 16px;
}

.three-cards__image {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}

.three-cards__ingress {
    font-size: 20px;
    line-height: 1.3em;
    margin-block: 0;
}

a.three-cards__cta, a.fullwidth-card__cta {
	font-family: var(--secondary-font);
	font-size: 22px; 
	color: var(--primary-color);
	line-height: 0.8;
}


a.three-cards__cta:hover, a.fullwidth-card__cta:hover {
	color: black;
}

a.three-cards__cta:after, .fullwidth-card__content a.fullwidth-card__cta:after {
    display: inline-block;
    width: 20px;
	height: 20px;
    content: "";
    background-image: url(https://cavalliisland.se/wp-content/uploads/2026/02/arrowcavalli.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 8px;
}

.standard-banner {
    padding: 40px 80px;
    height: 60vh;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Mobil */

@media (max-width: 1024px){
	.three-cards {
		padding: 40px 40px;
	}
	.standard-banner {
		padding: 80px;
	}
	
}

@media (max-width:747px) {
	main {
    	margin-bottom: 40px;
	}
    
    h1 {
        font-size: clamp(60px, 20vw, 180px);
        font-weight: 100;
    }
    
    /* Fancier startpage */
    .titleCTA h1 {
        font-size: clamp(60px, 30vw, 180px);
    }
    
    /* special for accommodation */
    .page-id-24 h1 {
        font-size: clamp(60px, 15vw, 180px);
    }
	

	
	h2 {
		font-size: 28px;
	}

	h3 {    
		font-size: 22px;
	}

	p {
		font-size: 16px;
	}
	
	button {
		padding: 8px 20px;
		font-size: 18px;
	}
	
	.standard-banner {
		padding: 40px;
	}
	
	/* kort */
	.three-cards .three-cards__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr))
	}

}

/* Getting here buttons */
.map-buttons {
    display: flex;
    gap: 16px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.map-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    font-size: 15px;
    text-decoration: none;
    border-radius: 100px;
    transition: all 0.3s ease;
    color: white;
}

/* Google brand blue */
.map-button--google {
    background: #4285F4;
}

.map-button--google:hover {
    background: #3367D6;
}

/* Apple minimal dark */
.map-button--apple {
    background: #000000;
}

.map-button--apple:hover {
    background: #333333;
}

.map-icon {
    display: flex;
}

/* 404 */
.error-404 {
    padding-top: 95px;
}

.error-404 .page-title {
    color: #000000b8;
}

.error-404 .page-content {
    padding: 30px 80px;
}

@media (max-width: 450px) {
    .error-404 {
        padding-top: 95px;
        min-height: 59.1vh;
    }
    
    .error-404 .page-content {
        padding: 30px 30px;
    }
}







