/*
Theme Name:   SOSJJ World
Theme URI:    https://www.sosjj.world/
Template:     twentytwentyfive
Description:  Child theme of Twenty Twenty-Five for sosjj.world (free stack, WORLD-G32). Reproduces the palette, typography, header and footer of the former Kings & Queens design with WordPress core blocks only: no ThemeREX Addons, no WPBakery, no Slider Revolution. Fonts (Spectral SC, Montserrat, SIL OFL) are self-hosted.
Author:       SOSJJ recovery
Version:      1.0.3
Requires at least: 7.1
Requires PHP: 8.3
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  sosjj-world
*/

/* ---- frame: the original theme was "boxed" (14px parchment frame on desktop); the header floats inside it on the home */
.wp-site-blocks { position: relative; }
@media (min-width: 782px) { .wp-site-blocks { margin: 0 14px; } }
.sosjj-section { padding-left: 1.5rem; padding-right: 1.5rem; }

/* ---- header ---------------------------------------------------------------------------------------------------- */
.sosjj-header { position: relative; z-index: 20; min-height: 128px; align-items: flex-start !important; }
.sosjj-header .sosjj-brand { flex: 0 0 auto; }
.sosjj-header .wp-block-site-title a { text-decoration: none; }
.sosjj-header .sosjj-nav { flex: 1 1 auto; padding-top: 1.75rem; }
.sosjj-header .sosjj-nav a:hover,
.sosjj-header .sosjj-nav a[aria-current="page"] { color: var(--wp--preset--color--accent-1) !important; }
.sosjj-header .sosjj-member { padding-top: 0.75rem; }
.sosjj-header .sosjj-member .wp-block-button__link { background: transparent; color: #fff; border: 2px solid var(--wp--preset--color--accent-1); padding: 1.15em 1.6em; }
.sosjj-header .sosjj-member .wp-block-button__link:hover { background: var(--wp--preset--color--accent-1); }
.sosjj-header--overlay { position: absolute; top: 0; left: 0; right: 0; background: transparent !important; }
.sosjj-header--overlay .sosjj-nav a { text-shadow: 0 0 6px rgba(0, 0, 0, .55); }
@media (max-width: 781px) {
	.sosjj-header { min-height: 0; align-items: center !important; padding: 1rem 1.2rem !important; }
	.sosjj-header .sosjj-nav { padding-top: 0; justify-content: flex-end; }
	.sosjj-header .sosjj-member { display: none; }
}

/* ---- footer ---------------------------------------------------------------------------------------------------- */
.sosjj-footer .sosjj-footer-list,
.sosjj-footer .sosjj-footer-list a { color: #8e8676; list-style: none; padding-left: 0; text-transform: none; letter-spacing: 0; }
.sosjj-footer .sosjj-footer-list a:hover { color: var(--wp--preset--color--accent-1); }
.wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }

/* ---- content building blocks ----------------------------------------------------------------------------------- */
.sosjj-main { margin-block-start: 0 !important; }
.sosjj-main > .wp-block-post-content > * { margin-block-start: 0; }
.sosjj-subtitle { color: var(--wp--preset--color--accent-1); font-size: 13px; font-weight: 600; letter-spacing: 2.2px; text-transform: uppercase; margin-bottom: 0.4rem !important; }
.sosjj-subtitle::before { content: ""; display: inline-block; width: 21px; height: 17px; margin-right: 8px; vertical-align: -2px; background: url("assets/img/crown.svg") no-repeat center / contain; }
.sosjj-section { padding-top: 5rem; padding-bottom: 5rem; }
.sosjj-edge { line-height: 0; margin: 0 !important; }
.sosjj-edge img { width: 100%; height: auto; display: block; }
.sosjj-shadow img { box-shadow: 0 25px 45px rgba(7, 3, 1, .28); }
/* G34: images of classic posts without width / height attributes must not exceed the content column (mobile overflow) */
.wp-block-post-content img { max-width: 100%; height: auto; }
.sosjj-quote { white-space: pre-line; }
.sosjj-pdf .wp-block-button { width: 100%; }
.sosjj-pdf .wp-block-button__link { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 14px; border-radius: 4px; width: 100%;
	padding: .85em 1em; word-break: normal; overflow-wrap: normal; hyphens: none; }
.sosjj-pdf-dark .wp-block-button__link { background: linear-gradient(#3a3a3a, #1d1d1d); border: 1px solid #111; }
.sosjj-pdf-red .wp-block-button__link { background: var(--wp--preset--color--storia-red); }
.sosjj-pdf-blue .wp-block-button__link { background: var(--wp--preset--color--sentenze-blue); }
.sosjj-pdf .wp-block-button__link:hover { filter: brightness(0.88); }
.sosjj-outline .wp-block-button__link { background: transparent; color: #666; border: 2px solid #666; border-radius: 4px; text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 14px; padding: .7em 1.2em; }
.sosjj-outline .wp-block-button__link:hover { background: #666; color: #fff; }
.wp-block-gallery.sosjj-gallery img { border: 4px solid #fff; }
.wp-block-video video { width: 100%; background: #000; }
.sosjj-map iframe { width: 100%; height: 391px; border: 0; display: block; }

/* ---- Contact Form 7 (style of the original theme: parchment pill fields, gold button) --------------------------- */
.wpcf7 { max-width: 760px; margin: 0 auto; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
	width: 100%; box-sizing: border-box; border: 0; border-radius: 30px; background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--contrast); font: 600 13px/1.6 var(--wp--preset--font-family--montserrat); padding: 1.05em 1.8em; }
.wpcf7 textarea { min-height: 200px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--accent-1); }
.wpcf7 .wpcf7-submit { border: 0; cursor: pointer; border-radius: 999px; background: var(--wp--preset--color--accent-1); color: #fff;
	font: 600 13px/1.6 var(--wp--preset--font-family--montserrat); letter-spacing: 1.6px; text-transform: uppercase; padding: 1.1em 2.4em; }
.wpcf7 .wpcf7-submit:hover { background: var(--wp--preset--color--contrast); }

/* ---- home hero (replaces the Slider Revolution slider "slider-1") ---------------------------------------------------- */
.sosjj-hero { position: relative; overflow: hidden; margin: 0 !important; background: var(--wp--preset--color--contrast); }
.sosjj-hero .wp-block-cover { min-height: 100vh !important; margin: 0 !important; }
.sosjj-hero.is-slider .sosjj-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.2s ease, visibility 1.2s; }
.sosjj-hero.is-slider .sosjj-slide:first-child { position: relative; }
.sosjj-hero.is-slider .sosjj-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.sosjj-hero .sosjj-hero-big { font-size: clamp(3rem, 9vw, 8rem) !important; line-height: 1 !important; margin: 0 !important; color: var(--wp--preset--color--contrast); -webkit-text-stroke: 2px #fff; paint-order: stroke fill; }
.sosjj-hero .sosjj-hero-and { font-size: clamp(1.4rem, 3vw, 2.6rem) !important; margin: 0 !important; color: var(--wp--preset--color--contrast); }
.sosjj-hero .sosjj-ornament { margin: 0 !important; }
.sosjj-hero .sosjj-hero-title { color: #fff; font-size: clamp(2.3rem, 6.2vw, 5.6rem) !important; line-height: 1.32 !important; text-shadow: 0 0 18px rgba(0, 0, 0, .65); }
.sosjj-hero .sosjj-hero-sub { color: #eee; font-family: var(--wp--preset--font-family--spectral-sc); font-size: clamp(1.2rem, 2.4vw, 2.2rem); text-shadow: 0 0 10px rgba(0, 0, 0, .7); }
.sosjj-hero-nav { position: absolute; z-index: 3; top: 50%; width: 46px; height: 46px; margin-top: -23px; border: 0; cursor: pointer; background: rgba(7, 3, 1, .55); color: #fff; font-size: 22px; line-height: 46px; }
.sosjj-hero-nav:hover,
.sosjj-hero-nav:focus-visible { background: var(--wp--preset--color--accent-1); }
.sosjj-hero-prev { left: 1.5rem; }
.sosjj-hero-next { right: 1.5rem; }
.sosjj-scroll { position: absolute; z-index: 3; left: 0; right: 0; bottom: 2.2rem; text-align: center; margin: 0 !important; font-size: 12px; }
.sosjj-scroll a { color: #fff; text-shadow: 0 0 6px rgba(0, 0, 0, .7); }
@media (max-width: 781px) {
	.sosjj-hero .wp-block-cover { min-height: 62vh !important; }
	.sosjj-hero .sosjj-ornament { display: none; }
	.sosjj-hero-nav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.sosjj-hero.is-slider .sosjj-slide { transition: none; }
}
