/*
Theme Name: Ambient Audio
Theme URI: https://ambientaudio.fi/
Description: Ambient Audio Oy:n lapsiteema (Twenty Twenty-Five). Toistaa vanhan Themify Fullpane -ulkoasun WordPressin omilla lohkoilla: fontit paikallisesti, osiot + scroll-snap, pistenavigaatio, off-canvas-valikko.
Author: Ambient Audio Oy
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: ambient-audio
*/

/* ---------- Perusta (vastaa vanhan teeman arvoja) ---------- */
html { -webkit-font-smoothing: antialiased; }
body {
	margin: 0;
	font: 400 1em/1.7em Roboto, sans-serif, Arial;
	color: #aaa;
	background: #fff;
	word-wrap: break-word;
}
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * , .wp-site-blocks main { margin-block-start: 0 !important; margin-block-end: 0 !important; }
:where(.wp-site-blocks) :where(p, ul, ol, h1, h2, h3, figure) { margin-block-start: 0; }
a { color: #ff3150; text-decoration: none; outline: none; }
a:where(:not(.wp-element-button)):hover { text-decoration: none; }
p { margin: 0 0 1.2em; padding: 0; }
img { max-width: 100%; height: auto; box-sizing: border-box; }
figure { margin: 0; }
::selection { color: #fff; background-color: #ee2c49; }
ul.wp-block-list, .aa-sisalto ul { margin: 1em 0 1.4em 24px; padding: 0; line-height: 140%; }
.aa-sisalto li { margin: 0 0 .5em 0; padding: 0; }

/* ---------- Header: hamburger (core Navigation) + someikonit ---------- */
.aa-header { position: relative; z-index: 1000; margin: 0; }
.aa-some {
	position: absolute; top: 0; right: 5%;
	margin-top: 1vw;
	display: flex; flex-wrap: nowrap; gap: 0 !important;
	z-index: 50;
}
.aa-some .wp-block-image { margin: 5px 9px 5px 5px !important; height: 46.2px; line-height: 1.7em; }
.aa-some .wp-block-image:last-child { margin-right: 5px !important; }
.aa-some .wp-block-image a, .aa-some .wp-block-image img { display: block; width: 38px; height: 38px; }

/* core Navigation: aina hampurilainen, paneeli vasemmalta kuten ShiftNav */
nav.aa-valikko { position: fixed; top: 0; left: 0; z-index: 100000; margin: 0 !important; }
ul.aa-valikko { position: static !important; z-index: auto !important; }
.aa-valikko .wp-block-navigation__responsive-container-open,
.aa-valikko .wp-block-navigation__responsive-container-close {
	display: block !important; position: fixed; top: 0; left: 0;
	width: 80px; height: 77px; padding: 0; margin: 0; border: 0; background: transparent;
	color: #303030; cursor: pointer; text-align: center;
	font: 400 44px/44px FontAwesome; letter-spacing: 2.2px;
}
.aa-valikko .wp-block-navigation__responsive-container-open svg,
.aa-valikko .wp-block-navigation__responsive-container-close svg { display: none; }
.aa-valikko .wp-block-navigation__responsive-container-open::before,
.aa-valikko .wp-block-navigation__responsive-container-close::before {
	position: absolute; left: 20px; top: 16px; display: block; height: 44px;
	content: "\f0c9";
	font: 400 44px/44px FontAwesome !important; letter-spacing: 2.2px; color: #303030;
}
.aa-valikko .wp-block-navigation__responsive-container-close::before { content: "\f00d"; }
.aa-valikko .wp-block-navigation__responsive-container-close { left: var(--aa-paneeli); }
.aa-valikko .wp-block-navigation__responsive-container {
	--aa-paneeli: 290px;
	position: fixed; top: 0; left: 0; bottom: 0; right: auto !important;
	width: var(--aa-paneeli); padding: 0 !important;
	background: rgb(29, 29, 32) !important; color: #eee !important;
	font: 400 13px/16.9px Roboto, sans-serif, Arial;
}
.aa-valikko .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
.aa-valikko .wp-block-navigation__responsive-container.is-menu-open { display: block; animation: none; overflow: visible; }
.aa-valikko .wp-block-navigation__responsive-close,
.aa-valikko .wp-block-navigation__responsive-dialog { max-width: none; width: 100%; margin: 0; padding: 0; }
.aa-valikko .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; margin: 0; display: block !important; }
.aa-valikko .is-menu-open ul.wp-block-navigation__container { display: block !important; gap: 0 !important; margin: 0; padding: 0; width: 100%; }
.aa-valikko .is-menu-open .wp-block-navigation-item { display: block !important; margin: 0; width: 100%; }
.aa-valikko .is-menu-open .wp-block-navigation-item__content {
	display: block !important; box-sizing: border-box; width: 100%; height: 53px;
	padding: 15px 20px 15px 25px !important;
	font: 400 13px/20.8px Roboto, sans-serif, Arial; text-transform: uppercase;
	color: #eee !important; text-shadow: rgba(0,0,0,.5) 0 1px 1px;
	border-top: 1px solid rgb(41,41,41); border-bottom: 1px solid rgb(17,17,17);
}
.aa-valikko .is-menu-open .current-menu-item > .wp-block-navigation-item__content {
	color: #fff !important; background: rgb(29,29,32);
	border-top-color: rgba(255,255,255,.1); border-bottom-color: rgba(0,0,0,.8);
}
/* vanhassa ShiftNavissa ei hover-korostusta; näppäimistölle selaimen oma focus-rengas */
.aa-valikko .is-menu-open .wp-block-navigation-item__content { box-sizing: content-box; width: auto; height: 20.8px; padding: 15px 25px !important; }
.aa-valikko .wp-block-navigation__responsive-container-open:focus:not(:focus-visible) { outline: none; }
@media (max-width: 480px) { .aa-valikko .wp-block-navigation__responsive-container { --aa-paneeli: 320px; } }
@media (max-width: 360px) { .aa-valikko .wp-block-navigation__responsive-container { --aa-paneeli: calc(100vw - 55px); } }
html.has-modal-open { overflow: visible !important; }

/* ---------- Alasivut ---------- */
.aa-sivu { box-sizing: border-box; width: 1160px; max-width: 90%; margin: 0 auto !important; padding: 80px 0 140px; }
.aa-sivu .wp-block-post-content { display: flow-root; }
h1.aa-otsikko, .aa-otsikko {
	margin: 0 0 50px !important; padding: 0; text-align: center;
	font-family: Roboto, Arial, sans-serif; font-style: normal; font-weight: 200;
	font-size: 320%; line-height: 110%; color: #000; letter-spacing: normal;
}
.aa-sisalto, .aa-sisalto p, .aa-sisalto li { font-family: "Roboto Slab"; color: #000; }
.aa-sisalto { font-size: 16px; line-height: 1.7em; }
.aa-sisalto p { margin: 0 0 1.2em; line-height: 1.7em; }
.aa-tasattu { text-align: justify; }
.aa-sarake { margin-left: 25.8%; width: 48.4%; }
.aa-sivu .wp-block-post-content > * { margin-block-start: 0; }
.aa-sivu .wp-block-post-content > .aa-sisalto > p:last-child { margin-bottom: 1.2em; }
@media (max-width: 680px) { .aa-sarake { margin-left: 0; width: 100%; } }
@media (max-width: 480px) { h1.aa-otsikko, .aa-otsikko { font-size: 2.4em; } }

/* ---------- Etusivu: osiot, scroll-snap ---------- */
html.aa-etusivu { scroll-snap-type: y mandatory; scroll-padding-top: calc(1vw + 56.2px); }
.aa-osiot { padding-top: calc(1vw + 56.2px); }
.aa-osio { position: relative; box-sizing: border-box; min-height: 100vh; scroll-snap-align: start; margin: 0 !important; text-align: center; }
.aa-osio > .aa-sisus { box-sizing: border-box; width: 1160px; max-width: 90%; margin: 0 auto; min-height: calc(100vh - 70px);
	display: flex; flex-direction: column; justify-content: center; align-items: center; }
.aa-osio figure { margin: 0 auto !important; }
.aa-osio .aa-logo img { width: min(622px, 49.3vw); display: block; margin: 0 auto; }
.aa-osio .aa-toteuttaja img { width: min(476px, 44.7vw); display: block; margin: 0 auto; }
.aa-osio .wp-block-buttons { margin: 25px 0 1.2em !important; justify-content: center; gap: 0; line-height: 1.7em; }
.aa-painike .wp-block-button__link {
	box-sizing: content-box; display: block; align-content: normal !important; width: 120px; height: 26px; padding: 14px 0 0 !important;
	border: 2px solid #0a0303; border-radius: 4px; background: #000; box-shadow: 0 0 2px 0 #333;
	color: #e5e5e5; font: 700 12px/1em Tahoma; text-align: center; text-decoration: none; letter-spacing: normal; text-transform: none;
}
.aa-painike .wp-block-button__link:hover { border-color: #0a0a0a; background: #0a0a0a; color: #fff; }
.aa-osio--instagram > .aa-sisus { justify-content: flex-start; }
.aa-osio--instagram .wp-block-shortcode, .aa-osio--instagram > .aa-sisus > * { width: 100%; }
.aa-vain-mobiili { display: none !important; }
@media (max-width: 680px) {
	.aa-vain-desktop { display: none !important; }
	.aa-vain-mobiili { display: flex !important; }
	.aa-osio > .aa-sisus.aa-vain-mobiili { justify-content: flex-start; min-height: 0; max-width: none; width: 100%; }
	.aa-osio .aa-logo--mobiili { width: 53.08vw; padding-top: 53.08vw; }
	.aa-osio .aa-logo--mobiili img { width: 100%; }
	.aa-osio .aa-toteuttaja--mobiili { width: 64.03vw; padding-top: 48.02vw; }
	.aa-osio .aa-toteuttaja--mobiili img { width: 100%; }
	.aa-osio .aa-vain-mobiili .wp-block-buttons { width: 64.03vw; }
	.aa-osio .aa-vain-mobiili .aa-painike .wp-block-button { width: 100%; }
	.aa-osio .aa-vain-mobiili .aa-painike .wp-block-button__link { width: 90%; font-size: 9px; margin: 0 auto; }
	.aa-osio--instagram > .aa-sisus { max-width: 92%; min-height: 0; }
}

/* ---------- Pistenavigaatio (kuten fullPage.js #fp-nav) ---------- */
#aa-pisteet { position: fixed; z-index: 100; top: 50%; right: 17px; margin-top: -33.5px; }
#aa-pisteet ul { margin: 0; padding: 0; list-style: none; line-height: 140%; }
#aa-pisteet li { display: block; width: 14px; height: 13px; margin: 7px; position: relative; }
#aa-pisteet a { display: block; position: relative; z-index: 1; width: 100%; height: 100%; cursor: pointer; }
#aa-pisteet a span { border-radius: 50%; position: absolute; z-index: 1; height: 4px; width: 4px; background: #333; left: 50%; top: 50%; margin: -2px 0 0 -2px; transition: all .1s ease-in-out; }
#aa-pisteet li:hover a span { width: 10px; height: 10px; margin: -5px 0 0 -5px; }
#aa-pisteet a.active span, #aa-pisteet li:hover a.active span { height: 12px; width: 12px; margin: -6px 0 0 -6px; border-radius: 100%; }

/* ---------- Ajankohtaista (Query Loop, vanhan uutislistan tyyli) ---------- */
.aa-uutiset .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.aa-uutiset .wp-block-post { margin: 0; padding: 0 15px; }
.aa-uutiset .wp-block-post > .aa-uutinen { border-bottom: 1px solid #d1d1d1; padding-bottom: 20px; margin-bottom: 20px; display: flow-root; }
.aa-uutiset .aa-uutinen-pvm { display: block; font-size: 13px; line-height: 27.2px; color: #aaa; margin: 0 0 5px; }
.aa-uutiset .aa-uutinen-otsikko { margin: 0 0 10px !important; font: 300 25.6px/38.4px "Roboto Condensed", Arial, sans-serif; color: #fff; letter-spacing: normal; }
.aa-uutiset .aa-uutinen-otsikko a { font-size: 22px; line-height: 26px; color: #555; text-decoration: none; }
.aa-uutiset .aa-uutinen-teksti { width: 87%; font-family: Roboto, sans-serif, Arial; color: #aaa; }
.aa-uutiset .aa-uutinen-teksti p { margin: 0 0 1.2em; }
.aa-uutiset .wp-block-query-pagination { display: block !important; width: 100%; text-align: center; color: #666; clear: both; margin: 0; }
.aa-uutiset .wp-block-query-pagination-numbers { display: inline !important; margin: 0 !important; }
.aa-uutiset .wp-block-query-pagination a { color: #fff !important; background: #666; padding: 7px 10px; margin: 0 1px 6px 2px; display: inline-block; text-align: center; line-height: normal; font-size: 14px; font-weight: 400; border: 1px solid #666; text-decoration: none; transition: all .3s ease; }
.aa-uutiset .wp-block-query-pagination .page-numbers.current { color: #666; background: transparent; padding: 7px 10px; margin: 0 1px 6px 2px; display: inline-block; line-height: normal; font-size: 14px; font-weight: 400; border: 1px solid #666; }
.aa-uutiset .wp-block-query-pagination .dots { color: #666; font-weight: 400; }
.aa-uutiset .wp-block-query-pagination a:hover { color: #666 !important; background: #fff; }
.aa-uutiset a.wp-block-query-pagination-next { min-width: 90px; box-sizing: content-box; }
.aa-etusivu .aa-some { position: fixed; }
/* vanhan Themify-rivin epäsymmetria (sarakkeet) – sama keskikohta kuin ennen */
.aa-osio--toteuttaja > .aa-vain-desktop { position: relative; left: calc(min(1160px, 90vw) * 0.00498); }
@media (max-width: 680px) { .aa-osio > .aa-vain-mobiili { position: relative; left: -2.95vw; } }

/* v3: vanhan teeman tekstinrivitys (ei text-wrap:pretty/balance) ja viimeisen kappaleen alamarginaali */
.aa-sisalto p, .aa-sisalto li, .aa-sisalto h1, .aa-sisalto h2, .aa-sisalto h3, h1.aa-otsikko, .aa-uutiset * { text-wrap: wrap !important; }
.aa-sisalto p:last-child { margin-bottom: 1.2em !important; }
.aa-sisalto ul:last-child { margin-bottom: 1.4em !important; }
@media (max-width: 680px) {
	/* vanhassa mobiilissa tyhjät 1/4-sarakkeet pinoutuivat 1px korkuisina ylä- ja alapuolelle */
	.aa-sarake { margin-top: 1px !important; margin-bottom: 1px !important; }
}

/* v3: Smash Balloon Instagram Feed 6.13.x -> palautetaan 6.2.10:n asettelu (otsake, 5px+5px ruutuvälit, fontti) */
#sb_instagram .sb_instagram_header { padding: 5px 5px 0 !important; margin: 0 0 10px !important; line-height: 19.2px; }
#sb_instagram .sb_instagram_header .sbi_header_link { display: block !important; }
#sb_instagram .sb_instagram_header .sbi_header_text { display: flex !important; align-items: flex-start !important; gap: 0 !important; padding: 0 !important; }
#sb_instagram .sb_instagram_header .sbi_header_img { margin: 0 15px 0 0 !important; flex: none; }
#sb_instagram .sb_instagram_header .sbi_feedtheme_header_text { display: block !important; padding-top: 5px !important; gap: 0 !important; }
#sb_instagram .sb_instagram_header h3, #sb_instagram .sb_instagram_header .sbi_bio { margin: 0 !important; }
#sb_instagram #sbi_images { padding: 5px !important; gap: 0 !important; }
#sb_instagram #sbi_images .sbi_item { padding: 5px !important; box-sizing: border-box; }
#sb_instagram #sbi_load .sbi_load_btn { font-family: inherit !important; }
@media (max-width: 480px) { #sb_instagram .sb_instagram_header .sbi_header_img { margin-right: 10px !important; } }
@media (max-width: 680px) { .aa-uutiset .aa-uutinen-otsikko { font-size: 22.4px; line-height: 33.6px; } }
.aa-uutiset .aa-uutinen-otsikko { width: 87%; }
.aa-uutiset .aa-uutinen-otsikko a { display: inline !important; }
.aa-uutiset { padding-bottom: 1px; }

@media (max-width: 680px) { html.has-modal-open .aa-some { visibility: hidden; } }
