/*
Theme Name: Done by Tina Custom
Theme URI: https://donebytina.com
Author: WordPress AI Orchestrator
Author URI: https://donebytina.com
Description: Custom WordPress theme for Done by Tina that mirrors the approved Canva design using the original export, local mirrored assets, and WordPress-managed homepage settings.
Version: 2.2.0
Text Domain: custom-theme
*/

@font-face {
	font-family: 'The Seasons';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src:
		url('assets/fonts/the-seasons.woff2') format('woff2'),
		url('assets/fonts/the-seasons.woff') format('woff');
}

@font-face {
	font-family: 'Canva Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/canva-sans.woff2') format('woff2');
}

:root {
	--cv-cream: #fff7f1;
	--cv-peach: #f2d6ca;
	--cv-card-peach: #f4cfc3;
	--cv-accent: #ba4b2f;
	--cv-text: #000000;
	--cv-shell: 1521px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--cv-cream);
	color: var(--cv-text);
	font-family: 'Poppins', sans-serif;
	line-height: 1.5;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

.site {
	overflow-x: clip;
}

.site-main,
.site-main--editor,
.editor-homepage,
.editor-homepage__content {
	width: 100%;
	max-width: none;
	margin: 0;
}

.cv-section {
	position: relative;
}

.cv-section--cream {
	background: var(--cv-cream);
}

.cv-section--peach {
	background: var(--cv-peach);
}

.cv-scale-wrap {
	position: relative;
	width: 100%;
	height: var(--cv-height);
	overflow: clip;
}

.cv-artboard {
	position: relative;
	width: var(--cv-shell);
	height: var(--cv-height);
	margin: 0 auto;
	transform-origin: top left;
}

.cv-abs {
	position: absolute;
}

.cv-serif {
	font-family: 'The Seasons', serif;
}

.cv-heading-hero {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 89.3317px;
	font-weight: 400;
	line-height: 121px;
	letter-spacing: 0;
	color: var(--cv-accent);
	text-align: center;
	white-space: nowrap;
}

.cv-hero-tagline {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 31.7331px;
	font-weight: 400;
	line-height: 44px;
	color: var(--cv-accent);
	text-align: center;
}

.cv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 77px;
	padding: 10px 24px;
	border: 4px solid var(--cv-accent);
	background: transparent;
	font-family: 'Belleza', sans-serif;
	font-size: 33.3332px;
	font-weight: 400;
	line-height: 46px;
	color: var(--cv-accent);
	text-align: center;
	white-space: nowrap;
}

.cv-btn:hover,
.cv-btn:focus-visible {
	background: rgba(186, 75, 47, 0.07);
}

.cv-hero-branch,
.cv-section-branch {
	pointer-events: none;
}

.cv-hero-branch {
	opacity: 1;
	overflow: hidden;
	clip-path: none;
}

.cv-section-branch {
	opacity: 0.3;
}

.cv-section-branch img,
.cv-footer-badge img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cv-hero-branch img {
	position: static;
	width: 100%;
	height: 100%;
	max-width: none;
	display: block;
	object-fit: cover;
	object-position: top left;
	transform: none;
}

.cv-hero-image img,
.cv-familiar-image img,
.cv-about-image img,
.cv-service-image img,
.cv-next-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cv-hero-image {
	overflow: hidden;
	border-radius: 48% 48% 0 0 / 16% 16% 0 0;
	background: rgba(235, 229, 223, 0.8);
}

.cv-hero-image img {
	object-position: center 70%;
}

.cv-about-image {
	overflow: hidden;
	border-radius: 50%;
}

.cv-about-image img {
	object-position: center 22%;
}

.cv-familiar-title {
	margin: 0;
	font-size: 34.2662px;
	font-weight: 400;
	line-height: 51px;
	text-align: center;
}

.cv-familiar-list,
.cv-services-list,
.cv-package-list,
.cv-ondemand-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cv-familiar-list li {
	position: relative;
	padding-left: 48px;
	font-size: 26.6667px;
	line-height: 40px;
	text-align: left;
}

.cv-familiar-list li + li {
	margin-top: 12px;
}

