/*
Theme Name: Portveien
Theme URI: https://portveien.no
Description: A sporty, modern child theme of Twenty Twenty-Five for portveien.no — the home of StyrkeTracker and PaceSync fitness apps. Features Inter + Oswald typography, a sky/blue/purple color palette, and dark/light mode toggle.
Author: Knut Edmund Nyg&aring;rd
Author URI: https://portveien.no
Template: twentytwentyfive
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: portveien
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.4
*/

/* ===========================
   Dark Mode - Override WP custom properties
   =========================== */

/* Override WP custom properties on body (WP sets them on body, so html-level loses) */
html.dark-mode body {
	--wp--preset--color--base: #0f172a !important;
	--wp--preset--color--contrast: #f1f5f9 !important;
	--wp--preset--color--accent-1: #38bdf8 !important;
	--wp--preset--color--accent-2: #3b82f6 !important;
	--wp--preset--color--accent-3: #c084fc !important;
	--wp--preset--color--accent-4: #94a3b8 !important;
	--wp--preset--color--accent-5: #1e293b !important;
	--wp--preset--color--accent-6: color-mix(in srgb, currentColor 20%, transparent) !important;
	background-color: #0f172a !important;
	color: #f1f5f9 !important;
}

html.dark-mode .wp-block-code {
	border: 1px solid #334155;
}

html.dark-mode .wp-block-search__input {
	border-color: #334155;
	background-color: #1e293b;
	color: #f1f5f9;
}

html.dark-mode .wp-block-button__link {
	box-shadow: 0 2px 12px rgba(56, 189, 248, 0.3);
}

html.dark-mode .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: #38bdf8;
	color: #38bdf8;
}

html.dark-mode img {
	opacity: 0.92;
}

/* ===========================
   App Links in Header
   =========================== */

.portveien-app-link {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.75rem;
	border-radius: 9999px;
	border: 1px solid #e2e8f0;
	font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
	font-size: 0.8rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--wp--preset--color--contrast, #0f172a);
	background: transparent;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
	flex-shrink: 0;
	white-space: nowrap;
}

.portveien-app-link:hover {
	transform: scale(1.05);
	background: rgba(14, 165, 233, 0.08);
	border-color: #0ea5e9;
	color: #0ea5e9;
}

.portveien-app-link:active {
	transform: scale(0.95);
}

html.dark-mode .portveien-app-link {
	border-color: #334155;
	color: #e2e8f0;
}

html.dark-mode .portveien-app-link:hover {
	background: rgba(56, 189, 248, 0.1);
	border-color: #38bdf8;
	color: #38bdf8;
}

/* ===========================
   Dark Mode Toggle Button
   =========================== */

/* Header-inline toggle (default when placed in header flex group) */
.portveien-dark-toggle {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #e2e8f0;
	background: transparent;
	color: #334155;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 0;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.portveien-dark-toggle:hover {
	transform: scale(1.1);
	background: rgba(14, 165, 233, 0.08);
	border-color: #0ea5e9;
	color: #0ea5e9;
}

.portveien-dark-toggle:active {
	transform: scale(0.93);
}

html.dark-mode .portveien-dark-toggle {
	border-color: #334155;
	color: #fbbf24;
}

html.dark-mode .portveien-dark-toggle:hover {
	background: rgba(56, 189, 248, 0.1);
	border-color: #38bdf8;
	color: #38bdf8;
}

/* Fallback: fixed bottom-right if header insertion fails */
.portveien-dark-toggle--fixed {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 9999;
	width: 44px;
	height: 44px;
	background: #ffffff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

html.dark-mode .portveien-dark-toggle--fixed {
	background: #1e293b;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* ===========================
   Transition for color mode switch
   =========================== */

html {
	scroll-behavior: smooth;
}

body,
body .wp-site-blocks,
.wp-block-group,
.wp-block-cover,
.wp-block-navigation,
.wp-block-button__link,
.wp-block-code,
.wp-block-search__input {
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* ===========================
   Button hover transitions
   =========================== */

.wp-block-button__link {
	transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.2s ease, background-color 0.3s ease, color 0.3s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(14, 165, 233, 0.3);
}

.wp-block-button__link:active {
	transform: scale(0.97);
}

/* Gradient button variant */
.wp-block-button.is-style-gradient .wp-block-button__link {
	background: linear-gradient(135deg, #0ea5e9, #2563eb);
	border: none;
	color: #ffffff;
}

.wp-block-button.is-style-gradient .wp-block-button__link:hover {
	background: linear-gradient(135deg, #38bdf8, #3b82f6);
}

/* ===========================
   Custom scrollbar
   =========================== */

::-webkit-scrollbar {
	width: 6px;
}

::-webkit-scrollbar-track {
	background: transparent;
}

::-webkit-scrollbar-thumb {
	background: #64748b;
	border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
	background: #0ea5e9;
}
