/*
Theme Name: Uttu Hosting
Theme URI: https://uttu.fi
Author: Uttu Oy
Author URI: https://uttu.fi
Description: Ammattimainen WordPress-teema webhosting-yritykselle. Moderni, tumma premium-ilme ja täysi Full Site Editing -tuki.
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: uttu-hosting
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, full-site-editing, block-patterns, wide-blocks, block-styles
*/

/* ============================================
   CUSTOM STYLES
   ============================================ */

/* --- Smooth scrolling --- */
html {
	scroll-behavior: smooth;
}

/* --- Focus styles --- */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
	outline-color: var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* --- Link styles --- */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.15em;
	transition: color 0.2s ease, opacity 0.2s ease;
}

/* --- Text wrap --- */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/* ============================================
   HERO SECTION
   ============================================ */
.uttu-hero {
	position: relative;
	overflow: hidden;
}

.uttu-hero::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(ellipse at 30% 50%, rgba(37, 99, 235, 0.15) 0%, transparent 50%),
	            radial-gradient(ellipse at 70% 50%, rgba(6, 182, 212, 0.1) 0%, transparent 50%);
	animation: uttu-float 20s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

.uttu-hero > * {
	position: relative;
	z-index: 1;
}

@keyframes uttu-float {
	0%, 100% { transform: translate(0, 0) rotate(0deg); }
	33% { transform: translate(2%, -2%) rotate(1deg); }
	66% { transform: translate(-1%, 1%) rotate(-0.5deg); }
}

/* ============================================
   FEATURE / SERVICE CARDS
   ============================================ */
.uttu-feature-card {
	background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.9) 100%);
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 16px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	position: relative;
	overflow: hidden;
}

.uttu-feature-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, transparent 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	border-radius: 16px;
}

.uttu-feature-card:hover {
	transform: translateY(-4px);
	border-color: rgba(37, 99, 235, 0.5);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 0 0 30px rgba(37, 99, 235, 0.1);
}

.uttu-feature-card:hover::after {
	opacity: 1;
}

/* Feature icon styling */
.uttu-feature-icon {
	font-size: 2.5rem;
	line-height: 1;
	margin-bottom: 1rem;
	display: block;
}

/* ============================================
   PRICING TABLE
   ============================================ */
.uttu-pricing-card {
	background: linear-gradient(180deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.8) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	position: relative;
	overflow: hidden;
}

.uttu-pricing-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4);
}

.uttu-pricing-featured {
	background: linear-gradient(180deg, rgba(37, 99, 235, 0.2) 0%, rgba(15, 23, 42, 0.9) 100%);
	border-color: var(--wp--preset--color--primary);
	transform: scale(1.03);
	box-shadow: 0 20px 60px rgba(37, 99, 235, 0.2);
}

.uttu-pricing-featured:hover {
	transform: scale(1.03) translateY(-6px);
}

.uttu-pricing-badge {
	display: inline-block;
	background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 0.35em 1.2em;
	border-radius: 50px;
	margin-bottom: 1rem;
}

.uttu-price {
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	font-weight: 800;
	line-height: 1;
	background: linear-gradient(135deg, #fff 30%, var(--wp--preset--color--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.uttu-price-period {
	font-size: 1rem;
	font-weight: 400;
	opacity: 0.6;
	-webkit-text-fill-color: currentColor;
	background: none;
}

.uttu-pricing-features {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
}

.uttu-pricing-features li {
	padding: 0.6rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.95rem;
}

.uttu-pricing-features li::before {
	content: '✓';
	color: var(--wp--preset--color--secondary);
	font-weight: 700;
	flex-shrink: 0;
}

/* ============================================
   TESTIMONIALS
   ============================================ */
.uttu-testimonial {
	background: linear-gradient(135deg, rgba(30, 41, 59, 0.5) 0%, rgba(15, 23, 42, 0.7) 100%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	padding: clamp(1.5rem, 3vw, 2rem);
	position: relative;
}

.uttu-testimonial::before {
	content: '"';
	position: absolute;
	top: -10px;
	left: 20px;
	font-size: 5rem;
	font-weight: 800;
	line-height: 1;
	background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	opacity: 0.3;
	pointer-events: none;
}

.uttu-stars {
	color: #FACC15;
	letter-spacing: 2px;
	font-size: 1.1rem;
}

/* ============================================
   CTA SECTION
   ============================================ */
.uttu-cta {
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #1e40af 50%, var(--wp--preset--color--secondary) 100%);
	border-radius: 24px;
	position: relative;
	overflow: hidden;
}

.uttu-cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
	            radial-gradient(circle at 80% 50%, rgba(6, 182, 212, 0.15) 0%, transparent 50%);
	pointer-events: none;
}

/* ============================================
   STATS SECTION
   ============================================ */
.uttu-stat {
	text-align: center;
	padding: 1.5rem;
}

.uttu-stat-number {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1;
	background: linear-gradient(135deg, #fff, var(--wp--preset--color--secondary));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 0.5rem;
}

.uttu-stat-label {
	font-size: 0.9rem;
	opacity: 0.7;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 500;
}

/* ============================================
   BUTTONS – Enhanced
   ============================================ */
.wp-block-button__link {
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
	border-radius: 50px !important;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(37, 99, 235, 0.35);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-width: 2px !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}

/* ============================================
   SECTION DIVIDER – Gradient line
   ============================================ */
.uttu-divider {
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--primary), var(--wp--preset--color--secondary), transparent);
	border: none;
	margin: 0 auto;
	max-width: 200px;
}

/* ============================================
   RESPONSIVE TWEAKS
   ============================================ */
@media (max-width: 782px) {
	.uttu-pricing-featured {
		transform: scale(1);
	}
	.uttu-pricing-featured:hover {
		transform: translateY(-6px);
	}
}

/* ============================================
   ANIMATIONS – Entrance
   ============================================ */
@keyframes uttu-fade-in-up {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.uttu-animate {
	animation: uttu-fade-in-up 0.6s ease-out both;
}

/* ============================================
   GRADIENT TEXT UTILITY
   ============================================ */
.uttu-gradient-text {
	background: linear-gradient(135deg, #fff 0%, var(--wp--preset--color--secondary) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* ============================================
   NAVIGATION OVERRIDES
   ============================================ */
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--dark) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 12px !important;
	padding: 0.5rem !important;
}

/* Mobile menu overlay */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--dark) !important;
}

/* Pre block styling */
:where(pre) {
	overflow-x: auto;
}

/* More link */
.more-link {
	display: block;
}

/* Glassmorphism utility */
.uttu-glass {
	background: rgba(15, 23, 42, 0.6);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.08);
}
