/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Child Theme for Astra
Author: Your Name
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/
/* =========================================================
   Art in Bloom — WooCommerce Custom Styling
   File: woocommerce-custom.css
   Place in your theme folder and enqueue via functions.php
   (snippet provided in functions-snippet.php)
========================================================= */
/* =========================================================
   Art in Bloom — WooCommerce Custom Styling
   File: woocommerce-custom.css
   Place in your theme folder and enqueue via functions.php
   (snippet provided in functions-snippet.php)
========================================================= */
@font-face {
	font-family: 'Alex Brush';
	src: url('/wp-content/themes/astra-child/assets/fonts/AlexBrush-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
:root {
	--aib-bg: #FAF7F2;
	--aib-bg-alt: #f6f2ee;
	--aib-accent: #BD744C;
	--aib-brown: #7A6A55;
	--aib-label: #8d6c57;
	--aib-border: #D8C0AC;
	--aib-dark: #3B2E25;
}

/* ---------- General page wrappers ---------- */
.aib-shop-page,
.aib-product-page {
	background: var(--aib-bg);
	font-family: 'DM Sans', sans-serif;
	color: var(--aib-brown);
}

/* ---------- Shop hero ---------- */
.aib-shop-hero {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
	padding: 90px 20px 50px;
}

.aib-shop-eyebrow {
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	color: var(--aib-label);
	text-transform: uppercase;
	font-weight: 600;
	margin: 0 0 18px;
}

.aib-shop-title {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 2.6rem;
	color: var(--aib-dark);
	margin: 0 0 18px;
	line-height: 1.25;
}

.aib-shop-subtitle {
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--aib-brown);
	margin: 0;
}

/* ---------- Shop product grid ---------- */
.aib-shop-content {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0px 60px;
}
.woocommerce-shop div#primary {
    margin-bottom: 0px;
}
.aib-shop-content ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 32px;
	list-style: none;
	padding: 0;
	margin: 0;
}

@media (max-width: 900px) {
	.aib-shop-content ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 600px) {
	.aib-shop-content ul.products {
		grid-template-columns: 1fr !important;
	}
}

.aib-shop-content ul.products li.product {
	background: #ffffff;
	border: 1px solid #EDE2D6;
	border-radius: 24px;
	padding: 24px 24px 32px;
	text-align: center;
	box-shadow: 0 16px 40px rgba(189, 116, 76, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	list-style: none;
}

.aib-shop-content ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 50px rgba(189, 116, 76, 0.16);
}

.aib-shop-content ul.products li.product img {
	border-radius: 16px;
	margin-bottom: 18px;
}

.aib-shop-content ul.products li.product h2,
.aib-shop-content ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--aib-dark);
	margin: 0 0 10px;
}

.aib-shop-content ul.products li.product .price {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.1rem;
	color: var(--aib-accent);
	font-weight: 600;
	margin-bottom: 16px;
}

.aib-shop-content ul.products li.product .price del {
	color: #C9BBA8;
	margin-right: 6px;
}

.aib-shop-content ul.products li.product .button,
.aib-shop-content ul.products li.product a.add_to_cart_button {
	background: var(--aib-accent);
	color: #fff !important;
	border: none;
	border-radius: 40px;
	font-family: 'DM Sans', sans-serif;
	font-weight: 600;
	font-size: 0.95rem;
	padding: 12px 28px;
	display: inline-block;
	text-decoration: none;
	transition: transform 0.2s ease;
}

.aib-shop-content ul.products li.product .button:hover {
	transform: translateY(-2px);
}

/* Sorting / result count bar */
.woocommerce-result-count,
.woocommerce-ordering {
	font-family: 'DM Sans', sans-serif;
	color: var(--aib-label);
	font-size: 0.9rem;
}

.woocommerce-ordering select {
	border: 1px solid var(--aib-border);
	border-radius: 30px;
	padding: 8px 16px;
	font-family: 'DM Sans', sans-serif;
	color: var(--aib-brown);
	background: #fff;
}

/* Pagination */
.woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 50px 0 0;
}

.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--aib-border);
	color: var(--aib-brown);
	text-decoration: none;
	font-family: 'DM Sans', sans-serif;
}

.woocommerce-pagination .page-numbers li span.current {
	background: var(--aib-accent);
	color: #fff;
	border-color: var(--aib-accent);
}

