/* ==========================================================================
   Iris — stranica proizvoda (shortcode [iris_proizvod])
   Koristi promenljive i komponente iz iris-home.css (.iris-home).
   ========================================================================== */

/* Elementor omotač: bez paddinga, puna širina */
body .e-con:has(> .elementor-widget-shortcode .iris-product),
body .e-con:has(> .e-con-inner > .elementor-widget-shortcode .iris-product) {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px;
	--content-width: 100%;
	padding: 0;
	gap: 0;
}

body .e-con:has(> .e-con-inner > .elementor-widget-shortcode .iris-product) > .e-con-inner { max-width: none; width: 100%; padding: 0; }
body .elementor-widget-shortcode:has(.iris-product) { flex: 1 1 100%; width: 100%; max-width: 100%; min-width: 0; margin: 0; }

.iris-product { padding-top: 24px; }

/* ---------- Obaveštenja (npr. „dodato u korpu“ bez JS-a) ---------- */

.iris-product .ip-notices .woocommerce-message,
.iris-product .ip-notices .woocommerce-error,
.iris-product .ip-notices .woocommerce-info {
	margin: 0 0 16px;
	border: 0;
	border-left: 3px solid var(--h-gold);
	border-radius: 8px;
	background: var(--h-cream);
	color: var(--h-ink);
	font-size: 14px;
}

/* ---------- Putanja ---------- */

.ip-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0 0 24px;
	font-size: 13px;
	color: var(--h-muted);
}

.iris-home .ip-crumbs a { color: var(--h-muted); text-decoration: none; }
.iris-home .ip-crumbs a:hover { color: var(--h-green); }
.ip-crumbs span { color: rgba(28, 26, 22, 0.3); }

/* ---------- Glavni deo ---------- */

.ip-main {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 64px;
	align-items: start;
	padding-bottom: 80px;
}

/* Galerija */
.ip-gallery { position: sticky; top: 24px; min-width: 0; }

.ip-gallery__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	border-radius: var(--h-radius);
	background: var(--h-stone);
	scrollbar-width: none;
	outline: none;
}

.ip-gallery__track::-webkit-scrollbar { display: none; }
.ip-gallery__track:focus-visible { box-shadow: 0 0 0 2px var(--h-gold); }

.ip-gallery__slide {
	flex: 0 0 100%;
	aspect-ratio: 4 / 5;
	scroll-snap-align: start;
}

.ip-gallery__slide img { width: 100%; height: 100%; object-fit: cover; }

.ip-gallery__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.iris-home .ip-thumb {
	width: 72px;
	height: 72px;
	padding: 0;
	border: 1.5px solid transparent;
	border-radius: 12px;
	background: var(--h-stone);
	overflow: hidden;
	cursor: pointer;
	opacity: .65;
	transition: opacity .2s ease, border-color .2s ease;
}

.iris-home .ip-thumb img { width: 100%; height: 100%; object-fit: cover; }
.iris-home .ip-thumb:hover { opacity: 1; background: var(--h-stone); }
.iris-home .ip-thumb.is-active { opacity: 1; border-color: var(--h-gold); }

/* Kupovina */
.ip-summary { min-width: 0; padding-top: 8px; }

.iris-home .ip-summary .ih-kicker { margin-bottom: 10px; }

.iris-home .ip-title {
	margin: 0 0 14px;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--h-green);
}

.iris-home a.ip-rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	font-size: 13.5px;
	color: var(--h-muted);
	text-decoration: none;
}

.iris-home a.ip-rating:hover span { color: var(--h-green); text-decoration: underline; }

.iris-home .ip-tagline {
	margin: 0 0 22px;
	font-size: 18px;
	font-style: italic;
	line-height: 1.5;
	color: var(--h-ink);
}

.ip-price {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 26px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--h-line);
}

.iris-home .ip-price .ih-price { font-size: 30px; }
.iris-home .ip-price .ih-price del { font-size: .55em; }
.iris-home .ip-price__badge { position: static; }

.ip-buy { display: flex; gap: 12px; margin-bottom: 22px; flex-wrap: wrap; }

.ip-qty {
	display: inline-flex;
	align-items: center;
	height: 56px;
	border: 1.5px solid var(--h-line);
	border-radius: 999px;
	background: var(--h-paper);
	overflow: hidden;
}

.iris-home .ip-qty__btn {
	width: 46px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--h-green);
	font-family: inherit;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.iris-home .ip-qty__btn:hover { color: var(--h-gold); background: transparent; }

.iris-home .ip-qty__input {
	width: 40px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: center;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	color: var(--h-ink);
	-moz-appearance: textfield;
}

.ip-qty__input::-webkit-outer-spin-button,
.ip-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.ip-buy { flex-wrap: nowrap; }
.iris-home a.ip-add { flex: 1 1 0; min-width: 0; min-height: 56px; font-size: 16.3px; }
.ip-buy a.added_to_cart { display: none !important; }

.iris-home .ip-stock { margin-bottom: 22px; font-weight: 600; color: #B3261E; }

.ip-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 28px !important;
}

