/**
 * MantaQR — Architecture vCard landing page theme
 * Matches templates/images/Architecture_vCard.png layout.
 */

:root {
	--vc-brown: #4a3426;
	--vc-brown-dark: #3b2a22;
	--vc-brown-band: #4f3a2f;
	--vc-taupe: #8d7f74;
	--vc-bg: #f3f0eb;
	--vc-surface: #ffffff;
	--vc-surface-2: #ece8e2;
	--vc-surface-3: #e4ded6;
	--vc-text: #3f3832;
	--vc-muted: #7a7168;
	--vc-line: rgba(74, 52, 38, 0.12);
	--vc-radius-lg: 24px;
	--vc-radius-md: 16px;
	--vc-radius-sm: 12px;
	--vc-shadow: 0 18px 40px rgba(59, 42, 34, 0.12);
	--vc-font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--vc-font-display: "Libre Baskerville", Georgia, serif;
	--vc-gold: #c39b46;
}

*, *::before, *::after { box-sizing: border-box; }

body.is-contact-page,
body.is-vcard-arch {
	margin: 0;
	min-height: 100vh;
	font-family: var(--vc-font-body);
	color: var(--vc-text);
	background: var(--vc-bg);
	-webkit-font-smoothing: antialiased;
}

/* Password lock */
.is-contact-page--locked { display: grid; place-items: center; padding: 24px; }
.is-contact-lock {
	width: min(100%, 380px); padding: 34px; border-radius: var(--vc-radius-md);
	background: var(--vc-surface); box-shadow: var(--vc-shadow); text-align: center;
}
.is-contact-lock input, .is-contact-lock button {
	width: 100%; margin-top: 12px; padding: 14px 16px;
	border-radius: var(--vc-radius-sm); border: 1px solid var(--vc-line); font-family: inherit;
}
.is-contact-lock button {
	background: var(--vc-brown-dark); color: #fff; border: none; cursor: pointer; font-weight: 600;
}

/* Shell */
.is-contact-card.is-vcard-arch__card,
.is-vcard-arch__card {
	width: 100%; max-width: 430px; margin: 0 auto; padding: 20px 12px 40px;
}
.is-contact-card--embed { padding: 0; max-width: 100%; }
.is-vcard-arch__shell {
	position: relative; overflow: visible; border-radius: var(--vc-radius-lg);
	background: var(--vc-surface); box-shadow: var(--vc-shadow);
}
.is-vcard-arch__body { padding: 0 18px 20px; }

/* Hero */
.is-vcard-arch__hero {
	position: relative;
	height: 190px;
	overflow: hidden;
	border-radius: var(--vc-radius-lg) var(--vc-radius-lg) 0 0;
	background: linear-gradient(135deg, #6d5a4d 0%, #4a3426 55%, #3b2a22 100%);
	background-size: cover;
	background-position: center;
}
.is-vcard-arch__hero--image::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.18));
	pointer-events: none;
}

