/* SofaItaly reviews — responsive UX overlay (loaded after commenti.css) */

html, body {
	width: 100%;
	max-width: 100%;
	height: auto;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-text-size-adjust: 100%;
}

body {
	min-width: 0;
	margin: 0;
	padding: 0 0 16px;
}

body#addcomment {
	min-width: 0;
	display: block;
	width: 100%;
	padding: 12px 0 24px;
	background: #fff;
}

#header {
	width: 100%;
	max-width: 100%;
	display: block;
	margin: 0 0 12px;
	padding: 8px 10px 12px;
	text-align: left;
	background: #fff;
	border-bottom: 1px solid #5a958c;
	position: sticky;
	top: 0;
	z-index: 5;
	box-sizing: border-box;
}

@media (orientation: landscape) {
	#header { margin-top: 0; }
}

#header > span {
	display: block;
	margin: 0 0 8px;
	font-size: 16px !important;
	font-weight: 600;
	color: #026086;
}

#header a {
	display: inline-flex;
	align-items: center;
	margin: 4px 8px 4px 0;
	padding: 8px 12px;
	font-size: 14px !important;
	line-height: 1.3 !important;
	color: #fff !important;
	text-decoration: none !important;
	background: #026086;
	border-radius: 6px;
}

#header a#orderbygrade,
#header a#orderbydateadd {
	background: #f4f7f6;
	color: #3a3939 !important;
	border: 1px solid #c9d9d5;
}

#header a:before {
	margin-right: 6px;
	background: transparent !important;
	color: inherit !important;
}

#header a:hover {
	filter: brightness(1.05);
}

#header a:active {
	transform: scale(0.98);
}

#container {
	display: block;
	width: 100%;
	padding: 0 8px;
	box-sizing: border-box;
}

div#commento {
	width: 100%;
	padding: 12px 8px;
	margin: 0 0 8px;
	border-bottom: 1px solid #e3ecea;
	box-sizing: border-box;
}

@media (min-width: 550px) {
	div.blok1 { width: 34%; }
	div.blok2 { width: 66%; padding-left: 14px; }
}

/* —— Fancybox popup form —— */
.fancybox-overlay {
	background: rgba(20, 35, 32, 0.55) !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
}

.fancybox-wrap,
div.fancybox-wrap.fancybox-desktop.fancybox-type-iframe.fancybox-opened,
.fancybox-opened {
	top: auto !important;
	left: 50% !important;
	right: auto !important;
	width: calc(100% - 24px) !important;
	max-width: 520px !important;
	margin: 0 !important;
	transform: translateX(-50%);
}

div.fancybox-skin {
	height: auto !important;
	max-height: none !important;
	max-width: 100% !important;
	padding: 12px !important;
	background: #fff !important;
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

div.fancybox-inner {
	width: 100% !important;
	max-width: 100% !important;
	height: min(78vh, 680px) !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
}

.fancybox-skin .fancybox-close {
	top: 8px !important;
	right: 8px !important;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #026086 !important;
	color: #fff !important;
	font-size: 22px !important;
	line-height: 34px !important;
	text-shadow: none !important;
	z-index: 10;
}

.fancybox-skin .fancybox-close:after {
	content: "\f00d";
	text-shadow: none;
}

@media (max-width: 479px) {
	.fancybox-wrap,
	div.fancybox-wrap.fancybox-desktop.fancybox-type-iframe.fancybox-opened {
		width: calc(100% - 16px) !important;
		max-width: none !important;
	}

	div.fancybox-inner {
		height: min(85vh, 720px) !important;
	}

	.fancybox-skin .fancybox-close {
		right: 6px !important;
		top: 6px !important;
	}
}

/* —— Form “Scrivi una recensione” —— */
#addcomment #commento,
#addcomment #blok,
#addcomment .blok3,
#addcomment .row,
#addcomment .new_comment_form_content {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	display: block !important;
	box-sizing: border-box;
}

#addcomment .new_comment_form_content {
	padding: 12px 14px 20px !important;
	background: #f7faf9;
	border-radius: 8px;
}

#addcomment #frm h2.page-subheading,
#addcomment h2.page-subheading {
	margin: 4px 0 14px !important;
	padding-bottom: 10px;
	font-size: 18px !important;
	line-height: 1.25 !important;
	color: #026086;
	border-bottom: 1px solid #5a958c;
}

