/**
 * Site-wide callback FAB overrides.
 *
 * Parent modal.css hides the button on tablet (771–992) and makes it
 * in-flow full-width on mobile — that only makes sense inside the PDP
 * summary. For the footer site-wide FAB we keep it fixed bottom-right
 * on every viewport.
 */

/* Always fixed bottom-right (override parent tablet hide + mobile in-flow). */
.call-back-feature.printley-callback-sitewide {
	display: block;
	position: fixed;
	z-index: 40;
	right: 20px;
	bottom: 20px;
	width: auto;
	margin: 0;
	transition: transform 0.2s linear;
}

.call-back-feature.printley-callback-sitewide:hover {
	transform: scale(1.03);
}

.call-back-feature.printley-callback-sitewide button {
	width: auto;
	padding: 0.8em 1.3em;
	border: none;
	border-radius: 5px;
	color: #fff;
	background-color: #dc9814;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

/* Clear sticky-add-to-cart / mobile bars if present. */
.sticky-b .call-back-feature.printley-callback-sitewide {
	bottom: 85px;
}

@media (min-width: 993px) {
	.call-back-feature.printley-callback-sitewide {
		right: 30px;
		bottom: 30px;
	}
}

@media (max-width: 480px) {
	.call-back-feature.printley-callback-sitewide {
		right: 12px;
		bottom: 12px;
		left: 12px;
	}

	.call-back-feature.printley-callback-sitewide button {
		width: 100%;
		font-size: 13px;
		padding: 0.95em 1em;
	}
}

/* Modal content spacing when there is no product header strip. */
.printley-callback-modal-content .wpcf7 {
	margin: 0;
}

.printley-callback-modal-content .wpcf7 label {
	font-size: 13px;
	font-weight: 600;
}

.printley-callback-modal-content .wpcf7 input[type="text"],
.printley-callback-modal-content .wpcf7 input[type="tel"],
.printley-callback-modal-content .wpcf7 input[type="email"],
.printley-callback-modal-content .wpcf7 textarea {
	width: 100%;
	max-width: 100%;
}

.printley-callback-modal-content .wpcf7 input.wpcf7-submit {
	width: 100%;
	margin-top: 0.25rem;
}

/* Readonly datetime field. */
input#callback-time,
input.printley-callback-datetime {
	cursor: default;
	background-color: #fffdf7;
	font-weight: 600;
}

input#callback-time:not(:placeholder-shown),
input.printley-callback-datetime:not(:placeholder-shown) {
	border-color: #dc9814;
	color: #222;
}

/* Hint under the time field (set via form HTML). */
.printley-callback-time-hint {
	display: block;
	margin-top: 0.25rem;
	font-size: 12px;
	font-weight: 400;
	color: #666;
	line-height: 1.35;
}

/* Inline calendar mount under the field. */
.printley-callback-datepicker-mount {
	margin: 0.55rem 0 0.35rem;
	max-width: 100%;
}

.printley-callback-datepicker-mount .air-datepicker {
	--adp-accent-color: #dc9814;
	--adp-cell-background-color-selected: #dc9814;
	--adp-cell-background-color-selected-hover: #c98610;
	--adp-btn-color: #dc9814;
	--adp-btn-color-hover: #c98610;
	position: relative !important;
	width: 100%;
	max-width: 320px;
	font-family: inherit;
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
	border: 1px solid #e8e0d0;
}

.printley-callback-datepicker-mount .air-datepicker-cell.-selected-,
.printley-callback-datepicker-mount .air-datepicker-cell.-selected-.-focus- {
	background: #dc9814 !important;
	color: #fff !important;
}

.printley-callback-datepicker-mount .air-datepicker-cell.-current- {
	color: #dc9814;
	font-weight: 700;
}

/* Chosen date/time echo. */
.printley-callback-selected {
	display: block;
	margin: 0.35rem 0 0.25rem;
	padding: 0.45rem 0.65rem;
	border-radius: 6px;
	background: #f7f1e6;
	border: 1px solid #e6d3a8;
	color: #333;
	font-size: 13px;
	line-height: 1.35;
}
.printley-callback-selected[hidden] {
	display: none !important;
}
.printley-callback-selected strong {
	color: #a56b00;
	font-weight: 700;
}

/* Clear button under the picker (type=button — never submits CF7). */
button.printley-callback-clear {
	display: inline-block;
	margin: 0.15rem 0 0.5rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid #ccc;
	border-radius: 5px;
	background: #f5f5f5;
	color: #444;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}
button.printley-callback-clear:hover {
	background: #eee;
	border-color: #bbb;
}

/* LT phone mask field */
input[data-printley-lt-phone="1"],
#callback-phone,
#contact-phone {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
}
.printley-lt-phone-error {
	display: none;
	margin-top: 0.25rem;
	color: #b32d2e;
	font-size: 12px;
	line-height: 1.35;
}

/* Modal must not clip the inline calendar. */
dialog.shoptimizer-modal[data-shoptimizermodal-id="callBack"] .shoptimizer-modal--container {
	overflow-x: hidden;
	overflow-y: auto;
}
dialog.shoptimizer-modal[data-shoptimizermodal-id="callBack"] .shoptimizer-modal--content {
	overflow: visible;
}