/* ---------- Shop trust band ---------- */
.aib-shop-trust {
    max-width: 1200px;
    margin: 0px auto;
    /* padding: 60px 40px 100px; */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding-bottom: 100px;
}

@media (max-width: 800px) {
	.aib-shop-trust {
		grid-template-columns: 1fr;
	}
}

.aib-trust-card {
	text-align: center;
	background: var(--aib-bg-alt);
	border-radius: 20px;
	padding: 40px 28px;
}

.aib-trust-card-icon {
	font-size: 32px;
	margin-bottom: 16px;
}

.aib-trust-card h3 {
	font-family: 'Playfair Display', serif;
	font-size: 1.2rem;
	color: var(--aib-dark);
	margin: 0 0 10px;
}

.aib-trust-card p {
	font-size: 0.95rem;
	color: var(--aib-brown);
	line-height: 1.6;
	margin: 0;
}

/* =========================================================
   SINGLE PRODUCT PAGE
========================================================= */

.aib-product-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0px 60px;
}

.aib-product-grid {
	display: grid !important;
	grid-template-columns: 48% 1fr;
	gap: 60px;
	align-items: flex-start;
}

@media (max-width: 900px) {
	.ast-builder-grid-row{
		    justify-content: center;
    justify-items: center;
	}
	.aib-product-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* Gallery column */
.aib-product-gallery-col .woocommerce-product-gallery {
	border-radius: 24px;
	overflow: hidden;
	border: 2px solid var(--aib-border);
}

.aib-product-gallery-col img {
	border-radius: 0;
}

/* Summary column */
.aib-product-eyebrow {
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	color: var(--aib-label);
	text-transform: uppercase;
	font-weight: 600;
	margin: 0 0 16px;
}

.aib-product-summary-inner .product_title {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 2.4rem;
	color: var(--aib-dark);
	margin: 0 0 16px;
	line-height: 1.25;
}

.aib-product-summary-inner .price {
	font-family: 'DM Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--aib-accent);
	margin-bottom: 20px;
	display: block;
}

.aib-product-summary-inner .woocommerce-product-details__short-description {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--aib-brown);
	margin-bottom: 28px;
}

.aib-product-summary-inner .woocommerce-product-details__short-description p {
	margin: 0 0 14px;
}

/* Quantity + Add to cart form */
.aib-product-summary-inner form.cart {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.aib-product-summary-inner .quantity {
	margin: 0;
}

.aib-product-summary-inner .quantity .qty {
	width: 80px;
	height: 56px;
	border: 2px solid var(--aib-border);
	border-radius: 40px;
	text-align: center;
	font-family: 'DM Sans', sans-serif;
	font-size: 1rem;
}

.aib-product-summary-inner button.single_add_to_cart_button {
	background: var(--aib-accent);
	color: #fff !important;
	border: none;
	border-radius: 40px;
	font-family: 'DM Sans', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	padding: 17px 42px;
	box-shadow: 0 10px 24px rgba(189, 116, 76, 0.3);
	cursor: pointer;
	transition: transform 0.2s ease;
}

.aib-product-summary-inner button.single_add_to_cart_button:hover {
	transform: translateY(-2px);
}

/* Product meta (SKU / categories) */
.aib-product-summary-inner .product_meta {
	font-size: 0.85rem;
	color: var(--aib-label);
	border-top: 1px solid var(--aib-border);
	padding-top: 18px;
	margin-top: 10px;
}

.aib-product-summary-inner .product_meta a {
	color: var(--aib-accent);
}

/* Trust row under add-to-cart */
.aib-trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--aib-border);
}

.aib-trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.88rem;
	color: var(--aib-brown);
}

.aib-trust-icon {
	font-size: 18px;
}

/* Description / tabs section */
.aib-product-tabs-section {
    max-width: 1200px;
    margin: 20px auto 80px;
    padding: 0 0px;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
	border-bottom: 1px solid var(--aib-border);
}

.woocommerce-tabs ul.tabs li {
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 14px 24px;
	font-family: 'DM Sans', sans-serif;
	font-weight: 600;
	color: var(--aib-brown);
	text-decoration: none;
	border-bottom: 2px solid transparent;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--aib-accent);
	border-bottom-color: var(--aib-accent);
}

