/* SoulWave Studio – subtle brand layer on Prespa Wellness */

.sws-section {
	scroll-margin-top: 6.5rem;
}

.site-header .custom-logo {
	max-height: 56px;
	width: auto;
	height: auto;
}

.sws-hero .wp-block-cover__inner-container {
	max-width: 760px;
}

.sws-hero-logo {
	max-width: 280px;
	height: auto;
	margin: 0 auto 1rem;
}

.sws-hero h1 {
	letter-spacing: 0.02em;
}

.sws-quote {
	font-family: var(--wp--preset--font-family--lora, Georgia, serif);
	font-style: italic;
	font-size: 1.25rem;
	color: #6b534b;
	text-align: center;
}

.sws-service-card,
.sws-package-card,
.sws-price-card {
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sws-service-card:hover,
.sws-package-card:hover {
	transform: translateY(-4px);
}

.sws-service-meta {
	margin: 0.75rem 0;
	padding: 0;
	list-style: none;
}

.sws-service-meta li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px dotted rgba(107, 83, 75, 0.35);
	padding: 0.35rem 0;
}

.sws-pricelist {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.sws-price-card h3 {
	margin-top: 0;
	margin-bottom: 0.35rem;
}

.sws-price-note {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	color: #6b534b;
}

.sws-price-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	border-bottom: 1px dotted rgba(107, 83, 75, 0.35);
	padding: 0.4rem 0;
}

.sws-price-row strong {
	white-space: nowrap;
}

.sws-packages {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.sws-package-card ul {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.sws-package-card li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	border-bottom: 1px dotted rgba(107, 83, 75, 0.35);
	padding: 0.55rem 0;
}

.sws-package-card .sws-per {
	width: 100%;
	font-size: 0.9rem;
	color: #6b534b;
}

.sws-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
}

.sws-social {
	display: flex;
	gap: 0.85rem;
	align-items: center;
	margin-top: 1rem;
}

.sws-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #d6aea2;
	color: #fff !important;
	text-decoration: none !important;
}

.sws-social a:hover,
.sws-social a:focus-visible {
	background: #c4988a;
}

.sws-social svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.sws-map iframe {
	width: 100%;
	min-height: 280px;
	border: 0;
	border-radius: 0.75rem;
}

.sws-form__field {
	margin: 0 0 1rem;
}

.sws-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.sws-form input,
.sws-form select,
.sws-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid #d6aea2;
	border-radius: 10px;
	background: #fff;
	color: #404040;
	font: inherit;
}

.sws-form input:focus,
.sws-form select:focus,
.sws-form textarea:focus {
	outline: 2px solid #cba395;
	outline-offset: 1px;
}

