/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/



#main, #wrapper {
	background-color: RGBA(250, 245, 230, 1);
	background-color: linear-gradient(180deg, rgba(250, 245, 230, 1) 0%, rgba(250, 245, 230, 1) 20%, rgba(250, 245, 230, 1) 40%, rgba(238, 229, 210, 1) 60%, rgba(238, 229, 210, 1) 80%, rgba(250, 245, 230, 1) 100%);
}

/*** Fonts ***/
#header a { letter-spacing: 1px; }

h1, h2, h3, h4, h5, h6, .heading-font, .banner h1, .banner h2, .h1, .h2, .h3, .h4 {
    font-weight: 400;
    font-style: normal;
    color: rgba(0, 0, 0, 1);
    margin-bottom: 20px;
	font-family: Gloock, sans-serif;
	line-height:1em;
}

h1, .banner h1, .h1, #portfolio-content h1.entry-title.is-xlarge { font-size: clamp(28px, 5vw, 70px); }
h2, .banner h2, .h2, #portfolio-content h2.entry-title.is-xlarge { font-size: clamp(25px, 5vw, 60px); }
h3, .banner h3, .h3, #portfolio-content h3.entry-title.is-xlarge { font-size: clamp(20px, 5vw, 50px); }
h4, .banner h4, .h4, #portfolio-content h4.entry-title.is-xlarge { font-size: clamp(20px, 5vw, 40px); }
h5, .banner h5, .h5, #portfolio-content h5.entry-title.is-xlarge { font-size: clamp(20px, 5vw, 30px); }

@media only screen and (min-width: 48em) { 
h2.woocommerce-order-details__title, h2.woocommerce-column__title {font-size: 40px;}
}

@media only screen and (max-width: 48em) { 
h2.woocommerce-order-details__title, h2.woocommerce-column__title {font-size: 30px;}
}

@media only screen and (min-width: 48em) { 
h1.product-cat-title, h2.product-cat-title, h3.product-cat-title {font-size: 30px;}
}

p { font-size: clamp(15px, 2vw, 18px); }

.sub-title { font-size: clamp(20px, 4vw, 35px); margin-bottom:20px; }

#header a, #header a:hover { letter-spacing: 1px; font-size: 0.8em; }

@media only screen and (min-width: 48em) and (max-width: 1280px) { 
#logo { width: 165px!important; }
}

.uppercase { letter-spacing: 1.5px; }
.nav-uppercase>li>a, legend {letter-spacing:1px;}

