/**
 * Pro Elegant Store — vendor storefront stylesheet.
 *
 * Scoped entirely under .ermisway-pro1 — never loaded globally.
 * Loaded only on store pages where template key = pro_elegant_store.
 *
 * Design: Ermisway Pro Store Template (Figma)
 * Colors: emerald-600 (#059669) primary, gray-50 (#F9FAFB) bg,
 *         white cards, gray-900 (#111827) text.
 *
 * @package ProjectName_Core
 */

/* ─────────────────────────────────────────────────────────────────────────────
   TOKENS
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1 {
	--pro1-primary:        #059669;
	--pro1-primary-hover:  #047857;
	--pro1-primary-light:  #ECFDF5;
	--pro1-primary-border: #A7F3D0;
	--pro1-primary-border-hover: #6EE7B7;
	--pro1-bg:             #F9FAFB;
	--pro1-card-bg:        #ffffff;
	--pro1-border:         #E5E7EB;
	--pro1-text:           #111827;
	--pro1-text-secondary: #6B7280;
	--pro1-text-muted:     #9CA3AF;
	--pro1-yellow:         #FBBF24;
	--pro1-shadow-sm:      0 1px 2px rgba(0,0,0,.05);
	--pro1-shadow:         0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
	--pro1-shadow-lg:      0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
	--pro1-shadow-xl:      0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);
	--pro1-radius-sm:      0.375rem;
	--pro1-radius:         0.5rem;
	--pro1-radius-lg:      0.75rem;
	--pro1-radius-xl:      1rem;
	--pro1-inner-max:      80rem;
	--pro1-inner-px:       1rem;
	--pro1-transition:     150ms ease;

	background-color: var(--pro1-bg);
	color: var(--pro1-text);
	font-family: inherit;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ADMIN PREVIEW BANNER
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__preview-note {
	background: #FEF3C7;
	border-bottom: 1px solid #FCD34D;
	color: #92400E;
	text-align: center;
	font-size: .8125rem;
	font-weight: 600;
	padding: .5rem 1rem;
	letter-spacing: .02em;
}

/* ─────────────────────────────────────────────────────────────────────────────
   LAYOUT HELPERS
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__inner {
	max-width: var(--pro1-inner-max);
	margin-inline: auto;
	padding-inline: var(--pro1-inner-px);
}

.ermisway-pro1__ul-reset {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   1. HERO BANNER
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__hero {
	position: relative;
}

.ermisway-pro1__hero-media {
	position: relative;
	height: 16rem;
	overflow: hidden;
}
@media (min-width: 48em) {
	.ermisway-pro1__hero-media { height: 20rem; }
}
@media (min-width: 64em) {
	.ermisway-pro1__hero-media { height: 24rem; }
}

.ermisway-pro1__hero-img,
.ermisway-pro1__hero-fallback {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.ermisway-pro1__hero-fallback {
	background: linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 50%, #6EE7B7 100%);
}

.ermisway-pro1__hero-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.6) 0%, rgba(0,0,0,.2) 50%, transparent 100%);
	pointer-events: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   2. STORE INFO CARD (overlapping hero)
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__card-wrap {
	position: relative;
	margin-top: -4rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__card-wrap { margin-top: -5rem; }
}

.ermisway-pro1__info-card {
	background: var(--pro1-card-bg);
	border-radius: var(--pro1-radius-xl);
	box-shadow: var(--pro1-shadow-xl);
	border: 1px solid var(--pro1-border);
	padding: 1.5rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__info-card { padding: 2rem; }
}

.ermisway-pro1__info-card-inner {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__info-card-inner { flex-direction: row; gap: 1.5rem; }
}

/* Avatar */
.ermisway-pro1__avatar-wrap {
	position: relative;
	flex-shrink: 0;
	margin-top: -5rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__avatar-wrap { margin-top: -6rem; }
}