.cv-familiar-list li::before {
	content: '\00BB';
	position: absolute;
	left: 0;
	top: -2px;
	width: 41px;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 44px;
	font-weight: 700;
	color: #26c7da;
}

.cv-familiar-intro {
	margin: 0;
	font-size: 26.6728px;
	line-height: 40px;
	text-align: center;
}

.cv-familiar-callout {
	margin: 0;
	font-size: 29.3333px;
	line-height: 43px;
	text-align: center;
	color: var(--cv-accent);
	font-style: italic;
}

.cv-about-title,
.cv-section-title,
.cv-contact-title {
	margin: 0;
	font-family: 'The Seasons', serif;
	font-weight: 400;
	color: var(--cv-accent);
}

.cv-about-title {
	font-size: 65.969px;
	line-height: 50px;
	white-space: nowrap;
}

.cv-about-copy {
	margin: 0;
	font-size: 28px;
	line-height: 48px;
}

.cv-about-copy p {
	margin: 0 0 14px;
}

.cv-about-copy p:last-child {
	margin-bottom: 0;
}

.cv-service-card,
.cv-package-card,
.cv-ondemand-card,
.cv-step-card {
	position: absolute;
	overflow: hidden;
	border: 2px solid rgba(186, 75, 47, 0.23);
	background: rgba(255, 247, 241, 0.56);
}

.cv-service-card__title {
	margin: 0;
	font-size: 29.3332px;
	font-weight: 400;
	line-height: 39px;
	color: var(--cv-accent);
}

.cv-services-list li {
	position: relative;
	padding-left: 52px;
	font-size: 28px;
	line-height: 38px;
}

.cv-services-list li + li {
	margin-top: 4px;
}