blockquote {
    border-left: inherit;
    color: #191817;
    font-size: inherit;
    font-style: inherit;
    margin: 0 0 1.25em;
    padding: 60px 0px 0px 0px;
    position: relative;
    background: url(https://ateliertwentyone.eu/wp-content/uploads/2025/06/quote-left-2.svg) no-repeat;
    background-size: 50px;
}
blockquote p { font-size: 22px;}

.social-icons.share-icons { font-size: 30px;}

.dark, .dark p, .dark td { color: #faf5e6; }

span.woocommerce-terms-and-conditions-checkbox-text a {
    text-decoration: underline;
}

@media only screen and (min-width: 48em) {
.abs-location .col-inner {
    position: absolute;
    z-index: 1000;
    left: 100px;
    padding-top: 100px;
}
}
@media only screen and (max-width: 48em) {
.abs-location .col-inner {
    position: absolute;
    z-index: 1000;
    left: 15px;
    padding-top: 70px;
}
}
li.woocommerce-mini-cart-item.mini_cart_item a {
    text-decoration: underline;
    color: #faf5e6;
}
@media only screen and (max-width: 48em) {
li.woocommerce-mini-cart-item.mini_cart_item a {
    text-decoration: underline;
    color: #000;	
}
#logo {max-width: 50%;}
}
#main a.button {
    text-decoration: inherit;
}
.content-area a, .blog-wrapper a {text-decoration:underline;}
#post-list a {text-decoration:none;}

/*** Language switcher ***/

@media only screen and (min-width: 48em) {
.lang-switcher-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.current-dropdown:hover .polylang_langswitcher {
    display: block;
}

.lang-switcher-toggle {
    font-size: 1.2rem;
    padding: 5px;
}

.polylang_langswitcher {
    display: none;
    position: absolute;
    top: 100%;
    left: -6px;
    background: #000;
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #565656;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .15);
}

.polylang_langswitcher li {
    padding: 8px 12px;
    white-space: nowrap;
}
.polylang_langswitcher li a { color:#faf5e6; }
	
.pll-parent-menu-item ul.sub-menu { min-width: 90px !important; }

}


@media only screen and (max-width: 48em) {
li.pll-parent-menu-item {display: none;}
	
ul.polylang_langswitcher li {
    list-style: none;
    margin: 0 5px;
}
ul.polylang_langswitcher {
    display: flex;
}
li.lang-item {
    font-weight: bold;
}
li.current-lang a {
    color: #f0ead9;
    border-bottom: 1px solid #faf5e6;
}
li.lang-item a {
    color: #faf5e6;
}
.lang-item-first {
    padding-left: 10px;
}
ul.polylang_langswitcher a {
    padding: 0 !important;
    margin: 0;
}
li.current-lang a {
	color: #f0ead9;
	border-bottom: 1px solid #31373d;
	max-width: fit-content;
}
ul.polylang_langswitcher {
    display: flex;
	max-width:110px;
}
}

/*** Image in navigation ***/
@media only screen and (min-width: 48em) {
.item-with-image {
    min-width: 350px;
    font-weight: bold;
}
.item-with-image:after {
    content:url(https://ateliertwentyone.eu/wp-content/uploads/2025/08/Shou-Sugi-Ban-menu-navigation-img.webp);
	position:relative;
	left:20px;
	top:10px
}	
}
@media only screen and (max-width: 48em) {
.item-with-image {
    font-weight: bold;
	text-transform:uppercase;
}	
}

/*** Header ***/
.black-gradient-up .overlay, .black-gradient-up .fill {
    background: 000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 65%) 100%);
}
@media only screen and (min-width: 1025px) {
.header-inner { padding: 0 100px; }
}
@media only screen and (min-width: 1000px) and (max-width:1025px) {
#header a { font-size: 0.6em; }
.header-inner { padding: 0 15px; }
}

.sidebar-menu.no-scrollbar a, .header-button .plain.is-outline:not(:hover), li.nav-slide-header button {
    letter-spacing: 1px;
	opacity:1;
	font-size: 0.8em;
}
@media only screen and (min-width: 48em) {
.samples-button a {
    padding: 10px 20px !important;
    border: 1px solid #faf5e6;
}
.samples-button a:hover {
    background-color: #faf5e6 !important;
    color: #000 !important;
}
}

#header .is-outline:hover {
    background-color: #faf5e6;
 }

