/*
Theme Name: MyExtendable
Author: Naina Tech Inc.
Description: MyExtendable is a distinct, dynamic block theme designed as a canvas for your next online venture. Sporting multiple style variations, MyExtendable is the most expressive block theme yet. Go fresh, bold, bohemian or minimal — with a single click.
Requires at least: 6.6
Tested up to: 6.8.1
Requires PHP: 7.4
Version: 2.0.23
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: myextendable
Tags: one-column, custom-colors, custom-menu, custom-logo, e-commerce, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments

Extendable is a derivative work of the code from the
Twenty Twenty-Two WordPress Theme, which is licensed GPLv2.

MyExtendable WordPress Theme, (C) 2022 Naina Tech Inc.
MyExtendable therefore is also distributed under the terms of the GNU GPL.
*/


/* Fallback for deprecate variables.
---------------------------------------------------------------------------- */
:root {
	--wp--custom--spacing--small: var(--wp--preset--spacing--30, clamp(1.5rem, 5vw, 2rem));
	--wp--custom--spacing--medium: var(--wp--preset--spacing--50, clamp(2.5rem, 8vw, 4rem));
	--wp--custom--spacing--large: var(--wp--preset--spacing--60, clamp(2.5rem, 8vw, 6rem));
	--wp--custom--spacing--outer: max(1.25rem, 4vw);
}

/*
 * Smooth scrolling
 */

 html {
	scroll-behavior: smooth;
  }

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */

body {
	-moz-osx-font-smoothing: var(--wp--custom--typography--font-smoothing--moz, auto);
	-webkit-font-smoothing: var(--wp--custom--typography--font-smoothing--webkit, auto);
}

/*
 * Text and navigation link styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

a {
	text-decoration-style: var(--wp--custom--elements--link--static--text-decoration-style, solid);
	text-decoration-thickness: var(--wp--custom--elements--link--text-decoration-thickness, 1px);
	text-underline-offset: var(--wp--custom--elements--link--text-underline-offset, 0.25ch);
}

a:hover,
a:focus {
	text-decoration-style: var(--wp--custom--elements--link--interactive--text-decoration-style, dashed);
}

:where(.wp-site-blocks *:focus) {
	outline-width:1px;
	outline-style:solid
}

a:active {
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
}

/* Don't display the homepage in the Page List block, when located inside a navigation element. */
nav .wp-block-pages-list__item.wp-block-navigation-item.menu-item-home {
	display: none;
}

/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */

.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: var(--wp--custom--spacing--outer);
	padding-bottom: var(--wp--custom--spacing--large);
	padding-right: var(--wp--custom--spacing--outer);
	padding-left: var(--wp--custom--spacing--outer);
}

/*
 * --------------------------------------------------------
 *  Custom - blocks
 * --------------------------------------------------------
 */

 /* Button
----------------------------------------------------------*/
.wp-element-button {
	transition: background-color 0.15s ease;
}
.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background):hover,
.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background):hover {
	background-color: rgba(159, 159, 159, 0.2);
}

/* Table
----------------------------------------------------------*/
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){
	background-color: var(--wp--custom--blocks--core-table--variant-stripes--color--background, var(--wp--preset--color--tertiary));
}

/* Template Part Block
----------------------------------------------------------*/

/* Temporary fix until template-part blocks support spacing */

footer.wp-block-template-part:not([style*="margin-top"]) {
	margin-top: 0;
}

/* Quote - 'Plain' variation
----------------------------------------------------------*/
blockquote:is(.is-style-plain) {
	border: none;
	padding-left: 0;
}

/* Search Block
----------------------------------------------------------*/
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
	border-color: var(--wp--custom--elements--input--border--color);
	border-radius: var(--wp--custom--elements--button--border--radius);
	border-width: var(--wp--custom--elements--input--border--width);
}
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input {
	border-color: transparent;
}
.wp-block-search .wp-block-search__input {
	border-radius: var(--wp--custom--elements--button--border--radius);
}

/* Image
----------------------------------------------------------*/
.wp-block-image[style*="-radius"]:not([style*="overflow"]) { overflow: hidden }

/*
 * --------------------------------------------------------
 *  Custom - experimental
 * --------------------------------------------------------
 */

.block-editor-block-list__block.wp-block.is-default-size.wp-block-site-logo .components-resizable-box__container,
.wp-block-site-logo.is-default-size img {
    max-height: 42px !important;
    height: auto !important;
    width: auto !important;
}

/* Ensure default logo works well on light and dark backgrounds
----------------------------------------------------------*/
.wp-block-site-logo img[src*="extendify-demo-"],
.wp-block-site-logo img[src*="ext-custom-logo-"] {
	filter: var(--wp--preset--duotone--primary-foreground);
}


/*
 * Remove all animations, transitions and smooth scroll
 * for people that prefer not to see them.
 */
@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/*
 * Matching caret and focus outline colors.
 */
input, textarea {
	caret-color: inherit;
	outline-color: inherit;
}

/*
 * Matching input with outline button style.
 */
:where(.wp-block-post-comments-form) input:not([type=submit]),
:where(.wp-block-post-comments-form) textarea {
	background-color: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	border-color: inherit;
}


/*
 * Woocommerce temporarily customization until the woo blocks offer support
 */

