/**
 * Theme Name:     Svenska Solskyddsförbundet
 * Author:         Dragster
 * Template:       hello-elementor
 * Text Domain:    ssf
 * Description:    Hello Elementor child theme for Svenska Solskyddsförbundet. Site-wide styles and PHP; custom Elementor widgets live in the ssf-widgets plugin.
 * Author URI:     https://dragster.se/
 * Version:        1.1.0
 * License:        GNU General Public License v3 or later.
 * License URI:    https://www.gnu.org/licenses/gpl-3.0.html
 */

/* Heebo variable font (OFL), self-hosted — kit font family "Heebo" */
@font-face {
	font-family: "Heebo";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url( "assets/fonts/Heebo-Variable-latin-ext.woff2" ) format( "woff2" );
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Heebo";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url( "assets/fonts/Heebo-Variable-latin.woff2" ) format( "woff2" );
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Page gutter — top-level containers only (kit container_padding is 0) */
:root {
	--site-gutter: 60px; /* Figma: 1320 column on 1440 */
}

/* Tablet — Figma Tablet frames (1024): 32px gutters */
@media (max-width: 1024px) {
	:root {
		--site-gutter: 32px;
	}
}

@media (max-width: 767px) {
	:root {
		--site-gutter: 20px;
	}
}

.elementor .e-con.e-parent {
	--container-default-padding-left: var( --site-gutter );
	--container-default-padding-right: var( --site-gutter );
}

/* Motion — not in Figma: ours, to be reviewed (assets/js/motion.js) */

/* Sticky header: stays in the flow (no layout shift), pins under the admin bar */
.elementor-location-header {
	position: sticky;
	top: var( --wp-admin--admin-bar--height, 0px );
	z-index: 900;
	transition: transform 0.4s cubic-bezier( 0.2, 0.7, 0.2, 1 ), box-shadow 0.3s ease;
}

.elementor-location-header.is-scrolled {
	box-shadow: 0 1px 0 rgba( 23, 25, 31, 0.06 ), 0 12px 28px -16px rgba( 23, 25, 31, 0.22 );
}

/* Only while hidden: any transform would trap the mobile menu's fixed panel */
.elementor-location-header.is-hidden {
	transform: translate3d( 0, calc( -100% - var( --wp-admin--admin-bar--height, 0px ) ), 0 );
}

.ssf-nav-lock .elementor-location-header {
	transform: none;
	box-shadow: none;
}

/* WordPress scrolls the admin bar away on small screens */
@media (max-width: 600px) {
	.admin-bar .elementor-location-header {
		top: 0;
	}
}

/* Scroll reveal: rises 24px and fades in, siblings 90ms apart */
.ssf-reveal {
	opacity: 0;
	transform: translate3d( 0, 24px, 0 );
	transition:
		opacity 0.8s cubic-bezier( 0.2, 0.7, 0.2, 1 ),
		transform 0.8s cubic-bezier( 0.2, 0.7, 0.2, 1 );
	transition-delay: calc( var( --ssf-reveal-i, 0 ) * 90ms );
}

.ssf-reveal.is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.elementor-location-header,
	.ssf-reveal {
		transition: none;
	}

	.ssf-reveal {
		opacity: 1;
		transform: none;
	}
}
