/*
Theme Name: IDv3 (Identi-Theme v3)
Theme URI: https://greenclosetcreative.com/
Author: AnnMarie DeVito - Web Developer 
Author URI: https://greenclosetcreative.com/
Description: Base theme for rapid site creation.
Requires at least: 6.5
Tested up to: 6.5.2
Requires PHP: 8.0
Version: 3.0.17
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: idv3
*/





/* parallax section on home page ---------------------- */
html, body,
.wp-site-blocks, main, .entry-content,
.wp-block-group, .wp-block-cover, .alignfull, .alignwide {
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: initial !important;
}

.page-id-160 .entry-content {
	overflow: hidden;
}
.page-id-160 .sticky-section {
      position: sticky;
      top: 0;
      /*height: 100vh;  full viewport height */
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      color: #fff;
	    min-height: 100dvh;
    }
	
.page-id-160 .wp-block-group {
	position: relative;
}

body:not(.home) { overflow-x: hidden !important; }

@media screen and (max-width: 781px) {
    .page-id-160 .sticky-section {
	    min-height: 275px;
    }
    .page-id-160 .sticky-section .wp-block-group.has-background {
        min-height: 275px !important;
    }
}



/* Defaults
---------------------------------------- */

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

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	background: linear-gradient(90deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary) 100%);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--black);
	border-radius: 0;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--theme-quaternary);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

.gform-theme--foundation .gform_fields {
  row-gap: var(--wp--preset--spacing--40) !important;
}

::placeholder {
	color: var(--wp--preset--color--black);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.75;
}

.gform_validation_errors,
.gform-theme--framework .gfield_error input[type]:where(:not(.gform-text-input-reset):not([type=hidden])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
  border-color: #ffb4a3 !important;
}
.gform_validation_errors h2,
.gfield_validation_message,
.gform_validation_errors .gform-icon {
  color: #ffb4a3 !important;
}

/* Header Patterns */
.header-transparent {
    width: 100%;
    position: absolute;
    z-index: 999;
}

.header-transparent + main {
    padding-top: 100px;
}

.is-position-sticky + main { margin-top: 65px !important; }






/* Button Styles --------------------------------------------------------------- */

/* fill button hover */
.wp-block-buttons > .wp-block-button:not(.is-style-outline) > .wp-element-button:hover,
.wp-block-buttons > .wp-block-button:not(.is-style-outline) > .wp-element-button:focus,
.wp-block-buttons > .wp-block-button:not(.is-style-outline) > .wp-element-button:active {
    background-color: var(--wp--preset--color--custom-theme-button-hover-background);
    color: var(--wp--preset--color--custom-theme-button-hover-text);
    border-color: var(--wp--preset--color--custom-theme-button-hover-border);
}

/* outline button hover */
.wp-block-buttons > .wp-block-button.is-style-outline > .wp-element-button:hover,
.wp-block-buttons > .wp-block-button.is-style-outline > .wp-element-button:focus,
.wp-block-buttons > .wp-block-button.is-style-outline > .wp-element-button:active {
    background-color: var(--wp--preset--color--custom-theme-button-outline-hover-background);
    color: var(--wp--preset--color--custom-theme-button-outline-hover-text);
    border-color: var(--wp--preset--color--custom-theme-button-outline-hover-border);
}

/* Blocks
---------------------------------------- */
/* separator block - wide */
.wp-block-separator.is-style-wide {
	width: 100%;
}




/* Utility
---------------------------------------- */
.is-position-sticky {
	position: fixed;
	width: 100%;
}

/* -- Box Shadow -- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

/* Media Queries
---------------------------------------- */

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}

	.wp-block-site-logo {
		max-width: 70% !important;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

}


/* home page markets ------------------ */
/* Make each post a positioning context */
.wp-block-post.markets,
.wp-block-post.projects {
  position: relative;
  overflow: hidden;
}

/* Ensure the image container behaves properly */
.wp-block-post.markets .wp-block-post-featured-image,
.wp-block-post.projects .wp-block-post-featured-image {
  margin: 0;
  transition: all 0.3s ease-in-out;
}

.wp-block-post.markets:hover .wp-block-post-featured-image,
.wp-block-post.projects:hover .wp-block-post-featured-image {
  transform: scale(1.1);
}

/* Make the title (with link) cover the image */
.wp-block-post.markets .wp-block-post-title,
.wp-block-post.projects .wp-block-post-title {
  position: absolute;
  inset: 0; /* cover the image area */
  margin: 0;
  z-index: 2;
}

.wp-block-post.markets .wp-block-post-title a,
.wp-block-post.projects .wp-block-post-title a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  padding: 1rem;
  /* overlay background */
  background: rgba(0, 0, 0, 0.45);
  transition: background 0.3s ease;
}

/* Darken overlay on hover */
.wp-block-post.markets .wp-block-post-title a:hover,
.wp-block-post.projects .wp-block-post-title a:hover {
  background: rgba(0, 0, 0, 0.65);
}

.market-links {
  text-align: center;
  margin-bottom: 1rem;
}
.market-links a {
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
  margin: 0 5px;
}
.market-links a.active {
  color: #000;
  text-decoration: none;
}


.single-markets h2 mark {
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
}

/* Market projects */
.p2p-cards{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: 1fr;             /* 1 col on mobile */
  gap: 1.25rem;
}
@media (min-width: 960px){
  .p2p-cards{
    grid-template-columns: repeat(2, minmax(0,1fr)); /* 2 columns */
  }
}

/* LI -> image left, content right */
.p2p-card{
  display:grid;
  grid-template-columns: 160px 1fr;  /* image | content */
  column-gap: 1rem;
  align-items:start;
}

/* Lock thumbnail to the left column, spanning rows */
.p2p-thumb{
  grid-column: 1;
  grid-row: 1 / span 3;      /* occupy the left side */
  display:block;
  overflow:hidden;
  aspect-ratio: 4 / 3;
}
.p2p-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Send all text to the right column */
.p2p-title,
.p2p-excerpt,
.p2p-readmore{
  grid-column: 2;            /* right side */
}

.p2p-title{ margin:0 0 .25rem; font-size:clamp(1rem,2.4vw,1.125rem); line-height:1.25; }
.p2p-title a{ text-decoration:none; }
.p2p-title a:hover,
.p2p-title a:focus{ text-decoration:underline; }

.p2p-excerpt{ margin:0; line-height:1.5; }

/* If no thumbnail, collapse to single column gracefully */
.p2p-card:not(:has(.p2p-thumb)){
  grid-template-columns: 1fr;
}


/* Market filter buttons */
.market-links {
    margin-bottom: 2rem;
    text-align: center;
}

.market-chip {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin: 0.25rem;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 5px;
    color: #495057;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0.9rem;
    font-weight: 500;
}

.market-chip:hover {
    background: #e9ecef;
    border-color: #adb5bd;
    transform: translateY(-1px);
}

.market-chip.active {
    background: var(--wp--preset--color--custom-theme-quaternary);
    border-color: var(--wp--preset--color--custom-theme-quaternary);
    color: white;
}

.market-chip.active:hover {
    background: var(--wp--preset--color--custom-theme-quaternary);
    border-color: var(--wp--preset--color--custom-theme-quaternary);
}

/* Project post transitions */
.post-type-projects {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.post-type-projects.filtered-out {
    opacity: 0;
    transform: scale(0.95);
}

/* Optional: Fade in animation for filtered results */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.post-type-projects:not(.filtered-out) {
    animation: fadeInUp 0.4s ease forwards;
}


/* sitemap */
.pbm-market__list {
    column-count: 3;
    column-gap: 3rem;
}
}