/*
Theme Name: Flat Glass Inc Custom Theme
Theme URI: https://viceroydigitalmarketing.com
Author: Viceroy Digital Marketing
Author URI: https://wordpress.org
Description: Custom theme made form twentytwentyfive-child
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: viceroydm
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
	outline:none;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}



/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}
.wp-site-blocks *:not(.alignwide):not(.alignfull) {
  max-width: 100%;
}
html{
	scroll-behavior: smooth;
}
body *{
	box-sizing:border-box !important;
}
.absolute{
	position:absolute;
}
.space-between{
	justify-content:space-between;
}


/* Button Styles */
.wp-block-buttons>.wp-block-button{
	position: relative;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
	overflow: hidden;
	transition:all .2s ease;
}
.wp-block-button__link.wp-element-button {
	
  transition:all .2s ease;

}

/* Light sheen that sweeps across on hover */
.wp-block-buttons>.wp-block-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255, 255, 255, 0.35) 40%,
    transparent 80%
  );
  transform: translateX(-120%);
  transition: transform 0.35s ease-out;
  pointer-events: none;
}

/* Hover: lift, tighten shadow, run sheen */
.wp-block-buttons>.wp-block-button:hover{
	transform: translateY(-2px);
	overflow: hidden;
}

.wp-block-buttons>.wp-block-button:not(.blue-btn) .wp-block-button__link.wp-element-button:hover {
  background-color: #205882;
}

.wp-block-buttons>.wp-block-button.blue-btn .wp-block-button__link.wp-element-button.has-custom-blue-background-color:hover {
  background-color: #c13939 !important;
}

.wp-block-buttons>.wp-block-button:hover::before {
  transform: translateX(120%);
  overflow: hidden;
}

/* Active: small press-down */
.wp-block-buttons>.wp-block-button:active {
  transform: translateY(0);

}

/* Keyboard focus */
.wp-block-buttons>.wp-block-button:focus-visible {
  outline: none;

}

.text-dec-none a{
	text-decoration: none;
}

.wp-site-blocks .alignwide {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.main-header{
	position:fixed;
	top:0;
	left:0;
	z-index:5;
	width:100%;
}

header.main-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: transparent;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
header.main-header .top-bar,
header.main-header .header-inner{
	width: 100%;
}

header.main-header.header-scrolled {
  background: #ffffff;
	box-shadow:0 6px 12px -6px rgba(0, 0, 0, 0.25);
}

nav{
	flex:1;
}

.wp-block-navigation a.is-active {
  color: #c13939 !important;
  font-weight: 600;
}

.service-cover .wp-block-cover__inner-container.has-global-padding{
	padding-left:0 !important;
	padding-right:0 !important;
}


/*  Top Banner Form*/
.hero-form-container{
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(8px);
}


.hero-form-container .wpcf7-form {
  margin: 0;
}

.hero-form-container .wpcf7-form p {
  margin: 0;
}

/* Horizontal row of fields */
.hero-form-container .form-input-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: nowrap;
}

/* Each field flexes evenly */
.hero-form-container .form-input-row p {
  flex: 1;
  min-width: 0;
}
.wp-block-contact-form-7-contact-form-selector{
	margin-top:0;
}

/* Inputs & select look modern, pill-shaped */
.hero-form-container .wpcf7-form-control.wpcf7-text,
.hero-form-container .wpcf7-form-control.wpcf7-email,
.hero-form-container .wpcf7-form-control.wpcf7-tel,
.hero-form-container .wpcf7-form-control.wpcf7-select {
font-family: Outfit, sans-serif;
  width: 100%;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 0.65rem 0.9rem;
  font-size: 0.95rem;
  background: rgba(255, 255, 255, 0.96);
  color: #1c2733;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease,
              background-color 0.15s ease;
  -webkit-appearance: none;
}

.hero-form-container .wpcf7-form-control::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.hero-form-container .wpcf7-form-control:focus {
  border-color: #ff6656;
  box-shadow: 0 0 0 2px rgba(255, 102, 86, 0.3);
}

/* Submit button */
.hero-form-container .wpcf7-submit {
  border: none;
  border-radius: 4px;
  padding: 0.75rem 1.8rem;
  background: #c34136; /* red */
  color: #ffffff;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.15s ease, box-shadow 0.15s ease,
              background-color 0.15s ease;
	width:100%;
}

.wpcf7-spinner{
	position:absolute;
}

/* Align submit to the right */
.hero-form-container .wpcf7-form > .form-input-row p:last-of-type {
  display: flex;
  justify-content: flex-end;

}

