/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  customized for lynnepoletto
 Author:       Fontaholic Designs
 Author URI:   https://fontaholic.biz
 Template:     generatepress
 Version:      0.2
*/

:root {
	--contrast: #4b4f54;
	--contrast-2: #273b30;
	--contrast-3: #b7b09d;
	--base: #b2b2be;
	--base-2: #e9e6df;
	--base-3: #adc8b9;
	--accent: #74827F;
	--accent-warning: #d97706;
	--links: #155288;
	--black: #060606;
	--white: #ffffff;
	--additional-0: #f3f8f5;
	--brand-button-solid-background: #adc8b9;
	--brand-button-solid-text: #ffffff;
	--brand-button-solid-hover-background: #4b4f54;
	--brand-button-solid-hover-text: #ffffff;
	--brand-button-outline-background: #adc8b9;
	--brand-button-outline-text: #1e73be;
	--brand-button-outline-border: #e9e6df;
	--brand-button-outline-hover-background: #adc8b9;
	--brand-button-outline-hover-text: #ffffff;
	--brand-button-outline-hover-border: #adc8b9;
	--brand-button-gradient-start: #adc8b9;
	--brand-button-gradient-end: #4b4f54;
	--brand-button-gradient-text: #ffffff;
	--brand-button-gradient-hover-start: #4b4f54;
	--brand-button-gradient-hover-end: #adc8b9;
	--brand-button-gradient-hover-text: #ffffff;
	--brand-top-gradient-start: #f3f8f5;
	--brand-top-gradient-end: #adc8b9;
	--brand-content-gutter: clamp(18px, 4vw, 40px);
}

/* Fonts */

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/CormorantGaramond-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/CormorantGaramond-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/CormorantGaramond-Italic.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url('assets/fonts/CormorantGaramond-SemiBoldItalic.ttf') format('truetype');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/CormorantGaramond-BoldItalic.ttf') format('truetype');
}

/* Typography */

h1:where(:not(.home .site-content *)),
h2:where(:not(.home .site-content *)),
h3:where(:not(.home .site-content *)),
h4:where(:not(.home .site-content *)),
h5:where(:not(.home .site-content *)),
h6:where(:not(.home .site-content *)),
.main-title,
.site-branding .site-title,
.site-description,
.brand-font-accent:where(:not(.home .site-content *)),
.bbb-font-accent:where(:not(.home .site-content *)) {
	font-family: 'Cormorant Garamond', serif;
}

html,
body {
	color: var(--contrast);
	font-size: clamp(20px, calc(14.71795px + 0.32051vw), 24px);
}

h1,
h2,
h3,
h4,
h5,
h6,
.main-title,
.site-branding .site-title {
	font-weight: 700;
}

h1 {
	font-size: clamp(28px, calc(15.17949px + 3.20513vw), 48px);
}

h2 {
	font-size: clamp(24px, calc(16.30769px + 1.92308vw), 36px);
}

h3 {
	font-size: clamp(20px, calc(14.87179px + 1.28205vw), 28px);
}

h4 {
	font-size: clamp(18px, calc(15.4359px + 0.64103vw), 22px);
}

h5 {
	font-size: clamp(16px, calc(14.71795px + 0.32051vw), 18px);
}

h6 {
	font-size: clamp(15px, calc(14.35897px + 0.16026vw), 16px);
}

.elementor-widget-text-editor,
p {
	max-width: 74ch;
}
body:not(.home) .entry-content {
	max-width: 74ch;
	margin-inline: auto;
}

/* Home: same 74ch column; section backgrounds stay full width. */
.home .elementor-271 > .e-con-boxed > .e-con-inner {
	max-width: calc(74ch + 2 * var(--brand-content-gutter));
}

.entry-header .entry-title,
.entry-content > h1:first-child {
	text-align: center;
}
.main-title,
.site-branding .site-title {
	font-size: clamp(22px, calc(15.58974px + 1.60256vw), 32px);
}

.site-description {
	font-size: clamp(16px, calc(14.71795px + 0.32051vw), 18px);
}

