/*!
Theme Name: Nezaboravime
Theme URI: https://nezaboravime.com/
Author: Nezaboravime
Author URI: https://nezaboravime.com/
Description: Custom WordPress theme for Nezaboravime, built for a service-focused WooCommerce website.
Version: 1.0.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: nezaboravime
Tags: custom-logo, custom-menu, featured-images, translation-ready, e-commerce
 
This theme, like WordPress, is licensed under the GPL.

nezaboravime is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS: 
----------------------------------------------------------------
# Generic  
	- Normalize
	- Box sizing
# Base 
	- Typography 
	- Elements 
	- Links 
	- Forms
## Layouts 
# Components  
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: var(--nv-blue, #5d8ab1);
}

a:hover,
a:focus,
a:active {
	color: #4d769a;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Nezaboravime
--------------------------------------------------------------*/

:root {
	--nezaboravime-color-text: #1b1f24;
	--nezaboravime-color-muted: #5f6b76;
	--nezaboravime-color-border: #d9e0e6;
	--nezaboravime-color-surface: #ffffff;
	--nezaboravime-color-soft: #f6f8fa;
	--nezaboravime-color-accent: #0f766e;
	--nezaboravime-color-accent-strong: #115e59;
	--nezaboravime-content-width: 1120px;
}

body {
	background: var(--nezaboravime-color-surface);
	color: var(--nezaboravime-color-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.65;
}

a {
	color: var(--nv-blue);
}


a:hover,
a:focus {
	color: #4d769a;
}

.site-header,
.site-main,
.widget-area,
.site-footer {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--nezaboravime-content-width);
	padding-left: 1rem;
	padding-right: 1rem;
}

.site-header {
	align-items: center;
	border-bottom: 1px solid var(--nezaboravime-color-border);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	justify-content: space-between;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.site-branding {
	min-width: 12rem;
}

.site-title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.site-title a {
	color: var(--nezaboravime-color-text);
	text-decoration: none;
}

.site-description {
	color: var(--nezaboravime-color-muted);
	font-size: 0.95rem;
	margin: 0.25rem 0 0;
}

.main-navigation {
	width: auto;
}

.main-navigation a {
	color: var(--nezaboravime-color-text);
	font-weight: 600;
	padding: 0.5rem 0.75rem;
	text-decoration: none;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--nezaboravime-color-accent-strong);
}

.site-main {
	padding-bottom: 3rem;
	padding-top: 2rem;
}

.no-sidebar .site-main,
.woocommerce-page .site-main {
	max-width: var(--nezaboravime-content-width);
}

.entry-title,
.page-title {
	line-height: 1.15;
	margin-top: 0;
}

.entry-meta,
.entry-footer,
.archive-description,
.woocommerce-result-count {
	color: var(--nezaboravime-color-muted);
	font-size: 0.95rem;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wp-block-button__link,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--nezaboravime-color-accent);
	border: 1px solid var(--nezaboravime-color-accent);
	border-radius: 4px;
	color: #ffffff;
	cursor: pointer;
	font-weight: 700;
	line-height: 1.2;
	padding: 0.75rem 1rem;
	text-decoration: none;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.button:hover,
.button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus {
	background: var(--nezaboravime-color-accent-strong);
	border-color: var(--nezaboravime-color-accent-strong);
	color: #ffffff;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	border: 1px solid var(--nezaboravime-color-border);
	border-radius: 4px;
	color: var(--nezaboravime-color-text);
	max-width: 100%;
	padding: 0.65rem 0.75rem;
}

.site-footer {
	border-top: 1px solid var(--nezaboravime-color-border);
	color: var(--nezaboravime-color-muted);
	font-size: 0.95rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.site-info {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: space-between;
}

.footer-widgets {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin-bottom: 1.5rem;
}

.woocommerce ul.products {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--nezaboravime-color-soft);
	border: 1px solid var(--nezaboravime-color-border);
	border-radius: 6px;
	float: none;
	margin: 0;
	padding: 1rem;
	width: auto;
}

.woocommerce div.product {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1.1fr);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	width: auto;
}

.woocommerce div.product .product_title {
	margin-top: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--nezaboravime-color-accent);
}

@media screen and (max-width: 700px) {
	.site-header {
		align-items: flex-start;
		display: block;
	}
 
	.main-navigation {
		margin-top: 1rem;
		width: 100%;
	}

	.woocommerce div.product {
		display: block;
	}
}

/*--------------------------------------------------------------
# Homepage Design
--------------------------------------------------------------*/

:root {
	--nv-ink: #302b26;
	--nv-muted: #736d66;
	--nv-faint: #a9a196;
	--nv-line: #ddd6ca;
	--nv-cream: #f6f2ea;
	--nv-cream-deep: #eee7d9;
	--nv-blue: #7D95AE;
	--nv-dark: #2e2923;
	--nv-serif: "Cormorant Garamond", "Libre Baskerville", Georgia, serif;
	--nv-sans: "Inter", "Segoe UI", Arial, sans-serif;
	--nv-container: 1188px;
}

body {
	background: var(--nv-cream);
	color: var(--nv-ink);
	font-family: var(--nv-sans);
}

.site {
	background: var(--nv-cream);
	/* `clip` contains stray horizontal overflow WITHOUT becoming a scroll
	   container — `hidden` here would disable position:sticky everywhere. */
	overflow: clip;
}

.site-header {
	background: rgba(246, 242, 234, 0.96);
	border-bottom: 1px solid var(--nv-line);
	gap: 24px;
	max-width: none;
	min-height: 68px;
	padding: 0 14.3%;
	position: relative;
	z-index: 10;
}

.site-branding {
	align-items: center;
	display: flex;
	min-width: 190px;
}