.sws-form__honeypot {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.sws-form__submit .wp-element-button {
	min-height: 48px;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	cursor: pointer;
	border: 0;
	background-color: #cba395;
	color: #fff;
}

.sws-form__status {
	min-height: 1.4em;
}

.sws-form__status.is-success {
	color: #2f6b4f;
}

.sws-form__status.is-error {
	color: #8a2f2f;
}

.sws-phone {
	font-size: 1.15rem;
	font-weight: 600;
}

.site-footer .sws-footer-logo {
	max-width: 180px;
	height: auto;
	margin-bottom: 0.75rem;
}

.site-footer .sws-copyright {
	margin: 0 0 0.35rem;
}

.wp-block-button__link,
.sws-form__submit .wp-element-button {
	min-height: 44px;
}

@media (max-width: 1024px) {
	.sws-packages {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 768px) {
	.sws-pricelist,
	.sws-packages,
	.sws-contact-grid {
		grid-template-columns: 1fr;
	}

	.sws-hero h1 {
		font-size: clamp(1.75rem, 8vw, 2.4rem);
		overflow-wrap: anywhere;
	}

	.site-header .custom-logo {
		max-height: 44px;
	}

	.wp-block-buttons .wp-block-button {
		width: 100%;
	}

	.wp-block-buttons .wp-block-button .wp-block-button__link {
		display: block;
		text-align: center;
		width: 100%;
	}
}

@media (max-width: 430px) {
	.sws-price-row,
	.sws-service-meta li {
		flex-wrap: wrap;
	}
}

/* Balanced SoulWave photography and service layout. */
.sws-hero { min-height: 680px !important; padding: 80px 24px; }
.sws-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg,rgba(250,247,242,.94),rgba(250,247,242,.80) 42%,rgba(250,247,242,.15)) !important; }
.sws-hero .wp-block-cover__image-background { object-position: 65% 48%; }
.sws-hero .wp-block-cover__inner-container { max-width: 1160px; width: 100%; margin: auto; }
.sws-hero .wp-block-cover__inner-container > * { max-width: 560px; margin-left: 0; margin-right: auto; text-align: left; }
.sws-hero .wp-block-buttons { justify-content: flex-start; }
.sws-hero h1 { font-size: clamp(2.4rem,4vw,3.7rem); line-height: 1.15; }
.sws-hero p { line-height: 1.8; }
.sws-hero .wp-block-button:first-child .wp-block-button__link { background-color: #876255 !important; }
#o-nas .wp-block-image img { width:100%; max-height:570px; object-fit:cover; object-position:50% 38%; border-radius:12px; }
#storitve > .wp-block-columns { align-items:stretch; }
#storitve .sws-service-card { height:auto; display:flex; flex-direction:column; min-width:0; }
#storitve .sws-service-card > figure:first-child { width:100%; margin:0 0 1.2rem !important; }
#storitve .sws-service-card > figure:first-child img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }
#storitve .sws-service-card > figure.aligncenter { display:none; }
#storitve .sws-service-card h3 { min-height:3em; display:flex; align-items:center; justify-content:center; margin:0 0 1rem; }
#storitve .sws-service-card > p { margin:0 0 1.5rem; }
#storitve .sws-service-meta { margin-top:auto; margin-bottom:1.2rem; }
#storitve .sws-service-card > .wp-block-buttons { margin-top:0; }
#storitve .sws-service-card:nth-child(3) > figure:first-child img { object-position:50% 58%; }
@media(max-width:781px) {
 .sws-hero { min-height:620px !important; padding:60px 24px; }
 .sws-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(250,247,242,.91),rgba(250,247,242,.72)) !important; }
 .sws-hero .wp-block-cover__inner-container > * { max-width:100%; }
 #storitve .sws-service-card h3 { min-height:0; }
 #o-nas .wp-block-image img { max-height:520px; }
}

/* Full-screen opening with branding in the footer only. */
#masthead.site-header { display:none; }
.home .site-main, .home article, .home .entry-content { margin-top:0; padding-top:0; }
.home .sws-hero { min-height:100vh !important; min-height:100svh !important; width:100%; max-width:none; margin-top:0 !important; margin-bottom:0; box-sizing:border-box; animation:none !important; transform:none !important; opacity:1 !important; }
.sws-section { scroll-margin-top:24px; }