#addcomment #commento table,
#addcomment table {
	width: 100% !important;
	max-width: 100% !important;
	border-collapse: collapse;
	float: none !important;
}

#addcomment #commento table,
#addcomment #commento table td {
	float: none !important;
}

#addcomment #commento table td,
#addcomment table td {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	padding: 4px 0;
	text-align: left !important;
}

#addcomment #commento table:first-child td:first-child,
#addcomment #commento table+table tr:last-child td:first-child,
#addcomment #commento table+table tr:last-child td+td {
	width: 100% !important;
}

#addcomment #commento table td input,
#addcomment #commento table td textarea,
#addcomment input[type="text"],
#addcomment textarea {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 40px;
	height: auto !important;
	padding: 10px 12px !important;
	border: 1px solid #b7ccc7 !important;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 16px !important; /* evita zoom iOS */
	line-height: 1.35 !important;
}

#addcomment #commento table td textarea {
	min-height: 110px !important;
	resize: vertical;
}

#addcomment #commento table td div[class^="stars"] {
	float: none !important;
	display: inline-block;
	margin: 4px 0 12px;
	vertical-align: middle;
}
#addcomment #commento input[id^='star-'],
#addcomment #commento label[for^='star-'] {
	/* lascia il widget stelle del modulo productcomments */
}

#addcomment input[type="submit"],
#addcomment .buttonHighlight {
	display: inline-block;
	min-height: 44px;
	padding: 10px 18px !important;
	margin: 8px 8px 0 0;
	border: 0 !important;
	border-radius: 6px;
	background: #026086 !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600;
	cursor: pointer;
}

#addcomment a {
	display: inline-block;
	min-height: 44px;
	padding: 10px 8px;
	line-height: 24px;
}

/* spazio per FAB WhatsApp del tema genitore */
body.commenti { padding-bottom: 24px; }
@media (max-width: 767px) {
  body.commenti { padding-bottom: 32px; }
}
html, body { overflow-y: visible !important; overflow-x: hidden !important; }
body { height: auto !important; }


/* Paginazione mobile più leggibile */
.bottom-pagination-content ul.pagination li > a span,
.bottom-pagination-content ul.pagination li > span span {
  min-width: 36px;
  min-height: 36px;
  padding: 8px 10px !important;
  line-height: 20px !important;
  box-sizing: border-box;
}
@media (max-width: 479px) {
  .bottom-pagination-content ul.pagination li:nth-child(n+2):not(:last-child) {
    margin: 6px 4px !important;
  }
  .bottom-pagination-content {
    padding-bottom: 8px;
  }
}

/* SofaItaly form polish buttons */
/* SofaItaly — addcomment form polish (UTF-8 safe UI) */

#addcomment .new_comment_form_content {
	padding: 14px 16px 18px !important;
	background: #f7faf9;
	border-radius: 10px;
}

#addcomment #frm h2.page-subheading,
#addcomment h2.page-subheading {
	margin: 0 0 16px !important;
	padding-bottom: 12px;
	font-size: 18px !important;
	line-height: 1.25 !important;
	letter-spacing: 0.02em;
	color: #026086;
	border-bottom: 1px solid #5a958c;
	text-transform: uppercase;
}

/* Criteri: label + stelle allineati */
#addcomment table.sf-review-form-table {
	margin: 0 0 14px;
	border-bottom: 1px solid #d5e3df;
	padding-bottom: 8px;
}

#addcomment table.sf-review-form-table tr {
	display: block;
	margin: 0 0 12px;
}

#addcomment table.sf-review-form-table td {
	display: block;
	width: 100% !important;
	padding: 0 !important;
}

#addcomment table.sf-review-form-table label {
	display: block !important;
	margin: 0 0 6px !important;
	font-size: 13px !important;
	font-weight: 600;
	color: #3a3939;
	line-height: 1.3;
}

#addcomment table.sf-review-form-table td div[class^="stars"] {
	margin: 0 0 2px !important;
}

/* Campi testo */
#addcomment #commento table + table,
#addcomment .sf-review-fields {
	width: 100%;
}

#addcomment #commento table + table tr {
	display: block;
	margin: 0 0 12px;
}

#addcomment #commento table + table td {
	display: block;
	width: 100% !important;
	padding: 0 !important;
}

#addcomment #commento table + table label {
	display: block !important;
	margin: 0 0 6px !important;
	font-size: 13px !important;
	font-weight: 600;
	color: #3a3939;
}

