/* ===========================================================================
   DETAIL LAYOUT — Page structure, hero, sidebar, breadcrumbs
   Petz.gr

   !important: kept on Modesy overrides (.product-content-details, .product-price,
   .product-meta-info, .product-delivery-est, .btn-contact-seller)
   =========================================================================== */

/* ── Hero section ────────────────────────────────────────── */

.pet-hero-title {
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--petz-text-dark);
	margin: 24px 0 16px 0;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

.pet-hero-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 30px;
	font-size: 1rem;
	color: var(--petz-text-medium);
}

.pet-hero-meta .pet-location,
.pet-hero-meta .pet-date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.pet-hero-meta i {
	color: var(--petz-primary);
	font-size: 1.1rem;
}

.petz-hero {
	margin-bottom: 40px;
}

/* ── Sidebar / Product content ───────────────────────────── */
/* !important needed — overrides Modesy .product-content (L5200+) */

.product-content-details {
	background: var(--petz-bg-white) !important;
	padding: 32px !important;
	border-radius: var(--petz-radius) !important;
	border: 1px solid var(--petz-border) !important;
	box-shadow: var(--petz-shadow-md) !important;
	position: sticky !important;
	top: 20px !important;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
}

.product-content-details .pet-publisher {
	font-size: 1rem;
	font-weight: 600;
	color: var(--petz-text-medium);
	margin-bottom: 16px;
	display: block;
}

.product-content-details .pet-publisher a {
	color: var(--petz-primary) !important;
	text-decoration: none !important;
}

.product-content-details .pet-publisher a:hover {
	text-decoration: underline !important;
}

/* !important needed — overrides Modesy .product-meta */
.product-meta-info {
	margin-bottom: 20px !important;
	padding-bottom: 20px !important;
	border-bottom: 1px solid var(--petz-border) !important;
}

.product-analytics {
	font-size: 0.9rem;
}

.product-analytics span {
	margin-left: 16px;
}

.product-analytics i {
	color: var(--petz-text-medium);
}

/* !important needed — overrides Modesy .product-price */
.product-price {
	font-size: 1.8rem !important;
	font-weight: 800 !important;
	color: var(--petz-primary) !important;
	margin-bottom: 8px !important;
	display: block !important;
}

.product-content-details .flex-item.mb-3::before {
	content: "Συνεισφορά Υιοθεσίας";
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--petz-text-medium);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.product-description-container {
	padding-top: 0;
}

.product-content-details .product-delivery-est {
	display: none !important;
}

.product-content-details .item strong {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--petz-text-medium);
}

.product-content-details .row-custom.details {
	margin-top: 24px;
}

/* ── Location map ────────────────────────────────────────── */

.product-location-map iframe {
	width: 100%;
	height: 400px;
	border-radius: var(--petz-radius);
	border: 1px solid var(--petz-border);
}

/* ── Item details (key-value rows) ───────────────────────── */

.item-details {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--petz-border);
}

.item-details:last-child {
	border-bottom: none;
}

.item-details .left label {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--petz-text-medium);
	margin: 0;
}

.item-details .right span {
	font-size: 1rem;
	font-weight: 600;
	color: var(--petz-text-dark);
}

/* ── Breadcrumbs ─────────────────────────────────────────── */

.nav-breadcrumb {
	margin-bottom: 16px;
}

.breadcrumb-row {
	margin-bottom: 15px;
}

.breadcrumb-poster-row {
	margin-bottom: 10px;
}

.breadcrumb-poster-row > .row {
	align-items: flex-start;
}

.breadcrumb-poster-row .nav-breadcrumb .breadcrumb,
.breadcrumb-row .nav-breadcrumb .breadcrumb {
	margin-bottom: 0;
}

.breadcrumb-poster-row .col-lg-8 {
	padding-top: 8px;
}

.breadcrumb-poster-row .col-lg-4 {
	overflow: visible;
}

.breadcrumb-poster-row .breadcrumb,
.breadcrumb-row .breadcrumb {
	background: transparent;
	padding: 0;
	font-size: 0.85rem;
	font-weight: 600;
}

.breadcrumb-poster-row .breadcrumb-item + .breadcrumb-item::before,
.breadcrumb-row .breadcrumb-item + .breadcrumb-item::before {
	content: "›";
	color: #999;
	font-weight: 400;
	padding: 0 8px;
}

