/* ============================================================
   Gallery page — styles WordPress's native [gallery] shortcode
   markup so the legacy page content fits the new theme.
   ============================================================ */

.prd-gallery{ background: var(--prd-c-bg, #fff); }
.prd-gallery-body{ padding-block: clamp(2.5rem, 5vw, 4.5rem); }

/* Page content wrapper */
.prd-gallery-content{
	max-width: 1200px;
	margin: 0 auto;
}

/* Section headings (h2/h3/h4 between the [gallery] shortcodes — e.g. "WEDDINGS") */
.prd-gallery-content h2,
.prd-gallery-content h3,
.prd-gallery-content h4{
	font-family: var(--prd-ff-display);
	font-weight: 400;
	letter-spacing: .01em;
	color: var(--prd-c-ink);
	margin: clamp(2.5rem, 5vw, 3.5rem) 0 1.25rem;
	padding-bottom: .65rem;
	border-bottom: 1px solid var(--prd-c-line);
	text-transform: none;
}
.prd-gallery-content h2{ font-size: clamp(1.6rem, 3vw, 2.1rem); }
.prd-gallery-content h3{ font-size: clamp(1.4rem, 2.6vw, 1.85rem); }
.prd-gallery-content h4{ font-size: clamp(1.2rem, 2.2vw, 1.5rem); }
.prd-gallery-content > :first-child{ margin-top: 0; }

.prd-gallery-content p{
	color: var(--prd-c-ink-soft);
	line-height: 1.6;
	margin: 0 0 1rem;
}

/* WordPress core gallery shortcode output ----------------------------------
   Markup looks roughly like:
     <div class="gallery gallery-columns-3 gallery-size-thumbnail">
       <figure class="gallery-item">
         <div class="gallery-icon"><a><img/></a></div>
         <figcaption class="wp-caption-text gallery-caption">…</figcaption>
       </figure>
       …
     </div>
*/
.prd-gallery-content .gallery{
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 2rem !important;
	width: 100% !important;
}
.prd-gallery-content .gallery.gallery-columns-1{ grid-template-columns: 1fr; }
.prd-gallery-content .gallery.gallery-columns-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.prd-gallery-content .gallery.gallery-columns-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prd-gallery-content .gallery.gallery-columns-5{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
.prd-gallery-content .gallery.gallery-columns-6{ grid-template-columns: repeat(6, minmax(0, 1fr)); }

@media (max-width: 900px){
	.prd-gallery-content .gallery,
	.prd-gallery-content .gallery.gallery-columns-3,
	.prd-gallery-content .gallery.gallery-columns-4,
	.prd-gallery-content .gallery.gallery-columns-5,
	.prd-gallery-content .gallery.gallery-columns-6{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 600px){
	.prd-gallery-content .gallery,
	.prd-gallery-content .gallery.gallery-columns-3,
	.prd-gallery-content .gallery.gallery-columns-4,
	.prd-gallery-content .gallery.gallery-columns-5,
	.prd-gallery-content .gallery.gallery-columns-6{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Reset WP's default float/percent widths */
.prd-gallery-content .gallery .gallery-item,
.prd-gallery-content .gallery-item{
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	text-align: left;
	display: block;
}

.prd-gallery-content .gallery .gallery-icon{
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: hidden;
	border-radius: 12px;
	background: var(--prd-c-line);
	aspect-ratio: 1 / 1;
	display: block;
	position: relative;
}
.prd-gallery-content .gallery .gallery-icon a{
	display: block;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
	overflow: hidden;
	border-radius: 12px;
}
.prd-gallery-content .gallery .gallery-icon img,
.prd-gallery-content .gallery img{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	border: 0 !important;
	border-radius: 12px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: transform .5s ease, filter .25s ease;
}
.prd-gallery-content .gallery .gallery-icon a:hover img,
.prd-gallery-content .gallery .gallery-item:hover img{
	transform: scale(1.06);
	filter: brightness(1.03);
}
.prd-gallery-content .gallery .gallery-icon a{
	transition: box-shadow .25s ease, transform .25s ease;
}
.prd-gallery-content .gallery .gallery-icon a:hover{
	box-shadow: 0 18px 32px rgba(17,20,24,0.12);
}

/* Captions — keep available but quiet */
.prd-gallery-content .gallery .gallery-caption,
.prd-gallery-content .gallery .wp-caption-text{
	font-size: .8rem;
	color: var(--prd-c-muted, #6c727a);
	margin-top: .4rem !important;
	line-height: 1.3;
	text-align: left;
}

/* Empty state */
.prd-gallery-empty{
	text-align: center;
	max-width: 540px;
	margin: 0 auto;
	padding: 3rem 0;
}
.prd-gallery-empty h2{
	font-family: var(--prd-ff-display);
	font-weight: 400;
	font-size: 1.75rem;
	margin: 0 0 .75rem;
	border: 0;
	padding: 0;
}
.prd-gallery-empty p{
	color: var(--prd-c-ink-soft);
	line-height: 1.6;
	margin: 0;
}

/* Bottom CTA band */
.prd-gallery-cta{
	background: var(--prd-c-cream, #f4efe8);
	padding-block: clamp(2.5rem, 6vw, 4rem);
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
}
.prd-gallery-cta-inner{
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}
.prd-gallery-cta-title{
	font-family: var(--prd-ff-display);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 .75rem;
	color: var(--prd-c-ink);
}
.prd-gallery-cta-text{
	color: var(--prd-c-ink-soft);
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 1.75rem;
}
.prd-gallery-cta-actions{
	display: flex;
	justify-content: center;
	gap: .75rem;
	flex-wrap: wrap;
}


/* Bottom CTA band */
.prd-gallery-cta{
	background: var(--prd-c-cream, #f4efe8);
	padding-block: clamp(2.5rem, 6vw, 4rem);
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
}
.prd-gallery-cta-inner{
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}
.prd-gallery-cta-title{
	font-family: var(--prd-ff-display);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 .75rem;
	color: var(--prd-c-ink);
}
.prd-gallery-cta-text{
	color: var(--prd-c-ink-soft);
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 1.75rem;
}
.prd-gallery-cta-actions{
	display: flex;
	justify-content: center;
	gap: .75rem;
	flex-wrap: wrap;
}


/* ============================================================
   NATIVE TABBED GALLERY
   Rendered server-side by page-templates/gallery.php — replaces
   the broken WPBakery [vc_masonry_media_grid] AJAX renderer.
   ============================================================ */

/* Tabs row — pill capsule */
.prd-gallery-tabs{
	display: inline-flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin: 0 auto 2rem;
	padding: .35rem;
	background: var(--prd-c-bg-alt, #f4efe8);
	border-radius: 999px;
	border: 1px solid var(--prd-c-line);
	max-width: 100%;
}
/* Center the tabs row */
.prd-gallery-body .prd-container{
	text-align: center;
}
.prd-gallery-tab{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .55rem 1.1rem;
	border-radius: 999px;
	border: 0;
	background: transparent;
	color: var(--prd-c-ink-soft, #4a5160);
	font-family: var(--prd-ff-sans);
	font-size: .9rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	cursor: pointer;
	transition: background .18s ease, color .18s ease;
	font: inherit;
	font-weight: 600;
	font-size: .9rem;
}
.prd-gallery-tab:hover{
	background: rgba(255,255,255,0.7);
	color: var(--prd-c-ink);
}
.prd-gallery-tab.is-active{
	background: var(--prd-c-ink);
	color: #fff;
	box-shadow: 0 6px 14px -8px rgba(17,20,24,0.4);
}

/* Panels */
.prd-gallery-panel{
	text-align: left;
}
.prd-gallery-panel[hidden]{
	display: none !important;
}

/* Image grid */
.prd-gallery-grid{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
@media (max-width: 900px){
	.prd-gallery-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px){
	.prd-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
}

.prd-gallery-item{
	margin: 0;
	padding: 0;
	list-style: none;
}
.prd-gallery-item::marker{ content: ""; }

.prd-gallery-link{
	display: block;
	overflow: hidden;
	border-radius: 14px;
	background: var(--prd-c-bg-alt, #f4efe8);
	cursor: zoom-in;
}
.prd-gallery-link img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform .5s ease;
}
.prd-gallery-link:hover img{
	transform: scale(1.05);
}

/* Mobile tabs: scroll horizontally instead of wrapping awkwardly */
@media (max-width: 600px){
	.prd-gallery-tabs{
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		max-width: 100%;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.prd-gallery-tabs::-webkit-scrollbar{ display: none; }
	.prd-gallery-tab{
		flex: 0 0 auto;
		font-size: .85rem;
		padding: .5rem .9rem;
	}
}