.cv-services-list li::before {
	content: '\2713';
	position: absolute;
	top: 1px;
	left: 0;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #bcebed;
	color: #f2a7bf;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

.cv-section-title {
	font-size: 72px;
	line-height: 1;
	white-space: nowrap;
}

.cv-service-note {
	margin: 0;
	font-size: 30px;
	line-height: 37px;
	text-align: center;
	color: var(--cv-accent);
}

.cv-package-card {
	border: 0;
	border-radius: 28px;
	background: var(--cv-card-peach);
	padding: 0 26px;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.cv-package-name {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 58px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	color: var(--cv-accent);
	text-align: center;
}

.cv-package-desc {
	margin: 0;
	font-size: 28px;
	line-height: 35px;
	text-align: center;
	color: var(--cv-accent);
	font-style: italic;
}

.cv-package-meta {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 28px;
	line-height: 34px;
	text-align: center;
	color: var(--cv-accent);
	text-transform: uppercase;
}

.cv-package-price {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 31px;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	color: var(--cv-accent);
	text-transform: uppercase;
}

.cv-package-list li {
	position: relative;
	padding-left: 0;
	font-family: 'Canva Sans', 'Poppins', sans-serif;
	font-size: 24px;
	line-height: 33px;
	text-align: center;
}

.cv-package-list li::before {
	content: '\2022\00A0';
	position: static;
}

.cv-package-list li + li {
	margin-top: 4px;
}

.cv-package-card .cv-btn {
	min-height: 60px;
	padding: 8px 20px;
	border-width: 3px;
	font-size: 24px !important;
	line-height: 1.15;
}

.cv-ondemand-card {
	border: 0;
	border-radius: 28px;
	background: var(--cv-card-peach);
	display: grid;
	row-gap: 20px;
	align-content: start;
	padding: 36px 76px 42px;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.cv-ondemand-card > .cv-abs {
	position: static;
	width: auto !important;
	height: auto !important;
}

.cv-ondemand-title {
	margin: 0;
	font-family: 'The Seasons', serif;
	font-size: 76px;
	font-weight: 400;
	line-height: 1;
	color: var(--cv-accent);
	white-space: nowrap;
	text-align: left;
}

.cv-ondemand-intro {
	margin: 0;
	max-width: 1040px;
	font-size: 28px;
	line-height: 40px;
	text-align: center;
}

.cv-ondemand-rate {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 36px;
	font-weight: 400;
	line-height: 1;
	color: var(--cv-accent);
	text-align: center;
}

.cv-ondemand-list {
	max-width: 1040px;
	margin: 0 auto;
}

.cv-ondemand-list li {
	position: relative;
	padding-left: 28px;
	font-size: 24px;
	line-height: 34px;
}

.cv-ondemand-list li::before {
	content: '\2022';
	position: absolute;
	left: 0;
	top: 0;
}

.cv-next-title {
	margin: 0;
	font-family: 'The Seasons', serif;
	font-size: 72px;
	font-weight: 400;
	line-height: 1;
	color: var(--cv-accent);
	white-space: nowrap;
}

.cv-next-subtitle {
	margin: 0;
	font-family: 'The Seasons', serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.02;
	color: var(--cv-accent);
	white-space: nowrap;
}

.cv-next-intro {
	margin: 0;
	font-family: 'Canva Sans', 'Poppins', sans-serif;
	font-size: 27px;
	line-height: 39px;
}

.cv-step-card {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 16px;
	row-gap: 8px;
	align-items: start;
	background: transparent;
	border: none;
	overflow: visible;
}

.cv-step-number {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 1;
	color: var(--cv-accent);
	grid-column: 1;
	grid-row: 1 / span 2;
}

.cv-step-copy {
	margin: 0;
	font-family: 'Canva Sans', 'Poppins', sans-serif;
	font-size: 24px;
	line-height: 35px;
	grid-column: 2;
	grid-row: 2;
}

.cv-step-label {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 29px;
	font-weight: 400;
	line-height: 1;
	color: var(--cv-accent);
	grid-column: 2;
	grid-row: 1;
	text-transform: uppercase;
}

.cv-contact-cta-wrap {
	display: flex;
	justify-content: center;
}

.cv-contact-cta {
	min-width: 284px;
}

.cv-contact-copy {
	margin: 0;
	font-size: 34px;
	line-height: 1;
}

.cv-contact-motto {
	margin: 0;
	font-family: 'Belleza', sans-serif;
	font-size: 39.67px;
	line-height: 1.2;
	text-align: center;
}

.cv-contact-link {
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: 'Belleza', sans-serif;
	font-size: 34px;
	line-height: 1;
	transition: transform 180ms ease, color 180ms ease;
}

.cv-contact-link__icon {
	display: block;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: transform 180ms ease;
}

.cv-contact-link__icon--phone {
	background-image: url('assets/images/canva/icon-phone.png');
	background-position: left center;
	background-size: 84px 42px;
}

.cv-contact-link__icon--email {
	background-image: url('assets/images/canva/icon-email.png');
	background-position: left center;
	background-size: 84px 42px;
}

.cv-contact-link__icon--linkedin {
	background-image: url('assets/images/canva/icon-linkedin.png');
}

.cv-contact-link__icon--instagram {
	background-image: url('assets/images/canva/icon-instagram.svg');
}

@media (hover: hover) {
	.cv-package-card:hover,
	.cv-package-card:focus-within,
	.cv-ondemand-card:hover,
	.cv-ondemand-card:focus-within {
		transform: translateY(-6px);
		box-shadow: 0 22px 38px rgba(108, 68, 57, 0.14);
	}

	.cv-package-card:hover .cv-btn,
	.cv-package-card:focus-within .cv-btn,
	.cv-ondemand-card:hover .cv-btn,
	.cv-ondemand-card:focus-within .cv-btn {
		background: rgba(186, 75, 47, 0.07);
	}

	.cv-contact-link:hover,
	.cv-contact-link:focus-visible {
		color: var(--cv-accent);
		transform: translateX(6px);
	}

	.cv-contact-link:hover .cv-contact-link__icon,
	.cv-contact-link:focus-visible .cv-contact-link__icon {
		transform: scale(1.06);
	}
}

@media (max-width: 1521px) {
	.cv-scale-wrap {
		--cv-scale-factor: calc(100vw / var(--cv-shell));
		display: grid;
		justify-content: center;
		align-content: start;
		width: 100vw;
		max-width: none;
		height: calc(var(--cv-height) * var(--cv-scale-factor));
	}

	.cv-artboard {
		width: 1521px;
		margin: 0;
		transform-origin: top center;
		transform: scale(var(--cv-scale-factor));
	}
}

@media (max-width: 1279px) {
	.rGeu6w {
		--dbt-export-width: 2543px;
		--dbt-export-scale: calc(100vw / 2543px);
	}

	#PBbzNCy1gxD8nMmX {
		--dbt-export-height: 969px;
	}

	#PBlfdvsRDlQFMJhv {
		--dbt-export-height: 768px;
	}

	#PBCB7xwVTNlr4x97 {
		--dbt-export-height: 946px;
	}

	#PBcdMpfryFWc19SV {
		--dbt-export-height: 1929px;
	}

	.rGeu6w {
		height: calc(var(--dbt-export-height) * var(--dbt-export-scale)) !important;
	}

	.rGeu6w > div {
		width: 100%;
		overflow: hidden;
	}

	.rGeu6w .onhyOQ {
		display: block !important;
		width: 100vw !important;
		height: calc(var(--dbt-export-height) * var(--dbt-export-scale)) !important;
		overflow: hidden;
	}

	.rGeu6w .twbtjQ {
		width: var(--dbt-export-width) !important;
		height: var(--dbt-export-height) !important;
		transform: scale(var(--dbt-export-scale));
		transform-origin: top left;
	}
}