.hero-form-container .wpcf7-submit:hover {
  background: #a32f27;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}

.hero-form-container .wpcf7-submit:active {
  transform: translateY(0);
  box-shadow: none;
}

/* Spinner spacing */
.hero-form-container .wpcf7-spinner {
  margin-left: 0.5rem;
}

/* Home Services Section */
/* Base wrapper */
.service-page-link {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
}

/* Make the image fill the figure and animate nicely */
.service-page-link img {
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.35s ease, filter 0.35s ease;
}

/* Make the anchor fill the whole card */
.service-page-link > a {
  display: block;
  height: 100%;
}

/* Overlay message */
.service-page-link::before {
  content: "";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  color: #ffffff;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(10%);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Optional small arrow hint */
.service-page-link::after {
  content: "↗";
  position: absolute;
  right: 0.85rem;
  bottom: 0.2rem;
  color: #ffffff;
  font-size: 2rem;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Hover effects */
.service-page-link:hover img {
  transform: scale(1.05);
  filter: brightness(0.8);
}

.service-page-link:hover::before,
.service-page-link:hover::after {
  opacity: 1;
  transform: translateY(0);
}


/* Home Contact Section */
/* Wrapper */
.contact-us-section .wp-block-contact-form-7-contact-form-selector .wpcf7-form {
  max-width: 520px;
  margin: 0 auto;
  padding: 2rem 2.25rem;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

/* Stack fields nicely */
.contact-us-section .wp-block-contact-form-7-contact-form-selector .form-input-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

 .contact-us-section .wp-block-contact-form-7-contact-form-selector .wpcf7-form p {
  margin: 0;
}

/* Inputs, selects, textarea */
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control.wpcf7-text,
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control.wpcf7-email,
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control.wpcf7-tel,
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control.wpcf7-select,
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control.wpcf7-textarea {
  font-family: Outfit, sans-serif;
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.4;
  background: #f9fafb;
  transition: border-color 0.2s ease, box-shadow 0.2s ease,
              background-color 0.2s ease;
}

.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control::placeholder {
  color: #9ca3af;
}

/* Focus state */
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-form-control:focus {
  outline: none;
  background: #ffffff;
  border-color: #2563eb;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.25);
}

/* Submit button */
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-submit {
  width: 100%;
  border: none;
  padding: 0.9rem 1.2rem;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #205882;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease,
              box-shadow 0.2s ease;
}

.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-submit:hover {
  background: c1#3939;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.35);
  transform: translateY(-1px);
}

.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-submit:active {
  transform: translateY(0);
  box-shadow: none;
}


/* Validation + response messages */
.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-not-valid-tip {
  font-size: 0.8rem;
  color: #b91c1c;
  margin-top: 0.25rem;
}

.contact-us-section .wp-block-contact-form-7-contact-form-selector
.wpcf7-response-output {
  margin-top: 1rem;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
}

footer a{
	text-decoration: none;
}

/* Service Page Styles */

.service-subtitle {
  font-size: clamp(0.984rem, 0.984rem + ((1vw - 0.2rem) * 0.607), 1.5rem);
  color: #b91c1c;
  font-weight: 400;
}

.service-title {
  font-size: clamp(1.8rem, 1.8rem + ((1vw - 0.2rem) * 1.412), 3rem);
  color: #205882;
  font-weight: 400;
  margin-top: 0.5rem;
}

.center-children{
  justify-content: center;
}
ul.checkmark {
  list-style: none;
  margin-left: 25px; /* Adjust as needed for spacing */
}

/* Style list items and add checkmarks */
ul.checkmark li {
  line-height: 1.8;
  position: relative;
  padding-left: 25px;
}

ul.checkmark li:before {
  content: '✓'; /* The checkmark symbol */
  color: #3fa709; 
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0; 
}

/* Window Service page */
.window-types-post-template .category-window-types{
	border:1px solid #f0f0f0;
	padding: 1rem;
	border-radius:8px;
	transition: background-color 0.25s ease;
	position:relative;
}

.window-type-item{
	margin-bottom:0!important;
}

.railing-options-list{
	text-align:center;
	list-style-type: none;
	padding-left:0 !Important; 
}

/* Responsiveness */

@media (max-width:1080px){
	.service-page-grid.is-layout-grid{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	.service-page-grid.is-layout-grid li{
		width:31%;
	}
	.service-page-any-size-section{
		flex-direction: column-reverse;
	}
	
	.wp-site-blocks .alignwide {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
}
@media (max-width:781px){
.stack-in-reverse{
	flex-direction: column-reverse;
}
.wp-block-site-logo{
	width: 40px;
}
.home-logo-text{
display:none;
}

.header-call-btn a{
	padding: .5rem 1rem !important;
	}
.top-banner-img-col{
	display: flex;
	justify-content: center;
}
	.top-banner-img-col figure{
		width:250px !important;
	}
.hero-form-container .form-input-row{
	flex-direction: column;
}

.hero-form-container .form-input-row p{
	width:100%;
}

.home-col{
	padding-right:0;
	border-right:none;
	border-bottom: 1px solid #205882;
}

.any-size-text{
	font-size: 1.5rem !important;
}

	.service-page-grid.is-layout-grid li{
		width:47%;
	}
	.service-page-grid.is-layout-grid li h2{
		height: 19px;
	}
	.any-project-btn-container.wp-block-buttons.is-content-justification-center{
		justify-content: start;
	}

	footer .footer-row {
		display: flex;
		flex-direction: column;
	}
}
@media (max-width:600px){
.type-options-col .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid,
.material-options-col .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	nav {
		justify-content:center !important;
	}
	.wp-block-navigation__responsive-container-open svg {
		width:32px !important;
		height:32px !important;
	}
	.nav-inner-row > :not(nav){
		width:30%;
	}
}

@media (max-width:450px){
.type-options-col .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.wp-site-blocks .alignwide.options-intro{
		width:100%;
		padding-left:5%;
		padding-right:5%;
	}
	.insulated-windows-lt{
		display:flex;
		justify-content:center;
	}
	.insulated-windows-lt img{
		width:250px !important;
	}
}