.brand-font-accent,
.bbb-font-accent {
	font-size: clamp(14px, calc(10.15385px + 0.96154vw), 20px);
	font-weight: 700;
}

.widget-title,
.widgettitle {
	font-size: clamp(16px, calc(14.71795px + 0.32051vw), 18px);
}

.site-info {
	font-size: clamp(13px, calc(12.35897px + 0.16026vw), 14px);
}

.entry-meta {
	font-size: clamp(12px, calc(10.71795px + 0.32051vw), 14px);
}

a {
	color: var(--links);
}

blockquote div.fonty-qcoll-list {
	margin: 5%;
}

/* Elementor's frontend.css makes hr transparent with no margin. */
.elementor hr {
	background-color: var(--accent)!important;
	margin-block: 40px;margin-top:3rem!important;
}

/* Buttons */

.button,
button,
input[type='submit'],
input[type='button'],
input[type='reset'],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.elementor-button {
	font-size: clamp(14px, calc(12.71795px + 0.32051vw), 16px);
}

.button,
button,
input[type='submit'] {
	color: var(--brand-button-solid-text);
	background: var(--brand-button-solid-background);
	border: 0 solid currentColor;
	border-radius: 9px;
}

.button:hover,
button:hover,
input[type='submit']:hover {
	color: var(--brand-button-solid-hover-text);
	background: var(--brand-button-solid-hover-background);
}

.button-outline {
	color: var(--brand-button-outline-text);
	background: var(--brand-button-outline-background);
	border: 1px solid var(--brand-button-outline-border);
	border-radius: 9px;
}

.button-outline:hover {
	color: var(--brand-button-outline-hover-text);
	background: var(--brand-button-outline-hover-background);
	border-color: var(--brand-button-outline-hover-border);
}

.button-gradient {
	color: var(--brand-button-gradient-text);
	background: linear-gradient(to bottom, var(--brand-button-gradient-start), var(--brand-button-gradient-end));
	border: 0 solid currentColor;
	border-radius: 9px;
}

.button-gradient:hover {
	color: var(--brand-button-gradient-hover-text);
	background: linear-gradient(to bottom, var(--brand-button-gradient-hover-start), var(--brand-button-gradient-hover-end));
}

/* One button look site-wide: charcoal bold text, white on hover. */

.button,
a.button,
.elementor-button,
button[type='submit'],
input[type='submit'] {
	color: var(--contrast);
	font-weight: 700;
	line-height: 1.3;
	padding: 0.9em 1.5em;
	background: var(--brand-button-solid-background);
	border-radius: 9px;
	text-decoration: none;
}

.button:hover,
a.button:hover,
.elementor-button:hover,
button[type='submit']:hover,
input[type='submit']:hover {
	color: var(--white);
	background: var(--brand-button-solid-hover-background);
}

/* p.button wraps a link, so the link takes the button's colour. */
.button a {
	color: inherit;
	text-decoration: none;
}

/* Elementor form: undo the widget's stretch, colours and 0 block padding. */
.elementor-form .elementor-field-type-submit {
	justify-content: flex-start;
}

.elementor-form .elementor-field-type-submit .elementor-button {
	flex-basis: auto !important;
	min-height: 0;
	font-size: clamp(14px, calc(12.71795px + 0.32051vw), 16px) !important;
	padding: 0.9em 1.5em !important;
	border-radius: 9px;
	color: var(--contrast) !important;
	background-color: var(--brand-button-solid-background) !important;
}

.elementor-form .elementor-field-type-submit .elementor-button:hover {
	color: var(--white) !important;
	background-color: var(--brand-button-solid-hover-background) !important;
}



/* Layout */

.elementor-section.elementor-section-boxed > .elementor-container,
.e-con.e-con-boxed > .e-con-inner {
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--brand-content-gutter);
	box-sizing: border-box;
}