@media (max-width: 767px) {
	#contact .cv-scale-wrap,
	#contact-links .cv-scale-wrap {
		display: block;
		width: 100%;
		height: auto !important;
		max-width: none;
	}

	#contact .cv-artboard,
	#contact-links .cv-artboard {
		width: auto;
		height: auto;
		margin: 0;
		transform: none;
		transform-origin: initial;
	}

	#contact .cv-abs,
	#contact-links .cv-abs,
	#contact .cv-artboard > figure,
	#contact-links .cv-artboard > figure {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
	}

	#packages .cv-scale-wrap {
		--cv-scale-factor: calc(100vw / var(--cv-shell));
		display: grid;
		justify-content: center;
		align-content: start;
		width: 100vw;
		max-width: none;
		height: calc(var(--cv-height) * var(--cv-scale-factor)) !important;
	}

	#packages .cv-artboard {
		width: 1521px;
		height: var(--cv-height);
		margin: 0;
		transform-origin: top center;
		transform: scale(var(--cv-scale-factor));
	}

	#packages .cv-package-card {
		display: block;
		position: absolute;
		padding: 0 26px;
		border-radius: 28px;
	}

	#packages .cv-package-card > .cv-abs {
		position: absolute !important;
	}

	#packages .cv-package-card .cv-btn {
		border-width: 0;
		border-radius: 999px;
		background: var(--cv-accent);
		color: var(--cv-cream);
	}

	#contact .cv-artboard {
		display: grid;
		grid-template-columns: minmax(0, 1.18fr) minmax(120px, 0.82fr);
		column-gap: 16px;
		row-gap: 14px;
		padding: 32px 18px 34px;
		align-items: start;
	}

	#contact .cv-artboard > .cv-abs:nth-child(1),
	#contact .cv-artboard > .cv-abs:nth-child(2),
	#contact .cv-artboard > .cv-abs:nth-child(3),
	#contact .cv-artboard > .cv-contact-cta-wrap {
		grid-column: 1 / -1;
	}

	#contact .cv-artboard > .cv-abs:nth-child(4),
	#contact .cv-artboard > .cv-abs:nth-child(5),
	#contact .cv-artboard > .cv-abs:nth-child(6),
	#contact .cv-artboard > .cv-abs:nth-child(7) {
		grid-column: 1 / 2;
	}

	#contact .cv-next-image {
		grid-column: 2 / 3;
		grid-row: 4 / span 4;
		width: 100%;
		max-width: 165px;
		overflow: hidden;
		border-radius: 24px;
		justify-self: end;
		align-self: start;
	}

	#contact .cv-next-title {
		font-size: 30px;
		white-space: normal;
	}

	#contact .cv-next-intro {
		font-size: 10px;
		line-height: 16px;
	}

	#contact .cv-next-subtitle {
		font-size: 17px;
	}

	#contact .cv-step-card {
		column-gap: 8px;
		row-gap: 2px;
	}

	#contact .cv-step-number {
		font-size: 14px;
	}

	#contact .cv-step-label {
		font-size: 11px;
	}

	#contact .cv-step-copy {
		font-size: 10px;
		line-height: 14px;
	}

	#contact .cv-contact-cta {
		min-width: 94px;
		min-height: 28px;
		padding: 6px 14px;
		border-width: 0;
		border-radius: 999px;
		background: var(--cv-accent);
		color: var(--cv-cream);
		font-size: 11px !important;
		line-height: 1;
	}

	#contact-links .cv-artboard {
		display: grid;
		position: relative;
		grid-template-columns: 126px minmax(0, 1fr);
		column-gap: 12px;
		row-gap: 8px;
		padding: 18px 14px 20px;
		align-items: start;
	}

	#contact-links .cv-artboard::before {
		content: '';
		position: absolute;
		top: 2px;
		left: 0;
		width: 132px;
		height: 102px;
		background: url('assets/images/canva/footer-badge-wide.png') no-repeat left top / contain;
		pointer-events: none;
	}

	#contact-links .cv-artboard::after {
		content: '';
		position: absolute;
		right: 6px;
		bottom: 6px;
		width: 30px;
		height: 30px;
		background: url('assets/images/canva/branch-floral.svg') no-repeat center / contain;
		opacity: 0.22;
		pointer-events: none;
	}

	#contact-links .cv-section-branch {
		display: none;
	}

	#contact-links .cv-footer-badge {
		display: none;
	}

	#contact-links .cv-artboard > .cv-abs:nth-child(4),
	#contact-links .cv-artboard > .cv-abs:nth-child(5),
	#contact-links .cv-artboard > .cv-abs:nth-child(6),
	#contact-links .cv-artboard > .cv-abs:nth-child(7) {
		grid-column: 2 / 3;
	}

	#contact-links .cv-artboard > .cv-abs:nth-child(3) {
		grid-column: 1 / -1;
		grid-row: 5;
		margin-top: 2px;
	}

	#contact-links .cv-contact-link {
		gap: 8px;
		font-size: 11px;
		line-height: 1.2;
		word-break: break-word;
	}

	#contact-links .cv-contact-link__icon {
		width: 16px;
		height: 16px;
		flex-basis: 16px;
	}

	#contact-links .cv-contact-link__icon--phone,
	#contact-links .cv-contact-link__icon--email {
		background-size: 32px 16px;
	}

	#contact-links .cv-contact-motto {
		font-size: 10px;
		line-height: 1.3;
	}
}

