/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
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;
}

/* 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;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
    overflow-x: auto;
}



/***** CUSTOM *****/

:root {
    --content-width-67: 67vw;
    --content-width-50: 50vw;
}

@media (max-width: 925px) {
    :root {
        --content-width-67: 80vw;
        --content-width-50: 80vw;
    }
    .columns-2 .wp-block-cover__background {
        opacity: .9 !important;
    }
    .wp-block-post-template.is-layout-grid {
        grid-template-columns: 1fr !important;
    }
}

.content-width-50 > * {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--content-width-50);
}

.content-width-67 > * {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--content-width-67);
}

a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
select:focus {
  outline: none;
}

select {
  font-family: inherit;
  font-size: 1.1rem;
  height: 1.4rem;
  margin-left: 0.8rem;
  background: none;
  color: var(--wp--preset--color--off-white);
  border: none;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

select:hover {
  background: var(--wp--preset--color--off-white);
  color: var(--wp--preset--color--off-black);
}

.overlap {
    position: absolute;
    bottom: -12px;
}

.z-9 {
    position: relative;
    z-index: 999;
}


/*** HEADER ***/

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

.site-header {
    height: 3rem;
}

.site-header * {
    height: 100%;
}

/* SITE LOGO */

.wp-block-site-logo {
    flex-shrink: 0;
}

.wp-block-site-logo a{
    display: flex;
    justify-content: left;
}

.wp-block-site-logo img {
    width: 100%;
	height: 100%;
	transition: color 0.3s ease;
}

.wp-block-site-logo.is-default-size img {
    width: auto !important;
	height: 100%;
}

/* NAV */

header .wp-block-navigation {
    text-transform: uppercase;
    display: flex;
	flex-wrap: nowrap;
    flex-shrink: 1;
    min-width: 0;
	width: 100%;
    height: 100%;
}

header .wp-block-navigation__container {
    display: flex;
    align-items: center;
}

header .wp-block-navigation-item {
    position: relative;
    display: flex;
    align-items: center;
    width: 9ch;
    height: 100%;
    overflow: hidden;
    border-right: 1px solid var(--wp--preset--color--off-white);
}

.nav-home {
    border-left: 1px solid var(--wp--preset--color--off-white);
}

/* sliding background */
.wp-block-navigation-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--wp--preset--color--off-white);
    transform: translateY(100%);
    transition: transform 0.3s ease;
    z-index: 0;
}

/* hover effect */
.wp-block-navigation-item:hover::before {
    transform: translateY(0);
}

.wp-block-navigation-item__label:hover {
    color: var(--wp--preset--color--off-black);
}

.wp-block-navigation .wp-block-navigation-item__content {
    display: flex;
    height: 100%;
    width: 100%;
    text-decoration: none;
}

.wp-block-navigation-item__label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
	transition: color 0.3s ease;
}



/*** MOBILE ***/

.wp-block-navigation__responsive-container-open svg {
	margin: auto;
}

.wp-block-navigation__responsive-container-open .site-header {
    height: 5rem;
}

/* Optional: Removes borders from standard links in mobile nav if they look like buttons */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    border: none !important;
    width: 100%;
}

/*** COVER ***/

.front-page-cover {
	height: calc(100vh - 3rem);
}

.front-page-cover .wp-block-cover__video-background {
	position: fixed !important;
}

.front-page-cover .wp-block-cover__video-background::after {
	content: "";
	position: fixed;
	inset: 0;
    background: black;
	opacity: var(--fade-opacity, 0);
	pointer-events: none;
	transition: opacity 0.5s ease;
	z-index: 1;
}

.front-page-cover .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
}

.front-page-cover .wp-block-cover__inner-container > .wp-block-group {
	width: 100%;
	height: 100%;
	justify-content: space-around;
}

.cover-logo {
	width: 100%;
}

.cover-logo div 
{
	width: 100%;
	margin-right: 0;
}

.front-page-cover .cls-1 {
  fill: var(--wp--preset--color--off-white) !important;
}

.about-page-cover {
	height: auto;
    min-height: calc(100vh - 3rem);
    box-sizing: border-box;
    /* Prevents padding from adding to the height */
    overflow: hidden;
}

/* Target the gallery item containers */
.wp-block-post-template li .wp-block-cover {
    aspect-ratio: 16 / 9;
    /* Change to 16/9 or 4/3 if you prefer */
    min-height: auto !important;
    /* Overrides default WP min-heights */
    height: 100%;
}

/* Ensure the content inside doesn't overflow or get cut off weirdly */
.wp-block-cover__inner-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    width: 100%;
}

/* Force the text container to span the full width of the item */
.wp-block-cover .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: 100% !important;
    /* Removes the WP default content-width limit */
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px;
    /* Add consistent side padding here instead */
    padding-right: 20px;
    box-sizing: border-box;
}

/* Ensure the titles don't force the width to change */
.wp-block-post-title {
    width: 100%;
    word-break: normal;
    /* Prevents words from breaking mid-letter */
    overflow-wrap: break-word;
    /* Prevents long words from leaking out of the box */
}