@media only screen and (min-width: 1025px) {
.menu-item a {font-family: 'Jost';color: #faf5e6 !important;}
.nav-dropdown-has-border .nav-dropdown { border: 1px solid #ddd;}
}
@media only screen and (max-width: 48em) {
.off-canvas-left .mfp-content {background-color: #faf5e6;}
.sidebar-menu.no-scrollbar a {color:#191817;}
.nav-sidebar.nav-vertical>li+li { border-top: inherit; }
.samples-button a {
	padding: 10px 20px !important;
	border: 1px solid #31373d;
	max-width: 150px;
	margin-left: 20px;
	margin-top:20px;
	margin-bottom:20px;
	max-width:fit-content;
	}
}

/*** BUTTONS ***/
a.button.primary.is-outline, a.button.primary, a.button.white, button.single_add_to_cart_button, input#gform_submit_button_1, button#gform_browse_button_1_8 {
    letter-spacing: 1px !important;
    font-family: Jost, sans-serif;
    font-weight: 500 !important;
    padding: 10px 30px !important;
    margin-top: 1em;
    line-height: 2em;
    min-height: 56px;
}
a.button.primary.is-link {
	padding:inherit!important;
}
#header a.button {
    padding: 5px 20px !important;
}

#header a.button.plain.is-outline:hover {
    background: #faf5e6;
    opacity: 1;
    color: #191817 !important;
    border-color: #faf5e6;
}
.nav-dark .header-button .plain.is-outline:not(:hover) {
    color: #faf5e6;
}
button.button {letter-spacing:2px;padding: 10px 20px !important; }

@media only screen and (min-width: 48em) {
.created-with-dark:after {background: url(https://ateliertwentyone.eu/wp-content/uploads/2025/07/Created-with-Douglas-Fir-Grey.jpg);}
.created-with-brown:after {background: url(https://ateliertwentyone.eu/wp-content/uploads/2025/07/Created-with-Douglas-Fir-Brown.jpg);}
.created-with-light:after {background: url(https://ateliertwentyone.eu/wp-content/uploads/2025/07/Douglas-light-2.jpg);}


.created-with-dark:after, .created-with-brown:after, .created-with-light:after {
    content: '';
    display: inline-block;
    width: 56px;
    height: 56px;
    position: absolute;
    right: -56px;
    top: -2px;
    border: 2px solid #000;
}
}

/*** WOOD TYPES STICKY ***/
.wood-types-sticky {
  position: relative; /* Normal flow before sticking */
  z-index: 0;
}
@media only screen and (min-width: 1025px) {
.wood-types-sticky.stick {
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  background: #faf5e6;
  padding: 0 100px;
  z-index: 1000;
  transform: translateY(0); /* Optional: add slide if you want */
}
}
@media only screen and (max-width: 1025px) {
.wood-types-sticky.stick {
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  background: #faf5e6;
  padding: 0 15px;
  z-index: 1000;
  transform: translateY(0); /* Optional: add slide if you want */
}
}


/*** ACCORDION ***/
.accordion .toggle {
    border-radius: 999px;
    height: 1.5em;
    right: 0;
	left:inherit;
    margin-right: 5px;
    position: absolute;
    top: .3em;
    transform-origin: 50% 47%;
    width: 2.3em;
}
.accordion-title {
    border-top: inherit;
    border-bottom: 1px solid #ddd;
	padding: 20px 0 20px 0;
	font-size:130%;
}
a.accordion-title {
	text-decoration:inherit!important;
}
.small-accordion .accordion-title { font-size: 90%; }

@media only screen and (max-width: 48em) {
.small-accordion .toggle { top: 1.2em;}
}

.no-border .accordion-title {
	border-bottom:inherit;
}
.accordion-inner {
     padding: 0;
}
.accordion-title.active {
    background-color: transparent;
    border-color: inherit;
    color: var(--fs-color-primary);
    font-weight: 700;
	border-bottom:inherit;
}

/*** SLIDER ***/

.flickity-prev-next-button {opacity:0.5;}

@media only screen and (max-width: 48em) {
.flickity-prev-next-button .arrow, .flickity-prev-next-button svg {
    fill: rgb(255 255 255);
    border-color: rgb(255 255 255);
    transition: all .3s;
}
}

.slider-wrapper.testimonials .slider {
    min-height: 400px;
}

/*** LOGIN ***/
.account-login-inner { max-width: 500px; margin: 0 auto; padding: 50px 0; }
.social-login { display: none; }
.account-login-inner .uppercase { text-transform: inherit; }

/*** BLOG SINGLE ***/
.page-title.blog-featured-title {
    min-height: 60vh;
    display: flex;
    align-items: flex-end;
}
.title-bg.fill {
    background-position: center center;
}

@media only screen and (min-width: 48em) {
.single-post .row.align-center { padding-top:50px; }
.row-full-width.row-padding-100, .row-padding-100 { padding: 0 85px; }
.single-post .row-padding-100 {padding:0;}
}
@media only screen and (max-width: 48em) {
.single-post .flex-row.next-prev-nav.bt.bb { display: flex; flex-direction: column; }
}
.blog-share.text-center { margin: 50px 0px 0px 0; }
.single-post .bb, .single-post .bt {border:0;}

/*** LAYOUT ***/

@media only screen and (max-width: 48em) {
.single-post .row-padding-100 .col, .single-post .row.align-center .col { padding: 0 15 30px; }
.single-post .row.align-center .col { padding: 0 15px; }
}
.single .row-padding-100 {max-width: 1220px; margin: 0 auto; }
.single-post a.button.primary.is-link.no-margin { padding: 0 !important; }

/*** BLOG PAGE ***/
.blog #footer section, .page-id-34 #footer section {
    background-color: #faf5e6;
}
.blog #footer p.h4, .page-id-34 #footer p.h4, .blog a.ux-menu-link__link, .page-id-34 a.ux-menu-link__link {
	color:var(--fs-color-primary);
}
.blog #main {
	background-color:#000000;
}
.blog .nav-pagination>li>.current, .blog .nav-pagination>li>a:hover, .blog .nav-pagination>li>span:hover {
    background-color: #faf5e6;
    border-color: #faf5e6;
    color: #31373d!important;
}
.page-number.current { color: #faf5e6 !important; }
a.page-number { border-color: #000; }
a.page-number:hover { color: #faf5e6 !important; }

.blog ul.links li a, .page-id-34 ul.links li a {
    color: rgb(250 245 230);
}
.blog .for-blog-footer, .page-id-34 .for-blog-footer {
	display:block;
}
.blog .for-all-footer, .page-id-34 .for-all-footer {
	display:none;
}
.for-blog-footer {
	display:none;
}
.for-all-footer {
	display:block;
}
.blog .logo-light-footer img, .page-id-34 .logo-light-footer img {
    border: 3px solid #000000;
    border-radius: 99px;
}
.ux-logo.has-hover.align-middle.ux_logo.inline-block.logo-light-footer {
    left: -15px;
    position: relative;
}
.blog #footer a.ux-menu-link__link.flex, .page-id-34 #footer a.ux-menu-link__link.flex { color: #31373d!important; }
.blog #footer a.ux-menu-link__link.flex:hover, .page-id-34 #footer a.ux-menu-link__link.flex:hover {color:#000;text-decoration:underline;}

#footer a.ux-menu-link__link.flex {font-size: 18px;font-weight: 500;letter-spacing: 1px;}
#footer a.ux-menu-link__link.flex:hover {text-decoration:underline;}

a.ux-logo-link.block.image- { padding: 9px !important; }

/*** WOOCOMMERCE - SWATCHES ***/
.ux-swatch--color, .ux-swatch--image {
    height: 50px;
    padding: 2px;
    width: 160px;
}
img.ux-swatch__img.attachment-woocommerce_gallery_thumbnail.size-woocommerce_gallery_thumbnail {
    width: 140px;
}

/*** WOOCOMMERCE MY ACCOUNT ***/
.my-account-header.page-title.normal-title {
    background-color: #faf5e6;
    border: 0;
}
@media (min-width: 48em) {
a.button.checkout.wc-forward {
    background-color: #f9f4e5;
	color:#000;
}
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained, button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained, button.single_add_to_cart_button.button.alt {
    background-color: #000;
    letter-spacing: 2px;
}

/*** WOOCOMMERCE CART ***/
span.image-icon.header-cart-icon img {
    width: 20px;
    height: 20px;
}
li.woocommerce-mini-cart-item.mini_cart_item p,  .wc-block-components-order-summary-item__description span {
    font-size: 14px;
}
.button.alt, .button.checkout, .checkout-button { background-color: #000; }
.wc-block-cart-item__prices {display: none;}
.page-checkout h3.wc-block-components-product-name { font-size: 15px; }
.woocommerce-checkout h3 {
    text-transform: capitalize !important;
    letter-spacing: 1px;
    line-height: 1.3em;
}

nav.breadcrumbs.flex-row.flex-row-center.heading-font.checkout-breadcrumbs.text-center.strong.h2.uppercase {
    font-size: 20px;
    text-transform: capitalize;
}
a:hover .wc-block-components-button__text, .wc-block-components-button__text {
    color: #fff;
    text-transform: uppercase!important;
}
th.wc-block-cart-items__header-image, th.wc-block-cart-items__header-total, h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title {
    letter-spacing: 1px!important;
}
@media (max-width: 48em) {
.mfp-content.off-canvas-cart { background-color: #f9f4e5; }
}
a.remove.remove_from_cart_button {
    text-decoration: none !important;
    border: 0;
    font-size: 30px !important;
    font-weight: 100;
    color: #fff;
}
.checkout-breadcrumbs { font-size: 1.5em; }

.wc-block-components-button__text {
    color: #faf5e6;
    text-transform: uppercase !important;
    font-weight: 600;
}
.wc-block-components-product-metadata {
    display: none;
}
.cart-icon.tooltip strong {
    border: 2px solid #fff;
	color:#fff;
}
.cart-icon.tooltip strong:after {
    border: 2px solid #fff;
}

.empty-cart-shortcode { margin-bottom: 40px;}
.empty-cart-shortcode a { text-decoration: underline; }

/*** WOOOCMMERCE SHOP PAGE ***/
@media (min-width: 48em) {
.page-title-inner {
    min-height: 60px;
    max-width: 100% !important;
    padding: 40px 100px;
}
.row.category-page-row {
    max-width: 100% !important;
    padding: 40px 85px 0;	
}
.archive .products.row { max-width: 100%; }
}
@media (min-width: 48em) {
.woocommerce-shop .shop-container {margin-top: -30px;}
}

/*** CURRENCY CONVERTER ***/
.selectron23 {
    height: 35px !important;
	max-width: 70px !important;
}

/*** WOOCOMMERCE SINGLE PRODUCT ***/
.single-product .variations tr {
    display: flex;
    flex-direction: column;
}
table.variations .label {
    text-transform: uppercase;
    letter-spacing: 1.3px;
}
table.variations .value {
    margin-bottom: 10px;
}
.ux-swatch {
    box-shadow: inherit;
    border: 1px dashed #818280;
}
.variations_form .ux-swatch.selected {
    box-shadow: inherit!important;
    border: 3px solid #000;
}
.ux-swatch.selected span.ux-swatch__text {
    font-weight: bold;
}

.custom-tabs-container {
    text-align: center;
    margin: 20px auto 80px;
    max-width: 800px;
    padding: 0 15px;
}
.custom-tabs-container ul { padding: 0 0 0 20px; }
.custom-tabs-container ul li ul { margin: 10px 0 0 10px; }

@media (min-width: 48em) {
.tabs {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
}

@media (max-width: 48em) {
.tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap:wrap;
}
}

.tab-button {
  cursor: pointer;
  padding:0;
  letter-spacing:1.5px;
}

.tab-button.active {
  border-bottom: 2px solid #000;
}

.tab-content {
  display: none;
  text-align: center;
}

.tab-content.active {
  display: block;
}
.tab-content#installation, .tab-content#specifications {
    text-align: left;
}

.related-projects-section {
  margin-top: 100px;
  text-align: center;
}
@media (max-width: 48em) { 
.related-project-thumb {
    max-width: 90%!important;
    height: 300px!important;
	}
}
.related-projects-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 70px auto;
    max-width: 1240px;
}

.related-project-item {
  max-width: 450px;
  text-align: center;
}

.related-project-thumb {
  width: 400px;
  height: 400px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.related-project-title {
    position: relative;
    text-align: left;
    top: -40px;
    left: 20px;
    color: #fff;
    width: max-content;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2.5px;
}

.project-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: 000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 65%) 100%);
}
a:hover .project-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20%;
    background: 000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 65%) 100%);
}

.related-projects-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    padding: 0 100px;
    margin-bottom: 100px;
	justify-content: center;
}

.project-column {
    flex: 0 0 100%;
    background-size: cover;
    background-position: center;
    min-height: 400px;
    position: relative;
}

.hover-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 65%) 100%)!important;
    color: #fff;
    padding: 1em;
    text-align: center;
    text-decoration: none;
    display: block;
}
@media (max-width: 768px) {
.related-projects-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
	padding: 0;
}
}


