/* Content sections and product cards (Arise sections + Advanced Components Library sections).
   Values from the Arise theme CSS, resolved with Swanz's settings. Mobile = below 750px. */

/* ---------- shared ---------- */
.swanz-section-gap--padding { padding-block: 40px; }
@media (min-width: 750px) { .swanz-section-gap--padding { padding-block: 60px; } }

.swanz-section-title {
	margin: 0 0 30px;
	font-family: var(--wp--preset--font-family--title);
	font-weight: 600;
	font-size: var(--swanz-title-4);
	line-height: 1.2;
	text-wrap: balance;
}

.has-text-left { text-align: left; }
.has-text-center { text-align: center; }
.has-text-right { text-align: right; }

.swanz-richtext p { margin: 0; }
.swanz-richtext a { color: inherit; text-decoration: underline; text-underline-offset: 6px; padding: 0 1px; }
.swanz-richtext ul,
.swanz-richtext ol { margin: 0; padding-left: 1.2em; }
.swanz-richtext img { max-width: 100%; height: auto; }

.swanz-button--outline {
	background: transparent;
	border-color: currentColor;
	color: inherit;
}

/* Inside a colour scheme every button takes the scheme's text colour, with white text. */
.swanz-scheme-1 .swanz-button--primary { background: var(--wp--preset--color--scheme-1-text); border-color: var(--wp--preset--color--scheme-1-text); color: #fff; }
.swanz-scheme-2 .swanz-button--primary { background: var(--wp--preset--color--scheme-2-text); border-color: var(--wp--preset--color--scheme-2-text); color: #fff; }
.swanz-scheme-3 .swanz-button--primary { background: var(--wp--preset--color--scheme-3-text); border-color: var(--wp--preset--color--scheme-3-text); color: #fff; }
.swanz-scheme-1 a:not(.swanz-button),
.swanz-scheme-2 a:not(.swanz-button),
.swanz-scheme-3 a:not(.swanz-button) { color: inherit; }

@media (max-width: 749.98px) {
	.swanz-section-title { margin-bottom: 20px; }
}

/* ---------- image banner ---------- */
.swanz-banner { position: relative; }
.swanz-banner__media { position: relative; display: flex; flex-wrap: wrap; }
.swanz-banner__item { position: relative; flex: 1 1 100%; overflow: hidden; background: var(--wp--preset--color--section-background); }
.swanz-banner.has-two .swanz-banner__item { flex-basis: 50%; }
.swanz-banner.is-fit .swanz-banner__item { padding-bottom: var(--swanz-banner-ratio); }
.swanz-banner.is-fixed .swanz-banner__item { height: var(--swanz-banner-h); }
.swanz-banner__image,
.swanz-banner__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.swanz-banner__mask { position: absolute; inset: 0; z-index: 1; background: #000; pointer-events: none; }

.swanz-banner__content { position: absolute; inset: 0; z-index: 3; display: flex; padding: 30px; pointer-events: none; }
.swanz-banner__content.is-left-top,
.swanz-banner__content.is-top,
.swanz-banner__content.is-right-top { align-items: flex-start; }
.swanz-banner__content.is-left,
.swanz-banner__content.is-center,
.swanz-banner__content.is-right { align-items: center; }
.swanz-banner__content.is-left-bottom,
.swanz-banner__content.is-bottom,
.swanz-banner__content.is-right-bottom { align-items: flex-end; }
.swanz-banner__content.is-left-top,
.swanz-banner__content.is-left,
.swanz-banner__content.is-left-bottom { justify-content: flex-start; text-align: left; }
.swanz-banner__content.is-top,
.swanz-banner__content.is-center,
.swanz-banner__content.is-bottom { justify-content: center; text-align: center; }
.swanz-banner__content.is-right-top,
.swanz-banner__content.is-right,
.swanz-banner__content.is-right-bottom { justify-content: flex-end; text-align: right; }
.swanz-banner__box { max-width: 800px; padding: 40px; color: #fff; pointer-events: auto; }
.swanz-banner__title { margin: 16px 0 8px; color: inherit; font-family: var(--wp--preset--font-family--title); font-weight: 600; font-size: var(--swanz-title-2); line-height: 1.2; }
.swanz-banner__title.is-large { font-size: calc(var(--swanz-title-2) * 1.2); }
.swanz-banner__desc { margin: 8px 0 16px; font-size: var(--swanz-body-1); font-weight: 400; }
.swanz-banner__box > :first-child { margin-top: 0; }
.swanz-banner__box > :last-child { margin-bottom: 0; }
.swanz-banner__buttons { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 16px; justify-content: inherit; }
.swanz-banner__content.is-center .swanz-banner__buttons,
.swanz-banner__content.is-top .swanz-banner__buttons,
.swanz-banner__content.is-bottom .swanz-banner__buttons { justify-content: center; }
.swanz-banner__button { font-size: 19.125px; padding: 12px 21px; }
.swanz-banner__button.is-outline { background: transparent; border-color: #fff; color: #fff; }
.swanz-banner__button.is-solid { background: #fff; border-color: #fff; color: #000; }

@media (max-width: 749.98px) {
	.swanz-banner.has-two .swanz-banner__item { flex-basis: 100%; }
	.swanz-banner.is-fit .swanz-banner__item { padding-bottom: var(--swanz-banner-ratio-m, var(--swanz-banner-ratio)); }
	.swanz-banner.is-fixed .swanz-banner__item { height: var(--swanz-banner-h-m); }
	.swanz-banner__mask { display: none; }
	/* Mobile: the text box sits below the image on white, with a black outline button. */
	.swanz-banner__content { position: static; padding: 30px 10px; justify-content: center; text-align: center; }
	.swanz-banner__box { max-width: none; padding: 0; color: #000; }
	.swanz-banner__title { font-size: var(--swanz-title-2); }
	.swanz-banner__button { font-size: var(--swanz-button-font-size); padding: var(--swanz-button-padding); }
	.swanz-banner__button.is-outline,
	.swanz-banner__button.is-solid { background: transparent; border-color: #000; color: #000; }
}

/* ---------- image with text ---------- */
.swanz-iwt { display: flex; align-items: center; }
.swanz-iwt.is-pos-right { flex-direction: row-reverse; }
.swanz-iwt.is-align-top { align-items: flex-start; }
.swanz-iwt.is-align-bottom { align-items: flex-end; }
.swanz-iwt.is-stretch { align-items: stretch; }
.swanz-iwt__media { flex: 1 1 0; min-width: 0; border: 1px solid rgba(0, 0, 0, 0.05); overflow: hidden; background: #f3f3f3; }
.swanz-iwt__media.is-scheme-1 { border-color: rgba(222, 110, 58, 0.05); }
.swanz-iwt__media.is-scheme-2 { border-color: rgba(151, 67, 35, 0.05); }
.swanz-iwt__media.is-scheme-3 { border-color: rgba(117, 108, 104, 0.05); }
.swanz-iwt__image,
.swanz-iwt__image img { display: block; width: 100%; height: auto; }
.swanz-iwt.is-height-high .swanz-iwt__image img { height: 700px; object-fit: cover; }
.swanz-iwt.is-height-low .swanz-iwt__image img { height: 350px; object-fit: cover; }
.swanz-iwt.is-stretch .swanz-iwt__image,
.swanz-iwt.is-stretch .swanz-iwt__image img { height: 100%; object-fit: cover; }
.swanz-iwt__text { flex: 1 1 0; min-width: 0; display: flex; align-items: center; }
.swanz-iwt.is-img-small .swanz-iwt__text { flex-grow: 2; }
.swanz-iwt.is-img-large .swanz-iwt__text { flex-grow: 0.5; }
.swanz-iwt.is-align-top .swanz-iwt__text { align-items: flex-start; }
.swanz-iwt.is-align-bottom .swanz-iwt__text { align-items: flex-end; }
.swanz-iwt__info { width: 100%; padding: 32px 50px; }
.swanz-iwt__info.is-text-center { text-align: center; }
.swanz-iwt__info.is-text-right { text-align: right; }
.swanz-iwt__sub { margin: 20px 0 0; font-size: var(--swanz-body-3); font-weight: 400; text-transform: uppercase; letter-spacing: 0.3em; }
.swanz-iwt__sub.is-small { font-size: calc(var(--swanz-body-3) * 0.8); }
.swanz-iwt__sub.is-large { font-size: calc(var(--swanz-body-3) * 1.2); }
.swanz-iwt__title { margin: 20px 0; color: inherit; overflow: hidden; font-family: var(--wp--preset--font-family--title); font-weight: 600; line-height: 1.2; font-size: 30px; }
.swanz-iwt__title.is-small { font-size: 24px; }
.swanz-iwt__title.is-large { font-size: 36px; }
.swanz-iwt__content { margin-top: 20px; font-size: var(--swanz-body-3); line-height: 1.5; }
.swanz-iwt__text:not([class*="swanz-scheme"]) .swanz-iwt__content { color: var(--wp--preset--color--text-light); }
.swanz-iwt__button { margin-top: 20px; }
.swanz-iwt__info > :first-child { margin-top: 0; }
.swanz-iwt__info > :last-child { margin-bottom: 0; }

@media (max-width: 749.98px) {
	.swanz-iwt,
	.swanz-iwt.is-pos-right { flex-direction: column; align-items: stretch; }
	.swanz-iwt.is-height-high .swanz-iwt__image img { height: 400px; }
	.swanz-iwt.is-height-low .swanz-iwt__image img { height: 200px; }
	.swanz-iwt.is-stretch .swanz-iwt__image img { height: auto; }
	.swanz-iwt__info { padding: 30px 20px; text-align: left; }
	.swanz-iwt__info.is-m-text-center { text-align: center; }
	.swanz-iwt__info.is-m-text-right { text-align: right; }
	.swanz-iwt__title { margin: 15px 0 20px; font-size: 22px; }
	.swanz-iwt__title.is-small { font-size: 17.6px; }
	.swanz-iwt__title.is-large { font-size: 26.4px; }
	.swanz-iwt__sub,
	.swanz-iwt__content,
	.swanz-iwt__button { margin-top: 15px; }
}

/* ---------- rich text ---------- */
.swanz-rt.has-text-left { text-align: left; }
.swanz-rt.has-text-center { text-align: center; }
.swanz-rt.has-text-right { text-align: right; }
.swanz-rt__heading { margin: 0; color: inherit; overflow: hidden; font-family: var(--wp--preset--font-family--title); font-weight: 600; line-height: 1.2; font-size: var(--swanz-title-4); }
.swanz-rt__heading.is-small { font-size: calc(var(--swanz-title-4) * 0.8); }
.swanz-rt__heading.is-large { font-size: calc(var(--swanz-title-4) * 1.2); }
.swanz-rt__text { margin: 30px 0; font-size: var(--swanz-body-2); line-height: 1.5; }
.swanz-rt__inner > :first-child { margin-top: 0; }
.swanz-rt__inner > :last-child { margin-bottom: 0; }
.swanz-rt.is-narrow { display: flex; justify-content: center; }
.swanz-rt.is-narrow.is-place-left { justify-content: flex-start; }
.swanz-rt.is-narrow.is-place-right { justify-content: flex-end; }
.swanz-rt.is-narrow .swanz-rt__inner { max-width: 920px; margin-inline: 0; }
@media (max-width: 749.98px) {
	.swanz-rt__text { margin: 20px 0; }
	.swanz-rt.is-narrow .swanz-rt__inner { max-width: 100%; }
}

/* ---------- video (16:9 facade) ---------- */
.swanz-video { position: relative; padding-top: 56.25%; overflow: hidden; background: #000; border: 1px solid rgba(0, 0, 0, 0.05); }
.swanz-video__thumb,
.swanz-video__thumb img,
.swanz-video iframe,
.swanz-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.swanz-video__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; transition: transform 0.2s ease; }
.swanz-video__play:hover { transform: translate(-50%, -50%) scale(1.1); }
.swanz-video__play:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 50%; }
@media (max-width: 749.98px) { .swanz-video__play svg { width: 44px; height: 44px; } }

/* ---------- Advanced Components Library sections ---------- */
.swanz-app-section { background: #fff; }
.swanz-app-inner { max-width: 1420px; margin: 0 auto; padding: 60px 40px; }
.swanz-app-title { margin: 0 0 30px; font-size: var(--swanz-fs, 32px); line-height: 1.2; }
.swanz-app-title.is-center { text-align: center; }
.swanz-app-body { font-size: var(--swanz-fs, 16px); line-height: 1.6; }
@media (max-width: 749.98px) {
	.swanz-app-inner { padding: 40px 20px; }
	.swanz-app-title { margin-bottom: 20px; font-size: var(--swanz-fs-m, var(--swanz-fs, 24px)); }
	.swanz-app-body { font-size: var(--swanz-fs-m, var(--swanz-fs, 14px)); }
}

/* text with video */
.swanz-twv__row { display: flex; align-items: center; gap: 50px; }
.swanz-twv__row.is-video-right { flex-direction: row-reverse; }
.swanz-twv__video,
.swanz-twv__text { flex: 1 1 0; min-width: 0; }
.swanz-twv__text.is-text-center { text-align: center; }
.swanz-twv__text.is-text-right { text-align: right; }
.swanz-twv__text .swanz-app-title { margin-bottom: 20px; }
@media (max-width: 749.98px) {
	.swanz-twv__row,
	.swanz-twv__row.is-video-right { flex-direction: column; align-items: stretch; gap: 24px; }
	.swanz-twv__text { text-align: left; }
	.swanz-twv__text.is-m-text-center { text-align: center; }
}

/* image carousel: two per row on desktop, a swipeable row on mobile */
.swanz-carousel__track { display: grid; grid-template-columns: repeat(var(--swanz-cols, 2), minmax(0, 1fr)); gap: 30px; }
.swanz-carousel__slide { margin: 0; text-align: center; }
.swanz-carousel__link { display: block; padding: 0; }
.swanz-carousel__image { position: relative; overflow: hidden; }
.swanz-carousel__image[style] { padding-top: var(--swanz-carousel-ratio); }
.swanz-carousel__image[style] img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.swanz-carousel__image img { display: block; width: 100%; height: auto; transition: transform 0.5s ease; }
.swanz-carousel__link:hover img { transform: scale(1.03); }
.swanz-carousel__slide figcaption { display: grid; gap: 6px; margin-top: 15px; }
.swanz-carousel__caption { font-size: var(--swanz-fs, 20px); line-height: 1.2; }
.swanz-carousel__desc { font-size: var(--swanz-fs, 16px); }
@media (max-width: 749.98px) {
	.swanz-carousel__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; scrollbar-width: none; }
	.swanz-carousel__track::-webkit-scrollbar { display: none; }
	.swanz-carousel__slide { flex: 0 0 85%; scroll-snap-align: start; }
	.swanz-carousel__caption { font-size: var(--swanz-fs-m, var(--swanz-fs, 20px)); }
}

/* feature columns */
.swanz-feat__grid { display: grid; grid-template-columns: repeat(var(--swanz-cols, 2), minmax(0, 1fr)); column-gap: var(--swanz-gap-x, 30px); row-gap: var(--swanz-gap-y, 30px); list-style: none; margin: 0; padding: 0; }
.swanz-feat.is-text-center { text-align: center; }
.swanz-feat__image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.swanz-feat__title { margin: 20px 0 10px; font-size: var(--swanz-fs, 24px); }
.swanz-feat__text { font-size: var(--swanz-fs, 16px); line-height: 1.6; }
.swanz-feat__text ul { list-style: disc; }
@media (max-width: 749.98px) {
	.swanz-feat__grid { grid-template-columns: repeat(var(--swanz-cols-m, 1), minmax(0, 1fr)); column-gap: var(--swanz-gap-x-m, 10px); row-gap: var(--swanz-gap-y-m, 10px); }
	.swanz-feat__title { font-size: var(--swanz-fs-m, var(--swanz-fs, 20px)); }
	.swanz-feat__text { font-size: var(--swanz-fs-m, var(--swanz-fs, 14px)); }
}

/* hover videos */
.swanz-mhs__track { display: grid; grid-template-columns: repeat(var(--swanz-cols, 3), minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.swanz-mhs__card { position: relative; height: var(--swanz-mhs-h, 450px); overflow: hidden; background: #000; cursor: pointer; }
.swanz-mhs__image,
.swanz-mhs__image img,
.swanz-mhs__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--swanz-focal, center); }
.swanz-mhs__video { opacity: 0; transition: opacity 0.4s ease; }
.swanz-mhs__card.is-playing .swanz-mhs__video { opacity: 1; }
@media (max-width: 749.98px) {
	.swanz-mhs__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; scrollbar-width: none; }
	.swanz-mhs__track::-webkit-scrollbar { display: none; }
	.swanz-mhs__card { flex: 0 0 80%; scroll-snap-align: start; }
}

/* ---------- featured collection + product rails ---------- */
.swanz-fc__viewport { position: relative; }
.swanz-fc__list { display: grid; grid-template-columns: repeat(var(--swanz-cols, 4), minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.swanz-fc__item { min-width: 0; }
.swanz-fc__action { display: flex; justify-content: center; padding-top: 25px; }
.swanz-rail__arrow { display: none; }

@media (min-width: 750px) {
	.swanz-fc.is-rail-desktop .swanz-fc__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
	.swanz-fc.is-rail-desktop .swanz-fc__list::-webkit-scrollbar { display: none; }
	.swanz-fc.is-rail-desktop .swanz-fc__item { flex: 0 0 calc((100% - 20px * var(--swanz-cols)) / (var(--swanz-cols) + 0.5)); scroll-snap-align: start; }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow { position: absolute; top: 35%; z-index: 4; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid #000; border-radius: 50%; background: #fff; color: #000; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow:hover { transform: scale(1.1); box-shadow: 0 10px 50px rgba(0, 0, 0, 0.08); }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow.is-prev { left: 8px; }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow.is-prev .swanz-icon { transform: rotate(90deg); }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow.is-next { right: 8px; }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow.is-next .swanz-icon { transform: rotate(-90deg); }
	.swanz-fc.is-rail-desktop .swanz-rail__arrow[disabled] { opacity: 0.3; cursor: default; }
}

@media (max-width: 749.98px) {
	.swanz-fc__list { grid-template-columns: repeat(var(--swanz-cols-m, 2), minmax(0, 1fr)); gap: 10px; }
	.swanz-fc__action { padding-top: 15px; }
	/* Swipeable row showing ~2.1 cards, like Arise's mobile carousel. */
	.swanz-fc.is-rail-mobile .swanz-container { padding-inline: 0; }
	.swanz-fc.is-rail-mobile .swanz-section-title { padding-inline: 10px; }
	.swanz-fc.is-rail-mobile .swanz-fc__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 20px; scroll-padding-inline: 20px; scrollbar-width: none; }
	.swanz-fc.is-rail-mobile .swanz-fc__list::-webkit-scrollbar { display: none; }
	.swanz-fc.is-rail-mobile .swanz-fc__item { flex: 0 0 calc((100% - 10px * var(--swanz-cols-m, 2)) / (var(--swanz-cols-m, 2) + 0.1)); scroll-snap-align: start; }
}

/* ---------- text columns ---------- */
.swanz-tc__grid { display: grid; grid-template-columns: repeat(var(--swanz-cols, 3), minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.swanz-tc.is-text-center .swanz-tc__item { text-align: center; }
.swanz-tc.has-tiles .swanz-tc__item { padding: 24px; background: rgba(0, 0, 0, 0.05); }
.swanz-tc__image { display: inline-block; width: calc(var(--swanz-tc-img, 50%) - 24px); margin-bottom: 40px; }
.swanz-tc__image img { display: block; width: 100%; height: auto; }
.swanz-tc.is-circle .swanz-tc__image img { aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.swanz-tc__title { margin: 0 0 30px; font-family: var(--wp--preset--font-family--title); font-weight: 600; line-height: 1.2; font-size: var(--swanz-title-5); }
.swanz-tc__text { margin-bottom: 30px; font-size: var(--swanz-body-3); }
.swanz-tc__link { font-size: var(--swanz-body-4); color: inherit; }
@media (max-width: 749.98px) {
	.swanz-tc__grid { grid-template-columns: repeat(var(--swanz-cols-m, 1), minmax(0, 1fr)); gap: 10px; }
	.swanz-tc.has-tiles .swanz-tc__item { padding: 20px; }
	.swanz-tc__image { width: var(--swanz-tc-img, 50%); margin-bottom: 30px; }
	.swanz-tc__title,
	.swanz-tc__text { margin-bottom: 20px; }
}

/* ---------- forms (Arise contact form: contact, warranty claim, order enquiry) & order tracking ---------- */
.swanz-contact__inner { max-width: calc(900px + 2 * var(--swanz-gutter)); }
.swanz-contact__intro { margin: 0 0 30px; text-align: center; }
.swanz-contact__form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 0; }
.swanz-contact .swanz-field.is-wide,
.swanz-contact__privacy,
.swanz-contact__submit { grid-column: 1 / -1; }
.swanz-contact__privacy { margin: 0; font-size: var(--swanz-body-6); opacity: 0.8; text-align: center; }
.swanz-contact__privacy a { color: inherit; }
.swanz-contact__submit { margin: 0; text-align: center; }
.swanz-contact__submit .swanz-button { min-width: 180px; }
.swanz-contact__submit .swanz-button[aria-disabled="true"] { opacity: 0.6; cursor: progress; }
.swanz-contact__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.swanz-contact__notice { margin: 0 0 20px; padding: 12px 16px; border: 1px solid currentColor; }
.swanz-contact__notice p { margin: 0; }
.swanz-contact__notice p + p { margin-top: 4px; }
.swanz-contact__notice.is-sent { color: #2e7d32; text-align: center; }
.swanz-contact__notice.is-error { color: #f04949; }

/* select and date keep their label raised: they always show something */
.swanz-contact .swanz-field select { width: 100%; height: 100%; min-height: 50px; padding: 24px 36px 8px 16px; border: 1px solid rgba(0, 0, 0, 0.55); border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23000' stroke-linecap='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 16px center; color: inherit; font: inherit; line-height: 1.15; appearance: none; }
.swanz-contact .swanz-field select:hover,
.swanz-contact .swanz-field select:focus { outline: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.55); }
.swanz-contact .swanz-field select + label,
.swanz-contact .swanz-field input[type="date"] + label { transform: translateY(-100%) scale(0.8); }
/* labels sit on the control (a hint or error below it mustn't move them) */
.swanz-contact .swanz-field:not(.is-textarea):not(.is-file) label { top: 25px; }
.swanz-contact .swanz-field input[type="date"] { min-height: 50px; }

/* file picker: label on top, a secondary-style button, then the chosen files */
.swanz-contact .swanz-field.is-file { padding: 16px; border: 1px dashed rgba(0, 0, 0, 0.55); }
.swanz-contact .swanz-field.is-file label { position: static; display: block; margin: 0 0 12px; opacity: 1; transform: none; }
.swanz-contact .swanz-field input[type="file"] { padding: 0; border: 0; background: none; }
.swanz-contact .swanz-field input[type="file"]:hover,
.swanz-contact .swanz-field input[type="file"]:focus { box-shadow: none; }
.swanz-contact .swanz-field input[type="file"]:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.swanz-contact .swanz-field input[type="file"]::file-selector-button { margin-right: 12px; padding: var(--swanz-button-padding); border: 1px solid var(--wp--preset--color--button-secondary-border); background: var(--wp--preset--color--button-secondary); color: var(--wp--preset--color--button-secondary-text); font: inherit; cursor: pointer; }
.swanz-field__files { margin: 10px 0 0; padding: 0; list-style: none; font-size: var(--swanz-body-6); }
.swanz-field__files:empty { display: none; }
.swanz-field__hint { display: block; margin-top: 8px; font-size: var(--swanz-body-6); opacity: 0.7; }
.swanz-field__error { display: block; margin-top: 6px; color: #f04949; font-size: var(--swanz-body-6); }
.swanz-contact .swanz-field.has-error input:not([type="file"]),
.swanz-contact .swanz-field.has-error textarea,
.swanz-contact .swanz-field.has-error select,
.swanz-contact .swanz-field.is-file.has-error { border-color: #f04949; }
@media (max-width: 749.98px) {
	.swanz-contact__form { grid-template-columns: 1fr; }
}

.swanz-order-tracking .woocommerce form { max-width: 640px; margin: 0 auto; }
.swanz-order-tracking input[type="text"],
.swanz-order-tracking input[type="email"] { width: 100%; padding: 12px 16px; border: 1px solid rgba(0, 0, 0, 0.55); border-radius: 0; font: inherit; }
.swanz-order-tracking button { padding: var(--swanz-button-padding); border: 1px solid var(--wp--preset--color--button); background: var(--wp--preset--color--button); color: var(--wp--preset--color--button-text); font: inherit; cursor: pointer; }