.ermisway-pro1__avatar {
	width: 7rem;
	height: 7rem;
	border-radius: var(--pro1-radius-xl);
	background: var(--pro1-card-bg);
	box-shadow: var(--pro1-shadow-lg);
	border: 4px solid var(--pro1-card-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}
@media (min-width: 48em) {
	.ermisway-pro1__avatar { width: 9rem; height: 9rem; }
}

.ermisway-pro1__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: calc(var(--pro1-radius-xl) - 4px);
}

.ermisway-pro1__avatar-initials {
	font-size: 2rem;
	font-weight: 700;
	color: var(--pro1-primary);
	background: var(--pro1-primary-light);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: calc(var(--pro1-radius-xl) - 4px);
}
@media (min-width: 48em) {
	.ermisway-pro1__avatar-initials { font-size: 2.5rem; }
}

/* Store details */
.ermisway-pro1__store-details {
	flex: 1;
	min-width: 0;
}

.ermisway-pro1__details-row {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
@media (min-width: 64em) {
	.ermisway-pro1__details-row {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}
}

.ermisway-pro1__details-left {
	flex: 1;
	min-width: 0;
}

/* Store name */
.ermisway-pro1__store-name {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--pro1-text);
	line-height: 1.2;
	margin: 0 0 .375rem;
	display: flex;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
}
@media (min-width: 48em) {
	.ermisway-pro1__store-name { font-size: 2.25rem; }
}

.ermisway-pro1__badge-slot {
	display: inline-flex;
	align-items: center;
}

.ermisway-pro1__store-category {
	font-size: 1rem;
	color: var(--pro1-text-secondary);
	margin: 0 0 .875rem;
}

/* Meta row: rating + status chip */
.ermisway-pro1__meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .875rem;
	margin-bottom: .875rem;
}

/* Stars */
.ermisway-pro1__rating {
	display: flex;
	align-items: center;
	gap: .375rem;
}

.ermisway-pro1__stars {
	display: flex;
	align-items: center;
	gap: 1px;
}

.ermisway-pro1__rating-value {
	font-weight: 700;
	font-size: .9375rem;
	color: var(--pro1-text);
}

.ermisway-pro1__rating-count {
	font-size: .875rem;
	color: var(--pro1-text-secondary);
}

/* Status chip */
.ermisway-pro1__status-chip {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	padding: .3125rem .75rem;
	border-radius: 9999px;
	font-size: .8125rem;
	font-weight: 600;
}

.ermisway-pro1__status-chip--open {
	background: var(--pro1-primary-light);
	color: #065F46;
	border: 1px solid var(--pro1-primary-border);
}

.ermisway-pro1__status-chip--closed {
	background: #FEF2F2;
	color: #991B1B;
	border: 1px solid #FECACA;
}

/* Address */
.ermisway-pro1__address {
	display: flex;
	align-items: center;
	gap: .375rem;
	font-size: .9375rem;
	color: var(--pro1-text-secondary);
	margin-bottom: .875rem;
}

.ermisway-pro1__address svg {
	flex-shrink: 0;
	color: var(--pro1-primary);
}

/* Delivery / pickup badges */
.ermisway-pro1__fulfil-row {
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
	margin-bottom: 1rem;
}

.ermisway-pro1__fulfil-badge {
	display: inline-flex;
	align-items: center;
	gap: .4375rem;
	padding: .4375rem 1rem;
	background: var(--pro1-primary-light);
	border: 1px solid var(--pro1-primary-border);
	border-radius: var(--pro1-radius);
	font-size: .8125rem;
	font-weight: 600;
	color: var(--pro1-text);
}

.ermisway-pro1__fulfil-badge svg { color: var(--pro1-primary); flex-shrink: 0; }

/* Short about text in card */
.ermisway-pro1__info-card-about {
	font-size: .9375rem;
	color: var(--pro1-text-secondary);
	line-height: 1.65;
	margin: 0;
	max-width: 42rem;
}

