/* ==========================================================================
   Aqua Park Jugovo — main.css
   Class reference (use these in templates):
   Layout:   .container .section .section--alt .grid .grid--2 .grid--3 .grid--4
   Buttons:  .btn .btn--primary .btn--ghost .btn--lg
   Header:   .site-header .site-nav .nav__list .nav-toggle .header-cart .header-reserve
   Hero:     .home-hero .home-hero__inner / .page-hero .page-hero__title .page-hero__sub
   Blocks:   .feature .feature__icon .feature__title  .card  .lead  .eyebrow
   Pricing:  .pricelist .pricelist__row .pricelist__name .pricelist__price .price-note
   Rules:    .rules .rules__group .rules__group-title .rules__list
   Contact:  .contact-grid .contact-info .contact-list .contact-form .map-embed
   Payment:  .pay-section .pay-cards .pay-card
   Misc:     .testimonials .testimonial .cta-band .entry-content .reserve-fab
   ========================================================================== */

:root {
	--aqua: #0170B9;
	--aqua-dark: #015a92;
	--aqua-2: #3a9bd9;
	--navy: #0A326F;
	--ink: #16323d;
	--muted: #5c7785;
	--bg: #ffffff;
	--soft: #eef7fb;
	--soft-2: #f6fbfd;
	--border: #dde9ef;
	--radius: 16px;
	--shadow: 0 10px 30px rgba(4, 90, 122, .12);
	--maxw: 1180px;
	--font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-head: 'Titillium Web', 'Poppins', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--font);
	color: var(--ink);
	background: var(--bg);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--aqua-dark); text-decoration: none; }