.breadcrumb-poster-row .breadcrumb-item a,
.breadcrumb-row .breadcrumb-item a {
	color: var(--petz-primary, #27ae60);
	text-decoration: none;
	transition: all 0.2s ease;
}

.breadcrumb-poster-row .breadcrumb-item a:hover,
.breadcrumb-row .breadcrumb-item a:hover {
	color: #1e8449;
	text-decoration: underline;
}

.breadcrumb-poster-row .breadcrumb-item.active,
.breadcrumb-row .breadcrumb-item.active {
	color: #6c757d;
	font-weight: 600;
}

.breadcrumb-poster-row .breadcrumb-item a i,
.breadcrumb-row .breadcrumb-item a i {
	font-size: 0.9rem;
	vertical-align: middle;
}

.breadcrumb-poster-row .breadcrumb-item:first-child a svg,
.breadcrumb-row .breadcrumb-item:first-child a svg {
	display: inline-block !important;
	vertical-align: middle;
	margin-right: 0;
}

/* ── SEO title row ───────────────────────────────────────── */

.petz-title-poster-row {
	margin-bottom: 10px;
}

.petz-title-poster-row .petz-seo-h1 {
	font-size: 1.05rem;
	font-weight: 600;
	color: #555;
	margin: 0;
	line-height: 1.4;
	background: #fff;
	border-left: 3px solid var(--petz-primary, #5cb85c);
	padding: 10px 16px;
	border-radius: 0 8px 8px 0;
}

/* ── Characteristic card/tag ─────────────────────────────── */

.pet-characteristic-card {
	background: var(--petz-bg-page);
	padding: 20px;
	border-radius: var(--petz-radius);
	display: flex;
	flex-direction: column;
	border: 1px solid var(--petz-border);
	transition: all 0.2s ease;
}

.pet-characteristic-card:hover {
	border-color: var(--petz-primary);
	transform: translateY(-2px);
	box-shadow: var(--petz-shadow-sm);
}

.pet-characteristic-tag {
	display: inline-flex;
	align-items: center;
	background-color: #f0f7ff;
	color: var(--mds-color-main);
	padding: 8px 16px;
	border-radius: 50px;
	font-size: 0.95rem;
	font-weight: 600;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	transition: transform 0.2s;
	border: 1px solid rgba(13, 101, 217, 0.2);
}

.pet-characteristic-tag i {
	margin-right: 6px;
	font-size: 0.9rem;
	color: var(--mds-color-main);
}

.pet-characteristic-tag:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* ── Location rows ───────────────────────────────────────── */

.location-row {
	font-size: 1rem;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--petz-border);
}

.location-row:last-of-type {
	border-bottom: none;
}

.loc-label {
	font-weight: 600;
	color: var(--petz-text-medium);
	margin-right: 8px;
}

.loc-value {
	color: var(--petz-text-dark);
	font-weight: 600;
}

.location-link {
	color: var(--petz-primary, #5cb85c);
	text-decoration: none;
	font-weight: 600;
}

.location-link:hover {
	color: var(--petz-primary-hover, #4cae4c);
	text-decoration: underline;
}

.pet-location-date-box {
	margin-top: 15px;
	margin-bottom: 20px;
}

/* ── Page decorations (paw prints) ───────────────────────── */

.pet-adoption-page .petz-secondary-btn:hover i {
	color: #fff;
}

.pet-adoption-page .product-slider-wrapper {
	display: none;
}

.pet-adoption-page #wrapper,
.pet-service-page #wrapper,
.pet-lostfound-page #wrapper {
	position: relative;
	overflow: visible;
}

.pet-adoption-page #wrapper::after,
.pet-service-page #wrapper::after,
.pet-lostfound-page #wrapper::after {
	content: '';
	position: fixed;
	bottom: -50px;
	right: -50px;
	width: 350px;
	height: 350px;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg' fill='%232196f3' opacity='0.06'%3E%3Cellipse transform='rotate(-6.212 96.651 75.058)' cx='96.65' cy='75.06' rx='7.46' ry='10.19'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-3.438 45.482 24.473)' cx='45.49' cy='24.46' rx='7.7' ry='10.06'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-83.131 62.972 30.562)' cx='62.97' cy='30.56' rx='9.6' ry='7.7'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-13.239 27.21 27.8)' cx='27.21' cy='27.8' rx='7.83' ry='10.74'%3E%3C/ellipse%3E%3Cpath d='M89.66 94.36c15.11-8.45 32.4 3.47 30.13 12.58c-2.44 9.76-11.73 4.5-18.68 7.04c-4.27 1.56-10.79 10.32-18.3 4.97c-6.55-4.67-3.01-19.08 6.85-24.59z'%3E%3C/path%3E%3Cpath d='M38.16 40.41c10.8-2.83 25.86 5.56 24.14 15.13c-1.62 9.01-14.14 5.08-19.22 6.97c-6.62 2.46-14.92 9.71-19.64 2.46c-5.32-8.19 5.24-22.07 14.72-24.56z'%3E%3C/path%3E%3Cellipse transform='rotate(-30 12.909 40.928)' cx='12.91' cy='40.93' rx='7.71' ry='9.95'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-30 79.075 82.363)' cx='79.08' cy='82.36' rx='8.01' ry='10.19'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-35.353 67.223 97.302)' cx='67.22' cy='97.3' rx='7.46' ry='10.19'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-3.533 115.05 78.335)' cx='115.06' cy='78.32' rx='7.43' ry='9.46'%3E%3C/ellipse%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: -1;
	opacity: 1;
}