.brand-page-show_title-no .entry-title,
.brand-page-show_featured_image-no .featured-image,
.brand-product-show_tabs-no .woocommerce-tabs,
.brand-product-show_related-no .related.products,
.brand-product-show_upsells-no .upsells.products,
.brand-product-show_meta-no .product_meta,
.brand-product-show_short_description-no .woocommerce-product-details__short-description,
.brand-product-sale_flash-no .onsale,
.brand-post-show_featured_image-no .featured-image,
.brand-post-show_author-no .byline,
.brand-post-show_date-no .posted-on,
.brand-post-show_categories-no .cat-links,
.brand-post-show_navigation-no .post-navigation {
	display: none;
}

/* Header */

.site-header .site-logo {
	display: none;
}

.custom-shortcode-header .inside-header {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: clamp(24px, 2vw, 52px) clamp(16px, 3vw, 40px);
	box-sizing: border-box;
}

.site-header .site-branding,
.custom-shortcode-header .site-branding {
	container-type: inline-size;
	flex: 0 1 auto;
	min-width: 0;
	width: 100%;
	max-width: 900px;
	aspect-ratio: 4.3 / 1;
	margin: 0;
	padding: 0;
	background-image: url('https://www.lynnepoletto.com/wp-content/uploads/2026/08/Swirl-Green-scaled.png');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 90% auto;
	text-align: left;
	box-sizing: border-box;
}

.site-header .main-title,
.site-header .site-description,
.custom-shortcode-header .main-title,
.custom-shortcode-header .site-description {
	margin: 0 0 0 27%;
	white-space: nowrap;
}

.custom-shortcode-header {
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 769px) {
	body.nav-above-header .main-navigation .inside-navigation.grid-container,
	body.nav-below-header .main-navigation .inside-navigation.grid-container {
		padding-inline: var(--brand-content-gutter);
		box-sizing: border-box;
	}

	.main-navigation .main-nav {
		flex: 1;
	}

	.main-navigation .main-nav > ul {
		justify-content: space-between;
		width: 100%;
	}

	.main-navigation .main-nav > ul > li:first-child > a {
		padding-left: 0;
	}

	.main-navigation .main-nav > ul > li:last-child > a {
		padding-right: 0;
	}
}

/* Tablet: menu won't fit on one line, so Home and Contact share row 2. */
@media (min-width: 769px) and (max-width: 900px) {
	.main-navigation .main-nav > ul {
		display: grid;
		grid-template-columns: repeat(4, auto);
		justify-content: space-between;
	}

	.main-navigation .main-nav > ul > li:first-child {
		grid-row: 2;
		grid-column: 1;
	}

	.main-navigation .main-nav > ul > li:last-child {
		grid-row: 2;
		grid-column: 4;
		justify-self: end;
	}

	.main-navigation .main-nav > ul > li:nth-child(2) > a {
		padding-left: 0;
	}

	.main-navigation .main-nav > ul > li:nth-child(5) > a {
		padding-right: 0;
	}
}

/* Header: default site header */

.site-header .main-title {
	font-size: min(3rem, 5.8cqw) !important;
	font-style: italic;
	font-weight: 600;
	line-height: 1.15;
}

.site-header .site-description {
	font-size: min(1.75rem, 3.4cqw) !important;
	line-height: 1.35;
}

/* Header: shortcode header */

.custom-shortcode-header .main-title {
	font-size: min(4.5rem, 5.8cqw) !important;
	font-style: italic !important;
	font-weight: 600 !important;
	line-height: 1.15;
}

.custom-shortcode-header .main-title a {
	font-size: inherit !important;
	font-style: inherit !important;
	font-weight: inherit !important;
	text-decoration: none;
}

.custom-shortcode-header .site-description {
	font-family: 'Cormorant Garamond', serif !important;
	font-size: min(2.5rem, 3.4cqw) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.35;
}

@media (max-width: 768px) {
	.site-header .main-title,
	.site-header .site-description {
		white-space: normal;
	}

	.custom-shortcode-header .inside-header {
		padding-inline: 0;
	}
}

/* footer */