.woocommerce-tabs .panel {
	font-size: 1.02rem;
	line-height: 1.8;
	color: var(--aib-brown);
}

.woocommerce-tabs .panel h2 {
	font-family: 'Playfair Display', serif;
	color: var(--aib-dark);
	font-size: 1.6rem;
}

/* Related products */
.related.products {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 40px 100px;
}

.related.products > h2 {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 2rem;
	color: var(--aib-dark);
	text-align: center;
	margin-bottom: 40px;
}

.related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	list-style: none;
	padding: 0;
}

@media (max-width: 900px) {
	.related.products ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

.related.products ul.products li.product {
	background: #ffffff;
	border: 1px solid #EDE2D6;
	border-radius: 20px;
	padding: 18px 18px 26px;
	text-align: center;
	list-style: none;
}

.related.products ul.products li.product img {
	border-radius: 14px;
	margin-bottom: 14px;
}

/* =========================================================
   SINGLE PRODUCT — EXTRA ATTRACTIVE ELEMENTS
========================================================= */

/* Bestseller badge on gallery */
.aib-product-gallery-col {
	position: relative;
}

.aib-product-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 10;
	background: var(--aib-accent);
	color: #fff;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 30px;
	box-shadow: 0 8px 20px rgba(189, 116, 76, 0.35);
}

/* Star rating styling */
.aib-product-summary-inner .woocommerce-product-rating {
	margin-bottom: 14px;
}

.aib-product-summary-inner .star-rating {
	color: var(--aib-accent);
}

/* "What's Inside This Box" strip */
.aib-whats-inside {
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 50px 40px;
    background: var(--aib-bg-alt);
    border-radius: 28px;
}
.aib-whats-inside-title {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--aib-dark);
	text-align: center;
	margin: 0 0 36px;
}

.aib-whats-inside-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
}

@media (max-width: 900px) {
	.aib-whats-inside-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 560px) {
	.aib-whats-inside-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.aib-inside-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.85rem;
	color: var(--aib-brown);
	font-weight: 600;
}

.aib-inside-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid var(--aib-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
}