.woocommerce-Tabs-panel--description h2, .woocommerce-Reviews-title {
	font-size: var(--wp--preset--font-size--medium);
}

.wp-block-button.wc-block-components-product-button {
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: start;
	gap: 1rem;
}
.wp-block-button.wc-block-components-product-button a.added_to_cart {
	margin-top: 0;
}

.woocommerce-checkout.woocommerce-page header.wp-block-template-part nav.wp-block-navigation {
	visibility: hidden;
}

/*
 * Adds offset for sticky header overlap
 */

 .sticky-header-offset-container .entry-content > .wp-block-group {
	scroll-margin-top: var(--wp--preset--spacing--60);
}

/*
 * Adds styling to Nav
 */

.main-nav {
    background: #fff;
    padding: 1em;
}

.main-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.main-menu li {
    display: inline;
}

.main-menu a {
    text-decoration: none;
    color: #333;
}

/* Services Block Styles */
/* This block is used to display services with a zoom effect on hover */
/* It includes a label, title, description, and a set of service cards */
.services-block {
  text-align: center;
  padding: 60px 20px;
  background-color: #f9f9f9;
}

.services-block .label {
  text-transform: uppercase;
  color: #56aa46;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 1px;
}

.services-block h2 {
  font-size: 28px;
  color: #333;
  margin-top: 10px;
}

.services-block .description {
  max-width: 800px;
  margin: 20px auto;
  color: #666;
  font-size: 16px;
  line-height: 1.6;
}

.cards-wrapper {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 40px;
  flex-wrap: wrap;
}

.service-card {
  position: relative;
  width: 300px;
  height: 400px;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.4s ease;
  cursor: pointer;
}

.service-card:hover {
  transform: scale(1.05);
}

.service-card .overlay {
  position: absolute;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  width: 100%;
  padding: 30px 15px;
  transition: background 0.3s ease;
}

.service-card h3 {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: bold;
}

.service-card p {
  margin: 0;
  font-size: 14px;
}

/* Hover Effects for Service Cards */
.service-card:hover .overlay {
  background: rgba(0, 0, 0, 0.6);
}
.hover-zoom {
  transition: transform 0.3s ease;
}
.hover-zoom:hover {
  transform: scale(1.1);
}



/* Testimonials Slider */

.testimonial-slider {
  position: relative;
  max-width: 100%;
  margin-top: 20px;
  text-align: center;
}

.testimonial-item {
  display: none;
  animation: fadeIn 0.5s ease-in-out;
}

.testimonial-item:first-child {
  display: block;
}

.testimonial-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 10px auto;
  object-fit: cover;
}

.testimonial-name {
  font-weight: 700;
  margin-top: 10px;
}

.testimonial-title {
  font-size: 14px;
  color: #56aa46;
}

.testimonial-pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.testimonial-pagination .dot {
  height: 10px;
  width: 10px;
  margin: 0 6px;
  background-color: #ccc;
  border-radius: 50%;
  display: inline-block;
  transition: background 0.3s ease;
}

.testimonial-pagination .dot.active {
  background-color: #56aa46;
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}


.text-column:hover {
  transform: scale(1.02);
  transition: transform 0.3s ease-in-out;
}


.block-img-fixed-bg {
  position: relative;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  padding: 80px 20px;
  color: white;
  overflow: hidden;
  text-align: center;
}

.block-img-fixed-bg .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6); /* Semi-transparent black overlay */
  z-index: 1;
}

.block-img-fixed-bg .content-wrapper {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: auto;
}

.wp-block-cover.alignfull {
  min-height: 100vh;
}

/* Hide or show based on screen size */

@media only screen and 
(min-width : 1224px) {
    .only-desktop {display: block !important;}
    .only-mobile {display: none !important;}
    /* Process Icons with Up-Down Animation */
    .hover-lift {
      transition: transform 0.3s ease;
    }
    .hover-lift:hover {
      transform: translateY(-10px);
    }
}

@media only screen and 
(max-width: 1024px) {
  .only-desktop { display: none !important; }
  .only-mobile { display: block !important; }
  .hover-lift {
    transform: none !important;
  }
}

@media (max-width: 768px) {
  
  .wp-block-cover .alignfull{
    max-height: 100vh !important;
    min-height: 80vh !important;
    padding: 1rem 1rem !important;
    display: flex !important;
  }
  
  .wp-block-cover__image-background{
    width: 100%;
  }
  .wp-block-cover__inner-container h2 {
    font-size: 28px !important;
  }
  .wp-block-cover__inner-container p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .wp-block-buttons .wp-block-button {
    width: 40% !important;
    text-align: center;
  }

  /* Reduce heading size */
  .wp-block-column h3,
  .wp-block-column .wp-block-heading,
  .pl-flipbox .front-heading,
  .pl-flipbox .back-heading{
    font-size: 16px !important;
    margin-bottom: 0.5em;
  }

  /* Reduce paragraph font size */
  .wp-block-column p,
  .pl-flipbox .back_content p{
    font-size: 14px !important;
    line-height: 1.4;
    margin-bottom: 0.25em;
  }

  /* Reduce padding inside Pagelayer flipboxes */
  .pl-flipbox{
    padding-top: 2em !important;
    padding-bottom: 1em !important;
  }

  /* Optional: make entire card slightly shorter visually */
  .pl-flipbox {
    transform: scale(0.95);
  }
    
}