/*** CAROUSEL ***/

.cb-button-prev,
.cb-button-next {
    color: var(--wp--preset--color--off-white) !important;
}

.front-page-carousel {
    position: relative;
    z-index: 10; /* Ensures it sits above the fixed video background */
    opacity: 1 !important;
}

.front-page-carousel .wp-block-cb-slide-v2:not(.swiper-slide-active) {
	opacity: 50%;
}

.aacql-container {
    transform: scale(1);
    transition: transform 0.3s ease;
}

.wp-block-cb-slide-v2:hover .aacql-container,
.aacql-container:hover {
    transform: scale(0.95);
}

.testimonial-img img {
    min-width: 8rem;
    width: 8rem;
    border-radius: 999rem;
}

.testimonial-quote {
    overflow: auto;
}

.testimonial > .wp-block-group {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

/*** VIDEO EMBED ***/

.wp-block-mfb-meta-field-block iframe{
    width: 100%;
    aspect-ratio: 16/9;
    height: auto;
}


/*** QUERY FILTER ***/

.wp-block-query-filter {
    padding: .5rem;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: center;
    border-top: 1px var(--wp--preset--color--off-white) solid;
    border-bottom: 1px var(--wp--preset--color--off-white) solid;
}

.wp-block-query-filter-post-type__label {
    font-family: inherit;
    height: 1.4rem;
    line-height: 25px;
}

.taxonomy-genre a {
    text-decoration: none;
    pointer-events: none;
}



/*** ABOUT PAGE ***/

.svg-about-subtext {
    /* 1. Enable sticky positioning */
    position: -webkit-sticky;
    /* Required for Safari support */
    position: sticky;

    /* 2. Set a scroll threshold (the point where it starts sticking) */
    right: auto;
    top: -999px;

    /* 3. Retain your existing custom transform */
    /* Example: transform: translate(-50%, -50%); */
    transform: translateY(-25px) translateX(75px) scale(120%);

    /* 4. Ensure it stays above other content */
    z-index: 10;
}

/* General form container */
.wpcf7-form,
.getpaid-payment-form {
  font-family: var(--wp--preset--font-family--dm-sans); /* or your preferred modern font */
  margin: 0;
  gap: 1rem;
}

.uacf7-form-wrapper-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Label styling */
.wpcf7-form label,
.getpaid-payment-form label {
  display: flex;
  flex-direction: column;
  font-weight: 500;
  font-size: 0.95rem;
  color: #333;
  margin-bottom: 0.5rem;
}

/* Input, select, textarea styling */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea {
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 0;
    font-size: 0.95rem;
    color: #111;
    background: none;
    transition: all 0.2s ease;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px rgba(25, 26, 29, 0.2) solid;
    font-family: var(--wp--preset--font-family--dm-sans);
    height: 2.5rem;
}

.getpaid-payment-form input[type="text"],
.getpaid-payment-form input[type="email"],
.getpaid-payment-form input[type="tel"],
.getpaid-payment-form input[type="date"],
.getpaid-payment-form select,
.getpaid-payment-form textarea {
    height: 2.5rem !important;
}

/* Input, select, textarea styling */
.wpcf7-form input[type="text"]:hover,
.wpcf7-form input[type="email"]:hover,
.wpcf7-form input[type="tel"]:hover,
.wpcf7-form input[type="date"]:hover,
.wpcf7-form select:hover {
    border-bottom: 1px rgba(25, 26, 29, 0.4) solid;
}

.wpcf7-form textarea,
.getpaid-payment-form textarea {
    border: 1px rgba(25, 26, 29, 0.2) solid;
    height: 4rem;
}

.wpcf7-form textarea:hover,
.getpaid-payment-form textarea:hover {
    border: 1px rgba(25, 26, 29, 0.4) solid;
}

/* Focus state */
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: rgba(25, 26, 29, 0.2);
}

/* First/Last Name row */
.cf7-flex {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.cf7-flex label {
  flex: 1 1 0;
}

/* Submit button styling */
.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"] {
  background-color: var(--wp--preset--color--rose-red);
  color: #fff;
  border: none;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.7rem 1.25rem;
  cursor: pointer;
  transition: background 0.2s ease;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-form button[type="submit"]:hover {
  background-color: rgb(107, 44, 47);
}

/* Textarea extra spacing */
.wpcf7-form textarea {
  min-height: 120px;
  resize: vertical;
}

/* Optional spacing between fields */
.cf7-field {
  margin-bottom: 1rem;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
}

.wpcf7-response-output {
    display: flex;
    font-weight: bold;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-size: 18px;
    width: 100%;
}

.getpaid-payment-form-items-cart {
    background-color: var(--wp--preset--color--off-black);
}

.getpaid-payment-form-items-cart-item {
    color: var(--wp--preset--color--off-white);
}

.cf-turnstile {
    margin-bottom: 3rem;
}

/* WooCommerce */

.quantity {
  display: none !important;
}

/* FOOTER */

footer {
    margin-top: 0 !important;
}