/* Sticky mobile Add to Cart bar */
.aib-sticky-cta {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: #ffffff;
	border-top: 1px solid var(--aib-border);
	box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.08);
	padding: 14px 20px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.aib-sticky-cta-info {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.aib-sticky-cta-title {
	font-family: 'Playfair Display', serif;
	font-size: 0.95rem;
	color: var(--aib-dark);
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.aib-sticky-cta-price {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.85rem;
	color: var(--aib-accent);
	font-weight: 600;
}

.aib-sticky-cta-button {
	background: var(--aib-accent);
	color: #fff !important;
	border-radius: 30px;
	font-family: 'DM Sans', sans-serif;
	font-weight: 600;
	font-size: 0.9rem;
	padding: 12px 26px;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
}

@media (max-width: 768px) {
	.aib-sticky-cta {
		display: flex;
	}

	/* leave room at the bottom of the page so the sticky bar doesn't overlap content */
	.aib-product-page {
		padding-bottom: 70px;
	}
}

.arti-logo{
        width:110px;
        height:110px;
        border-radius:50%;
        margin:0 auto 30px;
        border:2px solid #D8C0AC;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:50px;
        background:#f6f2ee;
        position:relative;
    }
    .arti-logo:before{
        content:"";
        width:20px;
        height:20px;
        background:rgba(212,168,130,.6);
        position:absolute;
        top:-10px;
        right:-10px;
        border-radius:50%;
    }
    .arti-logo:after{
        content:"";
        width:12px;
        height:12px;
        background:rgba(212,168,130,.3);
        position:absolute;
        bottom:-10px;
        left:-10px;
        border-radius:50%;
    }
    .arti-divider{
        width:40px;
        height:1px;
        background:#c89a78;
        margin:40px auto;
    }
    .arti-hero-frame{
        border-radius:24px;
        border:2px solid #D8C0AC;
        overflow:hidden;
    }
    .arti-intro{
        max-width:600px;
        margin-left:auto;
        margin-right:auto;
    }
.arti-logo{
    width:110px;height:110px;border-radius:50%;margin:0 auto 30px;
    border:2px solid #D8C0AC;display:flex;align-items:center;justify-content:center;
    font-size:50px;background:#f6f2ee;position:relative;
}
.arti-logo:before{content:'';width:20px;height:20px;background:rgba(212,168,130,.6);position:absolute;top:-10px;right:-10px;border-radius:50%;}
.arti-logo:after{content:'';width:12px;height:12px;background:rgba(212,168,130,.3);position:absolute;bottom:-10px;left:-10px;border-radius:50%;}
.arti-divider{width:40px;height:1px;background:#c89a78;margin:40px auto;}
.arti-hero-frame{border-radius:24px;border:2px solid #D8C0AC;overflow:hidden;}
.arti-intro{max-width:600px;margin-left:auto;margin-right:auto;}
.justifymiddle .elementor-container.elementor-column-gap-extended {
    justify-content: center;
}
.centerelement{text-align:center}
.footer-widget-area.widget-area.site-footer-focus-item, .footer-widget-area.widget-area.site-footer-focus-item * {
    text-align: left !important;
    align-items: flex-start !important;
    align-content: center !important;
}
.leftcolumn {width: 60% !important}
.rightcolumn {width:40% !important}
.howitworksicons svg path {fill:#BD744C !important;}


.arti-moment-box{
    max-width:500px;
    margin:0 auto 25px;
    text-align:left;
}

.arti-moment-box label{
    display:block;
    font-weight:600;
    margin-bottom:8px;
    color:#7A6A55;
    font-family:"DM Sans",sans-serif;
}

#arti-moment{
    width:100%;
    height:52px;
    border:1px solid #d8c0ac;
    border-radius:12px;
    padding:0 15px;
    font-size:16px;
    background:#fff;
    color:#5d5044;
}

.arti-progress{
    max-width:500px;
    margin:20px auto;
    background:#F6F2EE;
    border-left:5px solid #BD744C;
    border-radius:10px;
    padding:15px 20px;
    color:#6b5847;
    font-family:"DM Sans",sans-serif;
    line-height:1.5;
}

#arti-image{
    margin-top:20px;
}
#arti-select-image{
    background:#ffffff;
    color:#BD744C;
    border:2px solid #BD744C;
    border-radius:40px;
    cursor:pointer;
    font-family:"DM Sans", sans-serif;
    font-size:1rem;
    width:213px;
    height:56px;
    margin-right:15px;
}

#arti-submit{
    background:#BD744C;
    color:#fff;
    border:none;
    border-radius:40px;
    cursor:pointer;
    font-family:"DM Sans", sans-serif;
    font-size:1rem;
    width:213px;
    height:56px;
}
/*body {
	background: #FAF7F2;
}*/
.aib-product-summary-inner.summary.entry-summary, .aib-product-gallery-col>.woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
}
.arti-wrapper {
    max-width: 90%;
    margin: 0 auto;
    padding: 60px 40px;
    text-align: center;
}
.arti-logo{
    width:110px;
    height:110px;
    border-radius:50%;
    margin:0 auto 30px;
    border:2px solid #D8C0AC;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:50px;
    background:#f6f2ee;
	position: relative;
}
.arti-subtitle {
    color: #8d6c57;
    font-family: "DM Sans", sans-serif !important;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    margin-top: 40px !important;
}
.arti-title{
    font-family: "Playfair Display", serif !important;
    font-size: 2.6rem;
    line-height: 1.2;
}

.arti-title em{
    font-style:italic;
}

.arti-description{
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.05rem;
	color: #7A6A55 !important;
    line-height: 1.6;
}

.arti-divider{
    width:40px;
    height:1px;
    background:#c89a78;
    margin:40px auto;
}

.arti-description-small{
    font-family: "DM Sans", sans-serif;
    font-size: 0.95rem;
    line-height: 1.7;
	color: color-mix(in oklab, var(--foreground) 70%, transparent) !important;
}
	
#arti-submit {
    background: #BD744C;
    color: #fff;
    border: none;
    border-radius: 40px;
    cursor: pointer;
    transition: .3s;
    font-family: "DM Sans", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.02em;
    width: 213px;
    height: 56px;
    margin-top: 30px;
}
.arti-logo:before .arti-wrapper{
    content: '';
    width: 20px;
    height: 20px;
    background: color-mix(in oklab, #d4a882 60%, transparent);
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 9999;
    border-radius: 50%;
}
p:has(img.emoji) {
    margin: 0px !important;
}
.arti-logo:after {
    content: '';
    width: 12px;
    height: 12px;
    background: color-mix(in oklab, #d4a882 30%, transparent);
    position: absolute;
    bottom: -10px;
    left: -10px;
    z-index: 9999;
    border-radius: 50%;
}
#arti-submit:hover{
    transform:translateY(-2px);
}
.arti-intro {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
#arti-preview{
    margin-top:30px;
}

#arti-preview img{
    max-width:350px;
    border-radius:12px;
}