.site-shell {
	box-sizing: border-box;
	max-width: 1120px;
	margin: 0 auto;
	padding: 48px 24px 80px;
}

.site-shell__header {
	margin-bottom: 32px;
}

.site-shell__eyebrow {
	display: inline-block;
	margin-bottom: 12px;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cv-accent);
}

.site-shell__title,
.entry-title,
.page-title {
	margin: 0 0 16px;
	font-size: clamp(2rem, 3vw, 3.5rem);
	line-height: 1.1;
	color: var(--cv-accent);
}

.site-shell__content,
.entry-content,
.page-content,
.archive-description {
	font-size: 1rem;
	line-height: 1.7;
}

.entry-card {
	padding: 24px 0;
	border-top: 1px solid rgba(36, 31, 26, 0.12);
}

.entry-card:first-of-type {
	border-top: none;
}

.entry-meta {
	margin-bottom: 12px;
	color: rgba(36, 31, 26, 0.72);
	font-size: 0.9rem;
}

.archive-grid {
	display: grid;
	gap: 24px;
}

.widget-area {
	margin-top: 48px;
	padding: 24px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.8);
}

.widget-area ul {
	padding-left: 18px;
}

.site-footer {
	padding: 32px 24px 48px;
	text-align: center;
	color: rgba(36, 31, 26, 0.72);
}

.error-404 {
	min-height: 50vh;
	display: grid;
	place-items: center;
	text-align: center;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