a:hover { color: var(--aqua); }
h1, h2, h3, h4 { font-family: var(--font-head); line-height: 1.15; margin: 0 0 .5em; font-weight: 700; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 1rem; }
.screen-reader-text { position: absolute; left: -9999px; }
.skip-link:focus { position: fixed; left: 12px; top: 12px; background: #fff; padding: 8px 14px; z-index: 1000; }

.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
.section { padding: 64px 0; }
.section--alt { background: var(--soft); }
.eyebrow { color: var(--aqua); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; margin-bottom: .4rem; }
.lead { font-size: 1.15rem; color: var(--muted); max-width: 720px; }
.section > .container > h2 { text-align: center; }
.section--head { text-align: center; max-width: 760px; margin: 0 auto 40px; }

.grid { display: grid; gap: 24px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Buttons */
.btn {
	display: inline-flex; align-items: center; gap: 8px;
	border: 0; border-radius: 999px; cursor: pointer;
	font: inherit; font-weight: 600; font-size: .98rem;
	padding: 12px 24px; transition: all .18s ease; text-align: center;
}
.btn--primary { background: var(--aqua); color: #fff; box-shadow: 0 8px 20px rgba(4, 150, 199, .35); }
.btn--primary:hover { background: var(--aqua-dark); color: #fff; transform: translateY(-2px); }
.btn--ghost { background: rgba(255,255,255,.15); color: #fff; border: 1.5px solid rgba(255,255,255,.6); }
.btn--ghost:hover { background: #fff; color: var(--aqua-dark); }
.btn--lg { padding: 15px 32px; font-size: 1.05rem; }

/* Header */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.92); backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--border);
}
.site-header__inner { display: flex; align-items: center; gap: 20px; min-height: 76px; }
.site-header { overflow: visible; }
.site-header__logo { background: #fff; border-radius: 16px; padding: 12px 20px; position: relative; z-index: 3; margin: 5px 0 -42px; line-height: 0; }
.site-logo img, .site-header__logo img { height: 82px; width: auto; }
.site-nav { margin-left: auto; }
.nav__list { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.nav__list a { color: var(--ink); font-weight: 600; font-size: .95rem; padding: 8px 12px; border-radius: 8px; display: block; }
.nav__list a:hover, .nav__list .is-active > a, .nav__list .current-menu-item > a { color: var(--aqua); background: var(--soft); }
.site-header__actions { display: flex; align-items: center; gap: 20px; }
.header-cart { position: relative; color: var(--ink); display: inline-flex; margin-right: 8px; }
.header-cart:hover { color: var(--aqua); }
.header-cart__count {
	position: absolute; top: -8px; right: -10px; background: var(--aqua);
	color: #fff; font-size: .68rem; font-weight: 700; min-width: 18px; height: 18px;
	border-radius: 999px; display: grid; place-items: center; padding: 0 4px;
}
.nav-toggle { display: none; flex-direction: column; gap: 5px; background: 0; border: 0; cursor: pointer; padding: 6px; }
.nav-toggle span { width: 26px; height: 3px; background: var(--ink); border-radius: 3px; transition: .2s; }

/* Home hero */
.home-hero {
	position: relative; color: #fff; text-align: center;
	/* Bez foto-pozadine: video/poster prekriva ceo hero, pa bi hero.jpg (280KB)
	   bio nevidljiv trošak. Gradient + navy su fallback ispod postera. */
	background: linear-gradient(180deg, rgba(6,26,51,.52) 0%, rgba(6,26,51,.30) 42%, rgba(4,17,35,.82) 100%), var(--navy);
	min-height: 90vh; display: flex; align-items: center;
	padding: 120px 0;
}
.home-hero__inner { max-width: 820px; margin: 0 auto; }
.home-hero h1 { font-size: clamp(2.8rem, 7vw, 5.2rem); font-weight: 300; letter-spacing: .01em; margin-bottom: .35em; }
.home-hero p { font-size: 1.25rem; opacity: .96; margin-bottom: 1.8rem; }
.home-hero__cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.home-hero .eyebrow { color: #d4f0fb; }
.home-hero .lead, .home-hero p { color: #fff; opacity: .96; max-width: 720px; margin-left: auto; margin-right: auto; }
.page-hero .eyebrow, .page-hero .lead { color: #eaf8ff; }

/* Page hero (inner) */
.page-hero {
	color: #fff; text-align: center; padding: 72px 0 64px;
	min-height: 30vh; display: flex; align-items: center;
	background: linear-gradient(360deg, #0a326fc9 43%, rgba(10, 50, 111, .51) 100%), url('../img/hero-inner.jpg') center/cover no-repeat, var(--navy);
}
.page-hero__title { color: #fff; font-size: clamp(2.4rem, 8vw, 90px); font-weight: 300; text-transform: uppercase; letter-spacing: .01em; margin: 0; }
.page-hero__sub { margin: .6rem auto 0; max-width: 700px; opacity: .95; font-size: 1.05rem; }

/* Feature / cards */
.feature, .card {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
	padding: 28px; box-shadow: var(--shadow); height: 100%;
}
.feature__icon {
	width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center;
	background: var(--soft); color: var(--aqua); margin-bottom: 16px; font-size: 26px;
}
.feature__title { font-size: 1.15rem; margin-bottom: .4rem; }
.feature p { color: var(--muted); margin: 0; }
.feature--stat .feature__num { font-size: 2.4rem; font-weight: 800; color: var(--aqua); line-height: 1; }

/* Pricing */
.pricelist { max-width: 760px; margin: 0 auto; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.pricelist__head { display: grid; grid-template-columns: 2fr 1fr 1fr; background: var(--aqua); color: #fff; font-weight: 700; }
.pricelist__head > div, .pricelist__row > div { padding: 16px 18px; }
.pricelist__row { display: grid; grid-template-columns: 2fr 1fr 1fr; border-top: 1px solid var(--border); align-items: center; }
.pricelist__row:nth-child(even) { background: var(--soft-2); }
.pricelist__name { font-weight: 600; }
.pricelist__price { font-weight: 700; color: var(--aqua-dark); text-align: right; }
.price-note { text-align: center; color: var(--muted); margin-top: 16px; font-size: .92rem; }

/* Rules (pravilnik) */
.rules { max-width: 900px; margin: 0 auto; }
.rules__group { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 16px; overflow: hidden; }
.rules__group-title { background: var(--soft); color: var(--ink); margin: 0; padding: 16px 22px; font-size: 1.1rem; }
.rules__list { margin: 0; padding: 18px 22px 18px 40px; }
.rules__list li { margin-bottom: 10px; color: #2c4a57; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.contact-info { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); }
.contact-list { list-style: none; margin: 0; padding: 0; }
.contact-list li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.contact-list li strong { color: var(--aqua-dark); min-width: 90px; }
.contact-form input, .contact-form textarea { width: 100%; padding: 13px 15px; border: 1px solid var(--border); border-radius: 10px; font: inherit; margin-bottom: 14px; }
.map-embed { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); min-height: 320px; }
.map-embed iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }

/* Payment */
.pay-section .feature { margin-bottom: 16px; }
.pay-cards { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: center; }
.pay-card { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px 16px; box-shadow: var(--shadow); }
.pay-card img { height: 34px; }

/* Testimonials — beskonačni marquee carousel (traka se pomera za 50%, sadržaj dupliran) */
.testimonials {
	overflow: hidden;
	width: 100%;
	padding: 6px 0 10px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.testimonials__track {
	display: flex;
	gap: 24px;
	width: max-content;
	animation: testiScroll 55s linear infinite;
	will-change: transform;
}
.testimonials:hover .testimonials__track { animation-play-state: paused; }
@keyframes testiScroll { to { transform: translateX(calc(-50% - 12px)); } }
.testimonial { flex: 0 0 auto; width: 430px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 26px 30px; box-shadow: var(--shadow); }
@media (prefers-reduced-motion: reduce) {
	.testimonials__track { animation: none; flex-wrap: wrap; width: auto; }
	.testimonials { mask-image: none; -webkit-mask-image: none; }
}
.testimonial__name { font-weight: 700; color: var(--aqua-dark); margin-top: 12px; }

/* CTA band */
.cta-band { background: linear-gradient(135deg, var(--aqua), var(--aqua-2)); color: #fff; text-align: center; padding: 56px 0; }
.cta-band h2 { color: #fff; }
.cta-band p { opacity: .95; }

/* Entry content (generic pages, terms) */
.entry-content { max-width: 900px; margin: 0 auto; }
.entry-content h2, .entry-content h3 { margin-top: 1.6em; }
.entry-content ul, .entry-content ol { padding-left: 22px; }
.entry-content--woo { max-width: 100%; }

/* Footer */
.site-footer {
	position: relative;
	color: #eaf3f8;
	margin-top: 0;
	background:
		linear-gradient(rgba(10, 50, 111, .86), rgba(7, 28, 48, .92)),
		url('../img/footer-water.jpg') center / cover no-repeat;
	background-color: #0a326f;
}
.site-footer__inner {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 56px 22px 44px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.site-footer__logo { height: 62px; width: auto; margin-bottom: 22px; filter: brightness(0) invert(1); opacity: .96; }
.site-footer__legal {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 12px 26px;
	white-space: nowrap;
}
.site-footer__legal a {
	color: #eaf3f8;
	font-weight: 600;
	font-size: .95rem;
	transition: color .18s ease;
}
.site-footer__legal a:hover { color: var(--aqua-2); }
.site-footer__divider {
	width: 100%;
	max-width: 620px;
	height: 1px;
	border: 0;
	margin: 30px 0 26px;
	background: rgba(255, 255, 255, .18);
}
.site-footer__cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px 16px;
	background: rgba(255, 255, 255, .92);
	border-radius: 16px;
	padding: 14px 22px;
	max-width: 100%;
}
.site-footer__cards img {
	height: 36px;
	width: auto;
	object-fit: contain;
	display: block;
}
.site-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); }
.site-footer__bottom .container { display: flex; justify-content: space-between; gap: 12px; padding: 18px 22px; font-size: .86rem; flex-wrap: wrap; color: #cfe1ec; }
.site-footer__bottom a { color: #eaf3f8; }
.site-footer__bottom a:hover { color: var(--aqua-2); }

/* Floating reserve (mobile) */
.reserve-fab { display: none; position: fixed; right: 16px; bottom: 16px; z-index: 90; background: var(--aqua); color: #fff; padding: 13px 20px; border-radius: 999px; font-weight: 700; box-shadow: 0 10px 26px rgba(4,150,199,.5); }
/* Donji mobilni toolbar — podrazumevano skriven, pojavljuje se tek na telefonu (≤760px). */
.mobile-bar { display: none; }
/* PIB polje na checkoutu — skriveno dok se ne čekira „Račun za firmu" (JS doda .is-shown). */
#billing_pib_field { display: none; }
#billing_pib_field.is-shown { display: block; }

/* WooCommerce buttons -> theme buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce .button, .woocommerce #respond input#submit {
	background: var(--aqua) !important; color: #fff !important; border-radius: 999px !important; font-weight: 600 !important; padding: 12px 24px !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--aqua-dark) !important; }
.woo-wrap { max-width: var(--maxw); margin: 0 auto; }

/* Checkout — single-column card layout */
.woocommerce-checkout .checkout { max-width: 760px; margin: 0 auto; }
.checkout-block { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px 26px; margin-bottom: 24px; }
.woocommerce-checkout h3, .woocommerce-checkout .checkout-block h3 { font-family: var(--font-head); font-size: 1.3rem; margin: 0 0 16px; }
.woocommerce-checkout #order_review_heading { display: none; }
#customer_details .col2-set, #customer_details .col-1, #customer_details .col-2 { width: 100%; float: none; max-width: none; }
.order-review { background: transparent; border: 0; box-shadow: none; padding: 0; }
.order-review__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.order-review__title { font-family: var(--font-head); font-size: 1.3rem; margin: 0; }
.order-review__empty { font-size: .85rem; font-weight: 600; color: var(--muted); }
.order-review__empty:hover { color: #d7263d; }
.oritem { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.oritem__remove { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 999px; background: var(--soft); color: var(--muted); display: grid; place-items: center; font-size: 16px; line-height: 1; text-decoration: none; margin-top: 2px; }
.oritem__remove:hover { background: #fdeaec; color: #d7263d; }
.oritem__info { display: flex; flex-direction: column; flex: 1 1 auto; }
.oritem__name { font-weight: 600; }
.oritem__qty { color: var(--muted); font-weight: 600; }
.oritem__meta { font-size: .85rem; color: var(--muted); margin-top: 3px; }
.oritem__meta dl, .oritem__meta .variation { margin: 0; }
.oritem__meta dt, .oritem__meta dd { display: inline; margin: 0; font-weight: 400; }
.oritem__meta dd { margin-right: 8px; }
.oritem__meta dd p { display: inline; margin: 0; }
.oritem__price { font-weight: 700; color: var(--aqua-dark); white-space: nowrap; }
.orrow { display: flex; justify-content: space-between; padding: 10px 0; color: var(--muted); border-bottom: 1px solid var(--border); }
.order-review__total { display: flex; justify-content: space-between; align-items: center; padding-top: 18px; margin-top: 6px; font-size: 1.05rem; }
.order-review__total strong { font-size: 1.6rem; color: var(--ink); font-family: var(--font-head); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout .select2-container .select2-selection { border: 1px solid var(--border) !important; border-radius: 10px !important; padding: 11px 13px !important; min-height: 46px; box-shadow: none !important; }
.checkout-payment-block #payment { background: transparent; }
.checkout-payment-block .payment_methods { list-style: none; margin: 0 0 16px; padding: 0; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.checkout-payment-block .payment_methods li { padding: 14px 16px; border-bottom: 1px solid var(--border); }
.checkout-payment-block .payment_methods li:last-child { border-bottom: 0; }
.checkout-payment-block .payment_box { background: var(--soft); border-radius: 10px; padding: 12px 14px; margin-top: 8px; font-size: .9rem; }
.woocommerce #payment #place_order, .woocommerce-checkout #place_order { width: 100%; padding: 15px 24px !important; font-size: 1.05rem !important; }
.checkout-payment-block .payment_methods label { font-weight: 600; cursor: pointer; }
.checkout-payment-block .payment_methods input[type=radio] { margin-right: 8px; accent-color: var(--aqua); }
.woocommerce-checkout #payment .payment_box { position: relative; background: var(--soft) !important; border: 0 !important; border-radius: 10px; padding: 12px 14px; margin: 10px 0 0; font-size: .9rem; color: var(--muted); box-shadow: none; }
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment ul.payment_methods { border: 1px solid var(--border); border-radius: 12px; padding: 4px 0; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 16px 0 0; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 16px 0; font-size: .92rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: .85rem; color: var(--muted); }
.woocommerce form .required { color: #d7263d; }

/* WooCommerce notices in the theme's style */
.woocommerce-notices-wrapper:empty { margin: 0; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none; margin: 0 auto 18px; max-width: 760px; padding: 14px 18px 14px 46px;
	border-radius: 12px; position: relative; font-weight: 500; border: 1px solid transparent; box-shadow: var(--shadow);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	position: absolute; left: 14px; top: 12px; width: 22px; height: 22px; border-radius: 999px;
	display: grid; place-items: center; font-family: inherit; font-weight: 800; font-size: 13px; color: #fff;
}
.woocommerce-message { background: #eaf7ee; border-color: #bfe6cc; color: #1c6b39; }
.woocommerce-message::before { content: '✓'; background: #1c9d4d; }
.woocommerce-info { background: var(--soft); border-color: #cfe6f2; color: var(--aqua-dark); }
.woocommerce-info::before { content: 'i'; background: var(--aqua); }
.woocommerce-error { background: #fdeaec; border-color: #f5c2c8; color: #b32130; }
.woocommerce-error li { list-style: none; margin: 0; }
.woocommerce-error::before { content: '!'; background: #d7263d; }
.woocommerce-message a, .woocommerce-error a, .woocommerce-info a { color: inherit; font-weight: 700; text-decoration: underline; }
.woocommerce-message .button, .woocommerce-error .button { background: transparent !important; color: inherit !important; box-shadow: none !important; padding: 0 !important; text-decoration: underline; font-weight: 700; }

/* Empty cart */
.woocommerce .cart-empty, .woocommerce-checkout .cart-empty { max-width: 560px; margin: 0 auto 20px !important; text-align: center; }
.woocommerce .return-to-shop { text-align: center; margin: 0 auto; }
.woocommerce .return-to-shop .button { background: var(--aqua) !important; }

/* Thank-you / order received + order details */
.woocommerce-order { max-width: 840px; margin: 0 auto; }
.woocommerce-order > p, .woocommerce-thankyou-order-received { font-size: 1.1rem; font-weight: 600; color: var(--ink); margin-bottom: 20px; }
.woocommerce-order-overview.order_details {
	list-style: none; display: flex; flex-wrap: wrap; gap: 16px 34px; padding: 20px 26px; margin: 0 0 24px;
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
}
.woocommerce-order-overview.order_details li { border: 0 !important; padding: 0; margin: 0; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.woocommerce-order-overview.order_details li strong { display: block; font-size: 1.02rem; letter-spacing: 0; text-transform: none; color: var(--ink); margin-top: 3px; font-family: var(--font-head); }
/* Datum porudžbine u pregledu na thank-you strani — irelevantan (bitan je datum posete). */
.woocommerce-order-overview__date.date { display: none; }
.woocommerce-order-details, .woocommerce-customer-details {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px 26px; margin-bottom: 24px;
}
.woocommerce-order-details__title, .woocommerce-column__title { font-family: var(--font-head); font-size: 1.3rem; margin: 0 0 14px; }
.woocommerce-table--order-details { width: 100%; border-collapse: collapse; margin: 0; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 12px 6px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.woocommerce-table--order-details tfoot th, .woocommerce-table--order-details tfoot td { font-weight: 700; }
.woocommerce-table--order-details .woocommerce-Price-amount, .woocommerce-table--order-details td.product-total, .woocommerce-table--order-details .product-total { text-align: right; white-space: nowrap; }
.woocommerce-table--order-details th.product-total, .woocommerce-table--order-details tfoot td { text-align: right; }
.woocommerce-order .wc-item-meta { list-style: none; margin: 6px 0 0; padding: 0; font-size: .85rem; color: var(--muted); }
.woocommerce-order .wc-item-meta li { border: 0 !important; padding: 0; }
.woocommerce-order .wc-item-meta strong { font-weight: 600; }
.woocommerce-customer-details address { border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; font-style: normal; background: var(--soft-2); }

/* ==========================================================================
   Order-pay ("Platite narudžbinu") — Intesa redirect korak pre banke
   ========================================================================== */
.woocommerce-order-pay #order_review,
.woocommerce-order-pay .np-form { max-width: 640px; margin: 0 auto; }

/* Sažetak porudžbine (ako se prikaže tabela stavki) kao čista kartica. */
.woocommerce-order-pay #order_review .shop_table {
	width: 100%; background: #fff; border: 1px solid var(--border);
	border-radius: var(--radius); box-shadow: var(--shadow);
	border-collapse: separate; border-spacing: 0; overflow: hidden; margin: 0 0 22px;
}
.woocommerce-order-pay #order_review .shop_table th,
.woocommerce-order-pay #order_review .shop_table td { padding: 14px 18px; border-bottom: 1px solid var(--border); text-align: left; }
.woocommerce-order-pay #order_review .shop_table thead th { background: var(--soft); font-family: var(--font-head); font-size: .92rem; }
.woocommerce-order-pay #order_review .shop_table .product-total,
.woocommerce-order-pay #order_review .shop_table td:last-child,
.woocommerce-order-pay #order_review .shop_table th:last-child { text-align: right; white-space: nowrap; }
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child th,
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child td { border-bottom: 0; font-size: 1.08rem; }

/* Uvodni tekst ("Hvala na vašoj narudžbini…"). */
.woocommerce-order-pay .np-form > p:first-of-type,
.woocommerce-order-pay #authorize_payment_form > p:not(.np-pay-buttons-line) {
	text-align: center; font-size: 1.05rem; color: var(--ink);
	max-width: 520px; margin: 4px auto 22px; line-height: 1.6;
}

/* Red sa dugmadima: ravnomerno, sa razmakom, centrirano. */
.woocommerce-order-pay .np-pay-buttons-line {
	display: flex !important; flex-wrap: wrap; gap: 14px;
	justify-content: center; align-items: stretch; margin: 0;
}
.woocommerce-order-pay .np-pay-buttons-line > a {
	margin: 0 !important; display: inline-flex; align-items: center; justify-content: center;
	min-height: 54px; padding: 15px 34px !important; border-radius: 999px;
	font-weight: 600; font-size: 1.03rem; cursor: pointer; text-align: center;
	transition: all .18s ease; text-decoration: none;
}
/* "Platite" — primarno (aqua), naglašeno. */
.woocommerce-order-pay #submit_npintesa_payment_form,
.woocommerce-order-pay .np-pay-buttons-line .button-primary {
	background: var(--aqua) !important; color: #fff !important;
	border: 0 !important; box-shadow: 0 8px 20px rgba(4, 150, 199, .35) !important;
}
.woocommerce-order-pay #submit_npintesa_payment_form:hover,
.woocommerce-order-pay .np-pay-buttons-line .button-primary:hover {
	background: var(--aqua-dark) !important; color: #fff !important; transform: translateY(-2px);
}
/* "Otkažite narudžbinu…" — sekundarno (bela sa okvirom), diskretno. */
.woocommerce-order-pay .np-pay-buttons-line .cancel,
.woocommerce-order-pay .np-pay-buttons-line .button-secondary,
.woocommerce-order-pay .np-pay-buttons-line .button-alt {
	background: #fff !important; color: var(--muted) !important;
	border: 1.5px solid var(--border) !important; box-shadow: none !important;
}
.woocommerce-order-pay .np-pay-buttons-line .cancel:hover,
.woocommerce-order-pay .np-pay-buttons-line .button-secondary:hover {
	background: var(--soft) !important; color: var(--ink) !important; transform: none;
}
@media (max-width: 540px) {
	/* Na telefonu dugmad preko cele širine, „Platite" prvo. */
	.woocommerce-order-pay .np-pay-buttons-line > a { width: 100%; }
}

/* Fiskalni račun na thank-you / pregledu porudžbine. */
.aqj-fiscal {
	background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
	box-shadow: var(--shadow); padding: 22px 26px; margin: 0 0 24px;
}
.aqj-fiscal__title { font-family: var(--font-head); font-size: 1.3rem; margin: 0 0 12px; }
.aqj-fiscal__no { color: var(--muted); margin: 0 0 14px; }
.aqj-fiscal__no strong { color: var(--ink); font-family: var(--font-head); }
.aqj-fiscal__training { color: #7a5410; background: #fef3e0; border: 1px solid #f0c882; border-radius: 10px; padding: 8px 12px; font-size: .9rem; margin: 0 0 14px; }
.aqj-fiscal__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.aqj-fiscal__actions .btn { text-decoration: none; }
.aqj-fiscal__pdf { background: #fff; color: var(--aqua-dark); border: 1.5px solid var(--border); box-shadow: none; }
.aqj-fiscal__pdf:hover { background: var(--soft); color: var(--aqua-dark); }

/* Downloadable tickets block (thank-you + order view) */
.aqua-tickets { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px 26px; margin-bottom: 24px; max-width: 840px; margin-left: auto; margin-right: auto; }
.aqua-tickets h2 { font-family: var(--font-head); font-size: 1.3rem; margin: 0 0 6px; }
.aqua-tickets p.aqua-tickets__hint { color: var(--muted); font-size: .92rem; margin: 0 0 14px; }
.aqua-tickets__list { display: grid; gap: 10px; }
.aqua-ticket-dl { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--soft-2); }
.aqua-ticket-dl__name { font-weight: 600; }
.aqua-ticket-dl__meta { font-size: .82rem; color: var(--muted); }
@media (max-width: 540px) {
	.aqua-ticket-dl { flex-direction: column; align-items: flex-start; }
	.aqua-tickets__list { margin-bottom: 15px; }
}

/* Responsive */
@media (max-width: 960px) {
	.grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
	.contact-grid { grid-template-columns: 1fr; }
	.site-footer__cards img { height: 32px; }
}
@media (max-width: 760px) {
	.nav-toggle { display: flex; position: relative; z-index: 130; }
	.site-header__actions { margin-left: auto; }
	.header-reserve { display: none; }
	/* Na telefonu plutajuće „Rezerviši" zamenjuje donji fiksni toolbar. */
	.reserve-fab { display: none; }

	/* Fiksni donji toolbar (Rezervacija / Cenovnik / Kontakt / Putanja). */
	.mobile-bar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
		background: #fff; border-top: 1px solid var(--border);
		box-shadow: 0 -6px 20px rgba(4, 90, 122, .10);
		padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
	}
	/* 4 tekstualne stavke, razdvojene tankim linijama (bez ikonica). */
	.mobile-bar__item {
		flex: 1; display: flex; align-items: center; justify-content: center;
		font-size: .84rem; font-weight: 600; color: var(--muted); text-decoration: none;
		padding: 14px 4px; line-height: 1.2; text-align: center;
		border-left: 1px solid var(--border);
		-webkit-tap-highlight-color: transparent;
	}
	.mobile-bar__item:first-child { border-left: 0; }
	.mobile-bar__item:active { background: var(--soft); }
	.mobile-bar__item.is-active { color: var(--aqua); }
	.mobile-bar__item--cta { color: var(--aqua); }
	/* „Putanja" je <button> — resetuj izgled, ali NE `font` skraćenicom (ona bi
	   vratila font-size na 16px); samo font-family, ostalo dolazi iz .mobile-bar__item. */
	button.mobile-bar__item { font-family: inherit; font-size: .84rem; font-weight: 600; cursor: pointer; background: none; border: 0; border-left: 1px solid var(--border); }
	/* Podmeni sa aplikacijama za navigaciju (iznad bara, desno kod „Putanja"). */
	.mobile-bar__submenu {
		position: absolute; right: 6px; bottom: calc(100% + 8px); z-index: 201;
		min-width: 168px; background: #fff; border: 1px solid var(--border);
		border-radius: 12px; box-shadow: 0 10px 30px rgba(4, 90, 122, .20); overflow: hidden;
	}
	.mobile-bar__submenu[hidden] { display: none; }
	.mobile-bar__submenu a {
		display: block; padding: 14px 16px; font-size: .9rem; font-weight: 600;
		color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--border);
	}
	.mobile-bar__submenu a:last-child { border-bottom: 0; }
	.mobile-bar__submenu a:active { background: var(--soft); }
	/* Sadržaj/footer da ne stoji ispod bara (samo kad se bar prikazuje). */
	body.has-mobile-bar { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }

	/* Elegant full-screen mobile menu */
	.site-nav {
		position: fixed; inset: 0; z-index: 95; margin: 0;
		display: flex; flex-direction: column; justify-content: center; align-items: center;
		padding: 96px 28px 48px; overflow-y: auto;
		background: linear-gradient(rgba(10,50,111,.95), rgba(5,22,44,.98)), url('../img/footer-water.jpg') center/cover no-repeat;
		opacity: 0; visibility: hidden; transform: translateY(-6px);
		transition: opacity .32s ease, transform .32s ease, visibility .32s;
	}
	.site-header.nav-open .site-nav { opacity: 1; visibility: visible; transform: none; }
	.site-header.nav-open { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
	.site-header.nav-open .site-header__logo img { filter: brightness(0) invert(1); }
	.site-header.nav-open .header-cart { color: #fff; }
	.site-header.nav-open .nav-toggle span { background: #fff; }
	.site-header.nav-open .nav-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.site-header.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
	.site-header.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
	.site-nav .nav__list { flex-direction: column; gap: 2px; align-items: center; width: 100%; }
	.site-nav .nav__list a { color: #fff; font-family: var(--font-head); font-size: 1.7rem; font-weight: 600; padding: 12px 18px; border-radius: 12px; }
	.site-nav .nav__list a:hover, .site-nav .nav__list .is-active > a, .site-nav .nav__list .current-menu-item > a { color: #bfe6fb; background: rgba(255,255,255,.06); }
	.grid--2, .grid--3, .grid--4, .pricelist__head, .pricelist__row { grid-template-columns: 1fr; }
	.testimonial { width: 320px; padding: 22px 24px; }
	/* Manji razmak između utisaka na telefonu. */
	.testimonials__track { gap: 12px; }
	.pricelist__head { display: none; }
	.pricelist__row { padding: 8px 0; }
	.pricelist__price { text-align: left; }
	/* Bez zaglavlja tabele dve cene gube značenje — CSS labele uz svaku cenu */
	.pricelist__row > div { padding: 6px 18px; }
	.pricelist__name { padding-top: 14px; }
	.pricelist__row > div:last-child { padding-bottom: 14px; }
	.pricelist__price { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
	.pricelist__row > div:nth-child(2)::before { content: 'Radni dan'; color: var(--muted); font-weight: 500; }
	.pricelist__row > div:nth-child(3)::before { content: 'Vikend'; color: var(--muted); font-weight: 500; }
	.section { padding: 48px 0; }
	/* Header: manja logo kartica (manje visi preko hero-a) + veći tap targeti */
	.site-header__inner { min-height: 64px; gap: 14px; }
	.site-header__logo { padding: 8px 14px; margin: 4px 0 -24px; border-radius: 14px; }
	.site-logo img, .site-header__logo img { height: 60px; }
	.header-cart { padding: 11px; margin-right: 0; }
	.header-cart__count { top: 2px; right: 1px; }
	.nav-toggle { padding: 10px; }
	.site-footer__inner { padding: 44px 18px 36px; }
	.site-footer__logo { height: 50px; margin-bottom: 18px; }
	.site-footer__legal { gap: 2px 6px; font-size: .9rem; flex-wrap: wrap; white-space: normal; }
	.site-footer__legal a { padding: 10px 8px; } /* ~44px tap zona */
	.site-footer__cards { padding: 12px 14px; gap: 10px 12px; }
	.site-footer__cards img { height: 28px; }
	.site-footer__bottom .container { justify-content: center; text-align: center; }
}

/* ==========================================================================
   PREMIUM v2 — polish (header, mobile nav, hero, reels, cards, testimonials)
   ========================================================================== */

/* Header scroll state */
.site-header { transition: box-shadow .25s ease, background .25s ease; }
.site-header.is-scrolled { box-shadow: 0 6px 24px rgba(10,50,111,.10); background: rgba(255,255,255,.97); }

/* Mobile-only nav extras (rendered inside the full-screen overlay) */
.site-nav__mobile-extra { display: none; flex-direction: column; align-items: center; gap: 16px; margin-top: 34px; }
.site-nav__mobile-extra .mobile-nav__phone { color: #cdeafe; font-weight: 700; font-size: 1.1rem; letter-spacing: .02em; }
.site-nav__mobile-extra .mobile-nav__phone:hover { color: #fff; }
body.nav-lock { overflow: hidden; }

/* Staggered mobile menu items */
@keyframes navItem { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.site-header.nav-open .site-nav .nav__list li { animation: navItem .45s ease both; }
.site-header.nav-open .site-nav .nav__list li:nth-child(1) { animation-delay: .05s; }
.site-header.nav-open .site-nav .nav__list li:nth-child(2) { animation-delay: .11s; }
.site-header.nav-open .site-nav .nav__list li:nth-child(3) { animation-delay: .17s; }
.site-header.nav-open .site-nav .nav__list li:nth-child(4) { animation-delay: .23s; }
.site-header.nav-open .site-nav .nav__list li:nth-child(5) { animation-delay: .29s; }

/* Hero polish */
.home-hero__inner { position: relative; z-index: 1; }
.home-hero h1 { text-shadow: 0 2px 34px rgba(0,0,0,.35); }
.home-hero .eyebrow { letter-spacing: .2em; font-size: .9rem; }
.home-hero__cta { margin-bottom: 30px; }
.hero-chips { display: flex; flex-wrap: wrap; gap: 10px 12px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.hero-chips li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font-size: .9rem; font-weight: 600; color: #eaf8ff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(4px); }

/* Section head */
.section--head h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); }

/* Reels (atmosfera) */
.reels__track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 22px 30px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.reels__track::-webkit-scrollbar { display: none; }
/* Center the reels while keeping the row horizontally scrollable (auto-margins trick). */
.reels__track > .reel:first-child { margin-left: auto; }
.reels__track > .reel:last-child { margin-right: auto; }
.reel { position: relative; flex: 0 0 auto; width: 236px; aspect-ratio: 9 / 16; border-radius: 20px; overflow: hidden; scroll-snap-align: center; background: #06182d; transition: transform .3s ease; margin: 0; }
.reel:hover { transform: translateY(-6px); }
.reels__cta { text-align: center; margin-top: 30px; padding: 0 22px; }
.reel__video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Cards hover + arrow */
.feature, .card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.feature:hover, .card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(10,50,111,.14); border-color: #cfe6f2; }
a.card { position: relative; display: block; color: inherit; padding-bottom: 52px; }
a.card::after { content: '→'; position: absolute; right: 24px; bottom: 22px; color: var(--aqua); font-size: 1.3rem; opacity: 0; transform: translateX(-6px); transition: .25s ease; }
a.card:hover::after { opacity: 1; transform: none; }
.feature__icon { background: linear-gradient(135deg, #eaf6fc, #d6ecf9); box-shadow: inset 0 0 0 1px rgba(1,112,185,.08); }
.feature--stat .feature__num { background: linear-gradient(135deg, var(--aqua), var(--aqua-2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* Testimonials premium */
.testimonial { position: relative; padding-top: 30px; }
.testimonial::before { content: '\201C'; position: absolute; top: 4px; left: 20px; font-family: Georgia, serif; font-size: 4rem; line-height: 1; color: rgba(1,112,185,.16); }
.testimonial__stars { color: #f5b301; letter-spacing: 2px; margin-bottom: 10px; }
.testimonial p { margin: 0 0 16px; color: #2c4a57; }
.testimonial__by { display: flex; align-items: center; gap: 12px; font-style: normal; }
.testimonial__avatar { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 999px; display: grid; place-items: center; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--aqua), var(--aqua-2)); font-size: .95rem; }
.testimonial__name { font-style: normal; margin: 0; }

/* Footer — Ivapix credit logo */
.site-footer__by { display: inline-flex; align-items: center; gap: 8px; color: #cfe1ec; }
.site-footer__by span { font-size: .86rem; }
.site-footer__by img { height: 20px; width: auto; opacity: .92; transition: opacity .2s ease; }
.site-footer__by:hover img { opacity: 1; }

/* CTA band — keep .lead readable on the blue gradient */
.cta-band .lead, .cta-band p { color: #fff; opacity: .95; }
/* Globalni .lead ima max-width bez auto margina, pa se blok "lepi" levo u centriranom .cta-band — centriraj ga. */
.cta-band .lead { max-width: 720px; margin-left: auto; margin-right: auto; }

/* Kontakt — "Online rezervacije": thinner + wider button, 15px gap above */
.contact-info__cta { display: block; width: 100%; padding: 11px 24px; margin-top: 15px; text-align: center; }

@media (max-width: 760px) {
	.site-nav__mobile-extra { display: flex; }
	.reel { width: 200px; }
	.home-hero { min-height: 86vh; min-height: 86svh; } /* svh: bez skoka zbog mobilnog address bara */
}
/* Touch uređaji: hover-pauza ne postoji, a "sticky hover" posle tapa bi zamrzao traku —
   vraćamo animaciju u running i blago je usporavamo radi čitljivosti. */
@media (hover: none) {
	.testimonials:hover .testimonials__track { animation-play-state: running; }
	.testimonials__track { animation-duration: 70s; }
}
@media (prefers-reduced-motion: reduce) {
	.site-header.nav-open .site-nav .nav__list li { animation: none; }
}

/* ==========================================================================
   LUX v3 — video hero, pill, talas, about split, reveal/count animacije
   ========================================================================== */

/* Hero: video pozadina (nisko-rezolucijski klip namerno blago zamućen i uvećan
   — deluje kao "motion backdrop"; poster/background je fallback). */
.home-hero { overflow: hidden; isolation: isolate; }
/* Poster: trenutni LCP + fallback (ostaje ispod video sloja). */
.home-hero__poster {
	position: absolute; inset: 0; z-index: 0;
	width: 100%; height: 100%; object-fit: cover;
	transform: scale(1.04);
	filter: saturate(1.12) brightness(.96);
	pointer-events: none;
}
/* Self-hostovani video: „cover" preko celog heroa, utapa se preko postera. */
.home-hero__video {
	position: absolute; inset: 0; z-index: 0;
	width: 100%; height: 100%; object-fit: cover;
	transform: scale(1.04);
	filter: saturate(1.12) brightness(.96);
	pointer-events: none;
	opacity: 0; transition: opacity .8s ease;
}
.home-hero__video.is-playing { opacity: 1; }
.home-hero::before {
	content: ''; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(6,26,51,.58) 0%, rgba(6,26,51,.34) 45%, rgba(4,17,35,.88) 100%);
}
.home-hero__inner { position: relative; z-index: 2; }
.home-hero__wave { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 3; line-height: 0; }
.home-hero__wave svg { width: 100%; height: 72px; display: block; }

/* "Dobrodošli" pill */
.hero-pill {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 24px; border-radius: 999px; margin-bottom: 20px;
	background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.3);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	color: #eaf8ff; font-weight: 600; font-size: .86rem;
	letter-spacing: .16em; text-transform: uppercase;
}

/* Hero entrance (stagger) */
@keyframes heroUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.home-hero .hero-pill   { animation: heroUp .8s cubic-bezier(.22,.8,.3,1) .1s both; }
.home-hero h1           { animation: heroUp .8s cubic-bezier(.22,.8,.3,1) .25s both; }
.home-hero .lead        { animation: heroUp .8s cubic-bezier(.22,.8,.3,1) .4s both; }
.home-hero .home-hero__cta { animation: heroUp .8s cubic-bezier(.22,.8,.3,1) .55s both; }
.home-hero .hero-chips  { animation: heroUp .8s cubic-bezier(.22,.8,.3,1) .7s both; }

/* O nama — split sa slikama */
.about__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 60px; align-items: center; }
.about__media { position: relative; padding: 0 40px 44px 0; }
.about__img--main { width: 100%; border-radius: 24px; box-shadow: 0 30px 60px rgba(10,50,111,.22); display: block; }
.about__img--float {
	position: absolute; right: 0; bottom: 0; width: 46%;
	border-radius: 18px; border: 6px solid #fff;
	box-shadow: 0 22px 46px rgba(10,50,111,.28); display: block;
}
.about__badge {
	position: absolute; top: -16px; left: -14px; z-index: 2;
	background: linear-gradient(135deg, var(--aqua), var(--aqua-2)); color: #fff;
	padding: 12px 20px; border-radius: 16px; font-weight: 700; font-size: .95rem;
	box-shadow: 0 14px 30px rgba(1,112,185,.35);
}
.about__text .lead { margin-bottom: 1.2rem; }
.about__list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 12px; }
.about__list li { position: relative; padding-left: 36px; color: #2c4a57; font-weight: 500; }
.about__list li::before {
	content: '✓'; position: absolute; left: 0; top: 0;
	width: 24px; height: 24px; border-radius: 999px; display: grid; place-items: center;
	background: var(--soft); color: var(--aqua); font-weight: 800; font-size: .85rem;
}

/* CTA band — voda u pozadini */
.cta-band {
	background:
		linear-gradient(135deg, rgba(1,112,185,.92), rgba(10,50,111,.95)),
		url('../img/footer-water.jpg') center/cover no-repeat;
}

/* Scroll-reveal (JS dodaje .reveal + .is-visible) */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.22,.8,.3,1); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 960px) {
	.about__grid { grid-template-columns: 1fr; gap: 40px; }
	.about__media { padding: 0 24px 30px 0; }
}
@media (max-width: 760px) {
	.home-hero__wave svg { height: 44px; }
	.about__badge { left: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.home-hero .hero-pill, .home-hero h1, .home-hero .lead,
	.home-hero .home-hero__cta, .home-hero .hero-chips { animation: none; }
	.reveal { opacity: 1; transform: none; transition: none; }
	.home-hero__video { display: none; } /* JS ionako ne pušta video uz reduced-motion — poster ostaje */
}

/* ==========================================================================
   MOBILE v4 — fino podešavanje za telefone 360–430px (540/380 breakpointi)
   ========================================================================== */

@media (max-width: 540px) {
	/* Hero: niži blok, manji naslov, CTA u koloni preko cele širine */
	.home-hero { min-height: 78vh; min-height: 78svh; padding: 80px 0 72px; }
	.home-hero h1 { font-size: clamp(2.1rem, 10.5vw, 2.8rem); }
	.home-hero p, .home-hero .lead { font-size: 1.05rem; }
	.hero-pill { padding: 8px 18px; font-size: .78rem; letter-spacing: .12em; margin-bottom: 16px; }
	.home-hero__cta { flex-direction: column; align-items: center; gap: 10px; margin-bottom: 24px; }
	.home-hero__cta .btn { width: 100%; max-width: 320px; justify-content: center; }
	.hero-chips { gap: 8px 10px; }
	.hero-chips li { padding: 8px 13px; font-size: .84rem; }
	.home-hero__wave svg { height: 36px; }

	/* Page hero (unutrašnje strane) */
	.page-hero { padding: 56px 0 48px; }

	/* Spacing / kartice / o nama */
	.cta-band { padding: 44px 0; }
	.feature, .card { padding: 22px 20px; }
	.contact-info { padding: 22px 18px; }
	.rules__group-title { padding: 14px 16px; }
	.rules__list { padding: 16px 16px 16px 34px; }
	.about__media { padding: 0 16px 26px 0; }
	.about__badge { top: -12px; padding: 10px 16px; font-size: .88rem; }

	/* WooCommerce: checkout blokovi + pregled porudžbine */
	.checkout-block { padding: 18px 16px; }
	.woocommerce-checkout h3, .woocommerce-checkout .checkout-block h3 { font-size: 1.18rem; }
	.oritem { gap: 10px; }
	.oritem__price { font-size: .95rem; }
	.order-review__total strong { font-size: 1.4rem; }
	.checkout-payment-block .payment_methods li { padding: 12px; }
	.woocommerce-checkout #payment .payment_box { padding: 10px 12px; }
	.woocommerce-order-details, .woocommerce-customer-details, .aqua-tickets { padding: 18px 16px; }
	.woocommerce-order-overview.order_details { padding: 16px 18px; gap: 12px 22px; }
	.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 10px 4px; font-size: .95rem; }
}

@media (max-width: 380px) {
	.section { padding: 40px 0; }
	.testimonial { width: 280px; padding: 20px 18px; }
	.reel { width: 178px; }
	.site-logo img, .site-header__logo img { height: 54px; }
	.hero-chips li { font-size: .8rem; padding: 7px 11px; }
	.site-footer__cards img { height: 24px; }
}