/* CTA group */
.ermisway-pro1__cta-group {
	display: flex;
	gap: .75rem;
	flex-shrink: 0;
}
@media (min-width: 64em) {
	.ermisway-pro1__cta-group { flex-direction: column; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BUTTONS
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .6875rem 1.75rem;
	border-radius: var(--pro1-radius);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	text-decoration: none;
	border: 2px solid transparent;
	transition: background var(--pro1-transition), color var(--pro1-transition), border-color var(--pro1-transition), box-shadow var(--pro1-transition);
	white-space: nowrap;
}

.ermisway-pro1__btn--primary {
	background: var(--pro1-primary);
	color: #ffffff;
	border-color: var(--pro1-primary);
	box-shadow: var(--pro1-shadow);
}
.ermisway-pro1__btn--primary:hover,
.ermisway-pro1__btn--primary:focus-visible {
	background: var(--pro1-primary-hover);
	border-color: var(--pro1-primary-hover);
	box-shadow: var(--pro1-shadow-lg);
	color: #ffffff;
}

.ermisway-pro1__btn--outline {
	background: var(--pro1-card-bg);
	color: var(--pro1-text);
	border-color: var(--pro1-text);
}
.ermisway-pro1__btn--outline:hover,
.ermisway-pro1__btn--outline:focus-visible {
	background: var(--pro1-bg);
	color: var(--pro1-text);
}

.ermisway-pro1__btn--block {
	width: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ANNOUNCEMENT SLOT
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__announcement-slot {
	margin-top: 1rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
   3. BODY: MAIN + SIDEBAR LAYOUT
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__body {
	padding-block: 2rem 3rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__body { padding-block: 3rem 4rem; }
}

.ermisway-pro1__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 64em) {
	.ermisway-pro1__layout {
		grid-template-columns: 1fr 20rem;
		gap: 2rem;
		align-items: start;
	}
}

/* ─────────────────────────────────────────────────────────────────────────────
   SECTIONS (main column)
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__main {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.ermisway-pro1__section {
	/* standalone sections have no card background */
}

.ermisway-pro1__card--section {
	background: var(--pro1-card-bg);
	border-radius: var(--pro1-radius-xl);
	border: 1px solid var(--pro1-border);
	box-shadow: var(--pro1-shadow-sm);
	padding: 1.5rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__card--section { padding: 2rem; }
}

.ermisway-pro1__section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
	flex-wrap: wrap;
}

.ermisway-pro1__section-title {
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--pro1-text);
	margin: 0;
	line-height: 1.3;
}
@media (min-width: 48em) {
	.ermisway-pro1__section-title { font-size: 1.625rem; }
}

.ermisway-pro1__section-sub {
	font-size: .875rem;
	color: var(--pro1-text-secondary);
	margin: -.75rem 0 1rem;
}

.ermisway-pro1__section-link {
	font-size: .875rem;
	font-weight: 600;
	color: var(--pro1-primary);
	text-decoration: none;
	white-space: nowrap;
}
.ermisway-pro1__section-link:hover { color: var(--pro1-primary-hover); }

/* ─────────────────────────────────────────────────────────────────────────────
   PRODUCTS GRID
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__products-grid .products {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
@media (min-width: 64em) {
	.ermisway-pro1__products-grid .products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* li wrapper */
.ermisway-pro1__product-item {
	/* inherits grid cell */
}

/* ── pn-vendor-item-card overrides for Pro layout ──────────────────────────── */
.ermisway-pro1__products-grid .pn-vendor-item-card {
	border: 1px solid var(--pro1-border);
	border-radius: var(--pro1-radius-xl);
	overflow: hidden;
	background: var(--pro1-card-bg);
	box-shadow: none;
	display: flex;
	flex-direction: column;
	transition: border-color var(--pro1-transition), box-shadow var(--pro1-transition);
}
.ermisway-pro1__products-grid .pn-vendor-item-card:hover {
	border-color: var(--pro1-primary-border-hover);
	box-shadow: var(--pro1-shadow-lg);
}