.pet-adoption-page #wrapper::before,
.pet-service-page #wrapper::before,
.pet-lostfound-page #wrapper::before {
	content: '';
	position: fixed;
	top: 150px;
	left: -30px;
	width: 180px;
	height: 180px;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg' fill='%232196f3' opacity='0.1'%3E%3Cellipse transform='rotate(-6.212 96.651 75.058)' cx='96.65' cy='75.06' rx='7.46' ry='10.19'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-3.438 45.482 24.473)' cx='45.49' cy='24.46' rx='7.7' ry='10.06'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-83.131 62.972 30.562)' cx='62.97' cy='30.56' rx='9.6' ry='7.7'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-13.239 27.21 27.8)' cx='27.21' cy='27.8' rx='7.83' ry='10.74'%3E%3C/ellipse%3E%3Cpath d='M89.66 94.36c15.11-8.45 32.4 3.47 30.13 12.58c-2.44 9.76-11.73 4.5-18.68 7.04c-4.27 1.56-10.79 10.32-18.3 4.97c-6.55-4.67-3.01-19.08 6.85-24.59z'%3E%3C/path%3E%3Cpath d='M38.16 40.41c10.8-2.83 25.86 5.56 24.14 15.13c-1.62 9.01-14.14 5.08-19.22 6.97c-6.62 2.46-14.92 9.71-19.64 2.46c-5.32-8.19 5.24-22.07 14.72-24.56z'%3E%3C/path%3E%3Cellipse transform='rotate(-30 12.909 40.928)' cx='12.91' cy='40.93' rx='7.71' ry='9.95'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-30 79.075 82.363)' cx='79.08' cy='82.36' rx='8.01' ry='10.19'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-35.353 67.223 97.302)' cx='67.22' cy='97.3' rx='7.46' ry='10.19'%3E%3C/ellipse%3E%3Cellipse transform='rotate(-3.533 115.05 78.335)' cx='115.06' cy='78.32' rx='7.43' ry='9.46'%3E%3C/ellipse%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	transform: rotate(-25deg);
	pointer-events: none;
	z-index: -1;
	opacity: 1;
}

/* ── Floating panel (fp-*) ───────────────────────────────── */

.fp-phone-number {
	font-weight: 700;
	letter-spacing: 1px;
	font-family: monospace;
}

.fp-reveal-btn {
	background: transparent;
	border: 2px solid #ff6b35;
	color: #ff6b35;
	padding: 6px 16px;
	border-radius: 20px;
	font-weight: 600;
	font-size: 0.85rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.fp-reveal-btn:hover {
	background: #ff6b35;
	color: #fff;
	transform: scale(1.05);
	background-color: var(--mds-color-main);
}

.fp-location {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 0.9rem;
	color: var(--petz-text-medium);
	margin: 12px 0;
}

.fp-location i {
	color: var(--mds-color-main);
}

.fp-share {
	border-top: 1px solid #e9ecef;
	padding-top: 16px;
	text-align: center;
	width: 100%;
}

.fp-share-label {
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--petz-text-dark);
	margin-bottom: 12px;
}