@media (min-width: 768px) {
    .project-column {
        flex: 0 0 32.5%; /* 3 columns on tablets and up */
    }
}

.attribute-name {
    text-transform: uppercase;
    letter-spacing: 2px;
}
.attribute-row {
    margin-bottom: 15px;
}
.profile-term {
    display: flex;
    justify-content: space-between;
    max-width: 410px;
    padding: 0px 0 10px 0;
    align-items: center;
}

.profile-term img {
    height: 30px;
}

@media (min-width: 48em) { form.cart {flex-wrap: nowrap;} }
@media (max-width: 48em) { form.cart {flex-wrap: wrap;} button.single_add_to_cart_button.button { width: 100%;} }
form.cart {
    display: flex;
    flex-direction: row;
    width: fit-content;
}
.woocommerce-variation-price {
    border-top: inherit;
    font-size: .8em
    padding: inherit;
}

.custom-attributes { margin-bottom: 50px; }
.category-filtering.container.text-center.product-filter-row.show-for-medium {
    padding: 30px 0 0 0;
}

@media (min-width: 48em) { .owl-carousel { width: calc(100% - 200px)!important;margin: 0 auto 50px;} }
@media (max-width: 48em) { .owl-carousel {margin:0 15px 30px;width:auto!important;} }
.owl-nav {display: flex; justify-content: center; }
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {font-size:30px!important;}

