/**
 * Theme Name: AllSurfCams
 * Author: PH
 * Author URI: http://wpastra.com/about/
 * Description: Astra child theme for AllSurfCams.com — a free directory of publicly hosted surf cams.
 * Version: 1.1.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: allsurfcams
 * Template: astra
 */

/* ============================================
   Surf Cam Single Page Styles
   ============================================ */

.surf-cam-single {
	max-width: 900px;
	margin: 40px auto;
	padding: 20px;
}

.surf-cam-header {
	text-align: center;
	margin-bottom: 30px;
}

.surf-cam-header .entry-title {
	font-size: 2.5em;
	margin-bottom: 10px;
}

.surf-cam-location {
	font-size: 1.2em;
	color: #555;
	margin-top: 0;
}

/* Watch Live Cam button */
.surf-cam-watch-button {
	text-align: center;
	margin: 30px 0;
}

.surf-cam-cta-button {
	display: inline-block;
	background: #0073aa;
	color: #fff !important;
	padding: 14px 28px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.15em;
	transition: background 0.2s ease, transform 0.2s ease;
}

.surf-cam-cta-button:hover {
	background: #005c87;
	transform: translateY(-2px);
	color: #fff !important;
	text-decoration: none;
}

.surf-cam-cta-note {
	font-size: 0.85em;
	color: #888;
	margin-top: 10px;
	font-style: italic;
}

/* Body content (Block Editor output) */
.surf-cam-body {
	margin: 40px 0;
	line-height: 1.7;
}

.surf-cam-body h2,
.surf-cam-body h3 {
	margin-top: 1.5em;
}

/* Host credit block */
.surf-cam-host-credit {
	background: #f5f1ea;
	padding: 25px;
	border-radius: 8px;
	margin: 40px 0;
}

.surf-cam-host-credit h2 {
	margin-top: 0;
	font-size: 1.4em;
}

.surf-cam-host-info {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.surf-cam-host-thumbnail {
	max-height: 120px;
	width: auto;
	border-radius: 4px;
}

.surf-cam-host-text {
	flex: 1;
	min-width: 250px;
}

.surf-cam-host-thanks {
	font-size: 0.9em;
	color: #666;
	margin-top: 10px;
	font-style: italic;
}

/* Map */
.surf-cam-map-section {
	margin: 40px 0;
}

.surf-cam-map-section h2 {
	font-size: 1.4em;
	margin-bottom: 15px;
}

/* Mobile responsive */
@media (max-width: 600px) {
	.surf-cam-header .entry-title {
		font-size: 1.8em;
	}

	.surf-cam-cta-button {
		font-size: 1em;
		padding: 12px 20px;
	}

	.surf-cam-host-info {
		flex-direction: column;
	}
}