#arti-loading{
    margin-top:40px;
    font-size:22px;
}

#arti-result{
    margin-top:40px;
    text-align:left;
}

@media(max-width:767px){

    .arti-title{
        font-size:42px;
    }

    .arti-description{
        font-size:20px;
    }

    .arti-description-small{
        font-size:18px;
    }

    #arti-submit{
        width:100%;
        max-width:320px;
        font-size:20px;
    }

}

.arti-moment-box{

    max-width:500px;
    margin:0 auto 25px;
    text-align:left;

}

.arti-moment-box label{

    display:block;
    margin-bottom:10px;
    font-weight:600;
    color:#6f5747;
    font-family:"DM Sans",sans-serif;

}

#arti-moment{

    width:100%;
    padding:15px 18px;
    border:2px solid #D8C0AC;
    border-radius:12px;
    background:#fff;
    font-size:16px;
    font-family:"DM Sans",sans-serif;

}

#arti-current-moment{

    display:none;
    background:#F7EFE6;
    border:1px solid #D8C0AC;
    padding:18px;
    border-radius:12px;
    max-width:500px;
    margin:25px auto;
    color:#7A6A55;
    font-family:"DM Sans",sans-serif;
    line-height:1.6;

}

.arti-progress-card{

    max-width:700px;
    margin:30px auto;
    padding:28px;
    background:#fff;
    border-radius:20px;
    border:1px solid #E7D6C6;
    box-shadow:0 12px 35px rgba(0,0,0,.06);

}

.arti-progress-title{

    font-family:"Playfair Display",serif;
    font-size:30px;
    color:#8D6C57;
    margin-bottom:20px;
    text-align:center;

}

.arti-progress-track{

    width:100%;
    height:14px;
    background:#EFE5DB;
    border-radius:50px;
    overflow:hidden;

}