/*** LOGO SLIDER ***/
@media (min-width: 48em) {
.logo-slider-title { margin-bottom: 70px; }
}
@media (max-width: 48em) {
.logo-slider-title { margin-bottom: 40px; }
}


.marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.marquee__group {
  display: flex;
  width: max-content;
  animation: marquee 60s linear infinite;
}

.marquee__group .ux-logo-image {
  flex-shrink: 0;
  margin-right: 30px;
}

@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Optional responsive tweaks */
@media (max-width: 768px) {
  .marquee__group .ux-logo-image img {
    height: 80px !important;
  }
}



/*** BLOG CUSTOM LAYOUT ***/

/* GLOBAL box-sizing for layout accuracy */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Main layout wrapper should be max 1220px centered */
@media (min-width: 768px) {
.custom-blog-layout-wrapper { margin: 50px auto; }
div#post-list { margin-bottom: 80px; }
.custom-blog-layout-wrapper .row { max-width: 100%; }
.custom-blog-layout .layout-row { margin-left: 0 !important; margin-right: 0 !important; }
}
@media (max-width: 768px) {
div#post-list {
    margin-bottom: 40px;
}	
}


/* Flex rows with wrap and spacing */
.custom-blog-layout .row {
  display: flex;
  flex-wrap: nowrap; /* allow wrapping */
  margin-bottom: 20px;
  gap: 20px;
  width: 100%;
}