.ip-trust li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 14px 8px;
	border-radius: var(--h-radius-md);
	background: var(--h-stone);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	color: var(--h-green);
}

.ip-trust svg { color: var(--h-gold); }

/* Harmonike */
.ip-acc { border-top: 1px solid var(--h-line); }

.ip-acc details { border-bottom: 1px solid var(--h-line); }

.ip-acc summary {
	position: relative;
	display: block;
	padding: 18px 40px 18px 0;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--h-green);
	cursor: pointer;
	list-style: none;
}

.ip-acc summary::-webkit-details-marker { display: none; }

.ip-acc summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	margin-top: -12px;
	font-size: 22px;
	font-weight: 400;
	line-height: 24px;
	color: var(--h-gold);
}

.ip-acc details[open] summary::after { content: "−"; }

.ip-acc__body { padding: 0 0 22px; }

.iris-home .ip-prose p,
.iris-home .ip-prose li { font-size: 15px; line-height: 1.75; color: var(--h-muted); }
.iris-home .ip-prose p { margin: 0 0 12px; }
.iris-home .ip-prose strong { color: var(--h-ink); font-weight: 600; }
.iris-home .ip-prose ul { margin: 0 0 12px; padding-left: 20px; list-style: disc; }
.iris-home .ip-prose li p { margin: 0; }

.iris-home .ip-inci { margin: 0 0 12px; font-size: 13px; line-height: 1.7; color: var(--h-muted); }
.iris-home .ip-inci strong { color: var(--h-green); font-weight: 600; }

/* ---------- Povezani proizvodi i recenzije ---------- */

.ip-related { background: var(--h-stone); }

.ip-reviews { background: var(--h-paper); }

/* WooCommerce recenzije (lista + forma) */
.ip-reviews__wc #reviews h2.woocommerce-Reviews-title,
.ip-reviews__wc #reviews .woocommerce-Reviews-title { display: none; }

.ip-reviews__wc .commentlist {
	display: grid;
	gap: 14px;
	margin: 0 0 40px !important;
	padding: 0 !important;
	list-style: none;
}

.ip-reviews__wc .commentlist li.review {
	margin: 0;
	padding: 24px 26px;
	border-radius: var(--h-radius-md);
	background: var(--h-stone);
	list-style: none;
}

.ip-reviews__wc .comment_container { display: block; }
.ip-reviews__wc .comment_container img.avatar { display: none; }
.ip-reviews__wc .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }

.ip-reviews__wc .star-rating {
	float: none !important;
	margin: 0 0 10px !important;
	color: var(--h-gold);
	font-size: 14px;
}

.ip-reviews__wc .star-rating::before { color: rgba(188, 151, 86, 0.3); }

.ip-reviews__wc .meta { margin: 0 0 8px !important; font-size: 13px; color: var(--h-muted); }
.ip-reviews__wc .meta strong { color: var(--h-green); font-size: 14px; }
.ip-reviews__wc .description p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--h-ink); }

.ip-reviews__wc .woocommerce-noreviews { display: none; }

.ip-reviews__wc #review_form_wrapper {
	padding: 30px;
	border-radius: var(--h-radius);
	background: var(--h-cream);
	box-shadow: inset 0 0 0 1px rgba(188, 151, 86, 0.25);
}

.ip-reviews__wc .comment-reply-title {
	display: block;
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 600;
	color: var(--h-green);
}

.ip-reviews__wc .comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ip-reviews__wc .comment-form > * { grid-column: 1 / -1; margin: 0 0 16px; }
.ip-reviews__wc .comment-form .comment-form-author { grid-column: 1; }
.ip-reviews__wc .comment-form .comment-form-email { grid-column: 2; }

.ip-reviews__wc .comment-form label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--h-ink);
}

.ip-reviews__wc .comment-form input[type="text"],
.ip-reviews__wc .comment-form input[type="email"],
.ip-reviews__wc .comment-form textarea {
	width: 100%;
	padding: 13px 16px;
	border: 1.5px solid var(--h-line);
	border-radius: 8px;
	background: var(--h-paper);
	box-shadow: none;
	font-family: inherit;
	font-size: 15px;
	color: var(--h-ink);
}

.ip-reviews__wc .comment-form input:focus,
.ip-reviews__wc .comment-form textarea:focus { outline: none; border-color: var(--h-gold); box-shadow: 0 0 0 3px rgba(188, 151, 86, 0.18); }

.ip-reviews__wc p.stars a { color: var(--h-gold); }
.ip-reviews__wc .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; }
.ip-reviews__wc .comment-form-cookies-consent label { font-weight: 500; margin: 0; }

.ip-reviews__wc .form-submit input[type="submit"],
.ip-reviews__wc .form-submit #submit {
	min-height: 52px;
	padding: 14px 32px;
	border: 0;
	border-radius: 999px;
	background: var(--h-green);
	color: var(--h-gold-light);
	font-family: inherit;
	font-size: 15.5px;
	font-weight: 600;
	cursor: pointer;
}