#footer .elementor-nav-menu--main > .elementor-nav-menu > li,
.footer-widgets .elementor-nav-menu--main > .elementor-nav-menu > li {
	margin-bottom: 0;
}

#footer .elementor-widget-nav-menu .elementor-item,
.footer-widgets .elementor-widget-nav-menu .elementor-item {
	font-size: 1rem;
}

#footer .elementor-nav-menu--main > .elementor-nav-menu,
.footer-widgets .elementor-nav-menu--main > .elementor-nav-menu {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
}

#footer > .e-con-inner {
	padding-inline: 10px;
}

/* Branding centred on the page, not its column: equal outer columns,
   menu in the left one, branding in the middle. */
@media (min-width: 1025px) {
	.elementor-639 .elementor-element.elementor-element-cac8c62 {
		--display: grid;
		display: grid;
		grid-template-columns: minmax(0, 1fr) min(640px, calc(100% - 400px)) minmax(0, 1fr);
		--width: 100%;
		width: 100%;
	}

	.elementor-639 .elementor-element.elementor-element-4829f3c {
		grid-column: 1;
	}

	.elementor-639 .elementor-element.elementor-element-9484f9a {
		grid-column: 2;
		--width: 100%;
		width: 100%;
	}
}

/* Tablet and phone: stack menu above branding. Branding columns must
   stretch, not shrink-to-fit, or the swirl container measures at 0 wide
   and the footer balloons in height. */
@media (max-width: 1024px) {
	.elementor-639 .elementor-element.elementor-element-cac8c62 {
		--flex-direction: column;
		flex-direction: column;
		--width: 100%;
		width: 100%;
	}

	.elementor-639 .elementor-element.elementor-element-9484f9a,
	.elementor-639 .elementor-element.elementor-element-fab55c9 {
		--width: 100%;
		width: 100%;
		align-self: stretch;
	}

	.elementor-639 .custom-shortcode-header {
		max-width: 640px;
		margin-inline: auto;
	}

	/* Hamburger below the branding, centred. */
	.elementor-639 .elementor-element.elementor-element-4829f3c {
		order: 2;
		--width: 100%;
		width: 100%;
		align-self: stretch;
	}

	.elementor-639 .elementor-element-4829f3c .elementor-menu-toggle {
		margin-inline: auto;
	}

	/* Tighter stacked footer. */
	.elementor-639 .elementor-element.elementor-element-c64a068 {
		--padding-top: 24px;
		--padding-bottom: 8px;
		padding-block: 24px 8px;
	}

	.elementor-639 .custom-shortcode-header .inside-header {
		padding-block: 0;
	}

	.elementor-639 .elementor-element.elementor-element-cac8c62,
	.elementor-639 .elementor-element.elementor-element-9484f9a,
	.elementor-639 .elementor-element.elementor-element-4829f3c {
		--padding-top: 0px;
		--padding-bottom: 0px;
		padding-block: 0;
	}

	.elementor-639 .elementor-element.elementor-element-cac8c62 {
		--gap: 16px;
		gap: 16px;
	}
}

.site-footer .copyright-bar {
	flex: 1;
	display: flow-root;
	line-height: 49px;
}


@media (max-width: 768px) {
	.site-footer .copyright-bar {
		text-align: center;
		line-height: inherit;
	}

	.site-footer .copyright-bar .button {
		float: none;
		display: inline-block;
		margin: 1em 0 0;
	}
}

/* Client Reflections */


.reflection-quote {
	color: var(--contrast);
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.3em;
	font-style: italic;
	font-weight: 600;
	line-height: 1.35;
	margin-block: 0 0.75em;
}

.reflection-name {
	color: var(--contrast);
	font-size: 0.85em;
	margin-block: 1em 0;
}


@media (min-width: 1025px) {
  .elementor-element-25867f2 img.alignright {
	float: right;
	width: 50%;
	height: auto;
	margin: 0 0 1em 1.5em;
  }
  .elementor-element-25867f2 .elementor-widget-container::after {
	content: "";
	display: table;
	clear: both;
  }
}