.fp-share-desc {
	font-size: 0.95rem;
	color: #4a5568;
	margin-bottom: 12px;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}

.fp-affiliate {
	text-align: center;
	padding-top: 12px;
	border-top: 1px solid #e9ecef;
}

/* ── Misc layout ─────────────────────────────────────────── */

#pet-location::before,
#pet-comments::before,
#pet-reviews::before {
	display: none;
}

.glightbox-container .gslide img {
	cursor: zoom-out;
}

.pet-details-single {
	font-size: 0.95rem;
	color: #555;
	padding: 6px 0;
	border-bottom: 1px dashed #eee;
}

.pet-details-single:last-child {
	border-bottom: none;
}

.pet-title-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 5px;
}

.pet-title-row .product-title {
	margin-bottom: 0;
}

.petz-org-section {
	margin-top: 20px;
}

.sidebar-info-compact {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 16px;
	background: #f8f9fa;
	border-radius: 10px;
	border: 1px solid #e9ecef;
}

/* ── Verified badges ─────────────────────────────────────── */

.verified-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	position: relative;
	top: -1px;
	margin-left: 6px;
	transition: transform 0.2s ease;
}

.verified-badge:hover {
	transform: scale(1.15);
}

.verified-badge svg {
	display: block;
}

.verified-service svg {
	filter: drop-shadow(0 1px 2px rgba(245, 166, 35, 0.3));
}

.profile-details h1 .verified-badge,
.profile-name .verified-badge,
.user-info-name .verified-badge {
	top: -2px;
	margin-left: 8px;
}

.pb-icon-top svg {
	width: 26px;
	height: 26px;
}

/* ── Status badges ───────────────────────────────────────── */

.petz-status-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 10;
	padding: 8px 16px;
	border-radius: 8px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.petz-status-badge.badge-sold {
	background: linear-gradient(135deg, #ff6b6b 0%, #c0392b 100%);
	color: #fff;
}

.petz-status-badge.badge-pending {
	background: linear-gradient(135deg, #fd7e14 0%, #ffc107 100%);
	color: #fff;
}

.petz-lf-status {
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 4px;
}

.petz-lf-status-lost {
	background: rgba(238, 0, 0, 0.1);
	color: #d00;
}

.petz-lf-status-found {
	background: rgba(40, 167, 69, 0.1);
	color: #28a745;
}

.petz-lf-date {
	color: var(--petz-text-medium);
}

.petz-badge-lost,.badge-status.lost {
	box-shadow: 0 2px 12px rgba(220, 53, 69, 0.3);
}

.petz-badge-found,.badge-status.found {
	box-shadow: 0 2px 12px rgba(40, 167, 69, 0.3);
}

/* ── Attributes ──────────────────────────────────────────── */

.petz-attr {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8rem;
	color: var(--petz-text-dark);
	padding: 4px 0;
}

.petz-attr svg {
	width: 14px;
	height: 14px;
	fill: var(--petz-primary);
	flex-shrink: 0;
}

.petz-attr svg[stroke] {
	fill: none;
	stroke: var(--petz-primary);
}

.petz-attr span {
	color: #555;
}
/* ── Form sections ───────────────────────────────────────── */

.user-type-options {
	margin-top: 15px;
}

.form-section-group {
	border-left: 3px solid var(--petz-primary);
	padding-left: 20px;
	margin-bottom: 25px;
	padding-top: 5px;
	padding-bottom: 10px;
	background: linear-gradient(90deg, rgba(var(--petz-primary-rgb), 0.02) 0%, transparent 50%);
	border-radius: 0 8px 8px 0;
}

.form-section-title {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--petz-primary, #27ae60);
	margin-bottom: 18px;
}

#organization_details_section {
	animation: slideDown 0.3s ease;
}

/* ── File upload drop zone ───────────────────────────────── */

#vendor_documents_container {
	border: 2px dashed #b2dfdb;
	border-radius: 12px;
	background: linear-gradient(135deg, #f0fdf4 0%, #f8fffe 100%);
	padding: 28px 24px;
	text-align: center;
	transition: border-color 0.25s ease, background 0.25s ease;
	margin-top: 10px;
}

#vendor_documents_container:hover {
	border-color: var(--petz-primary, #27ae60);
	background: linear-gradient(135deg, #e8f8ec 0%, #f0fdf4 100%);
}

#vendor_documents_container .control-label {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--petz-text-dark, #333);
	margin-bottom: 6px;
	display: block;
}

#vendor_documents_container .control-label .text-muted {
	display: block;
	font-weight: 400;
	font-size: 0.82rem;
	margin-top: 4px;
	color: #7a8a7e;
}