#addcomment input[type="text"],
#addcomment textarea,
#addcomment .mbInput {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 44px;
	padding: 10px 12px !important;
	border: 1px solid #b7ccc7 !important;
	border-radius: 6px !important;
	box-sizing: border-box;
	font-size: 16px !important;
	line-height: 1.35 !important;
	color: #3a3939;
	background: #fff !important;
	transition: border-color 0.2s ease;
}

#addcomment input[type="text"]:focus,
#addcomment textarea:focus,
#addcomment .mbInput:focus {
	outline: none;
	border-color: #026086 !important;
	box-shadow: 0 0 0 3px rgba(2, 96, 134, 0.12);
}

#addcomment textarea {
	min-height: 96px !important;
	resize: vertical;
}

/* Footer azioni: Invio + Annulla stesso stile */
#addcomment .sf-review-actions,
#addcomment #commento table + table tr:last-child {
	display: block !important;
	margin-top: 8px !important;
	padding-top: 12px;
	border-top: 1px solid #d5e3df;
}

#addcomment #commento table + table tr:last-child td {
	display: block !important;
	width: 100% !important;
}

#addcomment #commento table + table tr:last-child td:first-child p,
#addcomment .sf-review-required {
	margin: 0 0 12px !important;
	font-size: 12px;
	color: #6b7c78;
}

#addcomment .sf-review-btn-row,
#addcomment #commento table + table tr:last-child td:last-child {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100% !important;
}

#addcomment #commento table + table tr:last-child td:last-child .note {
	display: contents;
}

/* nasconde la "o" tra i due controlli */
#addcomment #commento table + table tr:last-child td:last-child {
	font-size: 0;
}

#addcomment input[type="submit"],
#addcomment .buttonHighlight,
#addcomment .sf-btn,
#addcomment a.sf-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px !important;
	min-width: 120px;
	padding: 10px 18px !important;
	margin: 0 !important;
	border-radius: 6px !important;
	box-sizing: border-box;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, filter 0.2s ease;
}

#addcomment input[type="submit"],
#addcomment .buttonHighlight,
#addcomment .sf-btn--primary {
	border: 1px solid #026086 !important;
	background: #026086 !important;
	color: #fff !important;
}

#addcomment input[type="submit"]:hover,
#addcomment .buttonHighlight:hover,
#addcomment .sf-btn--primary:hover {
	filter: brightness(1.06);
}

#addcomment a.sf-btn--secondary,
#addcomment .sf-btn--secondary {
	border: 1px solid #5a958c !important;
	background: #fff !important;
	color: #026086 !important;
}

#addcomment a.sf-btn--secondary:hover,
#addcomment .sf-btn--secondary:hover {
	background: #eef5f3 !important;
}

#addcomment input[type="submit"]:focus,
#addcomment a.sf-btn:focus {
	outline: 2px solid #026086;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	#addcomment input[type="text"],
	#addcomment textarea,
	#addcomment .mbInput,
	#addcomment input[type="submit"],
	#addcomment .sf-btn,
	#addcomment a.sf-btn {
		transition: none !important;
	}
}

/* SofaItaly iframe embed: no height feedback loop */
html.sf-in-iframe,
html.sf-in-iframe body {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
}

/* Float collapse su #commento gonfiava la paginazione (clearfix) => scroll infinito */
html.sf-in-iframe #container {
	display: flow-root !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}
html.sf-in-iframe #commento,
html.sf-in-iframe div#commento {
	float: none !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}
html.sf-in-iframe #blok,
html.sf-in-iframe div#blok {
	float: none !important;
	width: 100% !important;
}
html.sf-in-iframe .content_sortPagiBar,
html.sf-in-iframe .bottom-pagination-content {
	float: none !important;
	clear: both !important;
	height: auto !important;
	min-height: 0 !important;
}

/* Testo selezionabile (anche iOS) */
html.sf-in-iframe,
html.sf-in-iframe body,
html.sf-in-iframe #container,
html.sf-in-iframe #commento,
html.sf-in-iframe .blok2,
html.sf-in-iframe .blok2 p,
html.sf-in-iframe .titolo {
	-webkit-user-select: text !important;
	user-select: text !important;
	-webkit-touch-callout: default !important;
	pointer-events: auto !important;
}
/* overflow hidden impedisce selezione su iOS: usa visible ora che altezza è lockata */
html.sf-in-iframe,
html.sf-in-iframe body {
	overflow-x: hidden !important;
	overflow-y: visible !important;
}