/* Square media (1:1 aspect ratio) */
.ermisway-pro1__products-grid .pn-vendor-item-card__media {
	position: relative;
	padding-bottom: 100%;
	overflow: hidden;
	background: var(--pro1-bg);
	flex-shrink: 0;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__cover {
	position: absolute;
	inset: 0;
	display: block;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: unset;
	transition: transform 0.4s ease;
}
.ermisway-pro1__products-grid .pn-vendor-item-card:hover .pn-vendor-item-card__img {
	transform: scale(1.05);
}

/* Category pill — small uppercase label on the image */
.ermisway-pro1__products-grid .pn-vendor-item-card__category-pill {
	position: absolute;
	bottom: .5rem;
	left: .5rem;
	font-size: .6875rem;
	font-weight: 700;
	color: var(--pro1-text-secondary);
	text-transform: uppercase;
	letter-spacing: .04em;
	text-decoration: none;
	background: rgba(255,255,255,.9);
	border-radius: var(--pro1-radius-sm);
	padding: .1875rem .5rem;
	backdrop-filter: blur(4px);
	line-height: 1.4;
}

/* Card body */
.ermisway-pro1__products-grid .pn-vendor-item-card__body {
	padding: .75rem 1rem .375rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__title-row {
	display: flex;
	flex-direction: column;
	gap: .125rem;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__title {
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	color: var(--pro1-text);
}
.ermisway-pro1__products-grid .pn-vendor-item-card__title a {
	color: var(--pro1-text);
	text-decoration: none;
}
.ermisway-pro1__products-grid .pn-vendor-item-card__title a:hover {
	color: var(--pro1-primary);
}

.ermisway-pro1__products-grid .pn-vendor-item-card__availability {
	font-size: .75rem;
	margin: 0;
	color: var(--pro1-text-muted);
}
.ermisway-pro1__products-grid .pn-vendor-item-card__availability--in {
	color: var(--pro1-primary);
}
.ermisway-pro1__products-grid .pn-vendor-item-card__availability--out {
	color: #DC2626;
}

/* Hide fulfillment rows — Pickup / Ships to / Shipping from */
.ermisway-pro1__products-grid .pn-vendor-item-card__meta--fulfill,
.ermisway-pro1__products-grid .pn-vendor-item-card__fulfill-lines,
.ermisway-pro1__products-grid .pn-vendor-item-card__store-name,
.ermisway-pro1__products-grid .pn-vendor-item-card__store {
	display: none !important;
}

/* Commerce row: price + add-to-cart */
.ermisway-pro1__products-grid .pn-vendor-item-card__commerce {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	padding: .625rem 1rem .875rem;
	border-top: 1px solid var(--pro1-border);
	margin-top: auto;
	flex-wrap: wrap;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__price-wrap {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__price {
	font-size: .9375rem;
	font-weight: 700;
	color: var(--pro1-primary);
	margin: 0;
}
.ermisway-pro1__products-grid .pn-vendor-item-card__price ins {
	text-decoration: none;
	font-weight: 700;
}
.ermisway-pro1__products-grid .pn-vendor-item-card__price del {
	font-size: .75rem;
	color: var(--pro1-text-muted);
	font-weight: 400;
}

/* Add to cart button */
.ermisway-pro1__products-grid .pn-vendor-item-card__footer.pn-vendor-item-card__cta,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.ermisway-pro1__products-grid .pn-vendor-item-card__cta .button,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta a.button,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta a.wp-element-button,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta button.button,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta .added_to_cart,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta .ajax_add_to_cart {
	box-sizing: border-box !important;
	width: auto !important;
	margin: 0;
	padding: .375rem .875rem !important;
	border-radius: var(--pro1-radius-lg) !important;
	background: var(--pro1-card-bg) !important;
	background-image: none !important;
	border: 1.5px solid var(--pro1-primary) !important;
	color: var(--pro1-primary) !important;
	font-size: .75rem !important;
	font-weight: 600;
	line-height: 1.3;
	min-height: 0 !important;
	text-align: center;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .25rem;
	white-space: nowrap;
	transition: background var(--pro1-transition), color var(--pro1-transition) !important;
}
.ermisway-pro1__products-grid .pn-vendor-item-card__cta .button:hover,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta a.button:hover,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta a.wp-element-button:hover,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta button.button:hover,
.ermisway-pro1__products-grid .pn-vendor-item-card__cta .ajax_add_to_cart:hover {
	background: var(--pro1-primary) !important;
	color: #ffffff !important;
	border-color: var(--pro1-primary) !important;
}
.ermisway-pro1__products-grid .pn-vendor-item-card__cta .added_to_cart {
	background: var(--pro1-primary) !important;
	border-color: var(--pro1-primary) !important;
	color: #ffffff !important;
}

/* Product rating stars */
.ermisway-pro1__products-grid .pn-product-card-rating {
	display: flex;
	align-items: center;
	gap: .25rem;
	font-size: .75rem;
	color: var(--pro1-text-secondary);
	margin-top: .25rem;
}
.ermisway-pro1__products-grid .pn-product-card-rating__star svg {
	width: .875rem;
	height: .875rem;
	fill: var(--pro1-yellow);
}

/* WooCommerce sale badge */
.ermisway-pro1__products-grid .onsale {
	position: absolute;
	top: .5rem;
	right: .5rem;
	z-index: 2;
	background: #DC2626;
	color: #fff;
	font-size: .6875rem;
	font-weight: 700;
	padding: .25rem .5rem;
	border-radius: var(--pro1-radius-sm);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0;
}

/* Link colours inside cards */
.ermisway-pro1__products-grid .pn-vendor-item-card a {
	text-decoration: none;
	color: inherit;
}

.ermisway-pro1__browse-all {
	display: block;
	width: 100%;
	margin-top: 2rem;
	padding: 1rem;
	background: var(--pro1-card-bg);
	border: 2px solid var(--pro1-text);
	border-radius: var(--pro1-radius-xl);
	text-align: center;
	font-size: 1rem;
	font-weight: 600;
	color: var(--pro1-text);
	text-decoration: none;
	transition: background var(--pro1-transition);
}
.ermisway-pro1__browse-all:hover { background: var(--pro1-bg); }

.ermisway-pro1__empty {
	color: var(--pro1-text-muted);
	font-size: .9375rem;
	text-align: center;
	padding: 2rem 0;
	margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ABOUT SECTION
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__about-body {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.ermisway-pro1__about-body p {
	margin: 0;
	font-size: .9375rem;
	color: var(--pro1-text-secondary);
	line-height: 1.7;
}

/* ─────────────────────────────────────────────────────────────────────────────
   GALLERY
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .75rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__gallery-grid { gap: 1rem; }
}

.ermisway-pro1__gallery-cell {
	aspect-ratio: 1;
	border-radius: var(--pro1-radius-xl);
	overflow: hidden;
	border: 1px solid var(--pro1-border);
	background: var(--pro1-bg);
	cursor: pointer;
	transition: border-color var(--pro1-transition);
}
.ermisway-pro1__gallery-cell:hover { border-color: var(--pro1-primary-border-hover); }

.ermisway-pro1__gallery-cell img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 300ms ease;
}
.ermisway-pro1__gallery-cell:hover img { transform: scale(1.04); }

/* ─────────────────────────────────────────────────────────────────────────────
   LOCATION / MAP
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__location-address {
	font-size: .9375rem;
	color: var(--pro1-text-secondary);
	margin: -.5rem 0 1rem;
}

.ermisway-pro1__map-wrap {
	position: relative;
	border-radius: var(--pro1-radius-xl);
	overflow: hidden;
	border: 2px solid var(--pro1-border);
	box-shadow: var(--pro1-shadow);
}

.ermisway-pro1__map-wrap iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

.ermisway-pro1__map-open {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	position: absolute;
	top: .75rem;
	left: .75rem;
	background: var(--pro1-card-bg);
	padding: .4375rem 1rem;
	border-radius: var(--pro1-radius);
	box-shadow: var(--pro1-shadow);
	border: 1px solid var(--pro1-border);
	font-size: .8125rem;
	font-weight: 600;
	color: var(--pro1-text);
	text-decoration: none;
	transition: box-shadow var(--pro1-transition);
}
.ermisway-pro1__map-open:hover { box-shadow: var(--pro1-shadow-lg); color: var(--pro1-text); }

/* Map placeholder (no lat/lng) */
.ermisway-pro1__map-placeholder {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #DBEAFE 0%, #E0F2FE 50%, #DCFCE7 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ermisway-pro1__map-pin-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .5rem;
}

.ermisway-pro1__map-pin-icon svg { display: block; }

.ermisway-pro1__map-placeholder-name {
	font-weight: 600;
	color: var(--pro1-text);
	margin: 0;
	font-size: .9375rem;
}

.ermisway-pro1__map-placeholder-addr {
	font-size: .8125rem;
	color: var(--pro1-text-secondary);
	margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ACCORDION (FAQ / POLICIES)
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__accordion-list {
	display: flex;
	flex-direction: column;
	gap: .625rem;
}

.ermisway-pro1__accordion-item {
	border: 1px solid var(--pro1-border);
	border-radius: var(--pro1-radius-xl);
	overflow: hidden;
}

.ermisway-pro1__accordion-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	cursor: pointer;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--pro1-text);
	list-style: none;
	transition: background var(--pro1-transition);
}
.ermisway-pro1__accordion-summary::-webkit-details-marker { display: none; }
.ermisway-pro1__accordion-summary:hover { background: var(--pro1-bg); }

.ermisway-pro1__accordion-chevron {
	flex-shrink: 0;
	color: var(--pro1-text-secondary);
	transition: transform 200ms ease;
}
.ermisway-pro1__accordion-item[open] .ermisway-pro1__accordion-chevron {
	transform: rotate(180deg);
}

.ermisway-pro1__accordion-body {
	padding: 1rem 1.25rem;
	border-top: 1px solid var(--pro1-border);
	background: var(--pro1-bg);
	font-size: .9375rem;
	color: var(--pro1-text-secondary);
	line-height: 1.65;
}

.ermisway-pro1__accordion-body p {
	margin: 0 0 .625rem;
}
.ermisway-pro1__accordion-body p:last-child { margin-bottom: 0; }

/* ─────────────────────────────────────────────────────────────────────────────
   SIDEBAR
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__sidebar {
	/* sticky on desktop */
}
@media (min-width: 64em) {
	.ermisway-pro1__sidebar {
		position: sticky;
		top: 6rem; /* clears typical fixed WP admin bar + theme header */
	}
}

.ermisway-pro1__sidebar-card {
	background: var(--pro1-card-bg);
	border-radius: var(--pro1-radius-xl);
	border: 1px solid var(--pro1-border);
	box-shadow: var(--pro1-shadow-lg);
	padding: 1.5rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__sidebar-card { padding: 1.75rem; }
}

.ermisway-pro1__sidebar-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--pro1-text);
	margin: 0 0 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--pro1-border);
}

/* Sidebar info blocks — hours / location use the full-card block style */
.ermisway-pro1__sidebar-block {
	background: var(--pro1-primary-light);
	border-radius: var(--pro1-radius-xl);
	border: 1px solid var(--pro1-primary-border);
	padding: .875rem 1rem;
	margin-bottom: 1rem;
}

.ermisway-pro1__sidebar-block:last-of-type { margin-bottom: 0; }

.ermisway-pro1__sidebar-block-head {
	display: flex;
	align-items: center;
	gap: .625rem;
	margin-bottom: .625rem;
}

/* Delivery / Pickup / Response Time — icon left, label+description stacked right */
.ermisway-pro1__sidebar-info-row {
	display: flex;
	align-items: flex-start;
	gap: .875rem;
	padding: .75rem 0;
	border-bottom: 1px solid var(--pro1-border);
}
.ermisway-pro1__sidebar-info-row:last-of-type { border-bottom: 0; }

.ermisway-pro1__sidebar-info-text {
	display: flex;
	flex-direction: column;
	gap: .1875rem;
	min-width: 0;
}

.ermisway-pro1__sidebar-icon {
	width: 2.25rem;
	height: 2.25rem;
	background: var(--pro1-primary-light);
	border-radius: var(--pro1-radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--pro1-primary);
	border: 1px solid var(--pro1-primary-border);
}

.ermisway-pro1__sidebar-label {
	font-size: .9375rem;
	font-weight: 700;
	color: var(--pro1-text);
	line-height: 1.3;
}

/* Opening hours in sidebar */
.ermisway-pro1__hours-list {
	display: flex;
	flex-direction: column;
	gap: .375rem;
}

.ermisway-pro1__hour-row {
	display: flex;
	justify-content: space-between;
	gap: .5rem;
	font-size: .8125rem;
	color: var(--pro1-text-secondary);
	padding: .1875rem 0;
}

.ermisway-pro1__hour-row.is-today {
	color: var(--pro1-text);
	font-weight: 600;
}

.ermisway-pro1__hour-day {
	font-weight: 500;
}

.ermisway-pro1__hour-time { }
.ermisway-pro1__hour-time.is-closed { color: var(--pro1-text-muted); }

.ermisway-pro1__sidebar-text {
	font-size: .8125rem;
	color: var(--pro1-text-secondary);
	margin: 0;
	line-height: 1.5;
}

/* CTA buttons in sidebar */
.ermisway-pro1__sidebar-cta {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--pro1-border);
}

/* Social links in sidebar */
.ermisway-pro1__sidebar-social {
	display: flex;
	gap: .5rem;
	margin-top: 1rem;
}

.ermisway-pro1__social-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: var(--pro1-radius);
	background: var(--pro1-bg);
	border: 1px solid var(--pro1-border);
	color: var(--pro1-text-secondary);
	text-decoration: none;
	transition: background var(--pro1-transition), color var(--pro1-transition), border-color var(--pro1-transition);
}