/* Generic column setup */
.custom-blog-layout .column {
  background-size: cover;
  background-position: center center;
  position: relative;
  aspect-ratio: 16 / 9;
  flex: 1 1 auto;
}

/* For stacked columns */
.custom-blog-layout .column-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.layout-row-stack:after {content:inherit;}

/* Adjusted widths to account for gaps */
.column.width-65 { flex: 0 0 calc(65% - 10px)!important; }
.column.width-60 { flex: 0 0 calc(60% - 10px)!important; }
.column.width-40 { flex: 0 0 calc(40% - 10px)!important; }
.column.width-35 { flex: 0 0 calc(35% - 10px)!important; }
.column.width-50 { flex: 0 0 calc(50% - 10px)!important; }
.column.width-33 { flex: 0 0 calc(33.333% - 13.33px)!important; }

/* Hover overlay */
.hover-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: transparent;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s, color 0.3s;
  padding: 0 5%;
}

.hover-title span {
  font-size: 1rem;
  color: #f0ead9;
  font-weight: bold;
  opacity: 0;
  transition: opacity 0.3s;
  text-transform: uppercase;
  letter-spacing: 2px;
}
@media (max-width: 768px) { 
.hover-title span {opacity:1;} 
.hover-title {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
	text-align:left;
	padding:30px;
}
}

.hover-title:hover {
  background-color: rgba(0, 0, 0, 0.6);
  color: #f0ead9;
}

.hover-title:hover span {
  opacity: 1;
}

/* Mobile layout */
@media (max-width: 768px) {
  .custom-blog-layout .row {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 0px;
  }

  .custom-blog-layout .column,
  .custom-blog-layout .column-stack,
  .custom-blog-layout .column.width-65,
  .custom-blog-layout .column.width-35,
  .custom-blog-layout .column.width-50,
  .custom-blog-layout .column.width-33 {
    flex: 0 0 40% !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
  }

  .custom-blog-layout .column-stack {
    flex-direction: column;
  }
  .column.column-stack .column:last-child {
    margin-bottom: 20px;
  }

    .custom-blog-layout .hover-title {
        position: relative;
        justify-content: flex-start;
        align-items: flex-end;
        padding: 10px;
        height: 100%;
        color: #faf5e6;
        text-align: left;
        padding: 30px;
        background: 000000;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 65%) 100%);
    }

  .custom-blog-layout .hover-title span {
    font-size: 1rem;
    color: #f4eddc;
    font-weight: 600;
    opacity: 1;
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
  }

  .custom-blog-layout .hover-title:hover {
    background-color: rgba(0, 0, 0, 0.4); /* no hover effect */
  }
}

/*** GRAVITY FORMS ***/
.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
    font-size: 15px;
    margin-bottom: 0;
    margin-top: 0;
    padding: 8px;
    box-shadow: inherit;
    border: 0;
    padding: 10px 15px;
    min-height: 50px;
}

.gfield-choice-input {
    width: 25px;
    height: 25px;
	margin: 0;
}
fieldset#field_5_9 {
    margin: 20px 0 0;
}
.gchoice {
    margin-bottom: 20px;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}