.ip-reviews__wc .form-submit #submit:hover { background: var(--h-green-2); }

/* ---------- Traka za kupovinu na telefonu ---------- */

.ip-sticky { display: none; }

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

@media (max-width: 900px) {
	.iris-product { padding-top: 12px; }
	.ip-main { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 56px; }
	.ip-gallery { position: static; margin: 0 -24px; }
	.ip-gallery__track { border-radius: 0; }
	.ip-gallery__thumbs { flex-wrap: nowrap; overflow-x: auto; padding: 0 24px; scrollbar-width: none; }
	.ip-gallery__thumbs::-webkit-scrollbar { display: none; }
	.iris-home .ip-thumb { flex: none; }
	.ip-crumbs { margin-bottom: 14px; }

	.ip-sticky {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		z-index: 90;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 10px 10px 18px;
		border-radius: 999px;
		background: var(--h-green);
		box-shadow: 0 12px 30px rgba(12, 41, 29, 0.3);
		transform: translateY(140%);
		transition: transform .3s ease;
	}

	.ip-sticky.is-visible { transform: translateY(0); }

	.ip-sticky__info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
	.ip-sticky__name { overflow: hidden; font-size: 12.5px; color: rgba(255, 255, 255, 0.75); white-space: nowrap; text-overflow: ellipsis; }
	.iris-home .ip-sticky .ih-price { font-size: 16px; color: var(--h-gold-light); }
	.iris-home .ip-sticky .ih-price del { color: rgba(255, 255, 255, 0.5); }
	.iris-home a.ip-sticky__btn { min-height: 44px; padding: 10px 26px; background: var(--h-gold); border-color: var(--h-gold); color: var(--h-green); }
}

@media (max-width: 600px) {
	.ip-gallery { margin: 0 -20px; }
	.ip-gallery__thumbs { padding: 0 20px; }
	.iris-home .ip-thumb { width: 58px; height: 58px; }
	.iris-home .ip-tagline { font-size: 16.5px; }
	.iris-home .ip-price .ih-price { font-size: 26px; }
	.ip-trust li { font-size: 11.5px; padding: 12px 6px; }
	.ip-reviews__wc #review_form_wrapper { padding: 22px 18px; }
	.ip-reviews__wc .comment-form .comment-form-author,
	.ip-reviews__wc .comment-form .comment-form-email { grid-column: 1 / -1; }
}

/* WooCommerce/Storefront stilovi recenzija koriste #reviews selektore — ovde ih nadjačavamo. */
.ip-reviews__wc #reviews #comments ol.commentlist { margin: 0 0 40px; padding: 0; }
.ip-reviews__wc #reviews #comments ol.commentlist li { margin: 0 0 14px; padding: 24px 26px; border: 0; border-radius: var(--h-radius-md); background: var(--h-stone); }
.ip-reviews__wc #reviews #comments ol.commentlist li img.avatar { display: none; }
.ip-reviews__wc #reviews #comments ol.commentlist li .comment-text { margin: 0; padding: 0; border: 0; border-radius: 0; }
.ip-reviews__wc #reviews #comments ol.commentlist li .comment-text p.meta { margin: 0 0 8px; font-size: 13px; }
.ip-reviews__wc #reviews #comments ol.commentlist li .comment-text p.meta time { color: var(--h-muted); font-style: normal; }
.ip-reviews__wc #reviews .star-rating,
.ip-reviews__wc #reviews .star-rating::before,
.ip-reviews__wc #reviews .star-rating span::before { color: var(--h-gold); }
.ip-reviews__wc #reviews .star-rating::before { opacity: .3; }
.ip-reviews__wc #reviews .star-rating { float: none; margin: 0 0 10px; }
.ip-reviews__wc #reviews p.stars a,
.ip-reviews__wc #reviews p.stars a::before { color: var(--h-gold); }
.ip-reviews__wc #reviews #respond { margin: 0; padding: 0; border: 0; background: transparent; }

/* Storefront: komentar je plutajući (float) i ima fiksnu širinu, zvezdice su ljubičaste. */
.ip-reviews__wc #reviews #comments ol.commentlist li { margin-bottom: 14px !important; }
.ip-reviews__wc #reviews #comments ol.commentlist li .comment-text,
.ip-reviews__wc #reviews .commentlist .comment-text { float: none !important; width: auto !important; }
.ip-reviews__wc #reviews .commentlist .comment_container::after { content: ""; display: table; clear: both; }
.ip-reviews__wc #reviews .star-rating span::before,
.ip-reviews__wc #reviews p.stars a,
.ip-reviews__wc #reviews p.stars a::before,
.ip-reviews__wc #reviews p.stars.selected a.active::before,
.ip-reviews__wc #reviews p.stars:hover a::before { color: var(--h-gold) !important; }
.ip-reviews__wc #reviews .comment-form input[type="text"],
.ip-reviews__wc #reviews .comment-form input[type="email"],
.ip-reviews__wc #reviews .comment-form textarea { width: 100% !important; max-width: none; }