/* Profile */
.is-vcard-arch__profile {
	position: relative; z-index: 2;
	margin-top: calc((var(--profile-size, 128px) / -2) - 4px); text-align: center;
}
.is-vcard-arch__profile-visual {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	isolation: isolate;
}
.is-vcard-arch__photo {
	flex: 0 0 auto;
	width: var(--profile-size, 128px); height: var(--profile-size, 128px); max-width: 100%;
	object-fit: cover; object-position: center center;
	border: 5px solid var(--vc-surface);
	box-shadow: 0 10px 24px rgba(59, 42, 34, 0.18);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.is-vcard-arch__photo--round { border-radius: 50%; }
.is-vcard-arch__photo--square { border-radius: 20px; }
.is-vcard-arch__photo--oval {
	border-radius: 0;
	clip-path: ellipse(48% 50% at 50% 50%);
}
.is-vcard-arch__photo--star {
	border-radius: 0;
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.is-vcard-arch__photo--placeholder {
	display: grid; place-items: center;
	background: linear-gradient(145deg, var(--vc-brown-dark), var(--vc-brown));
	color: #f8f2ea; font-family: var(--vc-font-display); font-size: 2.4rem; font-weight: 700;
}
.is-vcard-arch__photo--logo {
	object-fit: contain;
	padding: 14px;
	background: #fff;
}
.is-vcard-arch__name {
	margin: 18px 0 0; font-family: var(--vc-font-display);
	font-size: clamp(1.65rem, 5vw, 2rem); line-height: 1.15; font-weight: 700; color: var(--vc-brown-dark);
}
.is-vcard-arch__title { margin: 8px 0 0; font-size: 0.95rem; color: var(--vc-taupe); }
.is-vcard-arch__bio {
	margin: 14px auto 0; max-width: 34ch; font-size: 0.9rem; line-height: 1.7; color: var(--vc-muted);
}

/* Social under profile */
.is-vcard-arch__social {
	display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 18px;
}
.is-vcard-arch__social-link {
	width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: var(--vc-surface-2); border: 1px solid var(--vc-line); text-decoration: none;
	transition: transform 0.2s ease, background 0.2s ease;
}
.is-vcard-arch__social-link:hover { transform: translateY(-2px); background: var(--vc-brown-dark); }
.is-vcard-arch__social-glyph {
	width: 18px; height: 18px; background: var(--vc-brown);
	mask-size: contain; mask-repeat: no-repeat; mask-position: center;
	-webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
}
.is-vcard-arch__social-link:hover .is-vcard-arch__social-glyph { background: #fff; }
.is-vcard-arch__social-link--facebook .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V7.2c0-.7.1-1 .9-1H16V4h-2.2C11.7 4 11 5.4 11 7v1.5H9v2.5h2V20h3v-9H16l.5-2.5z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8.5V7.2c0-.7.1-1 .9-1H16V4h-2.2C11.7 4 11 5.4 11 7v1.5H9v2.5h2V20h3v-9H16l.5-2.5z'/%3E%3C/svg%3E"); }
.is-vcard-arch__social-link--twitter .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h3.2l4.4 5.7L16.7 4H20l-6.1 7.5L20.5 20h-3.2l-4.9-6.3-5.4 6.3H4l6.6-8.1z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h3.2l4.4 5.7L16.7 4H20l-6.1 7.5L20.5 20h-3.2l-4.9-6.3-5.4 6.3H4l6.6-8.1z'/%3E%3C/svg%3E"); }
.is-vcard-arch__social-link--linkedin .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 9H3.7v12H6.5zm1.4-6A1.75 1.75 0 116.2 4.7 1.75 1.75 0 017.9 3zM20 20.8h-2.8v-6.3c0-1.5-.5-2.5-1.9-2.5a2.07 2.07 0 00-2 1.4 2.5 2.5 0 00-.1.7v6.7H10.4V9h2.7v1.6h.1a3 3 0 012.7-1.5c2.9 0 3.4 1.9 3.4 4.4z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 9H3.7v12H6.5zm1.4-6A1.75 1.75 0 116.2 4.7 1.75 1.75 0 017.9 3zM20 20.8h-2.8v-6.3c0-1.5-.5-2.5-1.9-2.5a2.07 2.07 0 00-2 1.4 2.5 2.5 0 00-.1.7v6.7H10.4V9h2.7v1.6h.1a3 3 0 012.7-1.5c2.9 0 3.4 1.9 3.4 4.4z'/%3E%3C/svg%3E"); }
.is-vcard-arch__social-link--instagram .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 015 5v10a5 5 0 01-5 5H7a5 5 0 01-5-5V7a5 5 0 015-5zm10 2H7a3 3 0 00-3 3v10a3 3 0 003 3h10a3 3 0 003-3V7a3 3 0 00-3-3zm-5 3.5A4.5 4.5 0 1112 20a4.5 4.5 0 010-9zm0 2A2.5 2.5 0 1014.5 12 2.5 2.5 0 0012 9.5zM17.25 6.3a1.05 1.05 0 11-1.05 1.05A1.05 1.05 0 0117.25 6.3z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 015 5v10a5 5 0 01-5 5H7a5 5 0 01-5-5V7a5 5 0 015-5zm10 2H7a3 3 0 00-3 3v10a3 3 0 003 3h10a3 3 0 003-3V7a3 3 0 00-3-3zm-5 3.5A4.5 4.5 0 1112 20a4.5 4.5 0 010-9zm0 2A2.5 2.5 0 1014.5 12 2.5 2.5 0 0012 9.5zM17.25 6.3a1.05 1.05 0 11-1.05 1.05A1.05 1.05 0 0117.25 6.3z'/%3E%3C/svg%3E"); }
.is-vcard-arch__social-link--youtube .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.6 7.2a2.4 2.4 0 00-1.7-1.7C18 5 12 5 12 5s-6 0-7.9.5A2.4 2.4 0 002.4 7.2 25 25 0 002 12a25 25 0 00.4 4.8 2.4 2.4 0 001.7 1.7C6 19 12 19 12 19s6 0 7.9-.5a2.4 2.4 0 001.7-1.7A25 25 0 0022 12a25 25 0 00-.4-4.8zM10 15.5v-7l6 3.5z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.6 7.2a2.4 2.4 0 00-1.7-1.7C18 5 12 5 12 5s-6 0-7.9.5A2.4 2.4 0 002.4 7.2 25 25 0 002 12a25 25 0 00.4 4.8 2.4 2.4 0 001.7 1.7C6 19 12 19 12 19s6 0 7.9-.5a2.4 2.4 0 001.7-1.7A25 25 0 0022 12a25 25 0 00-.4-4.8zM10 15.5v-7l6 3.5z'/%3E%3C/svg%3E"); }
.is-vcard-arch__social-link--tiktok .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.5 4.2c.8 1.1 1.8 1.9 3.1 2.2V9a6.7 6.7 0 01-3.1-.8v6.8a4.8 4.8 0 11-4.8-4.8c.3 0 .6 0 .9.1v2.6a2.2 2.2 0 102.2 2.2V4.2z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.5 4.2c.8 1.1 1.8 1.9 3.1 2.2V9a6.7 6.7 0 01-3.1-.8v6.8a4.8 4.8 0 11-4.8-4.8c.3 0 .6 0 .9.1v2.6a2.2 2.2 0 102.2 2.2V4.2z'/%3E%3C/svg%3E"); }
.is-vcard-arch__social-link--pinterest .is-vcard-arch__social-glyph { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 00-3.1 15.4c0-.8 0-1.8.2-2.7.2-.9 1.3-6 1.3-6s-.3-.6-.3-1.5c0-1.4.8-2.5 1.9-2.5.9 0 1.3.7 1.3 1.5 0 .9-.6 2.3-.9 3.6-.3 1.1.5 2 1.6 2 1.9 0 3.4-2 3.4-4.9 0-2.6-1.9-4.4-4.5-4.4a4.9 4.9 0 00-5.1 5 1 1 0 00.2.6c0 .5.4 1 .9 1 .1 0 .2 0 .3-.1-.1-.4-.2-.8-.2-1.2 0-1.5 1.1-2.8 2.8-2.8 1.5 0 2.3 1.1 2.3 2.5 0 1.5-.6 2.8-1.4 2.8-.5 0-.8-.4-.7-1 0-.3.2-.7.3-1 .1-.4.3-.8.3-1.1 0-.4-.2-.7-.7-.7-.6 0-1 .6-1 1.4 0 .5.2 1 .2 1l-.8 3.4c-.2.9-.1 2.1-.1 3A8 8 0 1012 4z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 00-3.1 15.4c0-.8 0-1.8.2-2.7.2-.9 1.3-6 1.3-6s-.3-.6-.3-1.5c0-1.4.8-2.5 1.9-2.5.9 0 1.3.7 1.3 1.5 0 .9-.6 2.3-.9 3.6-.3 1.1.5 2 1.6 2 1.9 0 3.4-2 3.4-4.9 0-2.6-1.9-4.4-4.5-4.4a4.9 4.9 0 00-5.1 5 1 1 0 00.2.6c0 .5.4 1 .9 1 .1 0 .2 0 .3-.1-.1-.4-.2-.8-.2-1.2 0-1.5 1.1-2.8 2.8-2.8 1.5 0 2.3 1.1 2.3 2.5 0 1.5-.6 2.8-1.4 2.8-.5 0-.8-.4-.7-1 0-.3.2-.7.3-1 .1-.4.3-.8.3-1.1 0-.4-.2-.7-.7-.7-.6 0-1 .6-1 1.4 0 .5.2 1 .2 1l-.8 3.4c-.2.9-.1 2.1-.1 3A8 8 0 1012 4z'/%3E%3C/svg%3E"); }

/* Sections */
.is-vcard-arch__section { padding-top: 28px; }
.is-vcard-arch__section--cards { padding-bottom: 8px; }
.is-vcard-arch__section--cards + .is-vcard-arch__section--qr-band { margin-top: 20px; }
.is-vcard-arch__section--qr-band + .is-vcard-arch__section--cards,
.is-vcard-arch__section--qr-band + .is-vcard-arch__section--blog { padding-top: 32px; }
.is-vcard-arch__section--hours + .is-vcard-arch__section--inquiry { margin-top: 20px; }
.is-vcard-heading {
	display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 18px;
}
.is-vcard-heading__line {
	flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--vc-taupe), transparent);
	position: relative;
}
.is-vcard-heading__line::before,
.is-vcard-heading__line::after {
	content: ""; position: absolute; top: 50%; width: 6px; height: 6px;
	background: var(--vc-taupe); transform: translateY(-50%) rotate(45deg);
}
.is-vcard-heading__line::before { left: 0; }
.is-vcard-heading__line::after { right: 0; }
.is-vcard-heading__text {
	margin: 0; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--vc-brown); white-space: nowrap;
}
.is-vcard-heading--light .is-vcard-heading__text,
.is-vcard-heading--light .is-vcard-heading__line { color: #f8f2ea; }
.is-vcard-heading--light .is-vcard-heading__line { background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent); }
.is-vcard-heading--light .is-vcard-heading__line::before,
.is-vcard-heading--light .is-vcard-heading__line::after { background: rgba(255,255,255,0.7); }
.is-vcard-heading--quote .is-vcard-heading__text::after {
	content: "\201D"; margin-left: 8px; font-size: 1.4rem; color: var(--vc-taupe);
}

/* Contact grid */
.is-vcard-arch__contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.is-vcard-arch__contact-card {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px;
	padding: 18px 12px; border-radius: var(--vc-radius-md); background: var(--vc-surface-2);
	border: 1px solid var(--vc-line); text-decoration: none; color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.is-vcard-arch__contact-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(59,42,34,0.08); }
.is-vcard-arch__contact-icon {
	width: 42px; height: 42px; border-radius: 50%; background: var(--vc-surface-3);
	position: relative;
}
.is-vcard-arch__contact-icon::after {
	content: ""; position: absolute; inset: 11px; background: var(--vc-brown);
	mask-size: contain; mask-repeat: no-repeat; mask-position: center;
	-webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
}
.is-vcard-arch__contact-icon--email::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E"); }
.is-vcard-arch__contact-icon--phone::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.9 15.9 0 006.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V21c0 .6-.4 1-1 1C10.6 22 2 13.4 2 3c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.9 15.9 0 006.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V21c0 .6-.4 1-1 1C10.6 22 2 13.4 2 3c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/%3E%3C/svg%3E"); }
.is-vcard-arch__contact-icon--office::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v2h5v18H5V4h5V2zm2 2v2h0V4zM7 6v14h10V6H7zm2 3h2v2H9V9zm4 0h2v2h-2V9zm-4 4h2v2H9v-2zm4 0h2v2h-2v-2z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v2h5v18H5V4h5V2zm2 2v2h0V4zM7 6v14h10V6H7zm2 3h2v2H9V9zm4 0h2v2h-2V9zm-4 4h2v2H9v-2zm4 0h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.is-vcard-arch__contact-icon--location::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5S13.4 11.5 12 11.5z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5S13.4 11.5 12 11.5z'/%3E%3C/svg%3E"); }
.is-vcard-arch__contact-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vc-taupe); }
.is-vcard-arch__contact-value { font-size: 0.86rem; font-weight: 600; line-height: 1.45; color: var(--vc-brown-dark); word-break: break-word; }