.site-logo-text {
	align-items: center;
	color: var(--nv-ink);
	display: inline-flex;
	font-family: Georgia, serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.site-logo-text:hover,
.site-logo-text:focus {
	color: var(--nv-ink);
}

.site-logo-mark {
	display: inline-block;
	height: 28px;
	margin-right: 7px;
	position: relative;
	width: 22px;
}

.site-logo-mark::before,
.site-logo-mark::after {
	background: var(--nv-blue);
	border-radius: 999px 999px 999px 0;
	content: "";
	height: 12px;
	left: 5px;
	position: absolute;
	top: 2px;
	transform: rotate(-45deg);
	width: 12px;
}

.site-logo-mark::after {
	left: 10px;
	transform: rotate(135deg);
}

.site-logo-mark span {
	display: none;
}

.site-logo-mark {
	background:
		radial-gradient(circle at 50% 6px, var(--nv-blue) 0 4px, transparent 5px),
		radial-gradient(circle at 25% 13px, var(--nv-blue) 0 4px, transparent 5px),
		radial-gradient(circle at 75% 13px, var(--nv-blue) 0 4px, transparent 5px);
}

.main-navigation {
	flex: 1 1 auto;
	width: auto;
}

.main-navigation ul {
	align-items: center;
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation li {
	margin: 0;
}

.main-navigation a {
	color: var(--nv-muted);
	display: block;
	font-size: 14px;
	font-weight: 700;
	padding: 25px 12px;
}

.site-actions {
	align-items: center;
	display: flex;
	gap: 16px;
	white-space: nowrap;
}

.site-login {
	color: var(--nv-muted);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.site-login::before {
	color: var(--nv-blue);
	content: "♙";
	font-size: 18px;
	margin-right: 6px;
}

.site-cta,
.home-button,
.home-package-card__link {
	align-items: center;
	border-radius: 3px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	min-height: 42px;
	text-decoration: none;
}

.site-cta {
	background: var(--nv-dark);
	color: #fff;
	padding: 0 19px;
}

.site-cta:hover,
.site-cta:focus {
	background: #1f1b17;
	color: #fff;
}

.menu-toggle {
	background: transparent;
	border: 1px solid var(--nv-line);
	display: none;
	height: 40px;
	padding: 0;
	width: 40px;
}

.menu-toggle span:not(.screen-reader-text) {
	background: var(--nv-ink);
	display: block;
	height: 2px;
	margin: 5px auto;
	width: 17px;
}

.home-main.site-main {
	max-width: none;
	padding: 0;
}

.home-container {
	margin: 0 auto;
	max-width: var(--nv-container);
	padding: 0 24px;
}

.home-hero {
	min-height: 880px;
	padding: 116px 0 0;
	position: relative;
	text-align: center;
}

.home-hero__content {
	position: relative;
	z-index: 2;
}

.home-eyebrow {
	align-items: center;
	color: #9b948c;
	display: flex;
	font-size: 13px;
	font-weight: 800;
	gap: 8px;
	margin: 0 0 26px;
	text-transform: uppercase;
}

.home-eyebrow::before {
	background:
		radial-gradient(circle at 50% 3px, var(--nv-blue) 0 3px, transparent 4px),
		radial-gradient(circle at 3px 9px, var(--nv-blue) 0 3px, transparent 4px),
		radial-gradient(circle at 10px 9px, var(--nv-blue) 0 3px, transparent 4px);
	content: "";
	height: 14px;
	width: 14px;
}

.home-hero .home-eyebrow {
	justify-content: center;
}

.home-hero .home-eyebrow::before {
	display: none;
}

.home-hero h1,
.home-section h2,
.home-final-cta h2 {
	color: var(--nv-ink);
	font-family: var(--nv-serif);
	font-weight: 500;
	line-height: 0.98;
	margin: 0;
}

.home-hero h1 {
	font-size: clamp(54px, 5.3vw, 84px);
}

.home-hero h1 span,
.home-final-cta h2,
.home-final-cta h2 span {
	display: block;
	font-style: italic;
}

.home-hero h1 span,
.home-final-cta h2 span {
	color: var(--nv-blue);
}

.home-hero__text {
	color: var(--nv-muted);
	font-size: 20px;
	line-height: 1.45;
	margin: 42px auto 0;
	max-width: 650px;
}

.home-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 54px;
}

.home-button {
	border: 1px solid var(--nv-line);
	min-width: 128px;
	padding: 0 27px;
}

.home-button--dark {
	background: var(--nv-dark);
	border-color: var(--nv-dark);
	color: #fff;
}

.home-button--light {
	background: transparent;
	color: var(--nv-ink);
}

.home-button:hover,
.home-button:focus {
	background: #1f1b17;
	border-color: #1f1b17;
	color: #fff;
}

.home-hero__proof {
	align-items: center;
	color: #918a82;
	display: flex;
	font-size: 14px;
	gap: 24px;
	justify-content: center;
	list-style: none;
	margin: 54px 0 0;
	padding: 0;
}

.home-hero__proof li {
	align-items: center;
	display: flex;
	gap: 7px;
}

.home-icon {
	color: var(--nv-blue);
	display: inline-flex;
	flex: 0 0 auto;
}

.home-icon svg {
	fill: none;
	height: 28px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 28px;
}

.home-hero__proof .home-icon svg {
	color: #6f6a63;
	height: 18px;
	width: 18px;
}

.home-hero__art {
	bottom: 26px;
	height: 310px;
	left: 0;
	opacity: 0.55;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.home-hero__art::before {
	background:
		radial-gradient(ellipse at 18% 42%, transparent 0 55px, #ded9cf 56px 58px, transparent 59px),
		radial-gradient(ellipse at 29% 52%, transparent 0 48px, #ded9cf 49px 51px, transparent 52px),
		radial-gradient(ellipse at 43% 45%, transparent 0 54px, #ded9cf 55px 57px, transparent 58px),
		radial-gradient(ellipse at 69% 65%, transparent 0 62px, #ded9cf 63px 65px, transparent 66px),
		radial-gradient(ellipse at 83% 56%, transparent 0 46px, #ded9cf 47px 49px, transparent 50px);
	content: "";
	height: 250px;
	left: -5%;
	position: absolute;
	top: 28px;
	width: 110%;
}

.home-hero__art::after {
	border-top: 6px double #ded9cf;
	border-radius: 50%;
	content: "";
	height: 190px;
	left: -8%;
	position: absolute;
	top: 110px;
	transform: rotate(-5deg);
	width: 116%;
}

.home-hero__art img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.home-section {
	border-top: 1px solid var(--nv-line);
	padding: 146px 0;
}

.home-section__intro {
	margin-bottom: 70px;
}

.home-section__intro--split {
	align-items: end;
	display: grid;
	gap: 70px;
	grid-template-columns: 1fr 0.82fr;
}

.home-section h2 {
	font-size: clamp(42px, 4vw, 62px);
}

.home-section__intro p:not(.home-eyebrow) {
	color: var(--nv-muted);
	font-size: 17px;
	line-height: 1.55;
	margin: 0 0 10px;
}

.home-step-grid {
	border-top: 1px solid var(--nv-line);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.home-step-card {
	border-right: 1px solid var(--nv-line);
	min-height: 360px;
	padding: 56px 56px 0 0;
}

.home-step-card + .home-step-card {
	padding-left: 56px;
}

.home-step-card:last-child {
	border-right: 0;
}

.home-step-card__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 98px;
}

.home-step-card__top span {
	color: var(--nv-blue);
	font-family: var(--nv-serif);
	font-size: 16px;
	font-weight: 700;
}

.home-step-card__top span::first-letter {
	color: var(--nv-faint);
}

.home-step-card h3,
.home-package-card h3,
.home-trust-card h3 {
	font-family: var(--nv-serif);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.05;
	margin: 0 0 18px;
}

.home-step-card p,
.home-trust-card p,
.home-map p:not(.home-eyebrow) {
	color: var(--nv-muted);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.home-packages {
	padding-bottom: 92px;
}

.home-package-grid {
	border: 1px solid var(--nv-line);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.home-package-card {
	background: rgba(255, 255, 255, 0.16);
	border-right: 1px solid var(--nv-line);
	min-height: 522px;
	padding: 48px 32px 32px;
	position: relative;
}

.home-package-card:last-child {
	border-right: 0;
}

.home-package-card__badge {
	background: var(--nv-blue);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	left: 0;
	padding: 8px 18px;
	position: absolute;
	top: 0;
}

.home-package-card__subtitle {
	color: #9a9289;
	font-size: 14px;
	margin: -6px 0 44px;
}

.home-package-card__price {
	border-bottom: 1px solid var(--nv-line);
	font-family: var(--nv-serif);
	font-size: 43px;
	font-style: italic;
	line-height: 1;
	margin: 0 0 28px;
	padding-bottom: 32px;
}

/* Price block matches Figma "pkg-price": the amount (number) is the big italic
   Fraunces figure; the currency symbol + "/ po poseti" label sit small and muted
   beside it, baseline-aligned. WooCommerce wraps the number in
   .woocommerce-Price-amount and the currency in .woocommerce-Price-currencySymbol. */
.home-package-card__price .woocommerce-Price-amount {
	color: var(--nv-ink);
	font-family: var(--nv-serif);
	font-size: inherit;
	font-style: italic;
	font-weight: inherit;
}

.home-package-card__price .woocommerce-Price-currencySymbol,
.home-package-card__price .home-package-card__per {
	color: #8a8175;
	font-family: var(--nv-sans);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	margin-left: 4px;
}

.home-package-card ul {
	color: var(--nv-muted);
	font-size: 15px;
	line-height: 1.55;
	list-style: none;
	margin: 0 0 40px;
	min-height: 150px;
	padding: 0;
}

.home-package-card li {
	margin-bottom: 15px;
	padding-left: 24px;
	position: relative;
}

.home-package-card li::before {
	color: var(--nv-blue);
	content: "✓";
	font-weight: 800;
	left: 0;
	position: absolute;
}

.home-package-card__link {
	background: #fff;
	bottom: 30px;
	color: var(--nv-ink);
	left: 32px;
	min-height: 35px;
	padding: 0 14px;
	position: absolute;
	right: 32px;
}

.home-package-card__link::after {
	content: "→";
	margin-left: auto;
}

.home-package-card__link:hover,
.home-package-card__link:focus {
	background: var(--nv-dark);
	color: #fff;
}

.home-package-card--dark {
	background: var(--nv-dark);
	color: #e9e2d6;
}

.home-package-card--dark .home-package-card__subtitle,
.home-package-card--dark li,
.home-package-card--dark .home-package-card__price {
	color: #bdb5a9;
}

.home-package-card--dark .home-package-card__price {
	border-bottom-color: #4b443c;
	font-size: 32px;
	margin-top: 66px;
}

.home-package-card--dark ul {
	min-height: 200px;
}

.home-package-card--dark li {
	padding-left: 0;
}

.home-package-card--dark li::before {
	display: none;
}

.home-package-card--dark .home-package-card__link {
	background: transparent;
	border-top: 1px solid #4b443c;
	color: #e9e2d6;
	justify-content: flex-start;
	padding-left: 0;
}

.home-note {
	color: #aaa197;
	font-size: 14px;
	line-height: 1.55;
	margin: 40px auto 0;
	max-width: 520px;
	text-align: center;
}

.home-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.home-trust-card {
	border-right: 1px solid var(--nv-line);
	padding: 0 28px 0 0;
}

.home-trust-card + .home-trust-card {
	padding-left: 28px;
}

.home-trust-card:last-child {
	border-right: 0;
}

.home-trust-card .home-icon {
	margin-bottom: 42px;
}

.home-trust-card small {
	color: #aaa197;
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-top: 22px;
}

.home-map__grid {
	align-items: center;
	display: grid;
	gap: 88px;
	grid-template-columns: 0.72fr 1fr;
}

.home-map h2 {
	margin-bottom: 34px;
}

.home-text-link {
	border-bottom: 1px solid var(--nv-ink);
	color: var(--nv-ink);
	display: inline-block;
	font-weight: 800;
	margin-top: 28px;
	text-decoration: none;
}

.home-map-card {
	background: #eee7d9;
	border: 1px solid #d8d0c0;
	min-height: 420px;
	position: relative;
}

.home-map-card img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.home-map-placeholder {
	height: 420px;
	position: relative;
}

.home-map-placeholder::before {
	border: 3px solid #d0c5b3;
	border-radius: 45% 52% 48% 42%;
	content: "";
	height: 275px;
	left: 22%;
	position: absolute;
	top: 58px;
	transform: rotate(12deg);
	width: 300px;
}

.home-map-placeholder::after {
	background: #d8dee0;
	content: "";
	height: 210px;
	left: 28%;
	position: absolute;
	top: 86px;
	transform: rotate(-28deg);
	width: 2px;
}

.home-map-placeholder span {
	background: var(--nv-blue);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(111, 155, 194, 0.2);
	height: 11px;
	position: absolute;
	width: 11px;
}

.home-map-placeholder span:nth-child(1) { left: 28%; top: 116px; }
.home-map-placeholder span:nth-child(2) { left: 42%; top: 176px; }
.home-map-placeholder span:nth-child(3) { left: 61%; top: 241px; }
.home-map-placeholder span:nth-child(4) { left: 67%; top: 315px; }
.home-map-placeholder span:nth-child(5) { left: 34%; top: 322px; }
.home-map-placeholder span:nth-child(6) { left: 72%; top: 162px; }

.home-map-card__legend {
	align-items: center;
	background: #fffaf0;
	border: 1px solid var(--nv-line);
	bottom: 26px;
	color: #8e867d;
	display: flex;
	font-size: 12px;
	gap: 12px;
	left: 26px;
	padding: 14px 18px;
	position: absolute;
}

.home-map-card__legend span {
	background: var(--nv-blue);
	border-radius: 50%;
	height: 7px;
	width: 7px;
}

.home-map-card__legend strong {
	color: #857c72;
	margin-left: 16px;
}

.home-testimonial-grid {
	display: grid;
	gap: 38px;
	grid-template-columns: repeat(3, 1fr);
}

.home-testimonial-card {
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid var(--nv-line);
	min-height: 310px;
	padding: 38px 40px;
}

.home-quote {
	color: var(--nv-blue);
	font-family: var(--nv-serif);
	font-size: 48px;
	line-height: 0.8;
}

.home-testimonial-card p {
	border-bottom: 1px solid var(--nv-line);
	color: var(--nv-muted);
	font-family: var(--nv-serif);
	font-size: 21px;
	font-style: italic;
	line-height: 1.45;
	margin: 24px 0 28px;
	padding-bottom: 28px;
}

.home-testimonial-card div {
	display: grid;
	grid-template-columns: 38px 1fr;
}

.home-testimonial-card div span {
	align-items: center;
	background: #e8dfcf;
	border-radius: 50%;
	color: #8d8377;
	display: flex;
	font-family: var(--nv-serif);
	height: 38px;
	justify-content: center;
	margin-right: 12px;
	width: 38px;
}

.home-testimonial-card strong,
.home-testimonial-card small {
	grid-column: 2;
}

.home-testimonial-card strong {
	color: var(--nv-muted);
	font-size: 14px;
}

.home-testimonial-card small {
	color: #aaa197;
	font-size: 13px;
}

.home-final-cta {
	background: var(--nv-cream-deep);
	padding: 150px 0 170px;
	position: relative;
	text-align: center;
}

.home-final-cta .home-eyebrow {
	justify-content: center;
}

/* Final CTA heading is Fraunces Light Italic in Figma (whole line italic). */
.home-final-cta h2 {
	font-size: clamp(42px, 4.6vw, 58px);
	font-style: italic;
	font-weight: 300;
}

/* "nikad" is an inline italic accent within line 1, not its own line. */
.home-final-cta h2 span {
	display: inline;
	font-weight: 300;
}

.home-final-cta p:not(.home-eyebrow) {
	color: var(--nv-muted);
	font-size: 18px;
	line-height: 1.55;
	margin: 32px auto 0;
	max-width: 510px;
}

.site-footer {
	background: var(--nv-dark);
	border: 0;
	color: #928a80;
	max-width: none;
	padding: 0;
}

.site-footer__inner {
	display: grid;
	gap: 56px 92px;
	grid-template-columns: 1.4fr 0.65fr 0.65fr 0.9fr;
	margin: 0 auto;
	max-width: var(--nv-container);
	padding: 82px 24px 36px;
}

.site-footer .site-logo-text {
	color: #d9d0c4;
}

/* Footer brand = dedicated light logo variant (legible on the dark footer). */
.site-footer__logo {
	display: inline-block;
}

.site-footer__logo img {
	display: block;
	height: 40px;
	max-height: 40px;
	max-width: 220px;
	width: auto;
}

/* Footer brand mark = real forget-me-not (consistent with eyebrows). */
.site-footer .site-logo-mark {
	background: var(--nv-flower) center / contain no-repeat;
	height: 22px;
	margin-right: 8px;
	width: 20px;
}
 
.site-footer .site-logo-mark::before,
.site-footer .site-logo-mark::after {
	display: none;
}

.site-footer__agency {
	display: inline-flex;
	align-items: center;
}

.site-footer__agency img {
	display: block;
	height: 21px;
	width: auto;
}

.site-footer__brand p {
	color: rgba(250, 247, 241, 0.6);
	font-size: 14px;
	line-height: 1.55;
	margin: 16px 0 0;
	max-width: 280px;
}

.site-footer h2 {
	color: rgba(250, 247, 241, 0.5);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	margin: 0 0 24px;
	text-transform: uppercase;
}

.site-footer a {
	color: rgba(250, 247, 241, 0.85);
	display: block;
	margin-bottom: 16px;
	text-decoration: none;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus,
.site-footer__contact a:hover,
.site-footer__contact a:focus {
	color: var(--nv-blue);
}

.site-footer__messengers {
	display: flex;
	gap: 10px;
}

.site-footer__messengers a {
	align-items: center;
	color: #7360f2;
	display: inline-flex;
	justify-content: center;
	margin: 0;
}

.site-footer__messengers a + a {
	color: #25d366;
}

.site-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(250, 247, 241, 0.1);
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding-top: 34px;
}

.site-footer__bottom span {
	color: rgba(250, 247, 241, 0.5);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.site-footer__bottom strong {
	color: #8f877c;
	font-size: 22px;
	font-style: italic;
}

.site-footer__legal {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px 14px;
}

.site-footer__legal a {
	color: rgba(250, 247, 241, 0.5);
	text-decoration: none;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	color: rgba(250, 247, 241, 0.85);
}

@media screen and (max-width: 1180px) {
	.site-header {
		padding-left: 24px;
		padding-right: 24px;
	}

	.main-navigation a {
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media screen and (max-width: 820px) {
	.site-header {
		align-items: center;
		display: flex;
		min-height: 49px;
		padding: 0 16px;
	}

	.site-logo-text {
		font-size: 22px;
	}

	.main-navigation {
		flex: 0 0 auto;
		margin-left: auto;
		margin-top: 0;
		order: 3;
		width: auto;
	}

	.menu-toggle {
		display: block;
	}

	.main-navigation ul {
		background: var(--nv-cream);
		border-bottom: 1px solid var(--nv-line);
		border-top: 1px solid var(--nv-line);
		display: none;
		left: 0;
		padding: 10px 20px 18px;
		position: absolute;
		right: 0;
		top: 49px;
	}

	.main-navigation.toggled ul {
		display: block;
	}

	.main-navigation a {
		padding: 10px 0;
	}

	.site-actions {
		gap: 10px;
		margin-left: auto;
	}

	.site-login {
		font-size: 0;
	}

	.site-login::before {
		font-size: 28px;
		margin: 0;
	}

	.site-cta {
		display: none;
	}

	.home-container {
		padding: 0 20px;
	}

	.home-hero {
		min-height: 828px;
		padding-top: 80px;
		text-align: left;
	}

	.home-hero .home-eyebrow {
		justify-content: flex-start;
		margin-bottom: 34px;
	}

	.home-hero h1 {
		font-size: 41px;
		line-height: 1.08;
	}

	.home-hero__text {
		font-size: 18px;
		line-height: 1.5;
		margin-top: 36px;
	}

	.home-actions {
		display: grid;
		gap: 10px;
		margin-top: 34px;
	}

	.home-button {
		width: 100%;
	}

	.home-hero__proof {
		display: none;
	}

	.home-hero__art {
		bottom: 80px;
		height: 200px;
	}

	.home-section {
		padding: 78px 0;
	}

	.home-section__intro,
	.home-section__intro--split {
		display: block;
		margin-bottom: 32px;
	}

	.home-section h2 {
		font-size: 34px;
		line-height: 1.05;
	}

	.home-section__intro p:not(.home-eyebrow) {
		font-size: 16px;
		margin-top: 16px;
	}

	.home-step-grid {
		display: block;
	}

	.home-step-card,
	.home-step-card + .home-step-card {
		border-bottom: 1px solid var(--nv-line);
		border-right: 0;
		min-height: 0;
		padding: 28px 0 26px;
	}

	.home-step-card__top {
		margin-bottom: 28px;
	}

	.home-step-card h3,
	.home-package-card h3,
	.home-trust-card h3 {
		font-size: 25px;
	}

	.home-package-grid {
		display: block;
	}

	.home-package-card {
		border-bottom: 1px solid var(--nv-line);
		border-right: 0;
		min-height: 0;
		padding: 28px 20px 88px;
	}

	.home-package-card__subtitle {
		margin-bottom: 24px;
	}

	.home-package-card__price {
		font-size: 34px;
		position: absolute;
		right: 20px;
		top: 28px;
	}

	.home-package-card:not(.home-package-card--dark) .home-package-card__price {
		border-bottom: 0;
		margin: 0;
		padding: 0;
		text-align: right;
	}

	.home-package-card__price .home-package-card__per {
		display: block;
		margin: 5px 0 0;
	}

	.home-package-card ul {
		border-top: 1px solid var(--nv-line);
		margin-top: 32px;
		min-height: 0;
		padding-top: 24px;
	}

	.home-package-card__link {
		background: transparent;
		bottom: 24px;
		left: 20px;
		padding: 0;
		right: 20px;
	}

	.home-package-card--dark .home-package-card__price {
		margin-top: 0;
		top: 28px;
	}

	.home-trust-grid {
		display: block;
	}

	.home-trust-card,
	.home-trust-card + .home-trust-card {
		border-bottom: 1px solid var(--nv-line);
		border-right: 0;
		display: grid;
		gap: 0 22px;
		grid-template-columns: 34px 1fr;
		padding: 24px 0;
	}

	.home-trust-card .home-icon {
		grid-row: span 3;
		margin: 0;
	}

	.home-map__grid {
		display: block;
	}

	.home-map-card {
		margin-left: -20px;
		margin-right: -20px;
		margin-top: 36px;
		min-height: 310px;
	}

	.home-map-placeholder {
		height: 310px;
	}

	.home-testimonial-grid {
		display: flex;
		gap: 16px;
		margin-right: -20px;
		overflow-x: auto;
		padding-bottom: 12px;
	}

	.home-testimonial-card {
		flex: 0 0 248px;
		min-height: 0;
		padding: 26px 24px;
	}

	.home-testimonial-card p {
		font-size: 18px;
	}

	.home-final-cta {
		padding: 72px 0 86px;
	}

	.home-final-cta h2 {
		font-size: 39px;
	}

	.home-final-cta p:not(.home-eyebrow) {
		font-size: 17px;
	}

	.site-footer__inner {
		display: block;
		padding: 54px 20px 28px;
	}

	.site-footer__brand {
		margin-bottom: 42px;
	}

	.site-footer__nav,
	.site-footer__contact {
		border-bottom: 1px solid #4b443c;
		padding: 18px 0;
	}

	.site-footer h2 {
		margin: 0;
		position: relative;
	}

	.site-footer h2::after {
		content: "+";
		position: absolute;
		right: 0;
	}

	.site-footer__nav a,
	.site-footer__contact a,
	.site-footer__messengers {
		margin-top: 16px;
	}

	.site-footer__bottom {
		gap: 14px;
		margin-top: 26px;
	}
}

/*--------------------------------------------------------------
# Export Layout Alignment
--------------------------------------------------------------*/

:root { 
	--nv-ink: #2e2a24;
	--nv-muted: #5a5248;
	--nv-faint: #8a8175;
	--nv-line: #d9d2c4;
	--nv-soft-line: #e6dfd1;
	--nv-cream: #f4f1ea;
	--nv-cream-deep: #efe9dc;
	--nv-paper: #faf7f1;
	--nv-blue: #5d8ab1;
	--nv-dark: #2e2a24;
	--nv-serif: "Fraunces", "EB Garamond", Georgia, serif;
	--nv-sans: "Inter", "Segoe UI", Arial, sans-serif;
	--nv-container: 1200px;
	--nv-icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E");
	--nv-flower: url("/wp-content/uploads/2026/05/fmn-flower.svg");
}

/* Real forget-me-not eyebrow mark (replaces the CSS-dots approximation). */
.home-eyebrow::before {
	background: var(--nv-flower) center / contain no-repeat;
	border-radius: 0;
	content: "";
	height: 15px;
	width: 15px;
}

.site-header {
	backdrop-filter: saturate(140%) blur(8px);
	background: rgba(244, 241, 234, 0.86);
	min-height: 72px;
	padding-left: max(40px, calc((100vw - 1360px) / 2 + 40px));
	padding-right: max(40px, calc((100vw - 1360px) / 2 + 40px));
	position: sticky;
	top: 0;
}

.site-logo-text {
	font-family: var(--nv-serif);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: -0.01em;
}

.site-logo-text > span:last-child::first-letter {
	color: var(--nv-ink);
}

.site-logo-link {
	display: inline-flex;
	align-items: center;
}

/*
 * Header logo — fixed height for BOTH the fallback img and the Customizer
 * custom-logo. Scoped to .site-header and given enough specificity to beat
 * WooCommerce core's element-level `img { height:auto }` (which otherwise
 * enlarges the logo only on account/checkout pages). Keep this consistent
 * across every page.
 */
.site-logo-img,
.site-header .custom-logo {
	display: block;
	height: 32px;
	max-height: 32px;
	max-width: none;
	width: auto;
}

.main-navigation a {
	color: var(--nv-muted);
	font-size: 14px;
	font-weight: 400;
	padding-bottom: 27px;
	padding-top: 27px;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--nv-ink);
}

.site-actions {
	gap: 20px;
}

.site-login {
	align-items: center;
	color: var(--nv-muted);
	display: inline-flex;
	font-size: 14px;
	font-weight: 400;
	gap: 8px;
}

.site-login::before {
	background: currentColor;
	content: "";
	height: 16px;
	-webkit-mask: var(--nv-icon-user) center / contain no-repeat;
	mask: var(--nv-icon-user) center / contain no-repeat;
	width: 16px;
}

/* Vertical divider between "Prijavi se" and the CTA. */
.site-login::after {
	background: var(--nv-line);
	content: "";
	height: 20px;
	margin-left: 12px;
	width: 1px;
}

.site-login:hover,
.site-login:focus {
	color: var(--nv-ink);
}

.site-cta,
.home-button,
.home-package-card__link {
	border-radius: 3px;
	font-weight: 500;
}

.site-cta {
	font-size: 14px;
	min-height: 38px;
	padding-left: 18px;
	padding-right: 18px;
}

.home-hero {
	min-height: 0;
	padding: 80px 0 0;
	text-align: center;
}

.home-hero__content {
	max-width: 920px;
}

.home-hero .home-eyebrow {
	display: inline-flex;
	margin-bottom: 28px;
}

.home-hero .home-eyebrow::before {
	display: none;
}

.home-eyebrow { 
	color: var(--nv-faint);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
}

.home-hero h1 {
	font-size: clamp(44px, 5.6vw, 78px);
	letter-spacing: -0.025em;
	line-height: 1.02;
	margin-bottom: 28px;
}

.home-hero h1 span {
	color: var(--nv-blue);
	font-weight: 300;
}

.home-hero__text {
	color: var(--nv-muted);
	font-size: 19px;
	line-height: 1.55;
	margin-top: 0;
	max-width: 640px;
}

.home-actions {
	gap: 12px;
	margin-top: 40px;
}

.home-button {
	font-size: 15px;
	min-height: 44px;
	padding-left: 22px;
	padding-right: 22px;
}

.home-button--dark {
	background: var(--nv-ink);
	border-color: var(--nv-ink);
	color: var(--nv-paper);
}

.home-button--light {
	background: transparent;
	border-color: var(--nv-line);
}

.home-button:hover,
.home-button:focus {
	background: var(--nv-blue);
	border-color: var(--nv-blue);
	transform: translateY(-1px);
}

.home-hero__proof {
	color: var(--nv-faint);
	font-size: 13px;
	gap: 32px;
	margin-top: 56px;
}

.home-hero__proof li + li::before {
	background: var(--nv-blue);
	border-radius: 50%;
	content: "";
	height: 4px;
	margin-right: 32px;
	width: 4px;
}

.home-hero__proof .home-icon {
	color: var(--nv-faint);
	display: inline-flex;
}

.home-hero__proof .home-icon svg {
	height: 16px;
	width: 16px;
}

.home-hero__media {
	margin-top: 80px;
	position: relative;
}

.home-hero__image {
	background: var(--nv-cream-deep);
	border-bottom: 1px solid var(--nv-line);
	border-top: 1px solid var(--nv-line);
	height: 460px;
	overflow: hidden;
	position: relative;
}

.home-hero__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.home-hero__placeholder {
	align-items: center;
	background:
		repeating-linear-gradient(
			135deg,
			color-mix(in srgb, #b8a890 22%, var(--nv-paper)) 0,
			color-mix(in srgb, #b8a890 22%, var(--nv-paper)) 14px,
			color-mix(in srgb, #b8a890 14%, var(--nv-paper)) 14px,
			color-mix(in srgb, #b8a890 14%, var(--nv-paper)) 28px
		);
	display: flex;
	height: 100%;
	justify-content: center;
}

.home-hero__placeholder span,
.home-hero__caption {
	background: rgba(250, 247, 241, 0.92);
	border: 1px solid var(--nv-line);
	color: var(--nv-muted);
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 11px;
	letter-spacing: 0.04em;
	padding: 8px 14px;
}

.home-hero__caption {
	bottom: 20px;
	left: 40px;
	margin: 0;
	position: absolute;
}

/* Sakura forget-me-not flourish between hero and the first section. */
.home-hero-flourish {
	max-width: 100%;
    padding: 0;
    pointer-events: none;
    position: relative;
    margin: -200px 0;
}

.home-hero-flourish img {
	display: block;
	height: auto;
	margin: 0 auto;
	width: 100%;
}

/* The flourish provides the hero→section transition, so drop the steps top rule. */
.home-steps {
	border-top: 0;
	padding-top: 72px; 
}

.home-section {
	padding: 120px 0;
}

.home-section__intro {
	margin-bottom: 64px;
}

.home-section__intro--split {
	align-items: end;
	gap: 60px;
	grid-template-columns: minmax(0, 620px) minmax(260px, 320px);
	justify-content: space-between;
}

/* Packages uses the wide (1360px) container, so its description gets more room. */
.home-packages .home-section__intro--split {
	gap: 80px;
	grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
}

.home-packages .home-section__intro--split p:not(.home-eyebrow) {
	font-size: 16px;
	max-width: 760px;
}

.home-section h2 {
	font-size: clamp(32px, 3.6vw, 48px);
	letter-spacing: -0.02em;
	line-height: 1.08;
}

.home-section__intro p:not(.home-eyebrow) {
	color: var(--nv-muted);
	font-size: 15px;
	line-height: 1.55;
}

.home-steps {
	background: var(--nv-cream);
}

.home-step-card {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding-bottom: 40px;
	padding-right: 44px;
	padding-top: 48px;
}

.home-step-card + .home-step-card {
	padding-left: 44px;
}

.home-step-card__num {
	align-items: baseline;
	color: var(--nv-faint);
	display: flex;
	font-size: 13px;
	font-weight: 500;
	gap: 8px;
	letter-spacing: 0.1em;
	margin: 0 0 80px;
	text-transform: uppercase;
}

.home-step-card__num span {
	color: var(--nv-blue);
	font-family: var(--nv-serif);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
}

.home-step-card .home-icon {
	color: var(--nv-blue);
	display: flex;
	margin: 22px 0 24px;
}

.home-step-card .home-icon svg {
	height: 28px;
	stroke-width: 1.7;
	width: 28px;
}

.home-step-card h3 {
	font-size: 24px;
	margin-bottom: 14px;
}

.home-step-card p {
	font-size: 15px;
	line-height: 1.6;
	max-width: none;
}

.home-packages,
.home-map {
	background: var(--nv-paper);
}

/* The map text column reuses .home-section__intro for consistent eyebrow/title/copy;
   it's a grid cell here, so drop the intro's bottom margin. */
.home-map .home-section__intro {
	margin-bottom: 0;
}

.home-package-grid {
	background: var(--nv-line);
	border-color: var(--nv-line);
	gap: 1px;
	grid-template-columns: repeat(3, 1fr) 0.85fr;
}

.home-package-card {
	background: var(--nv-paper);
	border: 0;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 40px 32px;
}

.home-package-card:nth-child(2) {
	background: var(--nv-cream);
}

.home-package-card__badge {
	background: var(--nv-blue);
	font-size: 11px;
	font-weight: 500;
	left: 0;
	letter-spacing: 0.1em;
	padding: 6px 12px;
	right: auto;
	top: 0;
	text-transform: uppercase;
}

.home-package-card h3 {
	font-size: 30px;
	font-weight: 400;
	margin-bottom: 4px;
}

.home-package-card__subtitle {
	font-size: 13px;
	margin-bottom: 28px;
}

.home-package-card__price {
	align-items: baseline;
	border-bottom-color: var(--nv-soft-line);
	display: flex;
	font-size: 50px;
	font-style: normal; 
	font-weight: 300;
	gap: 6px;
	margin-bottom: 28px;
	padding-bottom: 28px;
}

.home-package-card ul {
	flex: 1;
	font-size: 14px;
	line-height: 1.45;
	margin-bottom: 32px;
	min-height: 0;
}

.home-package-card li {
	margin-bottom: 0;
	padding-bottom: 8px;
	padding-top: 8px;
}

.home-package-card__link {
	background: transparent;
	border-top: 1px solid var(--nv-soft-line);
	bottom: auto;
	color: var(--nv-ink);
	justify-content: space-between;
	left: auto;
	min-height: 0;
	padding: 10px 0 10px;
	position: static;
	right: auto;
	transition: color 160ms ease;
}

/*
 * Clean text-link hover (overrides the leftover filled-button hover from the
 * earlier block, which dropped a full-width dark fill onto a borderless link).
 */
.home-package-card__link:hover,
.home-package-card__link:focus {
	background: transparent;
	color: var(--nv-blue);
}

.home-package-card__link::after {
	transition: transform 160ms ease;
}

.home-package-card__link:hover::after,
.home-package-card__link:focus::after {
	transform: translateX(3px);
}

.home-package-card--dark {
	background: var(--nv-ink);
	color: var(--nv-paper);
}

.home-package-card--dark .home-package-card__price {
	border-bottom: 0;
	color: var(--nv-paper);
	font-size: 30px;
	margin: 0 0 28px;
	padding-bottom: 0;
}

/* Wider container for the packages section (matches Figma 1360px wrap). */
.home-container--wide {
	max-width: 1360px;
}

/* Stacked CTA buttons inside a package card. */
.home-package-card__ctas {
	display: flex;
	flex-direction: column;
}

.home-package-card__link--alt {
	color: var(--nv-muted);
}

.home-package-card__link--alt:hover,
.home-package-card__link--alt:focus {
	color: var(--nv-ink);
}

/* Dark "Poseban zahtev" card description (replaces the feature list). */
.home-package-card__desc {
	color: #bdb5a9;
	flex: 1;
	font-size: 15px;
	line-height: 1.55;
	margin: 8px 0 28px;
}

.home-package-card--dark .home-package-card__link {
	border-top-color: rgba(255, 255, 255, 0.18);
	color: var(--nv-paper);
}

.home-package-card--dark .home-package-card__link:hover,
.home-package-card--dark .home-package-card__link:focus {
	color: #fff;
}

.home-trust {
	background: var(--nv-cream);
}

.home-trust-card {
	padding-top: 40px;
}

.home-trust-card .home-icon {
	color: var(--nv-blue);
	margin-bottom: 22px;
}

.home-trust-card .home-icon svg {
	height: 36px;
	stroke-width: 1.4;
	width: 36px;
}

.home-trust-card h3 {
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 10px;
}

.home-trust-card p {
	font-size: 14px;
}

.home-map__grid {
	gap: 64px;
	grid-template-columns: 1fr 1.3fr;
}

.home-map__stats {
	border-bottom: 1px solid var(--nv-line);
	border-top: 1px solid var(--nv-line);
	display: flex;
	gap: 40px;
	margin: 32px 0 36px;
	padding: 24px 0;
}

.home-map__stats strong {
	display: block;
	font-family: var(--nv-serif);
	font-size: 36px;
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1;
}

.home-map__stats span {
	color: var(--nv-faint);
	display: block;
	font-size: 12px;
	letter-spacing: 0.1em;
	margin-top: 6px;
	text-transform: uppercase;
}

.home-map-card {
	aspect-ratio: 5 / 4;
	min-height: 0;
}

.home-map-placeholder {
	height: 100%;
}

/* Animated Serbia map (ported from the HTML prototype). */
.home-map-svg {
	display: block;
	height: 100%;
	width: 100%;
}

.home-map-pins .pin {
	color: var(--nv-blue);
}

/* Branded flower pin sits on top; a flattened ground ripple "echoes" out from its base. */
.home-map-pins .pin-mark {
	transform-origin: center bottom;
	animation: nv-pin-bob 3.6s ease-in-out infinite;
}

.home-map-pins .pin-echo {
	animation: nv-pin-echo 2.6s ease-out infinite;
	fill: none;
	stroke: currentColor;
	stroke-width: 1;
} 

@keyframes nv-pin-echo {
	0% { opacity: 0.5; rx: 3; ry: 1.1; }
	100% { opacity: 0; rx: 15; ry: 5.5; }
}

/* Very subtle "breath" so the markers feel alive without being distracting. */
@keyframes nv-pin-bob {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.86; }
}

@media (prefers-reduced-motion: reduce) {
	.home-map-pins .pin-echo,
	.home-map-pins .pin-mark {
		animation: none;
	}
}

.home-map-card__search {
	align-items: center;
	background: var(--nv-paper);
	border: 1px solid var(--nv-line);
	color: var(--nv-faint);
	display: flex;
	font-size: 13px;
	gap: 10px;
	min-width: 220px;
	padding: 10px 14px;
	position: absolute;
	right: 16px;
	top: 16px;
}

.home-map-card__search::before {
	content: "⌕";
	font-size: 16px;
}

.home-testimonials {
	background: var(--nv-cream);
}

.home-testimonial-grid {
	gap: 40px;
}

.home-testimonial-card {
	background: var(--nv-paper);
	display: flex;
	flex-direction: column;
	min-height: 300px;
	padding: 36px 32px;
}

.home-testimonial-card p {
	color: var(--nv-ink);
	flex: 1;
	font-size: 19px;
	font-style: normal;
	font-weight: 300;
	letter-spacing: -0.005em;
}

.home-quote {
	font-size: 64px;
	height: 24px;
	line-height: 0.6;
}

.home-final-cta {
	background: var(--nv-cream-deep);
	overflow: hidden;
	padding-bottom: 160px;
	padding-top: 160px;
	position: relative;
}

.home-final-cta__flowers {
	color: var(--nv-blue);
	inset: 0;
	opacity: 0.07;
	pointer-events: none;
	position: absolute;
}

.home-final-cta__flowers svg {
	display: block;
	height: 100%;
	width: 100%;
}

.home-final-cta .home-container {
	position: relative;
	z-index: 1;
}

.site-footer__inner {
	gap: 48px;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	padding-top: 80px;
}

.site-footer__messengers a {
	color: #7360f2;
	height: 24px;
	width: 24px;
}

.site-footer__messengers a + a { 
	color: #25d366;
}

.site-footer__messengers a svg {
	height: 24px;
	width: 24px;
}

@media screen and (max-width: 820px) {
	.site-header {
		min-height: 56px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.site-actions::before,
	.site-actions::after {
		display: none;
	}

	.home-hero {
		padding-top: 70px;
		text-align: center;
	}

	.home-hero__content {
		padding-left: 24px;
		padding-right: 24px;
	}

	.home-hero .home-eyebrow {
		justify-content: center;
	}

	.home-hero h1 {
		font-size: 44px;
	}

	.home-hero__proof {
		align-items: center;
		display: grid;
		gap: 10px;
		justify-content: center;
	}

	.home-hero__proof li + li::before {
		display: none;
	}

	.home-hero__media {
		margin-top: 56px;
	}

	.home-hero__image {
		height: 300px;
	}

	.home-hero__caption {
		left: 20px;
	}

	.home-section {
		padding-bottom: 80px;
		padding-top: 80px;
	}

	.home-section__intro--split {
		display: block;
	}

	.home-package-card {
		padding-bottom: 34px;
	}

	.home-package-card__price {
		position: static;
		text-align: left;
	}

	.home-map__stats {
		gap: 22px;
		justify-content: space-between;
	}

	.home-map__stats strong {
		font-size: 30px;
	}

	.home-map-card__search {
		display: none;
	}
}

/*--------------------------------------------------------------
# Mobile navigation overlay (hamburger)
--------------------------------------------------------------*/

/* Desktop: the panel is transparent to layout and the bits unique to mobile are hidden.
   Scoped under .main-navigation so it beats `.main-navigation a { display: block }`. */
.main-navigation__panel {
	display: contents;
}

.main-navigation .menu-cta {
	display: none;
}

/* The hamburger must stay transparent / borderless in every state — override the
   generic button + button:hover/:focus styling (which paints an accent fill + border). */
.menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus, 
.menu-toggle:active {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--nv-ink);
}

@media screen and (max-width: 900px) {
	.site-header {
		/* backdrop-filter creates a containing block for fixed descendants, which
		   would trap the fixed overlay inside the header — disable it on mobile. */
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		min-height: 64px;
		padding-left: 20px;
		padding-right: 20px; 
		z-index: 200;
		flex-wrap: nowrap;
	}

	/* Header on mobile: logo left, then the login icon + hamburger on the right. */
	.site-actions {
		align-items: center;
		display: flex;
		margin-left: auto;
		order: 2;
	}

	/* "Pogledaj pakete" lives in the overlay on mobile; only the login icon stays. */
	.site-cta {
		display: none;
	}

	.site-login {
		display: inline-flex;
		font-size: 0;
		padding: 0;
	}

	.site-login::before {
		height: 22px;
		width: 22px;
	}

	.main-navigation {
		flex: 0 0 auto;
		margin-left: 16px;
		order: 3;
		width: auto;
	}

	.menu-toggle {
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: 5px;
		justify-content: center;
		position: relative;
		z-index: 210;
	}

	.menu-toggle span:not(.screen-reader-text) {
		margin: 0;
	}

	/* Full-screen overlay panel. */
	.main-navigation__panel {
		background: var(--nv-cream);
		bottom: 0;
		display: flex;
		flex-direction: column;
		left: 0;
		opacity: 0;
		overflow-y: auto;
		padding: 92px 20px 32px;
		position: fixed;
		right: 0;
		top: 0;
		transform: translateY(-10px);
		transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s;
		visibility: hidden;
		z-index: 100;
	}

	.main-navigation.toggled .main-navigation__panel {
		opacity: 1;
		transform: none;
		visibility: visible;
	}

	.main-navigation__panel ul {
		background: none;
		border: 0;
		counter-reset: navnum;
		display: block;
		inset: auto;
		list-style: none;
		margin: 0;
		padding: 0;
		position: static;
	}

	.main-navigation__panel li {
		border-bottom: 1px solid var(--nv-line);
		counter-increment: navnum;
		margin: 0;
		opacity: 0;
		transform: translateY(12px);
		transition: opacity 0.45s ease, transform 0.45s ease;
	}

	.main-navigation.toggled .main-navigation__panel li {
		opacity: 1;
		transform: none;
	}

	.main-navigation.toggled .main-navigation__panel li:nth-child(1) { transition-delay: 0.08s; }
	.main-navigation.toggled .main-navigation__panel li:nth-child(2) { transition-delay: 0.12s; }
	.main-navigation.toggled .main-navigation__panel li:nth-child(3) { transition-delay: 0.16s; }
	.main-navigation.toggled .main-navigation__panel li:nth-child(4) { transition-delay: 0.20s; }
	.main-navigation.toggled .main-navigation__panel li:nth-child(5) { transition-delay: 0.24s; }
	.main-navigation.toggled .main-navigation__panel li:nth-child(6) { transition-delay: 0.28s; }
	.main-navigation.toggled .main-navigation__panel li:nth-child(7) { transition-delay: 0.32s; }

	.main-navigation__panel li a {
		align-items: center;
		color: var(--nv-ink);
		display: flex;
		font-family: var(--nv-serif);
		font-size: 26px;
		font-weight: 400;
		justify-content: space-between;
		padding: 18px 0;
	} 

	.main-navigation__panel li a::after {
		color: var(--nv-faint);
		content: counter(navnum, decimal-leading-zero);
		font-family: "Courier New", ui-monospace, monospace;
		font-size: 10px;
		letter-spacing: 1px;
	}

	/* Bottom CTA pinned to the foot of the overlay. */
	.main-navigation .menu-cta {
		align-items: center;
		background: var(--nv-dark);
		border-radius: 3px;
		color: var(--nv-paper);
		display: flex;
		font-size: 15px;
		font-weight: 500;
		justify-content: center;
		margin-top: auto;
		min-height: 48px;
		text-decoration: none;
		transition: opacity 0.45s ease 0.36s, transform 0.45s ease 0.36s;
	}

	.main-navigation__panel .menu-cta {
		margin-top: auto;
		opacity: 0;
		transform: translateY(12px);
	}

	.main-navigation.toggled .menu-cta {
		opacity: 1;
		transform: none;
	}

	/* Hamburger → X. Line centres are ~7px apart. */
	.menu-toggle span:not(.screen-reader-text) {
		transform-origin: center;
		transition: transform 0.3s ease, opacity 0.2s ease;
	}

	.main-navigation.toggled .menu-toggle span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.main-navigation.toggled .menu-toggle span:nth-child(2) {
		opacity: 0;
	}

	.main-navigation.toggled .menu-toggle span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}
}

/* Lock background scroll while the overlay is open. */
body.menu-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.main-navigation__panel,
	.main-navigation__panel li,
	.menu-cta,
	.menu-toggle span:not(.screen-reader-text) {
		transition: none;
	}
}

/*--------------------------------------------------------------
# WYSIWYG field output (rich-text ACF fields)
--------------------------------------------------------------*/

/* Step description (now a rich-text <div>, was a <p>). */
.home-step-card__text {
	color: var(--nv-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}
 
/* Package feature list wraps the WYSIWYG <ul>; the existing .home-package-card li
   checkmark styling applies to whatever list the editor creates. */
.home-package-card__list {
	flex: 1;
	margin-bottom: 32px;
}

.home-package-card__list ul {
	flex: initial;
	margin: 0;
	min-height: 0;
}

/* Strip the leading/trailing margins WordPress adds around rich-text blocks. */
.home-hero__text > :first-child,
.home-step-card__text > :first-child,
.home-package-card__desc > :first-child,
.home-package-card__list > :first-child {
	margin-top: 0;
}

.home-hero__text > :last-child,
.home-step-card__text > :last-child,
.home-package-card__desc > :last-child,
.home-package-card__list > :last-child {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# My Account (WooCommerce)
--------------------------------------------------------------*/

.woocommerce-main {
	background: var(--nv-paper);
	/* Fill the viewport so short sections don't leave a gap below the footer. */
	min-height: calc(100vh - 72px);
}

/*
 * Neutralise WooCommerce's default account layout (woocommerce-layout.css):
 * it floats the nav/content and caps them at ~35%/65%, and adds bullet/border
 * styling to the nav list. Scoped under .woocommerce-account to beat its
 * specificity so our CSS grid + branded nav take over.
 */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	border: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border: 0;
	margin: 0;
	padding: 0;
}

.nv-account {
	color: var(--nv-ink);
	font-family: var(--nv-sans);
	margin: 0 auto;
	max-width: var(--nv-container);
	padding: 64px 24px 96px;
}

.nv-account__inner {
	align-items: start;
	display: grid;
	gap: 48px;
	grid-template-columns: 280px 1fr;
}

/* Sidebar ---------------------------------------------------- */

.nv-account__sidebar {
	position: sticky;
	top: 96px;
}

.nv-account__identity {
	align-items: center;
	border-bottom: 1px solid var(--nv-soft-line);
	display: flex;
	gap: 14px;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.nv-account__avatar img {
	border-radius: 50%;
	display: block;
	height: 48px;
	width: 48px;
}

.nv-account__identity-text {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	min-width: 0;
}

.nv-account__hello {
	color: var(--nv-faint);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nv-account__name {
	font-family: var(--nv-serif);
	font-size: 18px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Sidebar navigation as section cards. */
.nv-account__nav ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-account__nav li {
	margin: 0;
}

.nv-account__nav a {
	align-items: center;
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 12px;
	color: var(--nv-ink);
	display: flex;
	gap: 12px;
	padding: 12px 14px;
	text-decoration: none;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.nv-account__nav a:hover,
.nv-account__nav a:focus-visible {
	border-color: var(--nv-blue);
	box-shadow: 0 6px 18px rgba(46, 42, 36, 0.05);
	transform: translateY(-1px);
}

.nv-account__nav-icon-wrap {
	align-items: center;
	background: var(--nv-cream);
	border-radius: 9px;
	color: var(--nv-blue);
	display: flex;
	flex: none;
	height: 38px;
	justify-content: center;
	transition: background-color 0.18s ease, color 0.18s ease;
	width: 38px;
}

.nv-account__nav-icon {
	color: inherit;
	flex: none;
}

.nv-account__nav-label {
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.25;
}

.nv-account__nav-arrow {
	color: var(--nv-faint);
	font-size: 16px;
	margin-left: auto;
	transition: transform 0.18s ease, color 0.18s ease;
}

.nv-account__nav a:hover .nv-account__nav-arrow {
	color: var(--nv-blue);
	transform: translateX(2px);
}

.nv-account__nav .is-active a {
	background: var(--nv-blue);
	border-color: var(--nv-blue);
	color: #fff;
}

.nv-account__nav .is-active .nv-account__nav-icon-wrap {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.nv-account__nav .is-active .nv-account__nav-arrow {
	color: #fff;
}

/* Content ---------------------------------------------------- */

.nv-account__content {
	min-width: 0;
}

.nv-account__eyebrow {
	color: var(--nv-blue);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.nv-account__heading {
	margin-bottom: 24px;
}

.nv-account__title {
	font-family: var(--nv-serif);
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 400;
	line-height: 1.1;
	margin: 0;
}

.nv-account__title span {
	font-style: italic;
}

.nv-account-dashboard__intro {
	color: var(--nv-muted);
	font-size: 16px;
	line-height: 1.6;
	max-width: 60ch;
}

.nv-account-dashboard__intro a {
	color: var(--nv-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Buttons ---------------------------------------------------- */

.nv-btn {
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font-family: var(--nv-sans);
	font-size: 15px;
	font-weight: 500;
	justify-content: center;
	line-height: 1;
	padding: 13px 26px;
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.nv-btn--primary {
	background: var(--nv-blue);
	color: #fff;
}

.nv-btn--primary:hover,
.nv-btn--primary:focus-visible {
	background: #4d769a;
	color: #fff;
}

/* Auth (login / register) ------------------------------------ */

.nv-auth {
	display: grid;
	gap: 32px;
	margin: 0 auto;
}

.nv-auth--split {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 880px;
}

.nv-auth--single {
	max-width: 440px;
}

.nv-auth__card {
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 18px;
	padding: 36px;
}

.nv-auth__heading {
	margin-bottom: 24px;
}

.nv-auth__title {
	font-family: var(--nv-serif);
	font-size: 26px;
	font-weight: 400;
	margin: 0;
}

.nv-auth .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 18px;
}

.nv-auth label {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 7px;
}

.nv-auth .input-text,
.nv-account input[type="text"],
.nv-account input[type="email"],
.nv-account input[type="password"],
.nv-account input[type="tel"] {
	background: var(--nv-paper);
	border: 1px solid var(--nv-line);
	border-radius: 10px;
	color: var(--nv-ink);
	font: inherit;
	padding: 12px 14px;
	width: 100%;
}

.nv-auth .input-text:focus,
.nv-account input:focus {
	border-color: var(--nv-blue);
	outline: none;
}

.nv-auth .woocommerce-form-login__rememberme {
	align-items: center;
	display: flex;
	flex-direction: row;
	font-size: 14px;
	gap: 8px;
	margin-bottom: 18px;
}

.nv-auth__card .nv-btn {
	width: 100%;
}

.nv-auth .woocommerce-LostPassword {
	font-size: 14px;
	margin: 16px 0 0;
}

.nv-auth .woocommerce-LostPassword a {
	color: var(--nv-blue);
}

/* WooCommerce tables / notices inside the account ------------ */

.nv-account .woocommerce-MyAccount-content table.shop_table {
	border: 1px solid var(--nv-soft-line);
	border-collapse: collapse;
	border-radius: 12px;
	overflow: hidden;
	width: 100%;
}

.nv-account .shop_table th,
.nv-account .shop_table td {
	padding: 14px 16px;
	text-align: left;
}

.nv-account .shop_table thead th {
	background: var(--nv-cream);
	font-size: 13px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.nv-account .shop_table tbody tr + tr td {
	border-top: 1px solid var(--nv-soft-line);
}

.nv-account .shop_table tbody tr:hover td {
	background: color-mix(in srgb, var(--nv-cream) 55%, transparent);
}

.nv-account .shop_table .woocommerce-orders-table__cell-order-actions {
	text-align: right;
}

/* Brand the WooCommerce buttons inside the account zone (orders/addresses). */
.nv-account .woocommerce-button,
.nv-account .woocommerce-MyAccount-content .button {
	background: var(--nv-ink);
	border: 1px solid var(--nv-ink);
	border-radius: 3px;
	color: var(--nv-paper);
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	padding: 9px 16px;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease;
}

.nv-account .woocommerce-button + .woocommerce-button {
	margin-left: 8px;
}

.nv-account .woocommerce-button:hover,
.nv-account .woocommerce-button:focus,
.nv-account .woocommerce-MyAccount-content .button:hover,
.nv-account .woocommerce-MyAccount-content .button:focus {
	background: var(--nv-blue);
	border-color: var(--nv-blue);
	color: var(--nv-paper);
}

.nv-account .woocommerce-button.pay {
	background: var(--nv-blue);
	border-color: var(--nv-blue);
}

@media (prefers-reduced-motion: reduce) {
	.nv-account .woocommerce-button {
		transition: none;
	}
}

/* Responsive ------------------------------------------------- */

@media (max-width: 860px) {
	.nv-account__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.nv-account__sidebar {
		position: static;
	}

	.nv-auth--split {
		grid-template-columns: 1fr;
	}
}

/*--------------------------------------------------------------
# My Account — Dashboard + sections
--------------------------------------------------------------*/

.nv-dash__lede {
	color: var(--nv-muted);
	font-size: 16px;
	line-height: 1.6;
	margin: 12px 0 0;
	max-width: 56ch;
}

/* Alert strip (open RFQ awaiting action) --------------------- */

.nv-dash__alert {
	align-items: center;
	background: #fff;
	border: 1px solid var(--nv-blue);
	border-radius: 14px;
	color: var(--nv-ink);
	display: flex;
	font-size: 15px;
	gap: 14px;
	margin: 28px 0 0;
	padding: 16px 20px;
	text-decoration: none;
}

.nv-dash__alert strong {
	display: block;
}

.nv-dash__alert-dot {
	background: var(--nv-blue);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(93, 138, 177, 0.18);
	flex: none;
	height: 10px;
	width: 10px;
}

/* At-a-glance cards ------------------------------------------ */

.nv-dash__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 28px 0 0;
}

.nv-dash-card {
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 16px;
	color: var(--nv-ink);
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 132px;
	padding: 20px;
	text-decoration: none;
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.nv-dash-card:hover {
	border-color: var(--nv-blue);
	box-shadow: 0 8px 24px rgba(46, 42, 36, 0.06);
	transform: translateY(-2px);
}

.nv-dash-card__label {
	color: var(--nv-faint);
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.nv-dash-card__value {
	font-family: var(--nv-serif);
	font-size: 38px;
	line-height: 1;
	margin-top: auto;
}

.nv-dash-card__value--sm {
	font-size: 24px;
}

.nv-dash-card__value--empty {
	color: var(--nv-line);
}

.nv-dash-card__meta {
	align-items: center;
	color: var(--nv-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	gap: 8px;
	margin-top: auto;
}

.nv-dash-card__thumb img {
	border-radius: 10px;
	display: block;
	height: 56px;
	object-fit: cover;
	width: 56px;
}

/* Status badge ----------------------------------------------- */

.nv-badge {
	background: var(--nv-cream);
	border-radius: 999px;
	color: var(--nv-muted);
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	white-space: nowrap;
}

.nv-badge--completed,
.nv-badge--processing {
	background: #e9f1ea;
	color: #356b3c;
}

.nv-badge--ponuda-poslata,
.nv-badge--pending,
.nv-badge--on-hold {
	background: #e9f0f5;
	color: #2f5a78;
}

.nv-badge--cancelled,
.nv-badge--failed,
.nv-badge--refunded {
	background: #fbeae6;
	color: #8c3a26;
}

/* Section placeholder / empty state -------------------------- */

.nv-section__empty {
	background: #fff;
	border: 1px dashed var(--nv-line);
	border-radius: 16px;
	color: var(--nv-muted);
	font-size: 15px;
	line-height: 1.6;
	margin-top: 8px;
	padding: 40px 28px;
	text-align: center;
}

@media (max-width: 1080px) {
	.nv-dash__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.nv-dash__grid {
		grid-template-columns: 1fr;
	}
}

/* Section head (title + action) + button variants ------------ */

.nv-section__head {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 28px;
}

.nv-btn--ghost {
	background: #fff;
	border-color: var(--nv-line);
	color: var(--nv-ink);
}

.nv-btn--ghost:hover,
.nv-btn--ghost:focus-visible {
	border-color: var(--nv-blue);
	color: var(--nv-blue);
}

.nv-btn--sm {
	font-size: 14px;
	padding: 9px 16px;
}

.nv-btn--danger:hover,
.nv-btn--danger:focus-visible {
	border-color: #c0563f;
	color: #c0563f;
}

/*--------------------------------------------------------------
# Moja večna počivališta
--------------------------------------------------------------*/

.nv-poc-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nv-poc-card {
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.nv-poc-card:hover {
	border-color: var(--nv-blue);
	box-shadow: 0 8px 24px rgba(46, 42, 36, 0.06);
}

.nv-poc-card__thumb {
	aspect-ratio: 16 / 10;
	background: var(--nv-cream);
	overflow: hidden;
	position: relative;
}

.nv-poc-card__thumb img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nv-poc-card__thumb-fallback {
	align-items: center;
	color: var(--nv-faint);
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.nv-poc-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 4px;
	padding: 18px 20px 20px;
}

.nv-poc-card__title {
	font-family: var(--nv-serif);
	font-size: 19px;
	font-weight: 400;
	margin: 0;
}

.nv-poc-card__pokojnik {
	color: var(--nv-muted);
	font-size: 14px;
	margin: 0;
}

.nv-poc-card__place {
	color: var(--nv-faint);
	font-size: 13px;
	margin: 0;
}

.nv-poc-card__actions {
	display: flex;
	gap: 8px;
	margin-top: 16px;
}

.nv-poc-card__delete {
	margin: 0;
}

/* Form ------------------------------------------------------- */

.nv-poc-form__grid {
	display: grid;
	gap: 0 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nv-poc-form .nv-form__hint {
	margin: 6px 0 0;
}

.nv-form__optional {
	color: var(--nv-faint);
	font-weight: 400;
}

.nv-poc-map {
	margin-top: 8px;
}

.nv-poc-map__label {
	font-size: 14px;
	font-weight: 500;
	margin: 0 0 8px;
}

.nv-poc-map__canvas {
	background: var(--nv-cream);
	border: 1px solid var(--nv-line);
	border-radius: 14px;
	min-height: 280px;
	overflow: hidden;
	position: relative;
}

.nv-poc-map__canvas.is-live {
	border-color: var(--nv-soft-line);
}

.nv-poc-map__fallback {
	align-items: center;
	color: var(--nv-muted);
	display: flex;
	font-size: 14px;
	height: 100%;
	justify-content: center;
	line-height: 1.6;
	min-height: 280px;
	padding: 28px;
	text-align: center;
}

.nv-poc-map__fallback p {
	margin: 0;
	max-width: 42ch;
}

.nv-poc-map__coords {
	display: grid;
	gap: 0 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 18px;
}

.nv-poc-form__submit {
	margin-top: 24px;
}

@media (max-width: 860px) {
	.nv-poc-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nv-poc-form__grid,
	.nv-poc-map__coords {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.nv-poc-grid {
		grid-template-columns: 1fr;
	}
}

/*--------------------------------------------------------------
# Account — shared card + RFQ statuses
--------------------------------------------------------------*/

.nv-card {
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 16px;
	margin: 0 0 18px;
	padding: 24px 26px;
}

.nv-badge--ceka-ponudu {
	background: var(--nv-cream);
	color: var(--nv-muted);
}

/* Order detail extras --------------------------------------- */

.nv-order-extra {
	border-top: 1px solid var(--nv-soft-line);
	margin-top: 24px;
	padding-top: 18px;
}

.nv-order-extra__row {
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin: 0 0 6px;
}

.nv-order-extra__label {
	color: var(--nv-faint);
}

/*--------------------------------------------------------------
# Moji upiti (RFQ)
--------------------------------------------------------------*/

.nv-upit-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nv-upit-row {
	align-items: center;
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	padding: 18px 22px;
}

.nv-upit-row.is-actionable {
	border-color: var(--nv-blue);
}

.nv-upit-row__top {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 6px;
}

.nv-upit-row__id {
	font-weight: 600;
}

.nv-upit-row__date {
	color: var(--nv-faint);
	font-size: 13px;
}

.nv-upit-row__place {
	color: var(--nv-muted);
	font-size: 14px;
	margin: 0 0 2px;
}

.nv-upit-row__main {
	flex: 1 1 320px;
	min-width: 0;
}

.nv-upit-row__desc {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	color: var(--nv-muted);
	display: -webkit-box;
	font-size: 14px;
	line-height: 1.5;
	margin: 4px 0 0;
	max-width: 64ch;
	overflow: hidden;
	white-space: pre-line;
}

.nv-upit-row__action {
	flex: none;
}

/* Upit detail ------------------------------------------------ */

.nv-upit-detail__row {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin: 0 0 10px;
}

.nv-upit-detail__row:last-child {
	margin-bottom: 0;
}

.nv-upit-detail__label {
	color: var(--nv-faint);
}

.nv-upit-detail__heading {
	font-family: var(--nv-serif);
	font-size: 20px;
	font-weight: 400;
	margin: 0 0 12px;
}

.nv-upit-detail__quote {
	border: 1px solid var(--nv-blue);
}

.nv-upit-detail__amount {
	align-items: baseline;
	border-top: 1px solid var(--nv-soft-line);
	display: flex;
	justify-content: space-between;
	margin: 18px 0 0;
	padding-top: 18px;
}

.nv-upit-detail__amount-value {
	font-family: var(--nv-serif);
	font-size: 28px;
}

.nv-upit-detail__cta {
	margin-top: 20px;
}

.nv-upit-detail__cta-note {
	color: var(--nv-faint);
	font-size: 13px;
	margin: 10px 0 0;
}

/*--------------------------------------------------------------
# Foto izveštaji
--------------------------------------------------------------*/

.nv-foto-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nv-foto-card {
	background: #fff;
	border: 1px solid var(--nv-soft-line);
	border-radius: 16px;
	color: var(--nv-ink);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.nv-foto-card:hover {
	border-color: var(--nv-blue);
	box-shadow: 0 8px 24px rgba(46, 42, 36, 0.06);
}

.nv-foto-card__cover {
	aspect-ratio: 4 / 3;
	background: var(--nv-cream);
	display: block;
	overflow: hidden;
	position: relative;
}

.nv-foto-card__cover img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.nv-foto-card__cover-fallback {
	align-items: center;
	color: var(--nv-faint);
	display: flex;
	height: 100%;
	justify-content: center;
}

.nv-foto-card__count {
	background: rgba(46, 42, 36, 0.72);
	border-radius: 999px;
	bottom: 10px;
	color: #fff;
	font-size: 12px;
	padding: 3px 10px;
	position: absolute;
	right: 10px;
}

.nv-foto-card__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 16px 18px 18px;
}

.nv-foto-card__date {
	color: var(--nv-blue);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.nv-foto-card__title {
	font-family: var(--nv-serif);
	font-size: 18px;
}

.nv-foto-card__place {
	color: var(--nv-faint);
	font-size: 13px;
}

/* Foto detail ------------------------------------------------ */

.nv-foto-detail__meta {
	color: var(--nv-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 20px;
}

.nv-foto-detail__meta-item {
	font-size: 14px;
}

a.nv-foto-detail__meta-item {
	color: var(--nv-blue);
}

.nv-foto-detail__note-title {
	font-family: var(--nv-serif);
	font-size: 18px;
	font-weight: 400;
	margin: 0 0 8px;
}

.nv-foto-gallery {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nv-foto-gallery__item {
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	overflow: hidden;
}

.nv-foto-gallery__item img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
	width: 100%;
}

.nv-foto-gallery__item:hover img {
	transform: scale(1.04);
}

/* Lightbox --------------------------------------------------- */

.nv-lightbox {
	align-items: center;
	background: rgba(28, 25, 21, 0.92);
	display: none;
	inset: 0;
	justify-content: center;
	padding: 32px;
	position: fixed;
	z-index: 9999;
}

.nv-lightbox.is-open {
	display: flex;
}

.nv-lightbox__img {
	border-radius: 8px;
	max-height: 88vh;
	max-width: 88vw;
	object-fit: contain;
}

body.nv-lightbox-lock {
	overflow: hidden;
}

.nv-lightbox__close,
.nv-lightbox__nav {
	background: rgba(255, 255, 255, 0.12);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	font-size: 26px;
	height: 48px;
	line-height: 1;
	width: 48px;
}

.nv-lightbox__close {
	position: absolute;
	right: 22px;
	top: 22px;
}

.nv-lightbox__nav {
	font-size: 34px;
	margin: 0 10px;
}

.nv-lightbox__close:hover,
.nv-lightbox__nav:hover {
	background: rgba(255, 255, 255, 0.24);
}

@media (max-width: 860px) {
	.nv-foto-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.nv-foto-grid,
	.nv-foto-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nv-upit-row {
		flex-direction: column;
		align-items: flex-start;
	}

	.nv-lightbox__nav {
		margin: 0 4px;
	}
}

/*--------------------------------------------------------------
# Fakture + Podešavanja
--------------------------------------------------------------*/

.nv-table {
	border: 1px solid var(--nv-soft-line);
	border-collapse: collapse;
	border-radius: 14px;
	overflow: hidden;
	width: 100%;
}

.nv-table th,
.nv-table td {
	padding: 14px 18px;
	text-align: left;
	vertical-align: middle;
}

.nv-table thead th {
	background: var(--nv-cream);
	color: var(--nv-muted);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nv-table tbody tr + tr td {
	border-top: 1px solid var(--nv-soft-line);
}

.nv-table__action {
	text-align: right;
}

.nv-table__muted {
	color: var(--nv-faint);
	font-size: 14px;
}

/* Podešavanja: native WC forms inside our cards ------------- */

.nv-podesavanja__heading {
	font-family: var(--nv-serif);
	font-size: 21px;
	font-weight: 400;
	margin: 0 0 18px;
}

.nv-podesavanja__currency-note {
	background: var(--nv-cream);
	border-radius: 10px;
	color: var(--nv-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 22px;
	padding: 12px 16px;
}

.nv-podesavanja .woocommerce-form-row,
.nv-podesavanja .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 18px;
}

.nv-podesavanja label {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 7px;
}

.nv-podesavanja select,
.nv-podesavanja .select2-container {
	max-width: 100%;
}

.nv-podesavanja select {
	background: var(--nv-paper);
	border: 1px solid var(--nv-line);
	border-radius: 10px;
	color: var(--nv-ink);
	font: inherit;
	padding: 11px 14px;
}

.nv-podesavanja fieldset {
	border: 1px solid var(--nv-soft-line);
	border-radius: 12px;
	margin: 24px 0 0;
	padding: 18px 20px;
}

.nv-podesavanja fieldset legend {
	color: var(--nv-faint);
	font-size: 13px;
	font-weight: 600;
	padding: 0 6px;
	text-transform: uppercase;
}

.nv-podesavanja .woocommerce-Button,
.nv-podesavanja button[type="submit"] {
	background: var(--nv-blue);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-family: var(--nv-sans);
	font-size: 15px;
	font-weight: 500;
	margin-top: 8px;
	padding: 13px 26px;
}

.nv-podesavanja .woocommerce-Button:hover,
.nv-podesavanja button[type="submit"]:hover {
	background: #4d769a;
}

@media (max-width: 600px) {
	.nv-table thead {
		display: none;
	}

	.nv-table tr {
		display: block;
		border-bottom: 1px solid var(--nv-soft-line);
		padding: 8px 0;
	}

	.nv-table td {
		display: flex;
		justify-content: space-between;
		gap: 16px;
		padding: 8px 18px;
		border: 0;
	}

	.nv-table td::before {
		color: var(--nv-faint);
		content: attr(data-label);
		font-size: 13px;
	}

	.nv-table__action {
		text-align: left;
	}
}

/* Account list pager ----------------------------------------- */

.nv-pager {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 32px;
}

.nv-pager__link {
	border: 1px solid var(--nv-soft-line);
	border-radius: 8px;
	color: var(--nv-muted);
	font-size: 14px;
	line-height: 1;
	min-width: 38px;
	padding: 9px 12px;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.nv-pager__link:hover {
	border-color: var(--nv-blue);
	color: var(--nv-blue);
}

.nv-pager__link.is-current {
	background: var(--nv-blue);
	border-color: var(--nv-blue);
	color: #fff;
}

.nv-pager__link--prev,
.nv-pager__link--next {
	color: var(--nv-ink);
}

/*--------------------------------------------------------------
# Authentication pages (Prijava / Registracija / Reset)
--------------------------------------------------------------*/

.nv-auth-page {
	align-items: center;
	background: var(--nv-cream);
	color: var(--nv-ink);
	display: flex;
	flex-direction: column;
	font-family: var(--nv-sans); 
	justify-content: center;
	min-height: calc(100vh - 72px);
	padding: 56px 24px 80px;
}

.nv-auth-page .nv-auth {
	width: 100%;
}

.nv-auth__heading {
	margin-bottom: 24px;
	text-align: center;
}

.nv-auth__heading .nv-auth__title {
	font-family: var(--nv-serif);
	font-size: 30px;
	font-weight: 400;
	margin: 0;
}

/* Form fields ------------------------------------------------ */

.nv-form .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 18px;
}

.nv-form label {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 7px;
}

.nv-form .required {
	color: var(--nv-blue);
}

.nv-form .input-text {
	background: var(--nv-paper);
	border: 1px solid var(--nv-line);
	border-radius: 10px;
	color: var(--nv-ink);
	font: inherit;
	padding: 12px 14px;
	width: 100%;
}

.nv-form .input-text:focus {
	border-color: var(--nv-blue);
	box-shadow: 0 0 0 3px rgba(93, 138, 177, 0.15);
	outline: none;
}

.nv-form__hint {
	color: var(--nv-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 20px;
}

.nv-form__row-between {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.nv-checkbox {
	align-items: flex-start;
	display: flex;
	font-size: 14px;
	gap: 9px;
	line-height: 1.45;
}

.nv-checkbox input {
	flex: none;
	margin-top: 2px;
}

.nv-form__consent {
	margin-bottom: 22px;
}

.nv-form__consent a {
	color: var(--nv-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.nv-btn--block {
	width: 100%;
}

.nv-auth__link {
	color: var(--nv-blue);
	font-size: 14px;
	text-decoration: none;
}

.nv-auth__link:hover {
	text-decoration: underline;
}

.nv-auth__alt {
	color: var(--nv-muted);
	font-size: 14px;
	margin: 20px 0 0;
	text-align: center;
}

.nv-auth__signedin {
	font-size: 16px;
	text-align: center;
}

/* Password strength meter ------------------------------------ */

.nv-pw-meter {
	align-items: center;
	display: flex;
	gap: 10px;
	margin-top: 9px;
}

.nv-pw-meter__bar {
	background: var(--nv-cream-deep);
	border-radius: 999px;
	flex: 1;
	height: 6px;
	overflow: hidden;
}

.nv-pw-meter__bar i {
	background: var(--nv-faint);
	display: block;
	height: 100%;
	transition: width 0.25s ease, background-color 0.25s ease;
	width: 0;
}

.nv-pw-meter[data-score="0"] .nv-pw-meter__bar i,
.nv-pw-meter[data-score="1"] .nv-pw-meter__bar i {
	background: #c0563f;
}

.nv-pw-meter[data-score="2"] .nv-pw-meter__bar i {
	background: #c89a3c;
}

.nv-pw-meter[data-score="3"] .nv-pw-meter__bar i,
.nv-pw-meter[data-score="4"] .nv-pw-meter__bar i {
	background: #5a8a5e;
}

.nv-pw-meter__label {
	color: var(--nv-faint);
	font-size: 12px;
	min-width: 64px;
}

/* Show / hide password toggle -------------------------------- */

.nv-pw-wrap {
	display: block;
	position: relative;
}

.nv-pw-wrap .input-text {
	padding-right: 84px;
	width: 100%;
}

.nv-pw-toggle { 
	background: none;
	border: 0;
	color: var(--nv-blue);
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	padding: 6px 8px;
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
}

.nv-pw-toggle:hover {
	text-decoration: underline;
}

/* WooCommerce notices on auth + account pages ---------------- */

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	border-radius: 12px;
	font-size: 14px;
	line-height: 1.55;
	list-style: none;
	margin: 0 auto 22px;
	max-width: 440px;
	padding: 14px 18px;
}
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
	position: relative;
	top: unset;
	left: unset;
}
.woocommerce-error {
	background: #fbeae6;
	border: 1px solid #e7c3b8;
	color: #8c3a26;
}

.woocommerce-message {
	background: #e9f1ea;
	border: 1px solid #bcd6c0;
	color: #356b3c;
}

.woocommerce-info {
	background: #e9f0f5;
	border: 1px solid #bcd2e2;
	color: #2f5a78;
}

.woocommerce-error li,
.woocommerce-message,
.woocommerce-info {
	margin-left: 0;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
}

.nv-auth--split .woocommerce-error,
.nv-auth--split .woocommerce-message,
.nv-auth--split .woocommerce-info {
	max-width: 880px;
}

@media (max-width: 520px) {
	.nv-auth__card {
		padding: 28px 22px;
	}
}

/*--------------------------------------------------------------
# Homepage "Tri koraka" — match the O nama "U šta verujemo" scale
--------------------------------------------------------------*/

.home-steps {
	padding: 76px 0;
}

.home-steps .home-section__intro {
	gap: 40px;
	margin-bottom: 40px;
}

.home-steps h2 {
	font-size: clamp(1.7rem, 1.2rem + 1.7vw, 2.4rem);
	font-weight: 400;
	line-height: 1.12;
}

.home-steps .home-step-card {
	min-height: 0;
	padding-top: 44px;
	padding-bottom: 44px;
}

@media (max-width: 980px) {
	.home-steps {
		padding: 60px 0;
	}
}
