:root {
	--red: #e71c03;
	--redcontrast: #A01003;
	--yellow: #fdc40a;
	--light: #f8f9fa;
	--black: #021f3c;
	--scuro: #1a3850;
}

@font-face {font-family: "Outfit"; font-display: swap; src: local("Outfit"), url("../font/Outfit-Regular.woff2") format("woff2");}

* {margin: 0; padding: 0;}
html, body {width: 100%; height: 100%; color: var(--black); font-family: sans-serif;}
html {display: flex; justify-content: center; background: var(--light);}
#allcontent {max-width: 900px; margin: 5em auto; padding: 0 20px; position: relative; min-width: 260px;}
#bkline {position: absolute; top: 0; z-index: -1; width: calc(100% - 40px); max-width: 900px; height: 100%; object-fit: cover; overflow: hidden;}
.backgroundline {fill:var(--yellow); opacity:.1;}

.header {display: flex; justify-content: center; width: 100%; height: 30px; padding-top: 8px; border-bottom: solid 1px var(--scuro);}
.linktohome {display: block; width: 55px; height: 55px; aspect-ratio:1 / 1;}
.toro {width: auto; max-width: 100%; aspect-ratio:1 / 1;}

.headline {text-align: center; font-family: "Outfit";}
.headline span.title {font-size: 2em;}
.headline span.undertitle {font-size: 1em;}
hr {width: 150px; margin: 4em auto; border: 4px solid var(--yellow); border-radius: 4px;}
h2 {font-weight: 400; font-size: 1.5em; line-height: 1.5em; max-width: 650px; margin: 0 auto;}
h2 strong {color:var(--red); border-bottom: solid 3px var(--yellow);}

p {margin-bottom: 3em; line-height: 2em; font-size: 1.1em; text-align: justify;}

.firstblockimages {display: grid; grid-template: 300px min-content / repeat(2, 1fr); gap: 5px; margin: 5em 0 8em 0;}
.firstblockimages img {object-fit: cover; width: 100%; height: 100%;}
.secondblockimages {object-fit: cover; width: 100%; height: 100%; aspect-ratio: 4 / 2; margin: 2em 0; border-radius: 15px;}
.firstblockimages .second {order 1; grid-column: span 2;}
.firstblockimages .first {order: 2; background: var(--yellow);}
.firstblockimages .third {order: 3;}

.textoncolumn {text-align: justify; margin: 0 auto 10em auto; max-width: 800px;}
.textoncolumn p {margin-bottom: 0;}
.textontwocolumn {column-count: 2; column-gap: 4em; column-rule: solid 1px var(--yellow);}
.important {font-weight: bold; color: var(--redcontrast); border-bottom: solid 2px var(--yellow);}
p strong {border-bottom: solid 2px var(--yellow);}


/*----------- Payment container ********/
#paymentcontainer {position:relative; border-width: 5px 3px 3px 5px; border-radius:95% 4% 97% 5%/4% 94% 3% 95%; transform: rotate(2deg); border: solid var(--black); border-color: var(--black);}
.oddboxinner {transform: rotate(-2deg); display: block;  text-align: center; width: 100%; padding: 2em 0;}
.oddboxinner input {font-size: clamp(12px, 4vw, 50px); font-family: "Outfit"; padding: .3em; background: var(--yellow); border: solid 1px var(--black); border-radius: .2em;}
img.downloadimage {max-width: 500px; width: 60%; min-width: 200px; margin: 0 auto;}
h2.downloadtitle {font-size: clamp(18px, 5vw, 40px); font-weight: bold; font-family: "Outfit"; margin: -1em 0 1em -;}

#pdf-gated-content {width: 100%;}
.payment-box {padding: 2em;}
.payment-box a.price-display {display: inline-block; width: 100%; text-align: center; text-decoration: none;}
.payment-box a strong {display: inline-block; border-bottom: solid 2px var(--yellow);}
.payment-box a.price-display:hover {color: var(--redcontrast);}


/* ----------------- Spain Map styles **************/
#spainmap	.st0{fill:var(--light);}
#spainmap	.st1{fill:var(--yellow);}
#spainmap	.st2{fill:var(--yellow);}
#spainmap	.st3{opacity:0.3;}
#spainmap	.st4{fill:none;stroke:#979797;stroke-width:2;stroke-miterlimit:10;}
#spainmap	.st5{fill:none;stroke:#979797;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:6.1632,6.1632;}
#spainmap	.st6{fill:none;stroke:#979797;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:5.7649,5.7649;}
#spainmap	.st7{fill:var(--light);}
#spainmap	.st8{fill:var(--light);stroke:#CCCCCC;stroke-miterlimit:10;}
#spainmap	.st9{opacity:0.6;fill:#FFFFFF;}
#spainmap	.st10{fill:#EDC230;}
#spainmap	.st11{fill:#FFFFFF;}
#spainmap	.st12{fill:#4B4B4B;}
#spainmap	.st13{font-family:'Outfit';}
#spainmap	.st14{font-size:13px;}
#spainmap	.st15{opacity:1;fill: var(--yellow);}
#spainmap	.st16{fill: var(--red);}
#spainmap	.st17{opacity:1;fill: var(--yellow);}



@media screen and (max-width: 600px) {
	.textoncolumn {column-count: 1 !important; margin-bottom: 3em;}
	.textoncolumn p {margin-bottom: inherit;}
}

/* --- NEW Styles for Gated PDF Content --- */
.hidden {
	display: none !important;
}



.price-display {
	font-size: 3em;
	font-family: "Outfit";
	color: var(--black);
	margin-bottom: 10px;
	line-height: 1.2;
}

#paypal-button-container-mainpage {
	width: 100%;
	max-width: 300px; /* Adjust as needed */
}

.download-button {
	display: block;
	text-align: center;
	background-color: var(--red);
	color: var(--light);
	font-size: 1.3em;
	padding: 10px 20px;
	margin: 10px 0 20px 0;
	border-radius: 5px;
	text-decoration: none;
	font-weight: bold;
	transition: background-color 0.2s;
}

.download-button:hover {
	background-color: var(--redcontrast);
}

.success-message {
	font-weight: bold;
	color: var(--black);
	text-align: center;
	font-size: 1.2em;
	margin-top: 10px;
}

.warning-message {
	font-size: 0.9em;
	color: var(--redcontrast);
	text-align: center;
	line-height: 1.5;
	margin-bottom: 5px;
	margin-top: 5px;
}
.footer {padding: 2em; background: var(--yellow);}
.footer .incipit {
	max-width: 930px;
    font-size: clamp(12px, 1.2vw, 15px);
    position: relative;
	margin: 0 auto;
    text-align: right;
}
.incipit a {color: var(--redcontrast); display: inline-block; text-decoration: none; border-bottom: solid 2px var(--redcontrast)}
.incipit a:hover {}
.incipit p {margin-bottom: 0; text-align: right;}