#vendor_documents_container .btn-file-upload-start-selling {
	border-radius: 8px !important;
	padding: 10px 28px !important;
	font-size: 0.9rem !important;
	font-weight: 600;
	letter-spacing: 0.3px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}

/* ── Verification status cards ───────────────────────────── */

.verification-status-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 24px 28px;
	border-radius: 12px;
	margin-bottom: 24px;
	border-left: 4px solid;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.verification-status-card .status-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.verification-status-card .status-content {
	flex: 1;
}

.verification-status-card .status-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 6px 0;
}

.verification-status-card .status-desc {
	font-size: 0.9rem;
	color: #555;
	margin: 0;
	line-height: 1.6;
}

/* Pending */
.verification-status-card.status-pending {
	background: linear-gradient(135deg, #f0f7ff 0%, #f8fbff 100%);
	border-left-color: #3498db;
}

.status-pending .status-icon {
	background: rgba(52, 152, 219, 0.12);
	color: #3498db;
}

.status-pending .status-title {
	color: #2980b9;
}

/* Rejected (resubmittable) */
.verification-status-card.status-rejected {
	background: linear-gradient(135deg, #fef5f0 0%, #fff9f7 100%);
	border-left-color: #e67e22;
}

.status-rejected .status-icon {
	background: rgba(230, 126, 34, 0.12);
	color: #e67e22;
}

.status-rejected .status-title {
	color: #d35400;
}

/* Permanently rejected */
.verification-status-card.status-permanent {
	background: linear-gradient(135deg, #fdf2f2 0%, #fff7f7 100%);
	border-left-color: #c0392b;
}

.status-permanent .status-icon {
	background: rgba(192, 57, 43, 0.12);
	color: #c0392b;
}

.status-permanent .status-title {
	color: #a93226;
}

/* Rejection reason box */
.rejection-reason-box {
	margin-top: 14px;
	padding: 12px 16px;
	background: rgba(0, 0, 0, 0.04);
	border-left: 3px solid #aaa;
	border-radius: 0 6px 6px 0;
}

.rejection-reason-box strong {
	display: block;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: #666;
	margin-bottom: 4px;
}

.rejection-reason-box p {
	margin: 0;
	font-size: 0.9rem;
	color: #333;
	line-height: 1.5;
}

/* !important needed — overrides Modesy .page-title */
.page-title-product {
	font-size: 2rem !important;
	font-weight: 800 !important;
	color: var(--petz-text-dark);
	text-align: center;
	margin-bottom: 10px !important;
}

.title-start-selling-box {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #3d7a3d;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: 10px;
}

/* ── Text truncation ─────────────────────────────────────── */

.product-item .product-item-title,
.product-item h3,
.product-item .title a {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

.pet-name-hero h1,
.product-title h1,
.pet-hero-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.pet-name-hero,
.petz-hero-title h1,
.product-details-container h1 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product-sidebar-content h1,
.pet-title-box h1,
.petz-hero-card h1,
#product-sidebar h1,
.sidebar-sticky h1 {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	word-break: break-word;
}

/* !important — overrides Modesy .product-title display */
h1.product-title {
	display: block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	max-width: 100% !important;
}

footer {
	margin-top: 40px;
}

/* ── Accessibility ───────────────────────────────────────── */

.petz-primary-btn:focus,
.petz-secondary-btn:focus,
.btn-contact-seller:focus,
.btn-wishlist:focus {
	outline: 3px solid rgba(92, 184, 92, 0.5);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*,*::before,*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ── Responsive ──────────────────────────────────────────── */



@media (min-width: 992px) {
	#pet-reviews,#pet-comments { margin-top: 0; }
}