.ermisway-pro1__social-btn:hover { background: var(--pro1-primary-light); border-color: var(--pro1-primary-border); color: var(--pro1-primary); }
.ermisway-pro1__social-btn--instagram:hover { background: #FDF2F8; border-color: #FBCFE8; color: #BE185D; }
.ermisway-pro1__social-btn--facebook:hover { background: #EFF6FF; border-color: #BFDBFE; color: #1D4ED8; }

/* ─────────────────────────────────────────────────────────────────────────────
   4. TRUST STRIP
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-pro1__trust {
	background: linear-gradient(135deg, var(--pro1-primary-light) 0%, #D1FAE5 50%, var(--pro1-primary-light) 100%);
	border-top: 1px solid var(--pro1-primary-border);
	padding-block: 3rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__trust { padding-block: 4rem; }
}

.ermisway-pro1__trust-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem 2rem;
}
@media (min-width: 48em) {
	.ermisway-pro1__trust-grid { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
}

.ermisway-pro1__trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1rem;
}

.ermisway-pro1__trust-icon {
	width: 3.5rem;
	height: 3.5rem;
	background: var(--pro1-card-bg);
	border-radius: var(--pro1-radius-xl);
	box-shadow: var(--pro1-shadow);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--pro1-primary);
}
@media (min-width: 48em) {
	.ermisway-pro1__trust-icon { width: 4rem; height: 4rem; }
}

.ermisway-pro1__trust-name {
	font-size: .9375rem;
	font-weight: 700;
	color: var(--pro1-text);
	margin: 0 0 .25rem;
}

.ermisway-pro1__trust-desc {
	font-size: .8125rem;
	color: var(--pro1-text-secondary);
	margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   RESPONSIVE INNER PADDING
   ───────────────────────────────────────────────────────────────────────────── */
@media (min-width: 36em) {
	.ermisway-pro1 { --pro1-inner-px: 1.5rem; }
}
@media (min-width: 64em) {
	.ermisway-pro1 { --pro1-inner-px: 2rem; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   SCREENSHOT CAPTURE MODE (admin ?screenshot=1)
   ───────────────────────────────────────────────────────────────────────────── */
.ermisway-vendor-template-screenshot-capture .ermisway-pro1__hero-media {
	height: 12rem;
}

.ermisway-vendor-template-screenshot-capture .ermisway-pro1__sidebar {
	position: static;
}