/* Payment / tax fields */
.is-vcard-arch__payment-grid { grid-template-columns: 1fr; }
.is-vcard-arch__payment-grid .is-vcard-arch__payment-card { min-height: 118px; }
.is-vcard-arch__contact-icon--payment,
.is-vcard-arch__contact-icon--crypto {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #fff;
	font-size: 0.58rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}
.is-vcard-arch__contact-icon--payment::after,
.is-vcard-arch__contact-icon--crypto::after { display: none; }
.is-vcard-arch__contact-icon--payment-paypal { background: #003087; }
.is-vcard-arch__contact-icon--payment-upi { background: #097939; }
.is-vcard-arch__contact-icon--payment-bank { background: #5c4a3d; }
.is-vcard-arch__contact-icon--payment-gst { background: #8b5a2b; }
.is-vcard-arch__contact-icon--payment-stripe { background: #635bff; }
.is-vcard-arch__contact-icon--payment-paypal::before { content: "PP"; }
.is-vcard-arch__contact-icon--payment-upi::before { content: "UPI"; }
.is-vcard-arch__contact-icon--payment-bank::before { content: "BNK"; }
.is-vcard-arch__contact-icon--payment-gst::before { content: "GST"; }
.is-vcard-arch__contact-icon--payment-stripe::before { content: "STR"; }
.is-vcard-arch__payment-card .is-vcard-arch__contact-value {
	word-break: normal;
	overflow-wrap: anywhere;
}
.is-vcard-arch__payment-card[href] .is-vcard-arch__contact-value { color: var(--vc-gold); }

/* Crypto wallets */
.is-vcard-arch__crypto-grid { grid-template-columns: 1fr; }
.is-vcard-arch__crypto-grid .is-vcard-arch__crypto-card { min-height: 128px; }
.is-vcard-arch__contact-icon--crypto-btc { background: #f7931a; }
.is-vcard-arch__contact-icon--crypto-eth { background: #627eea; }
.is-vcard-arch__contact-icon--crypto-usdt { background: #26a17b; }
.is-vcard-arch__contact-icon--crypto-usdc { background: #2775ca; }
.is-vcard-arch__contact-icon--crypto-bnb { background: #f3ba2f; color: #1a1208; }
.is-vcard-arch__contact-icon--crypto-sol { background: #9945ff; }
.is-vcard-arch__contact-icon--crypto-xrp { background: #23292f; }
.is-vcard-arch__contact-icon--crypto-ltc { background: #345d9d; }
.is-vcard-arch__contact-icon--crypto-doge { background: #c2a633; color: #1a1208; font-size: 0.5rem; }
.is-vcard-arch__contact-icon--crypto-trx { background: #eb0029; }
.is-vcard-arch__contact-icon--crypto-custom { background: #8247e5; }
.is-vcard-arch__contact-icon--crypto-btc::before { content: "BTC"; }
.is-vcard-arch__contact-icon--crypto-eth::before { content: "ETH"; }
.is-vcard-arch__contact-icon--crypto-usdt::before { content: "USDT"; font-size: 0.5rem; }
.is-vcard-arch__contact-icon--crypto-usdc::before { content: "USDC"; font-size: 0.5rem; }
.is-vcard-arch__contact-icon--crypto-bnb::before { content: "BNB"; }
.is-vcard-arch__contact-icon--crypto-sol::before { content: "SOL"; }
.is-vcard-arch__contact-icon--crypto-xrp::before { content: "XRP"; }
.is-vcard-arch__contact-icon--crypto-ltc::before { content: "LTC"; }
.is-vcard-arch__contact-icon--crypto-doge::before { content: "DOGE"; font-size: 0.46rem; }
.is-vcard-arch__contact-icon--crypto-trx::before { content: "TRX"; }
.is-vcard-arch__contact-icon--crypto-custom::before { content: attr(data-abbr); }
.is-vcard-arch__crypto-copy {
	display: block; width: 100%; margin: 0; padding: 0; border: 0; background: transparent;
	text-align: center; cursor: pointer; font: inherit; color: inherit;
}
.is-vcard-arch__crypto-address {
	display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.78rem; line-height: 1.5; word-break: break-all;
}
.is-vcard-arch__crypto-copy-label {
	display: inline-block; margin-top: 8px; font-size: 0.68rem; font-weight: 700;
	letter-spacing: 0.08em; text-transform: uppercase; color: var(--vc-gold);
}
.is-vcard-arch__crypto-copy.is-copied .is-vcard-arch__crypto-copy-label::after {
	content: " ✓";
}

/* Gallery */
.is-vcard-arch__gallery-head { position: relative; text-align: center; }
.is-vcard-arch__gallery-watermark {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -58%);
	font-size: clamp(2.4rem, 12vw, 3.4rem); font-weight: 700; letter-spacing: 0.2em;
	color: rgba(74, 52, 38, 0.08); white-space: nowrap; pointer-events: none;
}
.is-vcard-arch__gallery-feature {
	display: block; overflow: hidden; border-radius: var(--vc-radius-md);
	box-shadow: 0 10px 24px rgba(59,42,34,0.1);
}
.is-vcard-arch__gallery-feature img { display: block; width: 100%; height: auto; object-fit: cover; }
.is-vcard-arch__gallery-caption { margin: 12px 0 0; text-align: center; font-weight: 600; color: var(--vc-brown); }
.is-vcard-arch__gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.is-vcard-arch__gallery-tile {
	position: relative; display: block; overflow: hidden; min-height: 120px;
	border-radius: var(--vc-radius-md); text-decoration: none; background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__gallery-tile img { width: 100%; height: 100%; min-height: 120px; object-fit: cover; }
.is-vcard-arch__gallery-tile__label {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 12px; font-size: 0.78rem; font-weight: 600; color: #fff;
	background: linear-gradient(180deg, transparent, rgba(59,42,34,0.82));
}
.is-vcard-arch__gallery-scroll__track {
	display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory;
}
.is-vcard-arch__gallery-scroll__card {
	flex: 0 0 72%; max-width: 260px; scroll-snap-align: start; display: block; border-radius: var(--vc-radius-md);
	overflow: hidden; text-decoration: none; background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__gallery-scroll__card img { display: block; width: 100%; height: 160px; object-fit: cover; }
.is-vcard-arch__gallery-scroll__card-label { display: block; padding: 10px 12px; font-size: 0.8rem; font-weight: 600; color: var(--vc-brown-dark); }
.is-vcard-arch__gallery-list { display: grid; gap: 10px; }
.is-vcard-arch__gallery-list__item {
	display: grid; grid-template-columns: 60px 1fr 16px; gap: 10px; align-items: center; padding: 12px;
	border-radius: var(--vc-radius-sm); text-decoration: none; color: inherit; background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__gallery-list__thumb img { display: block; width: 60px; height: 60px; border-radius: 10px; object-fit: cover; }
.is-vcard-arch__gallery-list__body strong { font-size: 0.86rem; color: var(--vc-brown-dark); }
.is-vcard-arch__gallery-list__arrow::after {
	content: ""; display: block; width: 8px; height: 8px; border-top: 2px solid var(--vc-taupe); border-right: 2px solid var(--vc-taupe); transform: rotate(45deg);
}

/* Service / Product cards */
.is-vcard-arch__card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.is-vcard-arch__media-card {
	padding: 14px; border-radius: var(--vc-radius-md); background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__media-card-image {
	width: 100%; height: var(--mantaqr-media-image-height, 96px); object-fit: cover; border-radius: 12px; margin-bottom: 12px;
}
.is-vcard-arch__media-card-title { margin: 0 0 6px; font-size: 0.9rem; font-weight: 700; color: var(--vc-brown-dark); line-height: 1.3; }
.is-vcard-arch__media-card-desc { margin: 0; font-size: 0.78rem; line-height: 1.55; color: var(--vc-muted); }

/* Appointment */
.is-vcard-arch__appointment {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 16px; border-radius: var(--vc-radius-sm); background: var(--vc-surface-2);
	border: 1px solid var(--vc-line); text-decoration: none; color: var(--vc-brown-dark); font-weight: 600;
}
.is-vcard-arch__appointment-icon {
	width: 22px; height: 22px; background: var(--vc-brown);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zm0 16H5V10h14v10z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zm0 16H5V10h14v10z'/%3E%3C/svg%3E");
	mask-size: contain; mask-repeat: no-repeat; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
}

/* QR band */
.is-vcard-arch__section--qr-band,
.is-vcard-arch__section--inquiry {
	box-sizing: border-box;
	width: calc(100% + 36px);
	max-width: none;
	margin-left: -18px; margin-right: -18px;
	padding-left: 18px; padding-right: 18px;
	border-top: none;
	background: linear-gradient(180deg, var(--vc-brown-band) 0%, var(--vc-brown-dark) 100%); color: #f8f2ea;
}
.is-vcard-arch__section--qr-band {
	padding-top: 32px; padding-bottom: 32px;
}
.is-vcard-arch__section--qr-band .is-vcard-heading { margin-bottom: 22px; }
.is-vcard-arch__section--inquiry {
	padding-top: 32px; padding-bottom: 36px;
}
.is-vcard-arch__section--inquiry .is-vcard-heading { margin-bottom: 22px; }
.is-vcard-arch__qr-band {
	display: grid; grid-template-columns: 132px 1fr; gap: 18px; align-items: center;
}
.is-vcard-arch__qr-band-code {
	display: flex; justify-content: center;
}
.is-vcard-arch__qr-band-code img {
	display: block; width: 100%; max-width: 132px; height: auto; padding: 12px; border-radius: 14px; background: #fff;
}
.is-vcard-arch__qr-band-copy h3 { margin: 0 0 10px; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.is-vcard-arch__qr-band-copy p { margin: 0; font-size: 0.84rem; line-height: 1.65; color: rgba(248,242,234,0.88); }

/* Blog */
.is-vcard-arch__blog-card { text-align: left; }
.is-vcard-arch__blog-image {
	width: 100%; border-radius: var(--vc-radius-md); margin-bottom: 14px; display: block;
}
.is-vcard-arch__blog-title { margin: 0 0 8px; font-size: 1rem; font-weight: 700; color: var(--vc-brown-dark); }
.is-vcard-arch__blog-excerpt { margin: 0 0 10px; font-size: 0.86rem; line-height: 1.65; color: var(--vc-muted); }
.is-vcard-arch__blog-link { color: #3b6ea8; font-weight: 600; text-decoration: none; }

/* Testimonials */
.is-vcard-arch__testimonial-slide { display: none; margin: 0; text-align: center; }
.is-vcard-arch__testimonial-slide.is-active { display: block; }
.is-vcard-arch__testimonial-slide p { margin: 0 0 16px; font-size: 0.9rem; line-height: 1.7; color: var(--vc-muted); font-style: italic; }
.is-vcard-arch__testimonial-author { display: flex; align-items: center; justify-content: center; gap: 10px; }
.is-vcard-arch__testimonial-author img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.is-vcard-arch__testimonial-author cite { font-style: normal; font-weight: 700; color: var(--vc-brown-dark); }
.is-vcard-arch__testimonial-nav,
.is-vcard-arch__card-slider-nav { display: flex; justify-content: center; gap: 12px; margin-top: 14px; }
.is-vcard-arch__testimonial-btn,
.is-vcard-arch__card-slider-btn {
	width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--vc-line);
	background: var(--vc-surface-2); color: var(--vc-brown); cursor: pointer; font-size: 1.2rem;
}

/* Shared card sliders (gallery, products, services) */
.is-vcard-arch__gallery-slider__slide,
.is-vcard-arch__products-slider__slide,
.is-vcard-arch__services-slider__slide { display: none; }
.is-vcard-arch__gallery-slider__slide.is-active,
.is-vcard-arch__products-slider__slide.is-active,
.is-vcard-arch__services-slider__slide.is-active { display: block; }
.is-vcard-arch__gallery-slider-card,
.is-vcard-arch__products-slider .is-vcard-arch__media-card,
.is-vcard-arch__services-slider .is-vcard-arch__media-card {
	display: block; overflow: hidden; border-radius: var(--vc-radius-md);
	text-decoration: none; color: inherit; background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__gallery-slider-card__image {
	display: block; width: 100%; height: auto; min-height: 180px; object-fit: cover;
}
.is-vcard-arch__gallery-slider-card__label {
	display: block; padding: 12px 14px; font-size: 0.86rem; font-weight: 600; color: var(--vc-brown-dark); text-align: center;
}
.is-vcard-arch__gallery-slider-card__icon {
	display: grid; place-items: center; min-height: 180px;
	background: rgba(195,155,70,0.16); color: var(--vc-brown-dark); font-size: 0.72rem; font-weight: 800;
}
.is-vcard-arch__gallery-slider-card__icon::before { content: "URL"; }

/* Media list (services/products) */
.is-vcard-arch__media-list { display: grid; gap: 10px; }
.is-vcard-arch__media-list__item {
	display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center;
	padding: 12px 14px; border-radius: var(--vc-radius-sm); background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__media-list__body strong { display: block; font-size: 0.9rem; color: var(--vc-brown-dark); }
.is-vcard-arch__media-list__body p { margin: 6px 0 0; font-size: 0.8rem; line-height: 1.55; color: var(--vc-muted); }
.is-vcard-arch__media-list__image { display: block; width: 72px; height: 72px; border-radius: 10px; object-fit: cover; }

/* Gallery tiles + image triggers */
.is-vcard-arch__gallery-tile,
.is-vcard-arch__gallery-slider-card { position: relative; }
.is-vcard-arch__gallery-tile__trigger,
.is-vcard-arch__gallery-slider-card__trigger,
.is-vcard-arch__media-card-image-trigger,
.is-vcard-arch__media-list__trigger,
.is-contact-image-lightbox-open {
	display: block; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: inherit;
}
.is-vcard-arch__gallery-tile__image,
.is-vcard-arch__gallery-slider-card__image,
.is-vcard-arch__media-card-image { display: block; width: 100%; object-fit: cover; }
.is-vcard-arch__gallery-tile__label,
.is-vcard-arch__gallery-slider-card__label { display: block; padding: 12px 14px; font-size: 0.86rem; font-weight: 600; color: var(--vc-brown-dark); text-align: center; }
.is-vcard-arch__gallery-tile__link,
.is-vcard-arch__gallery-slider-card__link {
	display: inline-block; margin: 0 14px 14px; font-size: 0.78rem; font-weight: 600; color: var(--vc-gold); text-decoration: none;
}
.is-vcard-arch__gallery-list__thumb-image { display: block; width: 64px; height: 64px; border-radius: 10px; object-fit: cover; }
.is-vcard-arch__gallery-list__thumb-trigger { width: auto; }

/* Image + QR lightboxes */
.is-contact-qr-lightbox,
.is-contact-image-lightbox {
	display: none; position: fixed; inset: 0; z-index: 100000; place-items: center; padding: 24px;
}
.is-contact-qr-lightbox.is-open,
.is-contact-image-lightbox.is-open { display: grid; }
.is-contact-qr-lightbox[hidden],
.is-contact-image-lightbox[hidden] { display: none !important; }
.is-contact-qr-lightbox__backdrop,
.is-contact-image-lightbox__backdrop {
	position: absolute; inset: 0; z-index: 0; background: rgba(59, 42, 34, 0.88); cursor: pointer;
}
.is-contact-qr-lightbox__dialog,
.is-contact-image-lightbox__dialog {
	position: relative; z-index: 1; isolation: isolate; width: min(100%, 760px); padding: 18px 56px; border-radius: var(--vc-radius-md); background: var(--vc-surface); text-align: center;
}
.is-contact-image-lightbox__dialog img {
	display: block; width: auto; max-width: 100%; height: auto; max-height: 78vh;
	margin: 0 auto; object-fit: contain; border-radius: 12px;
}
.is-contact-qr-lightbox__close,
.is-contact-image-lightbox__close {
	position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%;
	background: var(--vc-surface-2); color: var(--vc-brown-dark); font-size: 1.4rem; line-height: 1; cursor: pointer;
}
.is-contact-image-lightbox__nav {
	position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; border-radius: 50%;
	background: rgba(59, 42, 34, 0.88); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; z-index: 3;
}
.is-contact-image-lightbox__nav--prev { left: 10px; }
.is-contact-image-lightbox__nav--next { right: 10px; }
.is-contact-image-lightbox__caption { margin: 12px 0 0; font-size: 0.88rem; color: var(--vc-muted); }
.is-contact-image-lightbox__counter { margin: 8px 0 0; font-size: 0.78rem; color: var(--vc-muted); }
body.is-contact-qr-lightbox-open,
body.is-contact-image-lightbox-open { overflow: hidden; }

/* Business hours */
.is-vcard-arch__hours-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.is-vcard-arch__hours-card,
.is-vcard-arch__hours-sunday {
	display: grid; grid-template-columns: 28px 1fr; gap: 4px 10px; align-items: center;
	padding: 12px 14px; border-radius: var(--vc-radius-sm); background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__hours-sunday { margin-top: 10px; }
.is-vcard-arch__hours-icon {
	width: 22px; height: 22px; background: var(--vc-brown);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zm0 16H5V10h14v10z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zm0 16H5V10h14v10z'/%3E%3C/svg%3E");
	mask-size: contain; mask-repeat: no-repeat; -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat;
}
.is-vcard-arch__hours-day { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vc-taupe); }
.is-vcard-arch__hours-time { grid-column: 2; font-size: 0.86rem; font-weight: 600; color: var(--vc-brown-dark); }

/* Inquiry */
.is-vcard-arch__inquiry .wpcf7 { margin: 0; }
.is-vcard-arch__inquiry .screen-reader-response {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.is-vcard-arch__inquiry .hidden-fields-container {
	display: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
}
.is-vcard-arch__inquiry .wpcf7 form {
	display: grid; gap: 18px; margin: 0;
}
.is-vcard-arch__inquiry .wpcf7-form > p {
	display: grid; gap: 18px; margin: 0;
}
.is-vcard-arch__inquiry .wpcf7-form br { display: none; }
.is-vcard-arch__inquiry .wpcf7 label {
	display: grid; gap: 8px; margin: 0;
	font-size: 0.76rem; font-weight: 600; letter-spacing: 0.08em;
	text-transform: uppercase; color: rgba(248,242,234,0.82);
}
.is-vcard-arch__inquiry .wpcf7-form-control-wrap { display: block; }
.is-vcard-arch__inquiry .wpcf7 input:not([type="submit"]),
.is-vcard-arch__inquiry .wpcf7 textarea,
.is-vcard-arch__inquiry .wpcf7 select {
	width: 100%; padding: 13px 14px; border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--vc-radius-sm); background: rgba(0,0,0,0.22); color: #fff;
	font-family: inherit; font-size: 0.92rem; line-height: 1.4;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.is-vcard-arch__inquiry .wpcf7 input:not([type="submit"]):focus,
.is-vcard-arch__inquiry .wpcf7 textarea:focus,
.is-vcard-arch__inquiry .wpcf7 select:focus {
	outline: none; border-color: rgba(255,255,255,0.28); background: rgba(0,0,0,0.3);
}
.is-vcard-arch__inquiry .wpcf7 textarea {
	min-height: 120px; resize: vertical;
}
.is-vcard-arch__inquiry .wpcf7 input::placeholder,
.is-vcard-arch__inquiry .wpcf7 textarea::placeholder {
	color: rgba(248,242,234,0.45);
}
.is-vcard-arch__inquiry .wpcf7 input[type="submit"] {
	width: 100%; margin-top: 4px; padding: 14px 18px; border: none; border-radius: 999px;
	background: #f3f0eb; color: var(--vc-brown-dark); font-family: inherit;
	font-size: 0.86rem; font-weight: 700; letter-spacing: 0.04em; cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.is-vcard-arch__inquiry .wpcf7 input[type="submit"]:hover { transform: translateY(-1px); }
.is-vcard-arch__inquiry .wpcf7-response-output {
	display: none; margin: 14px 0 0; padding: 12px 14px; border-radius: var(--vc-radius-sm);
	border: 1px solid rgba(255,255,255,0.2); background: rgba(0,0,0,0.18); color: #f8f2ea;
	font-size: 0.84rem; line-height: 1.5;
}
.is-vcard-arch__inquiry .wpcf7 form.sent .wpcf7-response-output,
.is-vcard-arch__inquiry .wpcf7 form.failed .wpcf7-response-output,
.is-vcard-arch__inquiry .wpcf7 form.invalid .wpcf7-response-output,
.is-vcard-arch__inquiry .wpcf7 form.spam .wpcf7-response-output,
.is-vcard-arch__inquiry .wpcf7 form.aborted .wpcf7-response-output,
.is-vcard-arch__inquiry .wpcf7 form.unaccepted .wpcf7-response-output {
	display: block;
}
.is-vcard-arch__inquiry .wpcf7-not-valid-tip {
	margin-top: 6px; font-size: 0.76rem; color: #f5c6c6;
}
.is-vcard-arch__inquiry .wpcf7-spinner { margin-left: 8px; }
.is-contact-inquiry__notice { margin: 0; color: rgba(248,242,234,0.9); }

/* Map */
.is-vcard-arch__map-label {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 16px; margin-bottom: 0; border-radius: var(--vc-radius-sm) var(--vc-radius-sm) 0 0;
	background: var(--vc-brown-dark); color: #f8f2ea; font-weight: 600;
}
.is-vcard-arch__map-pin {
	width: 16px; height: 16px; border-radius: 50%; background: #ea4335; box-shadow: inset 0 0 0 3px #fff;
}
.is-vcard-arch__map-embed { overflow: hidden; border-radius: 0 0 var(--vc-radius-md) var(--vc-radius-md); border: 1px solid var(--vc-line); }
.is-vcard-arch__map-embed iframe { display: block; width: 100%; min-height: 260px; border: 0; }

/* Footer */
.is-vcard-arch__bottom {
	margin: 24px -18px -20px; padding: 28px 18px 18px; border-radius: 0 0 var(--vc-radius-lg) var(--vc-radius-lg);
	background-size: cover; background-position: center bottom; position: relative; overflow: hidden;
}
.is-vcard-arch__bottom--image::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(255,255,255,0.82));
}
.is-vcard-arch__footer { position: relative; z-index: 1; }
.is-vcard-arch__legal-footer {
	position: relative; z-index: 1; margin-top: 18px; padding-bottom: 4px; text-align: center;
}
.is-vcard-arch__legal-footer__policies {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
	gap: 4px 8px; list-style: none; margin: 0; padding: 0;
	font-size: 0.74rem; line-height: 1.5; color: var(--vc-muted);
}
.is-vcard-arch__legal-footer__policies a {
	color: inherit; text-decoration: none; font-weight: 400;
}
.is-vcard-arch__legal-footer__policies a:hover,
.is-vcard-arch__legal-footer__policies a:focus-visible {
	color: var(--vc-brown-dark); text-decoration: underline; text-underline-offset: 2px;
}
.is-vcard-arch__legal-footer__sep { color: var(--vc-line); user-select: none; padding: 0 2px; }
.is-vcard-arch__legal-footer__divider {
	border: 0; border-top: 1px solid var(--vc-line); margin: 14px auto 12px;
	max-width: 260px; opacity: 0.65;
}
.is-vcard-arch__legal-footer__credit {
	margin: 0; font-size: 0.68rem; color: var(--vc-muted); letter-spacing: 0.02em;
}
.is-vcard-arch__legal-footer__credit a {
	color: inherit; text-decoration: none; font-weight: 400;
}
.is-vcard-arch__legal-footer__credit a:hover,
.is-vcard-arch__legal-footer__credit a:focus-visible {
	color: var(--vc-brown-dark); text-decoration: underline; text-underline-offset: 2px;
}
.is-vcard-arch__footer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.is-vcard-arch__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 14px;
	border-radius: 999px; border: 1px solid var(--vc-line); background: var(--vc-surface);
	color: var(--vc-brown-dark); text-decoration: none; font-size: 0.84rem; font-weight: 700; cursor: pointer;
}
.is-vcard-arch__btn--primary { background: var(--vc-brown-dark); color: #fff; border-color: transparent; }

/* Shortcode embed fallbacks */
.is-contact-qr { display: inline-block; text-align: center; }
.is-contact-qr img { max-width: 100%; height: auto; }
.is-contact-vcard-btn {
	display: inline-block; padding: 13px 26px; border-radius: 999px; text-decoration: none;
	font-weight: 700; color: #fff; background: var(--vc-brown-dark);
}

@media (min-width: 400px) {
	.is-vcard-arch__payment-grid:has(.is-vcard-arch__payment-card:nth-child(2)),
	.is-vcard-arch__crypto-grid:has(.is-vcard-arch__crypto-card:nth-child(2)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 380px) {
	.is-vcard-arch__contact-grid,
	.is-vcard-arch__card-grid,
	.is-vcard-arch__hours-grid { grid-template-columns: 1fr; }
	.is-vcard-arch__qr-band { grid-template-columns: 1fr; gap: 16px; text-align: center; }
	.is-vcard-arch__qr-band-code img { margin: 0 auto; }
	.is-vcard-arch__footer-actions { grid-template-columns: 1fr; }
}

/* Logo */
.is-vcard-arch__profile-visual .is-vcard-arch__logo {
	display: block; height: auto; max-height: 48px; width: auto; max-width: min(180px, 100%);
	margin-top: 0; object-fit: contain;
}
.is-vcard-arch__logo { display: block; max-height: 42px; width: auto; margin-top: 10px; }
.is-vcard-arch__company { margin: 4px 0 0; font-size: 0.92rem; color: var(--vc-taupe); }
.is-vcard-arch__contact-person { margin: 4px 0 0; font-size: 0.92rem; color: var(--vc-taupe); }

/* Visit Us */
.is-vcard-arch__visit-grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px;
}
.is-vcard-arch__visit-grid .is-vcard-arch__visit-card:only-child { grid-column: 1 / -1; }
.is-vcard-arch__visit-card { padding: 16px; border-radius: var(--vc-radius-sm); background: var(--vc-surface-2); border: 1px solid var(--vc-line); }
.is-vcard-arch__visit-label { display: block; margin-bottom: 8px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vc-taupe); }
.is-vcard-arch__visit-directions { color: var(--vc-gold); font-weight: 600; text-decoration: none; }

/* Custom fields */
.is-vcard-arch__custom-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.is-vcard-arch__custom-card { flex: 1 1 calc(50% - 6px); min-width: min(100%, 180px); padding: 16px; border-radius: var(--vc-radius-sm); background: var(--vc-surface-2); border: 1px solid var(--vc-line); }
.is-vcard-arch__custom-card.is-contact-detail-card--span-full { flex-basis: 100%; }
.is-vcard-arch__custom-label { display: block; margin-bottom: 8px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vc-taupe); }

/* Catalog links */
.is-vcard-arch__catalog-links { display: grid; gap: 10px; margin-bottom: 14px; }
.is-vcard-arch__catalog-link {
	display: inline-flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--vc-radius-sm);
	text-decoration: none; font-weight: 600; color: var(--vc-brown-dark); background: var(--vc-surface-2); border: 1px solid var(--vc-line);
}
.is-vcard-arch__catalog-link__icon { width: 18px; height: 18px; background: var(--vc-brown-dark); mask-size: contain; -webkit-mask-size: contain; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; mask-position: center; -webkit-mask-position: center; }
.is-vcard-arch__catalog-link__icon--pdf { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 2l5 5h-5V4zM8 12h8v2H8v-2zm0 4h5v2H8v-2z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 2l5 5h-5V4zM8 12h8v2H8v-2zm0 4h5v2H8v-2z'/%3E%3C/svg%3E"); }
.is-vcard-arch__catalog-link__icon--shop { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4V2c0-.55.45-1 1-1h8c.55 0 1 .45 1 1v2h4v2h-1l-1 14H5L4 6H3V4h4zm2 0h6V3H9v1z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4V2c0-.55.45-1 1-1h8c.55 0 1 .45 1 1v2h4v2h-1l-1 14H5L4 6H3V4h4zm2 0h6V3H9v1z'/%3E%3C/svg%3E"); }

/* Gallery link icons */
.is-vcard-arch__gallery-scroll__card-icon,
.is-vcard-arch__gallery-list__thumb-icon,
.is-vcard-arch__gallery-tile__link-icon {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px;
	background: rgba(195,155,70,0.16); color: var(--vc-brown-dark); font-size: 0.7rem; font-weight: 800;
}
.is-vcard-arch__gallery-scroll__card-icon::before,
.is-vcard-arch__gallery-list__thumb-icon::before,
.is-vcard-arch__gallery-tile__link-icon::before { content: "URL"; }

/* Extra contact icons */
.is-vcard-arch__contact-icon--whatsapp::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12c0 1.8.5 3.5 1.3 5L2 22l5.2-1.3c1.5.8 3.2 1.3 4.8 1.3 5.5 0 10-4.5 10-10S17.5 2 12 2z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12c0 1.8.5 3.5 1.3 5L2 22l5.2-1.3c1.5.8 3.2 1.3 4.8 1.3 5.5 0 10-4.5 10-10S17.5 2 12 2z'/%3E%3C/svg%3E"); }
.is-vcard-arch__contact-icon--website::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95a15.65 15.65 0 00-1.52-4.01A8.03 8.03 0 0118.92 8zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56A7.987 7.987 0 015.08 16zm2.95-8H5.08a7.987 7.987 0 014.33-3.56A15.65 15.65 0 008.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 01-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95a15.65 15.65 0 00-1.52-4.01A8.03 8.03 0 0118.92 8zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56A7.987 7.987 0 015.08 16zm2.95-8H5.08a7.987 7.987 0 014.33-3.56A15.65 15.65 0 008.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 01-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z'/%3E%3C/svg%3E"); }
.is-vcard-arch__contact-icon--cta::after { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41L12.7 4.71c-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41L12.7 4.71c-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z'/%3E%3C/svg%3E"); }

/* Footer QR lightbox */
.is-vcard-arch__footer-qr { margin-top: 16px; text-align: center; }
.is-vcard-arch__footer-qr-trigger { border: 0; background: transparent; padding: 0; cursor: pointer; }
.is-vcard-arch__footer-qr img { display: block; margin: 0 auto; border-radius: 12px; background: #fff; padding: 8px; }
.is-vcard-arch__footer-qr p { margin: 8px 0 0; font-size: 0.82rem; color: var(--vc-muted); }

/* Focus */
.is-vcard-arch__btn:focus-visible,
.is-vcard-arch__card-slider-btn:focus-visible,
.is-vcard-arch__testimonial-btn:focus-visible,
.is-vcard-arch__social-link:focus-visible,
.is-vcard-arch__contact-card:focus-visible,
.is-vcard-arch__appointment:focus-visible,
.is-vcard-arch__catalog-link:focus-visible,
.is-vcard-arch__visit-directions:focus-visible,
.is-vcard-arch__footer-qr-trigger:focus-visible,
.is-contact-image-lightbox-open:focus-visible { outline: 2px solid var(--vc-gold); outline-offset: 2px; }

/* Google Reviews */
.is-vcard-arch__greview__slide { display: none; margin: 0; text-align: center; }
.is-vcard-arch__greview__slide.is-active { display: block; }
.is-vcard-arch__stars { display: inline-flex; gap: 2px; line-height: 1; }
.is-vcard-arch__stars__star { color: var(--vc-line); font-size: 0.95rem; }
.is-vcard-arch__stars__star.is-filled { color: #9a7b4f; }
.is-vcard-arch__greview-summary { text-align: center; margin-bottom: 18px; }
.is-vcard-arch__greview-summary__average { margin: 8px 0 0; font-weight: 700; color: var(--vc-brown-dark); }
.is-vcard-arch__greview-summary__outof { font-weight: 500; color: var(--vc-muted); font-size: 0.82rem; }
.is-vcard-arch__greview-summary__count { margin: 4px 0 0; font-size: 0.82rem; color: var(--vc-muted); }
.is-vcard-arch__greview__rating { margin-bottom: 10px; }
.is-vcard-arch__greview__slide p { margin: 0 0 16px; font-size: 0.9rem; line-height: 1.7; color: var(--vc-muted); font-style: italic; }
.is-vcard-arch__greview__author { display: flex; align-items: center; justify-content: center; gap: 10px; }
.is-vcard-arch__greview__author img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.is-vcard-arch__greview__author cite { font-style: normal; font-weight: 700; color: var(--vc-brown-dark); }
.is-vcard-arch__greview-attribution { margin-top: 16px; text-align: center; }
.is-vcard-arch__greview-attribution__note { margin: 0 0 8px; font-size: 0.72rem; line-height: 1.55; color: var(--vc-muted); }
.is-vcard-arch__greview-attribution__link,
.is-vcard-arch__greview-attribution__cta {
	font-size: 0.78rem; color: var(--vc-muted); text-decoration: none;
}
.is-vcard-arch__greview-attribution__link:hover,
.is-vcard-arch__greview-attribution__cta:hover,
.is-vcard-arch__greview-attribution__link:focus-visible,
.is-vcard-arch__greview-attribution__cta:focus-visible {
	color: var(--vc-brown-dark); text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