/* Cozy brand finish: keeps Prespa typography, blocks and breakpoints. */
body.home { --sws-cream:#faf6f0; --sws-ink:#3c302a; --sws-muted:#65594f; --sws-clay:#805b48; background:var(--sws-cream); color:var(--sws-muted); }
.home .entry-content { line-height:1.8; }
.home .sws-section h2, .home .sws-section h3 { color:var(--sws-ink); }
.home .sws-section h2 { font-size:clamp(1.8rem,3.2vw,2.65rem); line-height:1.25; letter-spacing:-.025em; }
.home .sws-section:not(.sws-hero) { padding-top:clamp(2rem,5vw,4.5rem) !important; padding-bottom:clamp(2rem,5vw,4.5rem) !important; }
.home .sws-section > h2 + p { color:#796556; margin-bottom:2rem; }
.home .sws-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(250,246,240,.96),rgba(250,246,240,.83) 40%,rgba(250,246,240,.18) 80%),linear-gradient(0deg,rgba(250,246,240,.6),transparent 28%) !important; }
.home .sws-hero h1 { font-size:clamp(2.6rem,5.2vw,4.6rem); letter-spacing:-.045em; line-height:1.12; }
.home .sws-hero h1 + p { color:#775b49 !important; font-size:1.25rem; margin-top:1rem; }
.home .sws-hero .wp-block-buttons { gap:12px; margin-top:1.8rem; margin-bottom:1.6rem; }
.home .sws-hero .wp-block-cover__inner-container > p:last-child { font-size:.95rem; color:#6f5a4c !important; }
.home .wp-block-button__link, .home .sws-form button { border-radius:999px; min-height:48px; font-weight:600; box-shadow:none; transition:background-color .2s ease,box-shadow .2s ease; }
.home .sws-section .wp-block-button:first-child .wp-block-button__link, .home .sws-form button { background:#805b48 !important; color:#fff !important; }
.home .sws-section .wp-block-button:first-child .wp-block-button__link:hover, .home .sws-form button:hover { background:#684735 !important; box-shadow:0 5px 14px #63473220; }
.home .sws-hero .wp-block-button:nth-child(2) .wp-block-button__link { background:#fffaf4 !important; color:#634732 !important; border:1px solid #bba696; }
.home a:focus-visible, .home button:focus-visible { outline:3px solid #805b48; outline-offset:4px; }
.home #storitve .sws-service-card, .home .sws-price-card, .home .sws-package-card { background:#f2e9df !important; border:1px solid #e6d8ca; border-radius:22px !important; box-shadow:0 8px 26px #69523d08; }
.home #storitve .sws-service-card > figure:first-child img { border-radius:14px; }
.home #storitve .sws-service-card h3 { font-size:1.2rem; line-height:1.4; }
.home #storitve .sws-service-card > p { font-size:1rem; line-height:1.75; }
.home .sws-service-meta strong, .home .sws-price-row strong, .home .sws-package-card strong { color:#614733; }
.home .sws-price-row, .home .sws-service-meta li, .home .sws-package-card li { border-bottom-color:#c9b6a6; }
.home .sws-package-card h3 { font-size:1.2rem; line-height:1.5; }
.home .sws-price-card h3 { font-size:1.2rem; line-height:1.5; }
.home #o-nas .wp-block-image img { border-radius:120px 120px 22px 22px; box-shadow:0 12px 35px #63473212; }
.home .sws-quote { padding:1rem 0; color:#805b48; }
.home .prespa-wellness-cta { padding:clamp(3rem,7vw,6rem) 24px; }
.home .prespa-wellness-cta .wp-block-cover__background { background:#594739 !important; opacity:.82; }
.home .prespa-wellness-cta .is-style-outline .wp-block-button__link { color:#fffaf4; border-color:#ebdbcd; }
.home .sws-form { background:#fffcf7; border:1px solid #e6d8ca; padding:clamp(1.2rem,3vw,2rem); border-radius:22px; }
.home .sws-form input,.home .sws-form select,.home .sws-form textarea { background:#faf6f0; border-color:#cbb8a7; border-radius:12px; min-height:48px; box-sizing:border-box; }
.home .sws-form input:focus,.home .sws-form select:focus,.home .sws-form textarea:focus { outline-color:#805b48; }
.home .sws-social a { background:#805b48; }
.home .sws-social a:hover { background:#684735; }
.home .site-footer { background:#3d3530; }
@media(max-width:781px) {
 .home .sws-hero { padding:48px 22px; }
 .home .sws-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(250,246,240,.94),rgba(250,246,240,.78)),linear-gradient(0deg,#faf6f0,transparent 35%) !important; }
 .home .sws-hero h1 { font-size:clamp(2.35rem,10vw,3.5rem); }
 .home .sws-section:not(.sws-hero) { padding-top:2rem !important; padding-bottom:2rem !important; }
 .home #o-nas .wp-block-image img { border-radius:80px 80px 20px 20px; }
 .home .sws-service-card:hover,.home .sws-package-card:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .home *, .home *::before, .home *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
.home .sws-section.p-animation-text-moveUp { animation:none !important; opacity:1 !important; transform:none !important; }


/* One scrollable row of services; native touch and keyboard scrolling. */
.home #storitve .sws-services-track { display:flex; flex-wrap:nowrap !important; gap:20px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding:2px; padding:8px 2px 22px; align-items:stretch; scrollbar-width:thin; scrollbar-color:#a4846d #eee3d7; }
.home #storitve .sws-services-track > .sws-service-card { flex:0 0 calc((100% - 40px) / 3) !important; scroll-snap-align:start; box-sizing:border-box; margin:0; }
.home #storitve .sws-service-card:hover { transform:none; }
.sws-slider-controls { display:flex; justify-content:center; align-items:center; gap:18px; margin:0 auto 24px; color:#796556; font-size:.95rem; }
.sws-slider-controls button { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid #bba696; border-radius:50%; background:#fffaf4; color:#634732; font-size:1.5rem; cursor:pointer; }
.sws-slider-controls button:hover { background:#805b48; color:white; }
.sws-slider-controls button:disabled { opacity:.35; cursor:default; }
.sws-services-track:focus-visible { outline:2px solid #805b48; outline-offset:4px; }
.home .sws-printed-price .wp-block-image { max-width:850px; margin-inline:auto; }
.home .sws-printed-price img { display:block; width:100%; height:auto; border-radius:16px; box-shadow:0 12px 35px #63473218; }
@media(max-width:1024px) and (min-width:782px) { .home #storitve .sws-services-track > .sws-service-card { flex-basis:calc((100% - 20px) / 2) !important; } }
@media(max-width:781px) { .home #storitve .sws-services-track > .sws-service-card { flex-basis:90% !important; } }

/* Clear editorial hero with the real studio photography. */
.home .sws-hero { background:#f7f1e8; padding:72px max(24px,5vw); }
.home .sws-hero .wp-block-cover__image-background { width:66%; left:auto; right:0; object-position:50% 38%; }
.home .sws-hero .wp-block-cover__background { background:linear-gradient(90deg,#f7f1e8 23%,rgba(247,241,232,.98) 36%,rgba(247,241,232,.70) 48%,rgba(247,241,232,.05) 67%,transparent 100%) !important; }
.home .sws-hero .wp-block-cover__inner-container { max-width:1180px; }
.home .sws-hero .wp-block-cover__inner-container > * { max-width:520px; }
.home .sws-hero .sws-eyebrow { font-size:.76rem !important; text-transform:uppercase; letter-spacing:.22em; color:#805b48; margin-bottom:28px; font-weight:600; }
.home .sws-hero h1.has-x-large-font-size { font-size:clamp(3.5rem,6.3vw,5.5rem) !important; font-weight:500; line-height:1.06; letter-spacing:-.045em; margin-top:0; margin-bottom:20px; }
.home .sws-hero h1 + p { font-size:1.5rem; margin-bottom:24px; }
.home .sws-hero h1 + p + p { max-width:420px; color:#594d42 !important; font-size:1.02rem; line-height:1.85; }
.home .sws-hero .wp-block-cover__inner-container > p:last-child { padding-top:18px; border-top:1px solid #bfa89180; width:fit-content; }
.sws-slider-controls .sws-autoplay { width:auto; padding:0 14px; font-size:.8rem; min-height:48px; }
@media(max-width:781px) {
 .home .sws-hero { padding:56px 24px; }
 .home .sws-hero .wp-block-cover__image-background { width:100%; object-position:60% 35%; }
 .home .sws-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(247,241,232,.95),rgba(247,241,232,.80) 60%,rgba(247,241,232,.55)) !important; }
 .home .sws-hero h1.has-x-large-font-size { font-size:clamp(3rem,12vw,4.6rem) !important; }
 .home .sws-hero .wp-block-cover__inner-container > * { max-width:100%; }
 .sws-slider-controls { gap:10px; flex-wrap:wrap; }
}

/* Accessible, recognizable contact icons and hidden spam trap. */
.sws-social a svg { display:block; width:23px; height:23px; flex-shrink:0; }
.sws-social a:first-child svg { fill:none; }
.sws-social a { transition:background-color .2s ease,transform .2s ease; }
.sws-social a:hover { transform:translateY(-2px); }
.sws-form__honeypot[hidden] { display:none !important; }
.sws-form__privacy { font-size:.85rem; line-height:1.6; }
.sws-form button:disabled { opacity:.65; cursor:wait; }

/* Muted champagne buttons, coordinated with Prespa's warm neutrals. */
.home .sws-section .wp-block-button:first-child .wp-block-button__link,
.home .sws-form button {
 background:#e4d6c6 !important;
 color:#4b4037 !important;
 border:1px solid #b8a38e;
 box-shadow:inset 0 1px 0 #fff8edb3,0 3px 10px #66503a08;
}
.home .sws-section .wp-block-button:first-child .wp-block-button__link:hover,
.home .sws-form button:hover {
 background:#d8c6b2 !important;
 color:#40362e !important;
 border-color:#a28b74;
 box-shadow:0 4px 12px #66503a12;
}
.home .sws-social a {
 background:#e4d6c6;
 color:#4b4037 !important;
 border:1px solid #b8a38e;
 box-sizing:border-box;
}
.home .sws-social a:hover,
.home .sws-slider-controls button:not(:disabled):hover {
 background:#d8c6b2;
 color:#40362e !important;
 border-color:#a28b74;
}