.arti-progress-fill{

    width:0;
    height:100%;
    background:linear-gradient(90deg,#BD744C,#D9A276);
    transition:.5s ease;

}

.arti-progress-percent{

    margin-top:15px;
    text-align:center;
    color:#BD744C;
    font-weight:700;
    font-size:18px;
    font-family:"DM Sans",sans-serif;

}

.arti-progress-info{

    margin-top:18px;
    text-align:center;
    color:#6F5747;
    font-family:"DM Sans",sans-serif;
    line-height:1.7;
    font-size:20px;

}



.aib-welcome {
	/* position: relative;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw; */
	width: 100%;
	background-color: #F8F0E3;
	background-image: url('/wp-content/uploads/2026/07/welcomebackground.png');
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	overflow: hidden;
}
.aib-hero, .aib-hands, .aib-message {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    /* padding: 60px 40px; */
}
h2.aib-message-title {
    margin-top: 30px;
}
.aib-steps {
    position: relative;
    /* max-width: 1140px; */
    margin: 0 auto;
    padding: 0px;
}

.aib-flower {
	position: absolute;
	width: 190px;
	height: auto;
	z-index: 1;
	pointer-events: none;
}

.aib-flower--top-right {
	top: -10px;
	right: -10px;
	transform: scaleX(-1);
}

.aib-flower--bottom-left {
	bottom: -10px;
	left: -10px;
}

.aib-flower--hands-accent {
	width: 110px;
	top: -10px;
	right: -20px;
	z-index: 3;
}

.aib-corner {
    position: absolute;
    width: 230px;
    /* height: 230px; */
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.aib-corner img {
	/* width: 100%;
	height: 500%; */
	object-fit: cover;
}

.aib-corner--top-left {
	top: -10px;
	left: -10px;
}

.aib-corner--top-left img {
	object-position: top left;
}

.aib-corner--bottom-right {
	width: 340px;
	height: 420px;
	bottom: -10px;
	right: -10px;
}

.aib-corner--bottom-right img {
	height: 100%;
	object-position: bottom right;
}

.aib-hero {
	padding-top: 100px;
	padding-bottom: 20px;
	text-align: center;
}

.aib-hero__content {
	position: relative;
	z-index: 2;
}

.aib-welcome-title {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-size: 150px;
	letter-spacing: 8px;
	color: #33473B;
	margin: 0 0 20px;
}

.aib-divider {
	width: 60px;
	height: 2px;
	background-color: #C6A24C;
	margin: 0 auto 20px;
}

.aib-script-logo {
	font-family: 'Alex Brush', cursive;
	font-weight: 500;
	font-size: 200px;
	color: #33473B;
	margin: 0px !important;
}

.aib-accent {
	color: #B4657D;
}

.aib-tagline {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	font-size: 30px;
	letter-spacing: 3px;
	color: #C6A24C;
	margin: 0;
}

.aib-steps__image {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
}

.aib-hands {
	text-align: center;
}
.aib-hands__image {
    display: inline-block;
    /* width: 75%; */
    /* max-width: 700px; */
    height: auto;
    border-radius: 4px;
    position: relative;
    z-index: 2;
}

.aib-message {
	padding-bottom: 100px;
	text-align: center;
}

.aib-message__content {
	position: relative;
	z-index: 2;
}

.aib-message-title {
	font-family: 'Playfair Display', serif;
	font-weight: 600;
	font-size: 60px;
	color: #33473B;
	margin: 0 0 20px;
}

.aib-message-text {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	font-size: 30px;
	line-height: 1.6;
	color: #3A3A32;
	max-width: 560px;
	margin: 0 auto 20px;
}

.aib-script-cta {
	font-family: 'Alex Brush', cursive;
	font-size: 70px;
	color: #B4657D;
	margin: 15px 0;
	font-weight: 500;
}
.aib-button {
    display: inline-block;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 40px;
    color: #FFFFFF;
    background-color: #B4657D;
    padding: 16px 60px;
    border-radius: 10px;
    text-decoration: none;
    margin: 20px 0;
    transition: background-color 0.2s ease;
}
.aib-button:hover {
	background-color: #9C5468;
	color: #FFFFFF;
}
.aib-scroll-text {
    font-family: 'Alex Brush', cursive;
    font-size: 70px;
    color: #33473B;
    margin: 20px 0 0;
    font-weight: 500;
}

.aib-scroll-arrow {
	display: block;
	color: #C6A24C;
	font-size: 20px;
	margin-top: 5px;
}

@media (max-width: 900px) {
	.aib-flower {
		width: 120px;
	}

	.aib-corner {
		width: 140px;
		height: 140px;
	}

	.aib-corner--bottom-right {
		width: 220px;
		height: 260px;
	}

	.aib-flower--top-right {
		right: -35px;
	}

	.aib-flower--bottom-left {
		left: -35px;
	}

	.aib-welcome-title {
		font-size: 44px;
		letter-spacing: 5px;
	}

	.aib-script-logo {
		font-size: 46px;
	}
}

@media (max-width: 600px) {
	.aib-flower {
		width: 75px;
		opacity: 0.85;
	}

	.aib-corner {
		width: 90px;
		height: 90px;
	}

	.aib-corner--bottom-right {
		width: 140px;
		height: 170px;
	}

	.aib-flower--top-right {
		right: -25px;
	}

	.aib-flower--bottom-left {
		left: -25px;
	}

	.aib-flower--hands-accent {
		display: none;
	}

	.aib-welcome-title {
		font-size: 34px;
		letter-spacing: 3px;
	}

	.aib-script-logo {
		font-size: 36px;
	}

	.aib-message-title {
		font-size: 26px;
	}

	.aib-hands__image {
		width: 92%;
	}
}


@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Alex+Brush&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&display=swap');

.aib-page{
  --cream: #FEFAF0;
  --cream-2: #f3e8d3;
  --ink: #2c2418;
  --forest: #2f4a3c;
  --forest-dark: #1f332a;
  --rose: #a6404f;
  --rose-dark: #8c3140;
  --gold: #b08d4f;
  --gold-light: #cdb27a;
  --line: rgba(176,141,79,.45);
  background: var(--cream) !important;
  color: var(--ink) !important;
  /* font-family: 'EB Garamond', serif; */
  font-size: 17px;
  line-height: 1.65;
}

.aib-page *{box-sizing:border-box;}
.aib-page a{color:inherit; text-decoration:none;}

.aib-wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
}
.aib-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 48px; border-bottom:1px solid var(--line);
  background: linear-gradient(180deg, #faf3e2, #f8f0de);
}
.aib-logo{height:70px; width:auto; display:block;}
.aib-menu{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; row-gap:10px; column-gap:28px; font-size:15px; color:#3a3226;}
.aib-menu a{padding-bottom:6px; border-bottom:2px solid transparent; transition:.2s;}
.aib-menu a.active{color:#B4657D; border-color:#B4657D;}
.aib-menu a:hover{color:#B4657D;}

.aib-btn{
  background:#B4657D; color:#ffffff !important; padding:12px 26px; border-radius:6px;
  font-size:15px; letter-spacing:.2px; display:inline-block; border:none; cursor:pointer;
  /* font-family:'EB Garamond', serif; */
}
.aib-btn, .aib-btn a {
    line-height: 20px !important;
    color: #ffffff !important;
}
.aib-btn:hover{background:#8c3140; !important;}
.aib-story-grid {
    display: grid;
    grid-template-columns: minmax(200px, 400px) 1fr;
    gap: 20px;
    padding: 56px 0 60px;
    align-items: start;
}
.aib-right-col{min-width:0;}

.aib-inner-grid {
    display: grid;
    /* grid-template-columns: minmax(100px, 100px) 1fr; */
    gap: 20px;
    align-items: start;
}
.aib-eyebrow{
  color:#B4657D; letter-spacing:3px; font-size:12.5px; text-transform:uppercase;
  display:flex; align-items:center; gap:12px; margin-bottom:18px; /* font-family:'EB Garamond', serif; */
}
.aib-leafhead{height:14px; width:auto;}

.aib-story-title{
  font-family:'Playfair Display', serif; font-weight:600; color:var(--forest-dark) !important;
  font-size:44px; line-height:1.15; margin:0 0 26px;
}

.aib-story-col p {
    margin: 0 0 10px;
    color: #41392c !important;
    font-size: 14px;
}
.aib-accent
 {
    color: #B4657D;
    font-weight: 500;
}.aib-closing{color:#B4657D !important; font-weight:500; font-size:18px;}
.aib-final-line{font-family:'Playfair Display', serif; font-style:italic; font-size:20px; color:var(--forest-dark) !important; margin-top:8px;}

.aib-leafset{display:block; margin:30px auto 0; width:220px; height:auto;}

.aib-quote-col{
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  text-align:center; padding-top:60px; gap:20px; min-width:0;
}
.aib-quote-flourish{width:18px; height:auto; flex:0 0 auto;}
.aib-quote-text {
    font-family: 'Alex Brush', cursive;
    color: #B4657D !important;
    font-size: 29px;
    line-height: 40px;
    overflow-wrap: break-word;
    word-break: break-word;
    font-weight: 500 !important;
}

.aib-steps-col h2{
  font-weight:600; text-align:center; font-size:26px;
  color:var(--ink) !important; margin:0 0 10px;
}
.aib-steps-divider{display:block; margin:0 auto 30px; height:16px; width:auto;}

.aib-steps-row{display:flex; align-items:center; gap:6px;}
.aib-step-card{flex:1;}
.aib-step-img{width:100%; height:auto; display:block;}
.aib-step-arrow{color:var(--gold); font-size:20px; padding-bottom:130px;}

.aib-branch-img{width:100%; height:auto; display:block; margin-top:40px;}

.aib-cta-separator{display:block; margin:36px auto 0; height:16px;}
.site-branding .ast-site-title-wrap {
    display: none;
}
.aib-cta-strip{
  margin-top:24px; border:1px solid var(--line); border-radius:10px;
  background:#fbf5e7 !important; padding:28px 32px; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:24px;
}
.aib-cta-text{text-align:center; flex:1 1 260px;}
.aib-cta-text p{margin:0; font-size:16px; color:#3a3226 !important;}
.aib-cta-script-row{display:flex; align-items:center; justify-content:center; gap:14px; margin-top:6px;}
.aib-cta-leaf{width:80px; height:auto;}
.aib-cta-script{font-family:'Alex Brush', cursive; color:#B4657D !important; font-size:45px; line-height: 50px;}
.aib-cta-side{text-align:center; flex:0 0 auto;}
.aib-next{display:block; margin-top:10px; font-style:italic; font-size:13px; color:#6a5f4c !important;}



.aib-welcome .aib-welcome-title,
.aib-welcome .aib-message-title {
	font-family: 'Playfair Display', serif !important;
}

.aib-welcome .aib-tagline,
.aib-welcome .aib-message-text,
.aib-welcome .aib-button {
	font-family: 'Cormorant Garamond', serif !important;
}

.aib-welcome .aib-script-logo,
.aib-welcome .aib-script-cta,
.aib-welcome .aib-scroll-text {
	font-family: 'Alex Brush', cursive !important;
}
.aib-message {
    padding-top: 1200px;
}
body.page-template-welcomelanding header, body.page-template-welcomelanding footer {
    display: none;
}

@media (max-width: 1100px){
  .aib-story-grid{grid-template-columns:1fr;}
  .aib-inner-grid{grid-template-columns:1fr;}
  .aib-quote-col{padding-top:20px;}
  .aib-steps-row{flex-wrap:wrap;}
  .aib-step-card{flex:1 1 40%;}
  .aib-step-arrow{display:none;}
  .aib-cta-strip{flex-direction:column;}
  .aib-cta-side{text-align:center;}
}
.ast-primary-header-bar {
    display: block;
    background: #f3e8d3 !important;
}
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link, .ast-builder-menu-1 .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-1 .current-menu-ancestor > .menu-link {
    font-weight: bold;
    border-bottom: 3px solid;
    padding-bottom: 0px;
}
.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: 45px;
}
.aib-btn, .aib-btn a {
    line-height: 20px !important;
    color: #ffffff !important;
}
/* Hide intro description after completion */
body.arti-finished .arti-description:last-of-type{
    display:none;
}

/* Completion Card */
.arti-complete{
    max-width:650px;
    margin:60px auto;
    padding:60px 50px;
    text-align:center;
    background:#fff;
    border:1px solid #ead6c6;
    border-radius:28px;
    box-shadow:0 20px 60px rgba(189,116,76,.12);
    position:relative;
    overflow:hidden;
}

/* Decorative glow */
.arti-complete:before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:rgba(237,206,181,.25);
    border-radius:50%;
    top:-90px;
    right:-90px;
}

.arti-complete:after{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    background:rgba(237,206,181,.18);
    border-radius:50%;
    bottom:-70px;
    left:-70px;
}

.arti-complete h2{
    font-family:"Playfair Display",serif;
    font-size:48px;
    color:#1f3056;
    margin:0 0 25px;
    position:relative;
    z-index:2;
}

.arti-complete h2 img{
    width:42px;
    height:42px;
    vertical-align:-6px;
    margin-right:10px;
}

.arti-complete p{
    font-family:"DM Sans",sans-serif;
    font-size:20px;
    line-height:1.8;
    color:#6d6257;
    margin:15px auto;
    max-width:480px;
    position:relative;
    z-index:2;
}

.arti-complete p:first-of-type{
    font-size:24px;
    font-weight:700;
    color:#BD744C;
}

.arti-complete p:last-of-type{
    margin-top:30px;
    padding-top:30px;
    border-top:1px solid #eee1d7;
    font-size:18px;
}

/* Small confetti dots */
.arti-complete h2:before,
.arti-complete h2:after{
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#D8C0AC;
}

.arti-complete h2:before{
    top:-18px;
    left:20%;
}

.arti-complete h2:after{
    top:-8px;
    right:18%;
}

@media(max-width:767px){

    .arti-complete{
        padding:40px 25px;
        margin:40px 15px;
    }

    .arti-complete h2{
        font-size:34px;
    }

    .arti-complete p{
        font-size:18px;
    }

    .arti-complete p:first-of-type{
        font-size:21px;
    }

}
@media (max-width: 600px){
  .aib-nav{padding:14px 20px; flex-wrap:wrap; gap:14px;}
  .aib-menu{display:none;}
  .aib-wrap{padding:0 20px;}
  .aib-story-title{font-size:32px;}
  .aib-step-card{flex:1 1 100%;}
}
@media (max-width: 1400px){
	.aib-welcome-title {
		font-size: 80px;
	}
	.aib-script-logo {
		font-size: 90px;
	}
	.aib-message {
    padding-top: 900px;
}
.aib-welcome {
	background-size: cover;
}
}