/*
Theme Name: bioscope
Theme URI: 
Author: Montu Molla
Author URI: 
Description: Bioscope is a creative photography and cinematography studio dedicated to capturing real moments and turning them into timeless memories. Specializing in weddings, events, and cinematic storytelling, Bioscope combines artistic vision with professional production to deliver stunning visuals that reflect genuine emotions and unforgettable experiences. With a passionate team and years of experience, Bioscope offers a complete range of services including photography, cinematography, DJ services, event management, and immersive 360° photo booth experiences. Their mission is simple: to tell authentic stories through creative imagery and cinematic excellence.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bioscope
Tags: 
*/

@keyframes contentFadeIn {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

.wp-block-navigation-item > a::after {
    content: '';
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: -4px;
    height: 1px;
    background: var(--wp--preset--color--gold);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.wp-block-navigation-item.current-menu-item > a::after,
.wp-block-navigation-item > a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.wp-block-group.is-position-sticky.position-fixed {
    position: fixed;
    width: 100%;
}

.wp-block-navigation-link .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--gold);
}

.wp-block-group.is-style-cta-section {
    overflow: hidden;
    position: relative;
}

.wp-block-group.is-style-cta-section:before {
    content: '';
    position: absolute;
    width: 500px;
    height: 500px;
    border: 1px solid var(--wp--preset--color--border-gold-30);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.wp-block-group.is-style-cta-section:after {
    content: '';
    position: absolute;
    width: 800px;
    height: 800px;
    border: 1px solid var(--wp--preset--color--border-gold-15);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet {
    background-color: var(--wp--preset--color--gold);
}

.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--wp--preset--color--gold);
}

.cb-slide .wp-block-image {
    overflow: hidden;
}
.cb-slide .wp-block-image img {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cb-slide .wp-block-image:hover img {
    transform: scale(1.07);
}

.cb-slide .wp-block-image::after {
    content: "";
    position: absolute;
    opacity: 0;
    inset: 0px;
    transition: opacity 0.4s;
}

.cb-slide .wp-block-image:hover::after {
    opacity: 1;
}

.test-card:hover {
    border-color: var(--wp--preset--color--gold);
}

.test-card {
    position: relative;
    transition: border-color 0.3s ease-in-out;
    border: 1px solid var(--wp--preset--color--soft-border);
}

.test-card::before {
    content: '"';
    font-family: var(--wp--preset--font-family--cormorant);
    font-size: 100px;
    color: var(--wp--preset--color--gold-pale);
    position: absolute;
    top: 12px;
    left: 24px;
    line-height: 1;
}

.test-dot {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
}


.wpcf7-not-valid-tip {
    display: none;
}

.contact-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
}

.field {
    position: relative;
}

.field.full {
    grid-column: 1 / -1;
}

input,
textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--wp--preset--color--soft-border);
    background: transparent;
    padding: 6px 0 8px;
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    color: var(--wp--preset--color--ink-muted);
    transition: border-color 0.25s;
}

select {
    width: 100%;
    padding: 6px 28px 8px 0px;
    border: none;
    border-bottom: 1px solid var(--wp--preset--color--soft-border);
    font-size: 18px;
    color: var(--wp--preset--color--ink);
    font-family: 'DM Sans', sans-serif;
    transition: border-color 0.25s;

    background-color: transparent;
    background-image: linear-gradient(45deg, transparent 50%, var(--wp--preset--color--ink-muted) 50%), linear-gradient(135deg, var(--wp--preset--color--ink-muted) 50%, transparent 50%);
    background-position: calc(100% - 14px) calc(50% + 2px), calc(100% - 9px) calc(50% + 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    appearance: none;
    display: block;
}

textarea {
    min-height: 74px;
    resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--wp--preset--color--gold);
}

input[type=submit] {
    border: 1px solid rgba(176, 141, 87, 0.55);
    background: transparent;
    color: var(--wp--preset--color--gold);
    font-family: 'DM Sans', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    font-size: 11px;
    padding: 12px 34px;
    cursor: pointer;
    transition: all 0.25s;
    width: inherit;
}

input[type=submit]:hover {
    background: var(--wp--preset--color--gold);
    border-color: var(--wp--preset--color--gold);
    color: #fff;
}

input[type=submit]:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.field.invalid label {
    color: #a14a3b;
}

.field input.wpcf7-not-valid,
.field textarea.wpcf7-not-valid,
.field select.wpcf7-not-valid {
    border-color: #a14a3b;
}

.field label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: var(--wp--preset--color--ink-muted);
    margin-bottom: 6px;
}

.send-wrap {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 4px;
}


.wpcf7-response-output {
    grid-column: 1 / -1;
    min-height: 18px;
    text-align: center;
    margin-top: -2px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wp--preset--color--ink-muted);
}

.invalid .wpcf7-response-output {
    color: #a14a3b;
}

.wpcf7 form .wpcf7-response-output {
    border: none;
}


.hero-cover .wp-block-cover__image-background {
    transform: scale(1.4);
    transition: transform 8s ease;
}

.hero-cover:hover .wp-block-cover__image-background {
    transform: scale(1.0);
}

.hero-content {
    transform: translateY(clamp(28px, 6vh, 68px));
    animation: contentFadeIn 1.6s ease both;
}