/*!
Theme Name: Carp Angling
Theme URI: http://underscores.me/
Author: So Marketing
Author URI: https://www.somarketing.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: carp-angling
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/


/*
====================================================
Header Style Start
====================================================
*/

.site-header{
    padding-top: .625rem;
    padding-bottom: .625rem;
    position: sticky;
    top: 0;
    z-index: 999;
    background: var(--carp-white);
	box-shadow: 0px -20px 50px #00000035;
}
.admin-bar .site-header{
    top: 2.125rem;
}
@media only screen and (max-width:991px) {

    .admin-bar .site-header{
        top: 2.875rem;
    }

}
.header-container {
	display: grid;
	grid-template-columns: 18.75rem 1fr 18.75rem;
	gap: 1.5625rem; /* 25px */
	align-items: center;
	justify-content: space-between;
    position: relative;
}
.header-center-section {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 4.5rem; /* 72px */
	align-items: center;
	width: 100%;
}
.header-contact-section a{
    text-decoration: none;
}
/* Header Navigation */



@media only screen and (min-width:1200px) {

    .header-nav {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .header-nav--primary {
        justify-content: flex-end;
    }
    .header-nav--secondary {
        justify-content: flex-start;
    }
    .main-menu ul{
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
    .main-menu > ul{
        display: flex;
        align-items: center;
        column-gap: 4.5rem; /* 72px */
    }
    .main-menu > ul > li{
        position: relative;
    }
    .main-menu > ul > li > a{
        display: block;
        text-decoration: none;
        font-family: var(--font-sf-pro-display);
        font-size: 1.125rem; /* 18px */
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        padding: 1.5625rem 0; /* 25px */
    }
    .main-menu > ul > li > a:hover{
        color: var(--carp-green-dark);
    }


    /* Dropdown Menu Styles */
    .main-menu > ul > li > .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 15rem; /* 240px */
        background-color: var(--carp-white);
        border-radius: 0.5rem; /* 8px */
        box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.1);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-0.10rem);
        transition: all 0.3s ease;
        z-index: 99999;
    }
    .main-menu > ul > li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(-0.5rem);
    }
    .main-menu > ul > li > .sub-menu > li {
        position: relative;
        list-style: none;
    }
    .main-menu > ul > li > .sub-menu > li > a {
        display: block;
        padding: 0.75rem 1.5rem; /* 12px 24px */
        color: var(--carp-black);
        text-decoration: none;
        font-family: var(--font-sf-pro-display);
        font-size: 1rem; /* 16px */
        font-weight: 500;
        line-height: normal;
        transition: all 0.3s ease;
    }
    .main-menu > ul > li > .sub-menu > li > a:hover {
        background-color: var(--carp-water);
        color: var(--carp-green-dark);
        padding-left: 2rem; /* 32px - adds indent on hover */
    }

    /* First item in submenu - top border radius */
    .main-menu > ul > li > .sub-menu > li:first-child > a {
        border-radius: 0.5rem 0.5rem 0 0; /* 8px top-left, top-right */
    }

    /* Last item in submenu - bottom border radius */
    .main-menu > ul > li > .sub-menu > li:last-child > a {
        border-radius: 0 0 0.5rem 0.5rem; /* 8px bottom-left, bottom-right */
    }

    /* Nested Dropdown (Third Level) */
    .main-menu > ul > li > .sub-menu > li > .sub-menu {
        position: absolute;
        top: 0;
        left: 100%;
        min-width: 15rem; /* 240px */
        background-color: var(--carp-white);
        border-radius: 0.5rem; /* 8px */
        box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.1);
        opacity: 0;
        visibility: hidden;
        transform: translateX(-0.5rem);
        transition: all 0.3s ease;
        z-index: 1000;
        margin-left: 0.5rem; /* 8px gap */
        padding: 0.75rem 0; /* 12px vertical padding */
    }
    .main-menu > ul > li > .sub-menu > li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
    /* Dropdown Indicator Arrow */
    .main-menu > ul > li.menu-item-has-children > a::after {
        content: '';
        display: inline-block;
        width: 0.5rem; /* 8px */
        height: 0.5rem; /* 8px */
        border-right: 0.125rem solid currentColor;
        border-bottom: 0.125rem solid currentColor;
        margin-left: 0.5rem;
        transform: rotate(45deg) translateY(-0.25rem);;
        opacity: 0;
        transition: all 0.3s ease;
    }
    .main-menu > ul > li:has(> .sub-menu) > a::after {
        opacity: 1;
    }
    .main-menu > ul > li.menu-item-has-children:hover > a::after {
        color: var(--carp-green-dark);
    }
}

/* Site Branding */
.site-branding {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 10rem; /* 160px*/
	width: 10rem; /* 160px*/
}
.site-logo-link {
	position: absolute;
	top: 0;
    width: 10rem;
    z-index: 9999;
	margin-left: auto;
	margin-right: auto;
	left: 50%;
	transform: translateX(-50%);
}

/* Header Actions Section */
.header-actions-section {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.5625rem;
}

/* Icon Button Base Styles */
.header-icon-btn {
	position: relative;
	text-decoration: none;
	color: inherit;
}
.header-icon-btn svg{
    width: 100%;
    height: 100%;
}
/* Cart Button */
.header-icon-btn--cart {
	position: relative;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
    margin-right: 1.3125rem;
}
.cart-count-badge {
	position: absolute;
	top: .75rem;
	right: -.625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: .9375rem;
	height: .9375rem;
	padding: 0;
	background-color: var(--carp-green-mid);
	color: white;
	border-radius: 50%;
	font-size: .5rem;
	font-weight: 700;
	line-height: normal;
	animation: badgePulse 0.3s ease;
}

@keyframes badgePulse {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* My Account Button */

.header-icon-btn--account{
    width: 2.25rem;
    height: 2.5rem;
    flex: 0 0 2.25rem;
}

@media only screen and (max-width:1599px) {

    .site-branding {
        max-width: 8.75rem;
        width: 8.75rem;
    }
    .site-logo-link {
        position: absolute;
        top: 0;
        width: 8.75rem;
    }
    .header-center-section {
        gap: 1.875rem;
    }

}
@media only screen and (max-width:1199px) {

    .header-actions-section {
        gap: 1.5rem;
    }
    .header-icon-btn--cart {
        margin-right: .625rem;
        width: 1.875rem;
        height: 1.875rem;
    }
    .header-icon-btn--account{
        width: 1.625rem;
        height: 1.875rem;
    }
    .header-container {
        grid-template-columns: repeat(3, 1fr);
    }
    .header-center-section {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .header-contact-section{
        display: flex;
        align-items: center;
        gap: 2rem;
    }
    .menu-trigger{
        cursor: pointer;
    }
    .site-header {
        padding-top: 1.5625rem;
        padding-bottom: .9375rem;
    }

    /* hamburger menu style start */


    .hamburger-wrapper {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        min-height: 100dvh;
        background: var(--carp-green-mid);
        padding: 6.25rem 1.5625rem 9.375rem 1.5625rem;
        z-index: 998;
        overflow-y: auto;
        overflow-x: hidden;
        display: flex;
        flex-direction: column;

        /* Slide-out animation (default state) */
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        will-change: transform;
    }

    /* Open state - slide in from left */
    .hamburger-wrapper.isOpen {
        transform: translateX(0);
    }
    .hamburger-inner {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .menu-close {
        width: 3.125rem;
        height: 3.125rem;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0;
        margin-bottom: 1.875rem;
        cursor: pointer;
        flex-shrink: 0;
        transition: transform 0.2s ease;
    }

    .menu-close:hover {
        transform: scale(1.1);
    }

    .mobile-navigation {
        display: flex;
        flex-direction: column;
        row-gap: 1.875rem;
        flex: 1;
        overflow-x: hidden;
        padding-right: 0.5rem;
    }

    /* Custom scrollbar styling for mobile navigation */
    .mobile-navigation::-webkit-scrollbar {
        width: 0.375rem;
    }

    .mobile-navigation::-webkit-scrollbar-track {
        background: transparent;
    }

    .mobile-navigation::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.2);
        border-radius: 0.1875rem;
    }

    .mobile-navigation::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.3);
    }
    .mobile-menu ul{
        margin: 0;
        padding: 0;
        list-style-type: none;
        text-align: center;
    }
    .mobile-menu > ul{
        display: flex;
        flex-direction: column;
        row-gap: 1.875rem;
    }
    .mobile-menu ul li a{
        color: var(--carp-black);
        font-size: 1.125rem;
        font-weight: 700;
        line-height: 120%; /* 32.4px */
        letter-spacing: 0.034rem;
        text-transform: uppercase;
        text-decoration: none;
    }
    .mobile-menu ul li a:hover{
        color: var(--carp-water);
    }
    .mobile-menu > ul > li > a{
        font-size: 1.6875rem;
    }
    .mobile-menu .sub-menu{
        margin-top: .625rem;
    }
    .mobile-menu .sub-menu{
        display: flex;
        flex-direction: column;
        gap: .3125rem;
    }
    .hamburger-footer {
        margin-top: 3.125rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.5625rem;
    }

    .hamburger-footer .site-btn{
        width: max-content;
        padding-left: 3.125rem;
        padding-right: 3.125rem;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .hamburger-footer .site-btn.green-mid-black.border {
        border-color: var(--carp-black);
    }

    /* hamburger menu style end */

}

@media only screen and (max-width:767px) {

    .menu-close {
        margin-top: 0;
    }
    .site-branding {
        max-width: 6.25rem;
        width: 6.25rem;
    }
    .site-logo-link{
        width: 6.25rem;
    }
    .hamburger-footer .site-btn,
    .hamburger-footer a{
        width: 100%;
     }

    .hamburger-wrapper {

        padding-top: 5rem;
    }


}

/*
====================================================
Header Style End
====================================================
*/


/*
====================================================
Global Hero Detection - Margin Top Spacing
====================================================
*/

/* Default spacing for pages without hero sections */
body.no-hero .site-main {
    margin-top: 5rem;
}

/* No margin for pages with hero sections */
body.has-hero .site-main {
    margin-top: 0;
}
@media only screen and (max-width:1599px) {
    body.no-hero .site-main {
        margin-top: 3.75rem;
    }
}



/*
====================================================
Global Hero Detection - Margin Top Spacing End
====================================================
*/




/*
====================================================
Footer Style Start
====================================================
*/

/* Footer Newsletter style Start  */

.newsletter-form-inner {
    background: var(--carp-black);
    color: var(--carp-white);
    border-radius: 3.125rem 3.125rem 0 0; /* 50px */
    padding: 3.125rem; /* 50px */
    padding-left: 33.4375rem; 
    position: relative;
}
.newsletter-form-image {
    position: absolute;
    left: -1.25rem;
    bottom: -6.875rem;
}
.newsletter-form-inner label {
    color: var(--carp-white);
}
.newsletter-form-inner input {
    padding: 1rem 1.25rem; 
}
.newsletter-field-row {
    position: relative;
    padding-right: 10rem;
    margin-top: 1.5625rem; /* 25px */
}
.newsletter-field-row .field {
    margin-bottom: 0;
}
.newsletter-field-row .submit-field {
    position: absolute;
    right: 0;
    bottom: 0;
}
.newsletter-field-row .submit-field .site-btn {
    border: none;
    border-radius: 3.125rem;
    padding: 1.125rem 1.875rem;
}

.newsletter-field-row .submit-field .site-btn:hover {
    background: var(--carp-white);
    color: var(--carp-black);
}
.newsletter-form-inner .h4-style {
    color: var(--carp-green-mid);
} 
.newsletter-form-inner .wpcf7 form .wpcf7-response-output {
    margin-top: 1.25rem;
    padding: 5px 1.25rem;
}
.newsletter-form-inner form{
    position: relative;
}
.newsletter-form-inner form .wpcf7-response-output {
	padding: .25rem .9375rem;
    text-align: center;
}
@media only screen and (max-width:767px) {

    .newsletter-form-inner form .wpcf7-response-output {
        position: absolute !important;
        left: 0;
        bottom: 0;
        max-width: 58%;
        font-size: .75rem;
        line-height: 1.2;
    }

}
@media only screen and (max-width:1599px) {
    .newsletter-form-image {
        bottom: -5rem;
    }
}

@media only screen and (max-width:1399px) {
    .newsletter-form-inner {
        padding-left: 31.25rem; /* 500px */
    }
}

@media only screen and (max-width:1199px) {
    .newsletter-form-inner {
        padding-left: 3.125rem;
        padding-bottom: 12.5rem; /* 200px */
    }

    .newsletter-form-image {
        height: 15.8125rem; /* 253px */
    }

    .newsletter-form-image svg {
        height: 100%;
        width: auto;
    }
}

@media only screen and (max-width:767px) {

    .newsletter-form-inner {
        padding: 3.125rem 1.5625rem 9.375rem 1.5625rem; /* 50px 25px 150px 25px */
    }

    .newsletter-form-image {
        left: -0.625rem; /* -10px */
        bottom: -3.75rem; /* -60px */
    }

    .field-row.newsletter-field-row {
        padding-right: 0;
        display: flex;
        flex-direction: column;
        gap: 1.75rem; /* 28px */
    }

    .newsletter-field-row .submit-field {
        position: static;
        text-align: right;
        margin-left: auto;
        margin-top: 0;
    }

    .newsletter-field-row .submit-field .site-btn {
        padding: 0.9375rem 1.875rem;
    }
    .newsletter-form-inner .h4-style {
        font-size: 1.375rem;
        letter-spacing: 0.028rem;
    }
}
/* Footer Newsletter style End  */


.site-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-top-grid {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 7.8125rem; /* 125px */
    background: var(--carp-green-mid);
    color: var(--carp-white);
    padding-top: 4.375rem; /* 70px */
    padding-bottom: 4.375rem; /* 70px */
    padding-left: 33.4375rem; /* 535px */
}

.footer-menu-box ul {
    display: flex;
    align-items: center;
    gap: 5.625rem; /* 90px */
}

.footer-menu-box ul li {
    display: block;
}

.footer-menu-box ul li a {
    color: var(--carp-white);
    text-decoration: none;
    font-size: 1.25rem; /* 20px */
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.025rem; /* 0.4px */
}

.social-media-list {
    display: flex;
    align-items: center;
    gap: 3.125rem; /* 50px */
}

.footer-bottom {
    background: var(--carp-green-dark);
    padding-top: 1.25rem; /* 20px */
    padding-bottom: 1.25rem; /* 20px */
    color: var(--carp-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 1.25rem;
}

.footer-bottom-left {
    display: flex;
    align-items: center;
    column-gap: 3.125rem; /* 50px */
}

.footer-legal-menu-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    align-items: center;
    column-gap: 3.125rem;
}

.footer-legal-menu-list a {
    color: var(--carp-white);
}

@media only screen and (max-width: 1899px) {
    .footer-top-grid {
        column-gap: 4.6875rem; /* 75px */
    }

    .footer-menu-box ul {
        gap: 3.125rem; /* 50px */
    }
}

@media only screen and (max-width: 1699px) {
    .footer-top-grid {
        padding-left: 28.125rem; /* 450px */
    }
}

@media only screen and (max-width: 1599px) {
    .footer-top-grid {
        padding-left: 21.875rem; /* 350px */
        column-gap: 3.125rem; /* 50px */
        padding-top: 3.125rem; /* 50px */
        padding-bottom: 3.125rem; /* 50px */
    }

    .footer-menu-box ul {
        column-gap: 2.5rem; /* 40px */
    }

    .social-media-list {
        gap: 2.5rem; /* 40px */
    }
}

@media only screen and (max-width: 1399px) {
    .footer-menu-box ul li a {
        font-size: 1.0625rem; /* 17px */
    }

    .footer-menu-box ul {
        column-gap: 1.875rem; /* 30px */
    }
}

@media only screen and (max-width: 1199px) {
    .footer-menu-box ul li a {
        font-size: 1.0625rem; /* 17px */
    }

    .footer-menu-box ul {
        column-gap: 1.875rem; /* 30px */
    }

    .footer-top-grid {
        padding-left: 1.25rem;
        padding-top: 5rem;
    }
    .footer-bottom {
        flex-direction: column;
        justify-content: center;
        row-gap: 1.25rem; /* 20px */
    }

    .footer-bottom-left {
        column-gap: 1.25rem; /* 20px */
        justify-content: center;
    }

    .footer-legal-menu-list {
        column-gap: 1.25rem; /* 20px */
    }
}

@media only screen and (max-width: 991px) {
    .footer-top-grid {
        flex-direction: column;
        row-gap: 1.25rem; /* 20px */
        padding-top: 5rem;
        padding-bottom: 1.875rem; /* 30px */
    }

    .footer-bottom-left {
        flex-direction: column;
        row-gap: 1.25rem; /* 20px */
    }

    .footer-copyright-text {
        text-align: center;
    }
}

@media only screen and (max-width: 767px) {

    .footer-menu-box ul {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 1.25rem; /* 20px */
    }

    .footer-social-media .social-media-list {
        flex-direction: column;
        gap: 1.5625rem; /* 25px */
    }

    .footer-top-grid {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        padding: 3.125rem 1.25rem;
        padding-top: 6.25rem;
    }

    .footer-menu-box ul li a {
        text-align: left;
        font-size: .875rem;
        letter-spacing: 0.0175rem; /* 0.28px */
    }
    .footer-legal-menu-list {
        flex-wrap: wrap;
    }
    .social-media-link {
        display: block;
        width: 1.25rem;
    }
}

/*
====================================================
Footer Style End
====================================================
*/



/*
====================================================
Hero Section Style Start
====================================================
*/

.hero-inner {
    display: grid;
    grid-template-columns: 100%;
}
.hero-inner > * {
    grid-row: 1;
    grid-column: 1;
    align-items: center;
}
.hero-content-wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.hero-content {
    align-self: center;
    justify-self: center;
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 .625rem;
}
.hero-media {
    position: relative;
    border-radius: 3.125rem;
    height: calc(100vh - 19.4375rem);
    max-height: 45.3125rem;
}
.hero-media::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 3.125rem;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
}
.hero-media img,
.hero-media video,
.hero-media iframe {
    border-radius: 3.125rem;
    height: 100%;
    object-fit: cover;
}
.hero-content h1 {
  color: var(--carp-white);
  margin-bottom: 0;
  max-width: 63.4375rem;
}
.inner-hero-content h1{
    max-width: 100%;
}
.hero-btn {
  margin-top: 4.0625rem;
}
@media only screen and (max-width:1199px) {

    .hero-media{
        height: 37.5rem;
    }
    .hero-btn {
        margin-top: 2.1875rem;
    }
}
@media only screen and (max-width:767px) {

    .hero-media {
        height: calc(100vh - 4.4375rem);
    }
}
/*
====================================================
Hero Section Style End
====================================================
*/


/*
====================================================
Inner Hero Section Style Start
====================================================
*/


.inner-hero-inner {
    display: grid;
    grid-template-columns: 100%;
    height: 25rem;
}
.inner-hero-inner > * {
    grid-row: 1;
    grid-column: 1;
    align-items: center;
}

.inner-hero-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.inner-hero-content {
    align-self: center;
    justify-self: center;
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 .625rem;
}

/* Inner Hero Media - Minimum Height 400px, expands with content */
.inner-hero-media {
    position: relative;
    border-radius: 3.125rem;
    height: 100%; /* Fill full hero section height */
    overflow: hidden; /* Contain image within bounds */
}
.inner-hero-media::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 3.125rem;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
}

.inner-hero-media img,
.inner-hero-media video,
.inner-hero-media iframe {
    border-radius: 3.125rem;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Inner Hero Image */
.inner-hero-image {
    width: 100%;
    height: 100%;
}

.inner-hero-image-img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Inner Hero Video */
.inner-hero-video {
    width: 100%;
    height: 100%;
}
.inner-hero-video-container {
    width: 100%;
    height: 100%;
}
.inner-hero-video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Inner Hero Button */
.inner-hero-btn {
    margin-top: 1.875rem;
}


/*
====================================================
Inner Hero Section Style End
====================================================
*/


/*
====================================================
Single Post Hero Section Style Start
====================================================
*/

/* Override inner-hero-inner for single post hero - 381px height */
.single-post-hero-section .inner-hero-inner {
    height: auto;
    min-height: 23.75rem;
}
.single-post-hero-section .inner-hero-content-wrapper { 
    padding-top: calc(4.6875rem + 4.75rem); 
    padding-bottom: 4.0625rem;
}
/* Override inner-hero-media for single post hero - 381px minimum height */
.single-post-hero-section .inner-hero-media {
    height: 100%; /* Fill full hero section height */
    overflow: hidden; /* Contain image within bounds */
}
.post-hero-date {
    color: var(--carp-white);
    margin-top: .625rem;
}

/* Back to Blogs Button */
.back-to-blogs-button {
    padding-top: 6.25rem; /* 100px */
    margin-top: 6.25rem; /* 100px */
    border-top: 0.063rem solid var(--carp-black);
    text-align: center;
}
@media only screen and (max-width:991px) {

    .back-to-blogs-button {
        padding-top: 4.375rem;
        margin-top: 4.375rem;
    }
}
@media only screen and (max-width:767px) {
    .back-to-blogs-button {
        padding-top: 3.125rem;
        margin-top: 3.125rem;
    }
    .single-post-hero-section .inner-hero-content-wrapper {
        padding-top: 5.625rem;
        padding-bottom: 2.5rem;
    }
    .single-post-hero-section .inner-hero-inner {
        height: auto;
        min-height: auto;
    }
    .single-post-hero-section .inner-hero-media img,
    .single-post-hero-section .inner-hero-media video, 
    .single-post-hero-section .inner-hero-media iframe {
        height: 100%;
    }
    .single-post-hero-section .hero-content h1 {
        font-size: 1.75rem;
    }
}
.single-post-hero-section .carp-angling-breadcrumb {
	margin-bottom: -3.125rem;
}
@media only screen and (max-width:767px) {

    .single-post-hero-section .carp-angling-breadcrumb {
        margin-bottom: -1.875rem;
    }

}

/*
====================================================
Single Post Hero Section Style End
====================================================
*/


/*
====================================================
Carp Trip Advantages Section Style Start
====================================================
*/

.carp-trip-advantages {
    margin-top: 1.5625rem;
}
.advantages-container {
    max-width: 100%;
    padding: 2.1875rem 3.4375rem;
    background: var(--carp-black);
    color: var(--white);
    border-radius: 3.125rem;
}

.advantages-header {
    text-align: center;
    margin-bottom: 3.125rem; /* 50px */
}
.advantages-grid {
    display: grid;
    gap: 4.375rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.advantages-grid--1col {
    grid-template-columns: 1fr;
}
.advantages-grid--2col {
    grid-template-columns: repeat(2, 1fr);
}
.advantages-grid--3col {
    grid-template-columns: repeat(3, 1fr);
}
.advantages-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}
.advantages-grid--5col {
    grid-template-columns: repeat(5, 1fr);
}
.advantages-grid--6col {
    grid-template-columns: repeat(6, 1fr);
}
.advantages-grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.5625rem;
}
.advantages-grid__icon {
    width: 6.25rem; /* 100px */
    height: 3.125rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-shrink: 0;
}
.advantages-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.advantages-grid__title {
    color: var(--carp-white);
    margin-bottom: 0;
    font-weight: 600;
}

@media only screen and (max-width:1399px) {

    .advantages-container {
        padding: 2.1875rem;
    }
    .advantages-grid {
        gap: 1.875rem;
    }
    .advantages-grid__title {
        font-size: .875rem;
    }
}
@media only screen and (max-width:991px) {

    .advantages-grid--4col {
        grid-template-columns: repeat(3, 1fr);
    }
    .advantages-grid--5col {
        grid-template-columns: repeat(3, 1fr);
    }
    .advantages-grid--6col {
        grid-template-columns: repeat(3, 1fr);
    }

}
@media only screen and (max-width:767px) {

    .advantages-grid--4col {
        grid-template-columns: repeat(2, 1fr);
    }
    .advantages-grid--5col {
        grid-template-columns: repeat(2, 1fr);
    }
    .advantages-grid--6col {
        grid-template-columns: repeat(2, 1fr);
    }

}


/*
====================================================
Carp Trip Advantages Section Style End
====================================================
*/


/*
====================================================
Product Card Style Start
====================================================
*/

.products{
    display: grid;
    gap: 1.5625rem; /* 25px */
    list-style: none;
    padding: 0;
    margin: 0;
}
.products.columns-2{
    grid-template-columns: repeat(2, 1fr);
}
.products.columns-3{
    grid-template-columns: repeat(3, 1fr);
}
.products.columns-4{
    grid-template-columns: repeat(4, 1fr);
}
.products.columns-5{
    grid-template-columns: repeat(5, 1fr);
}
.carp-trip-box{
    display: flex;
    flex-direction: column;
    text-decoration: none !important;
    color: inherit !important;
    overflow: hidden;
    /* Ensure links are clickable on touch devices */
    pointer-events: auto;
    /* Improve touch target size for better mobile UX */
    -webkit-touch-callout: none;
    /* Prevent text selection on long press */
    -webkit-user-select: none;
    user-select: none;
    height: 100%;
}
.trip-box-media {
    position: relative;
    border-radius: 3.125rem 3.125rem 0 0;
    height: 37.5rem; 
    overflow: hidden;
}
.carp-trip-box .trip-box-media::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 4;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 50%, rgba(0, 0, 0, 0.75) 100%);
    border-radius: 3.125rem 3.125rem 0 0;
    pointer-events: none;
}
/* Video + Image Grid Overlay System */
.carp-trip-box.has_video .trip-box-media {
    display: grid;
    grid-template-columns: 100%;
}
.carp-trip-box.has_video .trip-box-media > * {
    grid-column: 1;
    grid-row: 1;
}

/* Image and Video Wrappers - Fill parent container */
.trip-box-image,
.trip-box-video {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.carp-trip-box.has_video .trip-box-image {
    transition: 0.5s all ease;
    z-index: 3;
    opacity: 1;
}
.carp-trip-box.has_video .trip-box-video {
    z-index: 2;
}
/* Hide image on hover to reveal video */

.carp-trip-box.video-hover-enabled:hover .trip-box-image {
    opacity: 0;
    visibility: hidden;
}
@media only screen and (max-width:991px) {

    .carp-trip-box.video-hover-enabled:hover .trip-box-image {
        opacity: 1;
        visibility: visible;
    }

}
/* Media Elements - Unified Sizing */
.trip-box-media img,
.trip-box-media video,
.trip-box-media iframe {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3.125rem;
}

/* Product card specific border radius */
.carp-trip-box .trip-box-media img,
.carp-trip-box .trip-box-media video,
.carp-trip-box .trip-box-media iframe {
    border-radius: 3.125rem 3.125rem 0 0;
}
/* Trip box header wrapper - contains date and sold-out badge */

.trip-box-header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
    width: 100%;
}
.trip-box-date{
    background: var(--carp-green-dark);
    color: var(--carp-white);
    display: flex;
    flex-direction: column;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    font-size: 1.9375rem; /* 31px */
    line-height: 120%; /* 37.2px */
    letter-spacing: 0.039rem;
    padding: 1.5rem 1.625rem .8125rem 1.25rem; /* 13px 26px 13px 20px */
    border-radius: 0 3.125rem 0 0; /* 0 50px 0 0 */
    margin-left: auto;
}
.trip-box-date .trip-year{
    color: var(--carp-green-light);
    font-size: 1.5625rem; /* 25px */
    letter-spacing: 0.031rem;
}

/* Sold-out Badge */

.trip-box-sold-out {
    padding: 1.25rem 2.625rem 1.25rem 2.625rem;
    border-radius: 3.125rem 0 0 0;
    background: var(--carp-black);
    color: var(--carp-white);
    width: 100%;
    display: flex;
    align-items: center;
    align-items: center;
    gap: 1.5rem;
}
.sold-out-icon{
    max-width: 3.625rem;
    flex: 0 0 3.625rem;
}
.trip-box-header .sold-out-text{
    color: var(--carp-white);
    text-transform: uppercase;
    margin-bottom: 0;
    flex: 0 0 auto;
    position: relative;
    top: .125rem;
}
@media only screen and (max-width:1899px) {

    .trip-box-sold-out {
        padding: 1.25rem 1.625rem 1.25rem 1.25rem; 
        gap: .9375rem;
    }
    .trip-box-header .sold-out-text{
        font-size: 1.375rem;
        top: .0938rem;
    }

}
@media only screen and (max-width:1699px) {

    .trip-box-header .sold-out-text{
        font-size: 1.1875rem;
        top: .2188rem;
    }
    .sold-out-icon{
        max-width: 3.125rem;
        flex: 0 0 3.125rem;
    }

}
@media only screen and (max-width:1599px) {

    .trip-box-date {
        font-size: 1.5625rem;
    }
    .trip-box-date .trip-year {
        font-size: 1.25rem;
    }
    .trip-box-header .sold-out-text{
        font-size: 1.125rem;
        top: .125rem;
    }
    .sold-out-icon{
        max-width: 2.5rem;
        flex: 0 0 2.5rem;
    }
}
@media only screen and (max-width:1199px) {

    .trip-box-header .sold-out-text{
        top: .1875rem;
    }

}
.trip-box-info{
    position: absolute;
    left: 1.875rem; /* 30px */
    right: 1.875rem;
    bottom: 2rem; /* 32px */
    color: var(--carp-white);
    z-index: 5;
}

.trip-box-info h3 {
	margin-bottom: 0;
	color: var(--carp-white);
	text-transform: uppercase;
	max-width: 21.875rem;
}
.trip-box-info h5{
    font-weight: 500;
    margin-bottom: 0;
}

/* Trip Features Style Start */

.trip-box-features {
    background: var(--carp-black);
    color: var(--carp-white);
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 1.875rem 1.875rem 2.6875rem 1.875rem;  /* 30px 30px 43px 30px */
    gap: 1.5625rem; /* 25px */
    border-radius: 0 0 3.125rem 3.125rem; /* 0 0 50px 50px */
    border-top: 0.063rem solid var(--carp-white);
    flex: 1;
    align-content: center;
}
.trip-feature-icon {
    width: 1.875rem; /* 30px */
    height: 1.875rem; /* 30px */
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}
.trip-feature-icon svg {
    width: 100%;
    height: 100%;
}
.trip-feature-content {
    flex: 0 0 1;
}
.trip-feature-item {
    display: flex;
    align-items: center;
    gap: 1.25rem; /* 20px */
}
.trip-feature-label {
    display: block;
    font-size: 1.125rem; /* 18px */
    line-height: 120%;
    letter-spacing: 0.023rem;
    font-weight: 400;
}

/* Trip Features Style End */

@media only screen and (max-width:991px) {

    .trip-box-media {
        height: 31.25rem;
    }

}
@media only screen and (max-width:767px) {

    /* Product cards - reduce height on mobile */
    .trip-box-media {
        height: 27rem; /* 432px */
    }

    .trip-box-date {
        font-size: 1.375rem;
        letter-spacing: 0.028rem;
        padding: 1.0625rem 1.125rem .5625rem .875rem;
    }
    .trip-box-date .trip-year {
        font-size: 1.0625rem;
        letter-spacing: 0.021rem;
    }
    .trip-box-info {
        left: 1.25rem;
        right: 1.25rem;
    }
    .trip-box-info h3{
        margin-bottom: .3125rem;
    }
    .trip-box-info h5 {
        font-size: 1.0625rem;
        letter-spacing: 0.021rem;
    }
    .trip-feature-item {
        display: flex;
        align-items: center;
        gap: 1rem;
    }
    .trip-feature-icon {
        width: 1.25rem;
        height: 1.25rem;
        flex: 0 0 1.25rem;
        position: relative;
        top: -.125rem;
    }
    .trip-feature-label{
        font-size: 1rem;
    }
    .trip-box-features {
        padding: 1.5rem 1.25rem 1.625rem 1.25rem;
        gap: .9375rem;
    }

}

/*
====================================================
Product Card Style End
====================================================
*/


/*
====================================================
Product Showcase Style Start
====================================================
*/

.trips-showcase.has_background {
	background-color: #F5F5F5;
}
.trips-showcase-header {
	max-width: 59.375rem; 
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.trips-showcase-header h2{
    margin-bottom: 2.1875rem;
}
.trip-showcase-wrapper{
    position: relative;
    padding-left: 9.5rem;
    padding-right: 9.5rem;
}
/* Trip showcase carousel - Touch device optimization */
.trip-showcase-carousel {
    /* Ensure smooth scrolling on touch devices */
    -webkit-overflow-scrolling: touch;
}

.trip-showcase-carousel .slick-slide {
    /* Ensure slides don't interfere with touch events */
    pointer-events: auto;
    height: auto;
}

.trip-showcase-carousel .slick-slide > div {
    height: 100%;
}

.trip-showcase-carousel .slick-slide .carp-trip-box {
    height: 100%;
}

.trip-showcase-carousel .carp-trip-box {
    /* Ensure links are fully clickable within slides */
    pointer-events: auto;
    /* Prevent accidental text selection during swipe */
    -webkit-user-select: none;
    user-select: none;
}

.trip-showcase-carousel ul {
    list-style-type: none;
    padding: 0;
}
.slick-nav-buttons-container button{
    margin: 0;
    background: transparent;
    border: 0;
    width: 3.125rem;
    height: 3.125rem;
    background: var(--carp-green-mid);
    border-radius: 50%;
    padding: .75rem;
    cursor: pointer;
    transition: 0.3s all ease;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 333;
}
.slick-nav-buttons-container button.slick-next{
    left: auto;
    right: 0;
}
.slick-nav-buttons-container button:hover{
    background: var(--carp-black);
}
@media only screen and (max-width:1699px) {

    .trip-showcase-wrapper{
        padding-left: 6.25rem;
        padding-right: 6.25rem;
    }

}
@media only screen and (max-width:1599px) {

    .trip-showcase-wrapper{
        padding-left: 5rem;
        padding-right: 5rem;
    }

}
@media only screen and (max-width:991px) {

    .trip-showcase-wrapper{
        padding-left: 0;
        padding-right: 0;
    }
    .slick-nav-buttons-container button {
        position: static;
        transform: inherit;
    }
    .slick-nav-buttons-container {
        display: flex;
        gap: 3.125rem;
        justify-content: center;
        margin-top: 1.5625rem;
    }
    .trips-showcase-header h2 {
        margin-bottom: .9375rem;
    }

}



/*
====================================================
Product Showcase Style End
====================================================
*/



/*
====================================================
Media Content Fifty Section Style Start
====================================================
*/

.content-column {
	grid-area: content;
}
.content-column.has-padding-top {
	padding-top: 6.25rem;
}
.media-column{
    grid-area: media;
}
.media-content-image {
    height: auto;
}
.media-content-50-grid {
    display: grid;
    grid-template-areas: "content media";
    grid-template-columns: 37.125rem 1fr;
    gap: 9.375rem;
    align-items: flex-start;
}
.media-content-50-grid.media-left {
    grid-template-areas: "media content";
    grid-template-columns: 1fr 37.125rem;
}
.media-content-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.media-video-wrapper{
    padding-bottom: 0;
    height: 100%;
}
.media-5050-container{
    aspect-ratio: 747 / 700;
}
.media-video-wrapper .video-play-overlay {
    border-radius: 3.125rem;
}
.media-column img,
.media-column video,
.media-column iframe{
    border-radius: 3.125rem;
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.section-title.wave-line{
    position: relative;
    margin-bottom: 5rem;
}
.section-title.wave-line::after{
    position: absolute;
    content: "";
    background:  url(./assets/svgs/wave-line.svg);
    background-size: cover;
    background-repeat: no-repeat;
    bottom: -1.875rem;
    left: 0;
    width: 8.5rem;
    height: .5625rem;
}
@media only screen and (max-width:767px) {
    .section-title.wave-line::after{
        position: absolute;
        content: "";
        background:  url(./assets/svgs/wave-line.svg);
        background-size: cover;
        background-repeat: no-repeat;
        bottom: -1.875rem;
        left: 0;
        width: 4.6875rem;
        height: .3125rem;
    }
}
.btns-group{
    display: flex;
    gap: 1.25rem;
    align-items: center;
    flex-wrap: wrap;
}
@media only screen and (max-width:1599px) {

    .content-column.has-padding-top {
        padding-top: 3.125rem;
    }

}
@media only screen and (max-width:1399px) {

    .media-content-50-grid {
        gap: 3.125rem;
    }
    .media-content-50-grid,
    .media-content-50-grid.media-left  {
        grid-template-columns: 1fr 1fr;
    }
}
@media only screen and (max-width:991px) {

    .media-content-50-grid,
    .media-content-50-grid.media-left {
        grid-template-areas:
            "content"
            "media";
        grid-template-columns: 1fr;
        gap: 1.875rem;
    }
    .content-column.has-padding-top {
        padding-top: 0;
    }
}

/*
====================================================
Media Content Fifty Section Style End
====================================================
*/


/*
====================================================
Trip Details Showcase Section Style Start
====================================================
*/

.details-showcase-grid {
    display: grid;
    grid-template-areas: "content media";
    grid-template-columns: 1fr 46.6875rem;
    gap: 9.375rem;
    align-items: start;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.details-showcase-grid.media-left {
    grid-template-areas: "media content";
    grid-template-columns: 46.6875rem 1fr;
}

.details-showcase-grid .content-column {
    grid-area: content;
    min-width: 0;
    max-width: 100%;
}
.details-showcase-grid .media-column {
    grid-area: media;
    min-width: 0;
    max-width: 100%;
}
.details-showcase-title {
    margin-bottom: 2.5rem;
}

.details-showcase-description {
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 2.5rem;
}

.details-showcase-list.trip-features-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}


.details-showcase-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3.125rem;
}

.details-video-wrapper {
    padding-bottom: 0;
    aspect-ratio: 747/700;
    height: auto;
}

.details-video-wrapper .video-play-overlay {
    border-radius: 3.125rem;
}

/* Product Gallery Slideshow Styles */
.trip-gallery-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 600ms ease-in-out, visibility 600ms ease-in-out;
}

.trip-gallery-item--active {
    position: relative;
    opacity: 1;
    visibility: visible;
}

.trip-gallery-item--hidden {
    opacity: 0;
    visibility: hidden;
}

.trip-gallery-slideshow {
    position: relative;
    width: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 43.75rem;
}
.trip-gallery-slideshow .gallery-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 600ms ease-in-out, visibility 600ms ease-in-out;
}

.trip-gallery-slideshow .gallery-slide.active {
    position: absolute;
    opacity: 1;
    visibility: visible;
}

.trip-gallery-item img,
.details-showcase-grid .media-column img,
.details-showcase-grid .media-column video,
.details-showcase-grid .media-column iframe {
    border-radius: 3.125rem;
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
}




/* Responsive Styles */
@media only screen and (max-width:1599px) {

    .details-showcase-grid {
        grid-template-columns: 1fr 1fr;
        gap: 6.25rem;
    }
    .details-showcase-grid.media-left {
        grid-template-columns: 1fr 1fr;
    }
    .trip-gallery-slideshow {
        height: 37.5rem;
    }
}
@media only screen and (max-width:1399px) {
    .details-showcase-grid {
        gap: 3.125rem;
    }
}

@media only screen and (max-width:1199px) {
    .trip-gallery-slideshow {
        height: 37.5rem; /* 600px - tablet */
    }
}

@media only screen and (max-width:991px) {

    .details-showcase-grid {
        grid-template-areas:
            "content"
            "media";
        grid-template-columns: 1fr;
        gap: 1.875rem;
    }
    .details-showcase-grid.media-left {
        grid-template-columns: 1fr;
        grid-template-areas:
            "content"
            "media";
    }
    .trip-gallery-slideshow {
        height: 31.25rem;
    }
    .trip-gallery-item img {
        height: 100%;
    }

}

@media only screen and (max-width:767px) {
    .trip-gallery-wrapper,
    .trip-gallery-slideshow {
        height: 22rem; /* 352px - mobile */
    }
}
/*
====================================================
Trip Details Showcase Section Style End
====================================================
*/


/*
====================================================
Why Choose Us Section Style Start
====================================================
*/

.why-choose-us-section {
    background-color: #F0F0F0;
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
}
.why-choose-us-header {
    text-align: center;
}
.why-choose-us-description {
    max-width: 50rem; /* 800px */
    margin: 0 auto;
}

/* Grid Layout */
.why-choose-us-grid {
    display: grid;
    gap: 1.25rem;
    margin-top: 3.125rem;
    align-items: stretch; /* Ensure equal height for grid items */
}

.why-choose-us-grid--1col {
    grid-template-columns: 1fr;
}
.why-choose-us-grid--2col {
    grid-template-columns: repeat(2, 1fr);
}
.why-choose-us-grid--3col {
    grid-template-columns: repeat(3, 1fr);
}
.why-choose-us-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}
.why-choose-us-grid--5col {
    grid-template-columns: repeat(5, 1fr);
}

/* Grid Item */

.why-choose-us-grid__item {
    background-color: var(--carp-black);
    border-radius: 3.125rem;
    padding: 3.125rem 4.375rem 2.125rem 4.375rem;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 100%;
}
.why-choose-us-grid__item:hover {
    transform: translateY(-.3125rem);
    box-shadow: 0 .625rem 1.875rem rgba(0, 0, 0, 0.2);
}
.why-choose-us-grid__icon {
    height: 6.25rem; /* 100px */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-bottom: 3.125rem;
}
.why-choose-us-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.why-choose-us-grid__title {
    color: var(--carp-green-mid);
    margin-bottom: 1.5625rem;
    font-weight: 600;

}
.why-choose-us-grid__description {
    color: var(--carp-white);
}

/* Hide navigation buttons by default */
.slick-nav-buttons-container.why-choose-nav-buttons {
    display: none;
}
.why-choose-us-grid.slick-initialized ~ .slick-nav-buttons-container.why-choose-nav-buttons {
    display: flex;
    gap: 3.125rem;
    justify-content: center;
    margin-top: -.9375rem;
}

.why-choose-us-grid.slick-initialized ~ .slick-nav-buttons-container.why-choose-nav-buttons button {
    position: static;
    transform: inherit;
}

@media only screen and (max-width:1599px) {

    .why-choose-us-grid__item {
        padding: 3.125rem; /* 50px */
    }
    .why-choose-us-grid--5col {
        grid-template-columns: repeat(4, 1fr);
    }

}
@media only screen and (max-width:1399px) {

    .why-choose-us-grid__item {
        padding: 3.125rem 1.875rem; /* 50px  30px */
    }

}
@media only screen and (max-width:1199px) {

    .why-choose-us-grid--3col {
        grid-template-columns: repeat(2, 1fr);
    }
    .why-choose-us-grid--4col {
        grid-template-columns: repeat(2, 1fr);
    }
    .why-choose-us-grid--5col {
        grid-template-columns: repeat(2, 1fr);
    }

}
@media only screen and (max-width:991px) {

    .why-choose-us-section {
        padding-top: 4.375rem;
        padding-bottom: 4.375rem;
    }
    .why-choose-us-grid {
        margin-top: 1.875rem;
    }
    .why-choose-us-grid .slick-list{
        padding-top: .3125rem;
        padding-bottom: 2.5rem;
    }
    .why-choose-us-grid--2col {
        grid-template-columns: repeat(1, 1fr);
    }
    .why-choose-us-grid--3col {
        grid-template-columns: repeat(1, 1fr);
    }
    .why-choose-us-grid--4col {
        grid-template-columns: repeat(1, 1fr);
    }
    .why-choose-us-grid--5col {
        grid-template-columns: repeat(1, 1fr);
    }
    .why-choose-us-grid__title {
        text-transform: uppercase;
        font-size: 1.375rem;
        letter-spacing: 0.028;
        margin-bottom: .3125rem;
    }
    .why-choose-us-grid__icon {
        margin-bottom: 1.5625rem;
    }
    .why-choose-us-wrapper {
        position: relative;
    }
    .why-choose-us-grid.slick-initialized .slick-track {
        display: flex;
        align-items: stretch;
    }

    .why-choose-us-grid.slick-initialized .slick-slide {
        height: auto;
        display: flex;
    }

    .why-choose-us-grid.slick-initialized .slick-slide > div {
        display: flex;
        width: 100%;
    }
    .why-choose-us-grid.slick-initialized .why-choose-us-grid__item {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
}
@media only screen and (max-width:767px) {

    .why-choose-us-grid__icon {
        height: 3.125rem;
    }
    .why-choose-us-grid__item {
        padding: 1.875rem .9375rem;
    }

}

/*
====================================================
Why Choose Us Section Style End
====================================================
*/


/*
====================================================
Featured Trip Section Style Start
====================================================
*/

.trip-summary-grid {
    display: grid;
    grid-template-columns: 46.6875rem 1fr;
    column-gap: 6.25rem;
}
.trip-media-wrapper .trip-header{
    display: none;
}
.trip-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.25rem;
}
.trip-header .section-title.wave-line {
    position: relative;
    margin-bottom: 0;
    padding-bottom: 1.875rem;
}
.trip-header  .section-title.wave-line::after {
    bottom: 0;
}
.featured-trip-description {
    margin-top: 2.5rem;
}
.trip-media-wrapper .trip-box-media {
    height: 43.75rem; /* 700px */
}
.trip-summary h1,
.trip-summary .h1-style,
.trip-summary h2,
.trip-summary .h2-style {
    margin-bottom: .3125rem;
}
.trip-summary .trip-country {
    font-size: 1.5625rem;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: 0.031 !important;
    text-decoration: none;
}

.featured-trip-badge {
    max-width: 8.3125rem;
    flex: 0 0 8.3125rem;
}

.trip-features {
	margin-top: 3.125rem;
}
.trip-features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 6.25rem;
    row-gap: 1.5rem;
}
.trip-features-grid .trip-feature-label{ 
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 150%;

}
@media only screen and (max-width: 1399px) {

    .trip-summary-grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 5rem;
    }
}

@media only screen and (max-width: 1199px) {

    .trip-summary-grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 3.125rem;
    }
    .trip-media-wrapper .trip-box-media {
        height: 37.5rem; 
    }
    .featured-trip-badge {
        max-width: 5rem;
        flex: 0 0 5rem;
    }
    .trip-features-grid {
        column-gap: 1.25rem;
        row-gap: 1.5rem;
    }
}

@media only screen and (max-width: 991px) {

    .trip-summary-grid {
        grid-template-columns: 1fr;
        row-gap: 1.875rem;
    }
    .trip-content .trip-header{
        display: none;
    }
    .trip-media-wrapper .trip-header{
        display: flex;
        margin-bottom: 3.125rem; 
    }
    .trip-media-wrapper .trip-box-media {
        height: 31.25rem;
    }
    .featured-trip-description {
        margin-top: 0;
    }

}

@media only screen and (max-width:767px) {

    .featured-trip-badge {
        max-width: 4.6875rem;
        flex: 0 0 4.6875rem;
    }
    .trip-media-wrapper .trip-box-media {
        height: 22rem;
    }
    .trip-features-grid {
        grid-template-columns: 1fr;
        gap: 1.3125rem;
    }
    .trip-features {
        margin-top: 1.875rem;
    }
    .trip-summary .trip-country {
        font-size: 1.0625rem;
        letter-spacing: 0.021rem;
    }
    .trip-header .section-title.wave-line {
        padding-bottom: 1.4375rem;
    }

}


/*
====================================================
Featured Trip Section Style End
====================================================
*/



/*
====================================================
How it works Section Style Start
====================================================
*/

.how-it-works-section{
    background: var(--carp-black);
    color: var(--carp-white);
    padding-right: 0;
}
.how-it-works-section .carp-angling-container{
    padding-right:0;
}
.how-it-works-grid{
    display: grid;
    grid-template-columns: 1fr 49.5rem;
    column-gap: 3.125rem;
    align-items: center;
}
.how-it-works-media img,
.how-it-works-media video,
.how-it-works-media iframe{
    border-radius: 3.125rem 0 0 3.125rem;
    height: 100%;
}
.how-it-works-steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 3.125rem;
    row-gap: 6.25rem;
}
.how-it-works-step {
	display: flex;
	align-items: flex-start;
	gap: 1.875rem;
}
.how-it-works-step__title{
    font-weight: 600;
}
.how-it-works-step__number{
    font-size: 2.375rem;
    font-weight: 600;
    line-height: 120%; /* 45.6px */
    letter-spacing: 0.048;
    position: relative;
    top: -.625rem;
}
.how-it-works-content {
	padding: 3.125rem 0;
}
.how-it-works-media{
    height: 50rem;
}
@media only screen and (max-width:1599px) {

    .how-it-works-grid{
        grid-template-columns: 1fr 40.625rem;
    } 
    .how-it-works-steps {
        row-gap: 3.125rem;
    }

}
@media only screen and (max-width:1399px) {

    .how-it-works-grid{
        grid-template-columns: 1fr 34.375rem;
    } 

}
@media only screen and (max-width:1199px) {

    .how-it-works-grid{
        grid-template-columns: 1fr;
    } 
    .how-it-works-section {
        padding-right: 0;
        padding-left: 0;
    }
    .how-it-works-content {
        padding: 3.125rem 1.25rem;
    }
    .how-it-works-media img,
    .how-it-works-media video,
    .how-it-works-media iframe{
        border-radius: 3.125rem 3.125rem 0 0;
    }
    .how-it-works-media {
        height: 43.75rem;
    }
}
@media only screen and (max-width:991px) {
    .how-it-works-media {
        height: 31.25rem;
    }

}
@media only screen and (max-width:767px) {

    .how-it-works-steps {
        grid-template-columns: 1fr;
        row-gap: 1.875rem;
    }
    .how-it-works-step__number {
        font-size: 1.6875rem;
        letter-spacing: 0.034;
        top: -.5rem;
    }



}

/*
====================================================
How it works Section Style End
====================================================
*/



/*
====================================================
Testimonial Section Style Start
====================================================
*/

.testimonials-wrapper{
    position: relative;
    padding-left: 9.5rem;
    padding-right: 9.5rem;
}

.testimonials-carousel .slick-track {
    display: flex !important;
}
.testimonials-carousel .slick-slide {
    height: inherit !important;
    display: flex !important;
}
.testimonials-carousel .slick-slide > div {
    display: flex !important;
    width: 100%;
}
.testimonial-card {
    background: var(--carp-green-mid);
    border-radius: 3.125rem;
    color: var(--carp-white);
    padding: 4.625rem;
    text-align: center;
    position: relative;
    padding-top: 9.375rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.testimonial-photo {
    width: 12.5rem;
    height: 12.5rem;
    position: absolute;
    top: -6.25rem;
    z-index: 999;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}
.testimonial-photo img,.testimonial-photo svg {
    border-radius: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.testimonials-carousel .slick-list {
    padding-top: 6.25rem;
}
.testimonial-client-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--carp-black);
    line-height: 120%;
    letter-spacing: 0.025rem;
    margin-top: 1.5625rem;
    margin-bottom: 1.5625rem;
}
.testimonials-wrapper .slick-nav-buttons-container button.testimonials-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 333;
}
.testimonials-wrapper .slick-nav-buttons-container button.testimonials-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: auto;
    right: 0;
    z-index: 333;
}
@media only screen and (max-width:1699px) {
    .testimonials-wrapper {
        padding-left: 6.25rem;
        padding-right: 6.25rem;
    }
}
@media only screen and (max-width:1599px) {
    .testimonials-wrapper {
        padding-left: 5rem;
        padding-right: 5rem;
    }
}
@media only screen and (max-width:991px) {

    .testimonial-photo {
        width: 9.375rem;
        height: 9.375rem;
        top: -4.6875rem;
    }
    .testimonials-carousel .slick-list {
        padding-top: 4.6875rem;
    }
    .testimonial-card {
        padding-top: 6.25rem;
    }
    .testimonials-wrapper {
        padding-left: 0;
        padding-right: 0;
    }
    .testimonials-wrapper .slick-nav-buttons-container button.testimonials-prev,
    .testimonials-wrapper .slick-nav-buttons-container button.testimonials-next {
        position: static;
        transform: inherit;
    }
    .testimonials-wrapper .slick-nav-buttons-container {
        display: flex;
        gap: 3.125rem;
        justify-content: center;
        margin-top: 1.5625rem;
    }
}
@media only screen and (max-width:767px) {

    .testimonial-card {
        padding: 6.25rem 0.9375rem 3.125rem 0.9375rem;
    }
    .testimonial-rating {
        width: 7.5625rem;
        margin-left: auto;
        margin-right: auto;
    }
    .testimonial-client-name {
        margin-bottom: .3125rem;
    }
}

/*
====================================================
Testimonial Section Style End
====================================================
*/

/*
====================================================
Latest News Section Style Start
====================================================
*/

.latest-news-section{
    background: #F0F0F0;
}
.latest-news-wrapper {
    position: relative;
}
.latest-news-grid {
    display: grid;
    gap: 1.25rem;
}
.latest-news-grid--1col {
    grid-template-columns: 1fr;
}
.latest-news-grid--2col {
    grid-template-columns: repeat(2, 1fr);
}
.latest-news-grid--3col {
    grid-template-columns: repeat(3, 1fr);
}
.latest-news-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}

/* Blog Card Style Start */
.blog-card__link {
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.blog-card__image {
    height: 21.25rem;
    overflow: hidden;
    border-radius: 3.125rem 3.125rem 0 0;
    flex-shrink: 0;
}
.blog-card__image img{
    border-radius: 3.125rem 3.125rem 0 0;
    transition: 0.4s all ease;
}
.blog-card:hover .blog-card__image img{
    transform: scale(1.10);
}
.blog-card__content {
    background: var(--carp-black);
    color: var(--carp-white);
    border-radius: 0 0 3.125rem 3.125rem;
    padding: 1.875rem 1.875rem 3.125rem 1.875rem;
    border-top: 0.063rem solid var(--carp-white);
    flex: 1;
    display: flex;
    flex-direction: column;
}
.blog-card__title{
    color: var(--carp-green-mid);
    font-family: var(--font-avenir-next);
    font-size: 1.5625rem;
    font-weight: 700;
    line-height: 120%; 
    letter-spacing: 0.03125rem;
    text-transform: uppercase;
    margin-bottom: 1.4375rem;
}
.blog-card__excerpt {
    flex: 1;
}
.blog-card__footer,
.blog-card__read-more {
    margin-top: auto;
}
.read-more-btn{
    display: inline-block;
    color: var(--carp-green-mid);
    color: var(--carp-green-mid);
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 150%; 
    position: relative;
}
.read-more-btn::after{
    position: absolute;
    content: "";
    width: 0;
    height: 0.0625rem;
    left: 0;
    bottom: 0;
    background-color: var(--carp-white);
    z-index: 3;
    transition: 0.3s all ease;
}
.blog-card:hover .read-more-btn::after{
    width: 100%;
}
@media only screen and (max-width:767px) {

    .blog-card__image.media {
        height: 15.625rem;
    }
    .blog-card__title {
        font-size: 1.0625rem;
        letter-spacing: 0.34px;
        line-height: 150%;
        margin-bottom: 0.625rem;
    }
    .blog-card__excerpt {
        line-height: 150%;
    }
    .blog-card__read-more.read-more-btn {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        width: auto;
        display: block;
        width: max-content;
    }
    .blog-card__content {
        padding: 1.25rem 0.9375rem 1.5625rem 0.9375rem;
    }
}

/* Blog Card Style End */



.slick-nav-buttons-container.latest-news-nav-buttons {
    display: none;
}
.latest-news-grid.slick-initialized ~ .slick-nav-buttons-container.latest-news-nav-buttons {
    display: flex;
    gap: 3.125rem;
    justify-content: center;
    margin-top: 0;
}
@media only screen and (max-width:1799px) {

    .latest-news-grid--1col {
        grid-template-columns: 1fr;
    }
    .latest-news-grid--2col {
        grid-template-columns: repeat(1, 1fr);
    }
    .latest-news-grid--3col {
        grid-template-columns: repeat(1, 1fr);
    }
    .latest-news-grid--4col {
        grid-template-columns: repeat(1, 1fr);
    }
    .latest-news-grid.slick-initialized{
        padding: 0 6.25rem;
    }
}
@media only screen and (max-width:991px) {

    .latest-news-grid.slick-initialized{
        padding: 0;
    }
    .latest-news-grid.slick-initialized ~ .slick-nav-buttons-container.latest-news-nav-buttons {
        margin-top: 1.5625rem;
    }
    .latest-news-grid.slick-initialized ~ .slick-nav-buttons-container.latest-news-nav-buttons button {
        position: static;
        transform: inherit;
    }


}
@media only screen and (max-width:767px) {


}

/*
====================================================
Latest News Section Style End
====================================================
*/


/*
====================================================
Media Overlay Content Section Style Start
====================================================
*/

.media-overlay-content-grid{
    display: grid;
    grid-template-columns: 100%;
}
.media-overlay-content-grid > * {
    grid-column: 1;
    grid-row: 1;
}
.media-overlay-content-wrapper{
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.media-overlay-content-content{
    padding: 4.6875rem;
    max-width: 43.75rem;
    color: var(--carp-white);
}
.media-overlay-content-content ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-direction: column;
    row-gap: .75rem;
    margin-top: 3rem;
}
.media-overlay-content-content ul li{
    padding-left: 2.8125rem;
    position: relative;
}
.media-overlay-content-content ul li::before{
    position: absolute;
    content: "";
    width: .9375rem;
    height: .9375rem;
    top: .3125rem;
    left: 0;
    background: url(./assets/images/check.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.media-overlay-content-media {
  height: 46.5rem;
  position: relative;
}
.media-overlay-content-media img,.media-overlay-content-media video,.media-overlay-content-media iframe {
  height: 100%;
  object-fit: cover;
  width: 100%;
  border-radius: 3.125rem;
}
.media-overlay-content-media::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 3.125rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.85) 100%);
}
@media only screen and (max-width:1399px) {

    .media-overlay-content-media {
        height: 37.5rem;
    }
}
@media only screen and (max-width:991px) {

    .media-overlay-content-content {
        padding: 3.125rem;
    }
    .media-overlay-content-content ul{
        margin-top: 2.5rem;
    }

}
@media only screen and (max-width:767px) {

    .media-overlay-content-content {
        padding: 1.5625rem .9375rem 1.5625rem .9375rem;
    }
    .media-overlay-content-content ul {
        margin-top: 1.25rem;
        row-gap: .625rem;
    }
    .media-overlay-content-content ul li {
        padding-left: 2.1875rem;
    }
}

/*
====================================================
Media Overlay Content Section Style End
====================================================
*/

/*
====================================================
FAQ Section Style Start
====================================================
*/


.faq-section-wrapper {
    max-width: 75.375rem; /* 1206px */
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    row-gap: 3.125rem; /* 50px */
}
.faq-category-title {
    text-align: center;
    margin-bottom: 1.3125rem; /* 21px */
}
.faq-question {
    margin-bottom: 0;
    background: var(--carp-green-mid);
    color: var(--carp-white);
    font-size: 1.25rem; /* 20px */
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.025rem; /* 0.4px */
    padding: 1.5625rem 1.25rem; /* 25px 20px */
    border-radius: 0.9375rem; /* 15px */
    position: relative;
    z-index: 2;
    cursor: pointer;
    padding-right: 3.75rem; 
}
.faq-item .faq-question {
    background: var(--carp-green-mid);
}
.faq-item:nth-child(2n) .faq-question {
    background: var(--carp-green-dark);
}
.faq-question::after {
    position: absolute;
    content: "";
    width: 1.875rem; /* 30px */
    height: 1.875rem; /* 30px */
    right: 1.25rem; /* 20px */
    top: 50%;
    transform: translateY(-50%) rotate(0);
    text-align: center;
    background: url(./assets/images/plus.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: 0.3s all ease;
}
.faq-item.isOpen .faq-question::after {
    transform: translateY(-50%) rotate(-45deg);
}
.faq-answer {
    padding: 1.6875rem 1.25rem; /* 27px 20px */
    border-radius: 0 0 0.9375rem 0.9375rem; /* 0 0 15px 15px */
    border: 1px solid #D9D9D9;
    background: #F0F0F0;
    padding-top: 2.625rem; /* 42px */
    margin-top: -0.9375rem; /* -15px */
    position: relative;
    z-index: 1;
    display: none;
}
.faq-list {
    display: flex;
    flex-direction: column;
    row-gap: 0.625rem; /* 10px */
}
.faq-category {
    border-bottom: 0.063rem solid var(--carp-black);
    padding-bottom: 3.125rem; /* 50px */
}
@media only screen and (max-width:767px) {

    .faq-question {
        font-size: 1.125rem;
    }
    .faq-answer {
        padding: 1.5625rem 1.25rem; /* 27px 20px */
        padding-top: 2rem;
        margin-top: -0.9375rem; /* -15px */
    }
    .faq-question::after {
        width: 1.5625rem;
        height: 1.5625rem;
    }

}

/*
====================================================
FAQ Section Style End
====================================================
*/


/*
====================================================
Blog Page Style Start
====================================================
*/


/* Blog Grid - 4 Columns */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

/* Blog Pagination */
.blog-pagination {
    display: flex;
    justify-content: center;
    margin-top: 3.125rem;
}
.blog-pagination .page-numbers {
    display: flex;
    align-items: center;
    gap: 0.625rem; /* 10px */
    list-style: none;
    padding: 0;
    margin: 0;
}
.blog-pagination .page-numbers li {
    list-style: none;
}
.blog-pagination .page-numbers a,
.blog-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem; /* 40px */
    height: 2.5rem; /* 40px */
    color: var(--carp-dark);
    text-decoration: none;
    transition: all 0.3s ease;
}
.blog-pagination .page-numbers a:hover {
    color: var(--carp-green-dark);
}
.blog-pagination .page-numbers .current {
    color: var(--carp-green-dark);
    font-weight: 700;
}
.blog-pagination .page-numbers .dots {
    border: none;
    background: transparent;
    color: var(--carp-dark);
    min-width: auto;
    padding: 0 0.3125rem; /* 0 5px */
}
.blog-pagination .pagination-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.blog-pagination .pagination-arrow svg {
    width: 0.625rem; /* 10px */
    height: 0.75rem; /* 12px */
    display: block;
}
.blog-pagination .pagination-arrow svg path {
    stroke: var(--carp-green-mid);
    transition: stroke 0.3s ease;
}
.blog-pagination .pagination-arrow:hover svg path {
    stroke: var(--carp-green-dark);
}
@media only screen and (max-width:1599px) {

    .blog-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}
@media only screen and (max-width:1199px) {

    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}
@media only screen and (max-width: 991px) {

    .blog-pagination .page-numbers a,
    .blog-pagination .page-numbers span {
        min-width: 2.25rem; /* 36px */
        height: 2.25rem; /* 36px */
        font-size: 0.9375rem; /* 15px */
    }
}

@media only screen and (max-width: 767px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

/*
====================================================
Blog Page Style End
====================================================
*/


/*
====================================================
Full Width Media Style Start
====================================================
*/

.compact-container{
    max-width: 75.375rem;
    margin-left: auto;
    margin-right: auto;
}
.full-width-media-wrapper{
    height: 55rem;
}
.compact-container .full-width-media-wrapper{
    height: 37.5rem;
}
.full-width-media-wrapper img,
.full-width-media-wrapper video,
.full-width-media-wrapper iframe{
    height: 100%;
    width: 100%;
    border-radius: 3.125rem;
}
@media only screen and (max-width:1199px) {

    .full-width-media-wrapper,
    .compact-container .full-width-media-wrapper{
        height: 31.25rem;
    } 

}
@media only screen and (max-width:991px) {

    .full-width-media-wrapper,
    .compact-container .full-width-media-wrapper{
        height: 25rem;
    } 

}
@media only screen and (max-width:767px) {

    .full-width-media-wrapper,
    .compact-container .full-width-media-wrapper{
        height: 15.625rem;
    } 
    .full-width-media-wrapper img,
    .full-width-media-wrapper video,
    .full-width-media-wrapper iframe{
        border-radius: 1.5625rem;
    }
}

/*
====================================================
Full Width Media Style End
====================================================
*/


/*
====================================================
Article Content Block Style Start
====================================================
*/

/* FIRST HEADING SPACING — UNIVERSAL */
.article-content-block-section:first-of-type 
.article-content-block-content :is(h2, h3, h4, h5, h6):first-of-type,
article:first-of-type .article-content-block-content :is(h1, h2, h3, h4, h5, h6):first-of-type {
    margin-bottom: 3.4375rem;
}
.article-content-block-content h2,
.article-content-block-content h3,
.article-content-block-content h4,
.article-content-block-content h5,
.article-content-block-content h6{
    color: var(--carp-green-mid);
    margin-bottom: 1.5625rem;
    text-transform: inherit;
}

.article-content-block-content * + h2,
.article-content-block-content * + h3,
.article-content-block-content * + h4,
.article-content-block-content * + h5,
.article-content-block-content * + h6 {
    margin-top: 3.25rem;
}
.article-content-block-content h2{
	font-size: 1.9375rem; /* 31px */
	letter-spacing: 0.62px; /* 0.62px */
}
.article-content-block-content h3{
	font-size: 1.6875rem; /* 27px */
	letter-spacing: 0.54px; /* 0.54px */
}
.article-content-block-content h4{
	font-size: 1.4375rem; /* 23px */
	letter-spacing: 0.46px; /* 0.46px */
}
.article-content-block-content h5{
	font-size: 1.25rem; /* 20px */
	letter-spacing: 0.4px; /* 0.4px */
}
.article-content-block-content h6{
	font-size: 1.125rem; /* 18px */
	letter-spacing: 0.36px; /* 0.36px */
}


/*
====================================================
Article Content Block Style End
====================================================
*/



/*
====================================================
Contact Info 50/50 Section Style Start
====================================================
*/

.contact-info-50-grid {
    display: grid;
    grid-template-areas: "media content";
    grid-template-columns: 1fr 1fr;
    gap: 9.375rem; /* 150px */
    align-items: flex-start;
}
.contact-info-50-grid.media-right {
    grid-template-areas: "content media";
}
.contact-info-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.contact-video-wrapper {
    padding-bottom: 0;
    height: auto;
}
.contact-video-wrapper .video-play-overlay {
    border-radius: 3.125rem; /* 50px */
}
.contact-info-50-grid .media-column img,
.contact-info-50-grid .media-column video,
.contact-info-50-grid .media-column iframe {
    border-radius: 3.125rem; /* 50px */
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/* Contact Content Styling */

.contact-content-column h2 {
    text-transform: inherit;
    color: var(--carp-green-mid);
    font-weight: 700;
    margin-bottom: 3.125rem;
    padding-bottom: 3.125rem;
    border-bottom: 0.063rem solid var(--carp-green-mid);
}
.contact-info-details {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    margin-bottom: 3.125rem;
    padding-bottom: 3.125rem;
    border-bottom: 0.063rem solid var(--carp-green-mid);
}
.contact-info-item {
    max-width: 100%;
    overflow: hidden;
}
.contact-info-item a {
    font-weight: 700;
    text-decoration: none;
    font-size: 1.25rem; /* 20px */
    line-height: 120%;
    letter-spacing: 0.025rem; /* 0.4px */
    display: flex;
    align-items: center;
    gap: 1.5625rem; /* 25px */
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}
.contact-info-item a span{
    word-break: break-word;
    overflow-wrap: break-word;
    min-width: 0;
}
.contact-info-item a span.phone-icon,
.contact-info-item a span.email-icon {
    width: 1.5rem;
    flex: 0 0 1.5rem;
    min-width: 1.5rem;
}
/* Social Media in Contact Section */
.social-media-label {
    font-weight: 700;
    margin-bottom: 1.25rem; /* 20px */
}
.contact-social-media .social-media-list {
    display: flex;
    gap: 4.6875rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.contact-social-media .social-media-item {
    margin: 0;
}
.contact-social-media .social-media-link {
    display: inline-block;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.contact-social-media .social-media-link:hover {
    transform: translateY(-0.1875rem); /* -3px */
    opacity: 0.8;
}
.contact-social-media .social-media-link svg path{
    fill: var(--carp-green-mid);
}

@media only screen and (max-width: 1399px) {
    .contact-info-50-grid {
        gap: 3.125rem; /* 50px */
    }
}

@media only screen and (max-width: 991px) {

    .contact-info-50-grid {
        grid-template-areas:
            "media"
            "content";
        grid-template-columns: 1fr;
        gap: 1.875rem; /* 30px */
    }
    .contact-info-50-grid.media-right {
        grid-template-areas:
            "media"
            "content";
    }
    .contact-social-media .social-media-list {
        gap: 2.5rem; /* 40px - reduce gap on mobile */
    }
    .contact-content-column h2 {
        margin-bottom: 1.875rem;
        padding-bottom: 1.875rem;
    }
    .contact-info-details {
        margin-bottom: 1.875rem;
        padding-bottom: 1.875rem;
    }

}
@media only screen and (max-width:767px) {

    .contact-info-item a{
        font-size: 1rem;
        gap: .9375rem;
    }
    .contact-info-item a span.phone-icon, 
    .contact-info-item a span.email-icon {
        width: 1.25rem;
        flex: 0 0 1.25rem;
        min-width: 1.25rem;
    }
}


/*
====================================================
Contact Info 50/50 Section Style End
====================================================
*/

/*
====================================================
Contact Form Section Style Start
====================================================
*/

.contact-form-header {
    text-align: center;
    color: var(--carp-white);
}
.contact-form-inner {
    padding: 3.125rem 9.375rem;
    border-radius: 3.125rem;
}
.field.field-full.action-field {
    display: flex;
    gap: 9.375rem;
    margin-top: 1.5625rem;
}
@media only screen and (max-width:1199px) {

    .contact-form-inner {
        padding: 3.125rem 6.25rem;
    }
}
@media only screen and (max-width:991px) {

    .contact-form-inner {
        padding: 3.125rem;
    }
    .field.field-full.action-field {
        gap: 3.125rem;
    }
}
@media only screen and (max-width:767px) {

    .contact-form-inner {
        padding: 3.125rem 1.5625rem;
    }
    .field.field-full.action-field {
        display: block;
    }
    .submit-field {
        text-align: center;
        margin-top: 1.25rem;
    }

}

/*
====================================================
Contact Form Section Style End
====================================================
*/


/*
====================================================
Shop/Archive Page Style Start
====================================================
*/

.archive-hero-section{
    text-align: center;
}
.archive-hero-inner {
	max-width: 63.25rem;
	margin-left: auto;
	margin-right: auto;
}
.shop-page-wrapper {
    padding-top: 3.125rem; 
}

/* Archive Bottom Content Section */

.archive-bottom-content-wrapper {
    margin-top: 3.125rem;
    padding-top: 4.375rem;
    border-top: 0.063rem solid var(--carp-black);
}
.archive-bottom-content-inner {
    background: #F5F5F5;
    padding: 6.25rem;
    border-radius: 3.125rem;
    margin-left:auto;
    margin-right: auto;
}
.archive-bottom-content{
    max-width: 75.3125rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
@media only screen and (max-width:991px) {

    .archive-bottom-content-wrapper {
        margin-top: 3.125rem;
        padding-top: 3.125rem;
    }
    .archive-bottom-content-inner {
        padding: 3.125rem;
    }

}

/* Shop Grid Layout - Two Columns with Header */
.shop-grid {
	display: grid;
	grid-template-columns: 17.9375rem 1fr;
	grid-template-areas:
		"header header"
		"sidebar content";
	align-items: start;
    column-gap: 1.25rem;
    transition: grid-template-columns 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                column-gap 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Shop Grid - Filters Hidden State */
.shop-grid.filters-hidden {
	grid-template-columns: 0 1fr;
	column-gap: 0;
	grid-template-areas:
    "header header"
    "sidebar content";
}

/* Shop Toolbar - Filter and Sort Controls */

.shop-toolbar{
	grid-area: header;
}
.shop-toolbar-inner {
	display: grid;
    grid-template-columns: 17.9375rem 1fr 1fr 16.25rem;
	align-items: center;
	gap: 1.25rem;
	background: var(--carp-white);
	border-top: 0.063rem solid var(--carp-green-mid);
	border-bottom: 0.063rem solid var(--carp-green-mid);
    padding: .375rem 0;
    margin-bottom: 3.125rem;
}

/* Filter Toggle Button - Wraps label and toggle text */
.filter-toggle-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    margin: 0;
}

/* "Filters" Label inside button */
.filter-toggle-btn .filters-label {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 0.025rem;
	display: flex;
	align-items: center;
	gap: .9375rem;
	color: inherit;
	text-decoration: none;
}
/* Toggle text inside button */
.filter-toogle-text-wrapper {
	display: flex;
	align-items: center;
	gap: .9375rem;
}
.filter-toggle-btn .filter-toggle-text {
    font-size: 1.0625rem;
    line-height: 150%;
    font-weight: 400;
}

.filter-toggle-btn .filter-icon {
    width: 1.125rem;
    display: block;
}
.filter-toggle-btn .filter-icon svg{
    width: 100%;
}

/* Active Filters List */

.active-filters-list {
	display: flex;
	align-items: center;
	gap: .625rem;
	flex-wrap: wrap;
    margin-left: 6.25rem;
}

/* Active Filter Tag - Pill Shape */

.active-filter-tag {
	display: inline-flex;
	align-items: center;
	column-gap: 0.625rem; /* 10px */
	background: var(--carp-green-light);
    border: 0.063rem solid var(--carp-green-mid);
	color: var(--carp-green-dark);
	border-radius: 1.875rem; 
	font-size: 1.0625rem;
	font-weight: 400;
    line-height: 150%;
	text-decoration: none;
	transition: background-color 0.3s ease;
    padding: .5rem .6875rem;
    text-decoration: none !important;
}

.active-filter-tag:hover {
	background: #A0DDD7; /* Slightly darker teal on hover */
}
.filter-tag-text {
	white-space: nowrap;
    color: var(--carp-green-dark);
    display: block;
    line-height: 1;
}
.filter-tag-remove {
    width: 1.125rem;
}

/* WooCommerce Result Count */
.active-filter-lists-result-count-wrapper {
	grid-column: span 2;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.woocommerce-result-count {
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 150%;
	flex: 0 0 auto;
    margin-left: auto;
}
/* WooCommerce Ordering Dropdown */

.woocommerce-ordering-wrapper select {
    font-weight: 400;
}
/* Shop Sidebar - Fixed Width */
.shop-sidebar {
	grid-area: sidebar;
	position: sticky;
	top: var(--header-offset);
	max-height: calc(100vh - var(--header-offset) - 2rem);
	overflow-y: auto;
	overflow-x: hidden;
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
	            opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1),
	            visibility 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.admin-bar .shop-sidebar{
    top: calc(var(--header-offset) + 2.125rem);
    max-height: calc(100vh - var(--header-offset) - 4.125rem);
}
/* Shop Sidebar - Hidden State */
.shop-grid.filters-hidden .shop-sidebar {
	opacity: 0;
	visibility: hidden;
	transform: translateX(-100%);
	pointer-events: none;
}

/* Shop Content - Flexible Width */
.shop-content {
	grid-area: content;
	min-width: 0; /* Prevent flex overflow */
}

/* Products Grid - 3 Columns */

.products-grid ul.columns-3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

/* Product Filters Styling */
.product-filters {
	background: var(--carp-white);
	position: relative;
}

/* Mobile Close Button - Hidden on desktop */
.filters-close-btn {
	display: none;
	position: absolute;
	top: 1.25rem; /* 20px */
	right: 1.25rem; /* 20px */
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem; /* 8px */
	width: 2.5rem; /* 40px */
	height: 2.5rem; /* 40px */
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
	z-index: 10;
}

.filters-close-btn:hover {
	opacity: 0.7;
}

.filters-close-btn svg {
	width: 1.5rem; /* 24px */
	height: 1.5rem; /* 24px */
	fill: var(--carp-black);
}

.filters-title {
	font-size: 1.5rem; /* 24px */
	font-weight: 700;
	margin-bottom: 1.875rem; /* 30px */
	padding-bottom: 1.25rem; /* 20px */
	border-bottom: 0.125rem solid var(--carp-green-mid);
	color: var(--carp-black);
}

/* Filter Group */
.filter-group {
	margin-bottom: 1.875rem; /* 30px */
	padding-bottom: 1.875rem; /* 30px */
	border-bottom: 0.063rem solid var(--carp-green-mid);
}

.filter-group:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.filter-group-title {
	font-size: 1.25rem;
	font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.025rem;
	color: var(--carp-black);
    margin-bottom: 0;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	user-select: none;
}

.filter-toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease;
	flex-shrink: 0;
	margin-left: 0.625rem; /* 10px */
}

.filter-toggle-icon svg {
	display: block;
	width: 0.9375rem; /* 15px */
	height: auto;
}

/* Rotate icon when filter group is collapsed */
.filter-group-title.collapsed .filter-toggle-icon {
	transform: rotate(-180deg);
}

/* Filter List */
.filter-list {
	list-style: none;
	padding: 0;
	margin: 0;
    margin-top: 1.25rem;
}

.filter-item {
	margin-bottom: .625rem;
}

.filter-item:last-child {
	margin-bottom: 0;
}

/* Filter Label */
.filter-label {
	display: flex;
	align-items: center;
	gap: 1.5625rem;
	cursor: pointer;
	color: var(--carp-black);
	transition: color 0.3s ease;
}

.filter-label:hover {
	color: var(--carp-green-mid);
}

/* Filter Checkbox */

input.filter-checkbox {
	width: .9375rem;
	height: .9375rem;
	margin: 0;
	cursor: pointer;
	border: 0.063rem solid var(--carp-green-mid);
	border-radius: .125rem;
	appearance: none;
	-webkit-appearance: none;
	background: var(--carp-white);
	transition: all 0.3s ease;
	flex-shrink: 0;
	position: relative;
}

input.filter-checkbox:checked {
	background: var(--carp-green-mid);
	border-color: var(--carp-green-mid);
}
input.filter-checkbox:checked::after {
	content: '';
	position: absolute;
	top: 0;
	left: .25rem;
	width: .25rem;
	height: .5rem;
	border: solid var(--carp-white);
	border-width: 0 .125rem .125rem 0;
	transform: rotate(45deg);
}
input.filter-checkbox:hover {
	border-color: var(--carp-green-mid);
}

input.filter-checkbox:disabled {
	cursor: not-allowed;
	opacity: 0.5;
	border-color: #ccc;
	background: #f5f5f5;
	pointer-events: none;
}

input.filter-checkbox:disabled:checked {
	background: var(--carp-green-mid);
	border-color: var(--carp-green-mid);
	opacity: 1;
}

input.filter-checkbox:disabled:checked::after {
	content: '';
	position: absolute;
	top: 0;
	left: .25rem;
	width: .25rem;
	height: .5rem;
	border: solid var(--carp-white);
	border-width: 0 .125rem .125rem 0;
	transform: rotate(45deg);
}

/* Disabled label styling */
.filter-label:has(input.filter-checkbox:disabled) {
	cursor: not-allowed;
	pointer-events: none;
	opacity: 0.6;
}

.filter-label:has(input.filter-checkbox:disabled:checked) {
	opacity: 1;
}

/* Filter Name and Count */
.filter-name {
	flex: 1;
}

.filter-count {
	color: #999;
	font-size: 0.875rem; /* 14px */
    display: none;
}

/* Shop Top Bar */
.woocommerce-before-shop-loop {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.875rem; /* 30px */
	padding-bottom: 1.25rem; /* 20px */
	border-bottom: 0.063rem solid #e5e5e5;
}



@media only screen and (max-width:1399px) {


    .products-grid ul.columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }

}

.mobile-active-list-count-wrapper {
	display: none;
}
/* Responsive Styles */
@media only screen and (max-width: 1199px) {

	.shop-grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"header"
			"content";
	}
    .products-grid ul.columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }
	.shop-sidebar {
		position: fixed;
		top: 0;
		left: -100%;
		width: 100%;
		max-width: 25rem; /* 400px */
		height: 100vh;
        max-height: 100vh;
		background: var(--carp-white);
		z-index: 9999;
		overflow-y: auto;
		transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
		opacity: 1;
		visibility: visible;
		transform: none;
	}
    .admin-bar .shop-sidebar {
        top: 0;
        		height: 100vh;
        max-height: 100vh;
    }
	.shop-grid.filters-visible .shop-sidebar {
		left: 0;
	}
	.shop-grid.filters-visible::before {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.5);
		z-index: 9998;
	}
	.filters-close-btn {
		display: flex;
	}
	.product-filters {
		border: none;
		border-radius: 0;
		height: 100%;
		padding: 4rem 1.875rem 1.875rem; /* Extra top padding for close button */
	}
    .active-filters-list {
        margin-left: 0;
    }
    .filters-section{
        grid-area: filterToggle;
    }
    .filter-toogle-text-wrapper {
        display: none;
    }
    .woocommerce-ordering-wrapper{
        grid-area: WooOrdering;
        margin-left: auto;
    }
    .shop-toolbar-inner {
        grid-template-columns: 17.9375rem 16.25rem;
        grid-template-areas:
			"filterToggle WooOrdering";
        justify-content: space-between;
        padding: .3125rem 0;
        gap: 0;
        margin-bottom: 0;
    }
    .shop-toolbar{
        margin-bottom: 3.125rem;
    }
    .active-filters-list {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .625rem;
        flex-wrap: wrap;
        margin-left:0;
        margin-top: .625rem;
        order: 2;
    }
    .woocommerce-result-count {
        margin-left: 0;
    }
    .active-filter-lists-result-count-wrapper{
        display: none;
    }
    .mobile-active-list-count-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        justify-content: center;
        margin-top: .625rem
    }
}


@media only screen and (max-width: 767px) {

	.shop-page-wrapper {
		padding-top: 0;
	}
    .products-grid ul.columns-3 {
        grid-template-columns: repeat(1, 1fr);
    }
    .filter-toggle-btn .filters-label {
        font-size: .875rem;
        letter-spacing: 0.28px;
    } 
    .woocommerce-ordering-wrapper {
        width: 100%;
    }
	.shop-toolbar-inner {
        grid-template-columns: 8.0625rem 1fr;
    }
}




/*
====================================================
Shop/Archive Page Style End
====================================================
*/



/*
====================================================
Single Product Hero Style Start
====================================================
*/
/* WooNotice Style */

.single-product .site-main {
    position: relative;
}

.single-product-notices-wrapper {
    position: absolute;
    top: -4.375rem;
    right: 3.125rem;
    z-index: 100;
    max-width: 600px;
}
.single-product-notices-wrapper .woocommerce-message,
.single-product-notices-wrapper .woocommerce-info,
.single-product-notices-wrapper .woocommerce-error {
    margin-bottom: 0;
    padding-right: 3.125rem;
}

/* Notice text and View basket link inline */
.notice-close-btn {
	background: none;
	padding: 0;
	margin: 0;
	border: 0;
	width: 1.25rem;
	height: 1.25rem;
	cursor: pointer;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.7;
	transition: opacity 0.2s ease;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.notice-close-btn:hover {
    opacity: 1;
}
.notice-close-btn:focus-visible {
    outline: none;
}

.notice-close-btn svg {
    width: 100%;
    height: 100%;
}
@media only screen and (max-width:1599px) {
    .single-product-notices-wrapper {
        top: -3.4375rem;
    }
}
/* Tablet and Below Responsiveness */
@media (max-width: 1399px) {

    .single-product-notices-wrapper {
        position: static;
        max-width: 100%;
        margin-left: 2rem;
        margin-right: 2rem;
    }
}
@media only screen and (max-width:1199px) {

    .single-product-notices-wrapper {
        margin-left: 1.25rem;
        margin-right: 1.25rem;
        margin-top: 6.25rem;
    }

}
@media (max-width: 767px) {

    .single-product-notices-wrapper {
        position: static;
        max-width: 100%;
        margin-left: 1rem;
        margin-right: 1rem;
        margin-top: 6.25rem;
    }
    .single-product-notices-wrapper .woocommerce-message,
    .single-product-notices-wrapper .woocommerce-info,
    .single-product-notices-wrapper .woocommerce-error {
        padding-right: 2.5rem; 
        display: block;
        border-radius: .9375rem;
    }
    .notice-close-btn {
        right: .75rem;
        width: 1.5625rem;
        height: 1.5625rem;
        top: .5625rem;
        transform: inherit;
    }
    .single-product-notices-wrapper .notice-text {
        display: inline;
        line-height: 150%;
    }
    .single-product-notices-wrapper .wc-forward {
        display: inline;
        margin-left: 0.3125rem; 
        line-height: 150%;
    }
    .single-product-notices-wrapper {
        margin-top: 3.125rem;
    }

}

/* WooNotice Style End */


/* Hero section media wrapper - specific to single product hero */

.single-product-hero .trip-media-inner{
    position: relative;
    height: calc(100vh - var(--header-offset) - 9.375rem);
}
.admin-bar .single-product-hero .trip-media-inner {
    height: calc(100vh - var(--header-offset) - 11.5rem);
}
@media only screen and (min-width:992px) {

	.single-product-hero .trip-media-inner {
		position: sticky;
		top: var(--header-offset);
	}
	.admin-bar .single-product-hero .trip-media-inner {
        top: calc(var(--header-offset) + 2.125rem);
	}
}
@media only screen and (max-width:1599px) {

    .single-product-hero .trip-media-inner,
    .admin-bar .single-product-hero .trip-media-inner  {
        height: 46.875rem; 
    }
}
@media only screen and (max-width:1199px) {

    .single-product-hero .trip-media-inner,
    .admin-bar .single-product-hero .trip-media-inner  {
        height: 37.5rem;
    }
}
@media only screen and (max-width:1199px) {

    .single-product-hero .trip-media-inner,
    .admin-bar .single-product-hero .trip-media-inner  {
        height: 31.25rem;
    }

}
@media only screen and (max-width:767px) {
    .single-product-hero .trip-media-inner,
    .admin-bar .single-product-hero .trip-media-inner  {
        height: 22rem;
    }
}
.trip-media-inner video,
.trip-media-inner iframe,
.trip-media-inner img{
    width: 100%;
    height: 100%;
    border-radius: 3.125rem;
    object-fit: cover;
}
.single-product-hero .trip-box-sold-out{
    border-radius: 3.125rem 3.125rem 0 0;
    padding: 1.25rem 3.125rem;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 4;
    gap: 3.125rem;
    align-items: center;
}
.single-product-hero .sold-out-text{
    margin: 0;
    position: relative;
    top: .375rem;
}   
@media only screen and (max-width:1399px) {

    .single-product-hero .trip-box-sold-out {
        padding: 1.25rem 1.875rem;
        gap: 1.5625rem;
    }
    .single-product-hero .trip-box-sold-out .sold-out-text{
        font-size: 2.5rem;
        top: .2813rem;
    }
}
@media only screen and (max-width:1199px) {
    .single-product-hero .trip-box-sold-out .sold-out-text{
        font-size: 2.375rem;
        top: .2813rem;
    }
}
@media only screen and (max-width:767px) {

    .single-product-hero .trip-box-sold-out .sold-out-text{
        font-size: 1.5625rem;
        top: .1875rem;
    }

}
.single-product-hero .featured-trip-description {
    margin-top: 1.5625rem;
}

.trip-date {
    font-size: 1.5625rem; /* 25px */
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.03125rem; /* 0.5px */
    margin-top: 4.375rem; /* 70px */
}
.trip-price{
    margin-top: 1.5625rem;
}
.trip-price .woocommerce-Price-amount,
.trip-price .price-per-person{
    font-size: 1.9375rem; /* 31px */
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.03875rem; /* 0.62px */
    margin-top: 1.5625rem; /* 25px */
    color: var(--carp-green-mid);
}
.max-people-per-trip{
    margin-left: 1.25rem;
    color: #000;
    font-size: 1.5625rem; /* 25px */
    font-weight: 500;
    line-height: 120%; /* 30px */
    letter-spacing: 0.03125rem; /* 0.5px */
}

/*
 * Quantity Selector Styling
 * Custom rounded pill design with minus/plus buttons
 */
.single-product-hero .quantity {
    display: inline-flex;
    align-items: center;
    border: 0.063rem solid var(--carp-green-mid);
    border-radius: 3.125rem; /* 50px - pill shape */
    overflow: hidden;
    background: var(--carp-white);
}

/* Minus Button */
.single-product-hero .quantity .minus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1875rem;
    height: 3.1875rem;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    padding: 0;
    margin: 0;
    line-height: 1;
    vertical-align: middle;
}
.single-product-hero .quantity .minus svg {
    width: 1.25rem; /* 20px */
    height: auto;
    display: block;
}
.single-product-hero .quantity .minus:hover {
    background: rgba(184, 230, 225, 0.3); /* Light teal */
}
/* Quantity Input */
.single-product-hero .quantity input.qty {
    width: 3.1875rem;
    height: 3.1875rem;
    text-align: center;
    border: none;
    background: #F0F0F0;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0.0225rem; /* 0.36px */
    padding: 0;
    margin: 0;
    -moz-appearance: textfield; 
    appearance: textfield;
    border-radius: 0;
}
.single-product-hero .quantity input.qty::-webkit-outer-spin-button,
.single-product-hero .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.single-product-hero .quantity input.qty:focus {
    outline: none;
    background: #D5D5D5; 
}
.single-product-hero .quantity .plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1875rem;
    height: 3.1875rem;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    padding: 0;
    margin: 0;
    line-height: 1;
    vertical-align: middle;
}
.single-product-hero .quantity .plus svg {
    width: 1.25rem; /* 20px */
    height: auto;
    display: block;
}
.single-product-hero .quantity .plus:hover {
    background: rgba(184, 230, 225, 0.3);
}
.single-product-hero .single_add_to_cart_button {
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.0225rem; /* 0.36px */
    position: relative;
    border-radius: 1.5625rem; /* 25px */
    padding: 0.875rem 1.5625rem; /* 14px 25px */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem; /* 10px gap between icon and text */
    text-align: center;
    cursor: pointer;
    transition: 0.3s all ease;
    background: var(--carp-black);
    color: var(--carp-green-mid);
    border: none;
    text-decoration: none;
}
.single-product-hero .single_add_to_cart_button:hover {
    background: var(--carp-green-mid);
    color: var(--carp-black);
}
/* Icon and Text Control - Desktop: Show text, hide icon */
.single-product-hero .single_add_to_cart_button .add-to-cart-icon {
    display: none;
}
.single-product-hero .single_add_to_cart_button .add-to-cart-text {
    display: inline-block;
}
.single-product-hero .single_add_to_cart_button .add-to-cart-icon svg {
    width: 1.3125rem; /* 21px */
    height: auto;
    display: block;
}
/* Change SVG fill color to match button text color */
.single-product-hero .single_add_to_cart_button .add-to-cart-icon svg path {
    fill: var(--carp-white);
    transition: 0.3s all ease;
}
.single-product-hero .single_add_to_cart_button:hover .add-to-cart-icon svg path {
    fill: var(--carp-black);
}
/* Trip Actions Container */
.trip-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3.125rem;
    margin-top: 3.125rem;
}
.trip-actions .cart {
    display: flex;
    align-items: center;
    gap: 3.125rem;
}


@media only screen and (max-width:1199px) {

    .trip-actions {
        gap: 1.25rem; /* 20px */
        margin-top: 2.5rem; /* 40px */
    }
    .trip-actions .cart {
        gap: 1.25rem; /* 20px */
    }
    .max-people-per-trip {
        font-size: 1.25rem; /* 20px */
        margin-left: 0.9375rem; /* 15px */
    }

    /* Keep showing text on tablet - only hide at mobile */
    .single-product-hero .single_add_to_cart_button .add-to-cart-icon {
        display: none;
    }
    .single-product-hero .single_add_to_cart_button .add-to-cart-text {
        display: inline-block;
    }

    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon {
        display: none;
    }
    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-text {
        display: inline-block;
    }
}

@media only screen and (max-width: 991px) {

    .trip-date {
        margin-top: 3.125rem; /* 50px */
    }
    .single-product-hero .trip-media-wrapper .trip-header {
        justify-content: center;
        text-align: center;
        margin-bottom: 2.5rem;
    }
    .single-product-hero .trip-header  .section-title.wave-line::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .single-product-hero .featured-trip-description {
        margin-top: 0;
    }
}

@media only screen and (max-width: 767px) {

    .single-product-hero .trip-content {
        display: flex;
        flex-direction: column;
    }
    .single-product-hero  .featured-trip-description {
        order: 2;
        margin-top: 1.5625rem;
    }
    .single-product-hero .trip-features {
        order: 3;
    }
    .single-product-hero .trip-date {
        order: 1;
        font-size: 1.0625rem; /* 17px */
        font-style: normal;
        font-weight: 700;
        line-height: 120%; /* 20.4px */
        letter-spacing: 0.02125rem; /* 0.34px */
        text-transform: uppercase;
        margin-top: .625rem;
    }
    .trip-price-action-wrapper {
        order: 3;
    }
    /* Mobile: Show icon and text */
    .single-product-hero .single_add_to_cart_button .add-to-cart-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .single-product-hero .single_add_to_cart_button .add-to-cart-text {
        display: inline;
        color: var(--carp-white);
        transition: 0.3s all ease;
    }

    /* Sold-out button: Show icon and text on mobile */
    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-text {
        display: inline;
    }
    .single-product-hero .single_add_to_cart_button:hover .add-to-cart-text {
        color: var(--carp-black);
    }
  .single-product-hero .single_add_to_cart_button {
        padding: .625rem .875rem; 
        font-weight: 500;
        font-size: 1rem;
        line-height: 120%;
        letter-spacing: 0.34px;
        margin-right: 0 !important;
    }
    .trip-price-action-wrapper {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        position: fixed;
        bottom: 1.5625rem;
        left: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 997;
    }
    .trip-price-action-inner {
        background: var(--carp-green-mid);
        border-radius: 1.5625rem;
        padding: .9375rem;
        color: var(--carp-white);
        border: 0.063rem solid #E8E8E8;
        box-shadow: 0 0 0.625rem 0 rgba(0, 0, 0, 0.15); /* 10px */
        width: 100%;
    }
    .trip-actions {
        justify-content: space-between;
        margin-top: .625rem;
    }
    .single-product-hero .quantity .minus,
    .single-product-hero .quantity .plus,
    .single-product-hero .quantity input.qty{
        height: 2.8125rem;
    }
    .trip-actions .cart {
        justify-content: space-between;
        width: 100%;
    }
    .trip-price .woocommerce-Price-amount, 
    .trip-price .price-per-person {
        color: var(--carp-white);
        font-size: 1.25rem;
        letter-spacing: 0.0275rem; /* 0.44px */
        margin-top: 0;
    }

    /* Disabled price on mobile - show grey instead of white */
    .trip-price.disabled .woocommerce-Price-amount,
    .trip-price.disabled .price-per-person {
        color: rgba(0, 0, 0, 0.20) !important;
    }
    .max-people-per-trip {
        font-size: .9375rem;
        letter-spacing: 0.02125rem;
        display: block;
        margin-left: 0;
        margin-top: .3125rem;
        margin-left: auto;
    }

    .trip-price {
        margin-top: 0;
        display: flex;
    }
    .trip-actions {
        margin-top: .625rem;
    }
    .single_add_to_cart_button.button:hover {
        background: var(--carp-green-dark);
    }
    .single-product-hero .quantity .plus,
    .single-product-hero .quantity .minus,
    .single-product-hero .quantity input.qty {
        height: 2.5rem;
    }
}

/* Disabled State for Date and Price */
.single-product-hero .trip-date.disabled,
.single-product-hero .trip-price.disabled {
    color: rgba(0, 0, 0, 0.20);
}

.single-product-hero .trip-price.disabled .woocommerce-Price-amount,
.single-product-hero .trip-price.disabled .price-per-person,
.single-product-hero .trip-price.disabled .max-people-per-trip {
    color: rgba(0, 0, 0, 0.20) !important;
}

/* Sold Out Add to Cart Form */
.single-product-hero .sold-out-cart {
    display: flex;
    align-items: center;
    gap: 3.125rem;
}

.single-product-hero .sold-out-cart .quantity {
    display: inline-flex;
    align-items: center;
    border: 0.063rem solid rgba(0, 0, 0, 0.20);
    border-radius: 3.125rem;
    overflow: hidden;
    background: var(--carp-white);
}

.single-product-hero .sold-out-cart .quantity .minus,
.single-product-hero .sold-out-cart .quantity .plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.1875rem;
    height: 3.1875rem;
    background: transparent;
    border: none;
    cursor: not-allowed;
    padding: 0;
    font-size: 1.125rem;
    line-height: 1;
    vertical-align: middle;
}

.single-product-hero .sold-out-cart .quantity .minus svg,
.single-product-hero .sold-out-cart .quantity .plus svg {
    width: 1.25rem;
    height: auto;
    display: block;
}

.single-product-hero .sold-out-cart .quantity .minus svg rect,
.single-product-hero .sold-out-cart .quantity .plus svg rect {
    fill: rgba(0, 0, 0, 0.20) !important;
}

.single-product-hero .sold-out-cart .quantity input.qty {
    width: 3.1875rem;
    height: 3.1875rem;
    text-align: center;
    border: none;
    background: #F0F0F0;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0.0225rem;
    padding: 0;
    color: rgba(0, 0, 0, 0.20);
    -moz-appearance: textfield;
    appearance: textfield;
    border-radius: 0;
    cursor: not-allowed;
}

.single-product-hero .sold-out-cart .quantity input.qty::-webkit-outer-spin-button,
.single-product-hero .sold-out-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single-product-hero .sold-out-cart .sold-out-button {
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.0225rem;
    position: relative;
    border-radius: 1.5625rem;
    padding: 0.875rem 1.5625rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    background: rgba(0, 0, 0, 0.20);
    color: var(--carp-white);
    border: none;
    text-decoration: none;
    cursor: not-allowed;
    opacity: 0.6;
}

.single-product-hero .sold-out-cart .sold-out-button:hover {
    background: rgba(0, 0, 0, 0.20);
    color: var(--carp-white);
}

.single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon {
    display: none;
}

.single-product-hero .sold-out-cart .sold-out-button .add-to-cart-text {
    display: inline-block;
}

.single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon svg {
    width: 1.3125rem;
    height: auto;
    display: block;
}

.single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon svg path {
    fill: var(--carp-white);
    transition: 0.3s all ease;
}

/* Tablet Sold Out Form - Keep text visible */
@media only screen and (max-width:1199px) {
    .single-product-hero .sold-out-cart {
        gap: 1.25rem;
    }

    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon {
        display: none;
    }

    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-text {
        display: inline-block;
    }

    .single-product-hero .sold-out-cart .sold-out-button {
        padding: 0.875rem 1.5625rem;
        font-weight: 500;
        font-size: 17px;
        line-height: 120%;
        letter-spacing: 0.34px;
    }
}

/* Mobile Sold Out Form - Show icon and text */
@media only screen and (max-width:767px) {
    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-text {
        display: inline;
        color: rgba(0, 0, 0, 0.20);
    }

    .single-product-hero .sold-out-cart .sold-out-button .add-to-cart-icon svg path {
        fill: rgba(0, 0, 0, 0.20) !important;
    }

    .single-product-hero .sold-out-cart .sold-out-button {
        padding: .625rem .875rem; 
        font-weight: 500;
        font-size: 1rem;
        line-height: 120%;
        margin-right: 0 !important;
    }

    /* Disable hover effect on mobile */
    .single-product-hero .sold-out-cart .sold-out-button:hover {
        background: rgba(0, 0, 0, 0.20);
        color: rgba(0, 0, 0, 0.20);
    }

    .single-product-hero .sold-out-cart .sold-out-button:hover .add-to-cart-text {
        color: rgba(0, 0, 0, 0.20);
    }

    .single-product-hero .sold-out-cart .sold-out-button:hover .add-to-cart-icon svg path {
        fill: rgba(0, 0, 0, 0.20) !important;
    }

    /* Sold-out quantity controls - same height as active button */
    .single-product-hero .sold-out-cart .quantity .minus,
    .single-product-hero .sold-out-cart .quantity .plus,
    .single-product-hero .sold-out-cart .quantity input.qty {
        height: 2.5rem;
    }
}

/*
====================================================
Single Product Hero Style End
====================================================
*/


/*
====================================================
Infinite Image Scroll Section Start
====================================================
*/

.infinite-image-scroll {
    overflow: hidden;
}

.infinite-scroll-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-top: 2.5rem;
}

.infinite-scroll-track {
    display: flex;
    gap: 1.875rem;
    width: max-content;
}

.infinite-scroll-track.scrolling {
    animation: infiniteScroll linear infinite;
}

@keyframes infiniteScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.infinite-scroll-item {
    flex-shrink: 0;
    width: 37.125rem;
    height: 43.75rem;
}

.infinite-scroll-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3.125rem;
    display: block;
}

@media only screen and (max-width:1799px) {

    .infinite-scroll-item {
        width: 31.25rem;
    }


}
/* Tablet */
@media (max-width: 1199px) {

    .infinite-scroll-item {
        width: 28.125rem;
        height: 40.625rem; /* 650px */
    }
    .infinite-scroll-track {
        gap: 1.5rem;
    }
}

/* Mobile */
@media (max-width: 767px) {

    .infinite-scroll-item {
        width: 17.8125rem; /* 285px */
        height: 28.125rem; /* 450px */
    }

    .infinite-scroll-track {
        gap: 1.25rem;
    }
}

/*
====================================================
Infinite Image Scroll Section End
====================================================
*/


/*
====================================================
Product Inquery Form Section Start
====================================================
*/

.product-form-header .contact-form-title{
    margin-bottom: 2.5rem;
}
.product-form-wrapper textarea{
    height: 3.125rem;
    min-height: 3.125rem;
}




/*
====================================================
Product Inquery Form Section End
====================================================
*/




/*
====================================================
Cart Page Style Start
====================================================
*/

/* Main Cart Layout - Left Table + Right Totals */
.woocommerce .cart-wrapper {
    display: grid;
    grid-template-columns: 1fr 25rem; 
    gap: 3.125rem; /* 50px */
    align-items: start;
}

/* Cart Table Container */
.cart-main {
    background: var(--carp-white);
    border-radius: 0.5rem; 
    box-shadow: 0 0.25rem 2rem rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

/* Cart Table */
.woocommerce-cart-form table.cart {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background: transparent;
    table-layout: fixed; 
}
/* Table Header */
.woocommerce-cart table.cart thead th {
    background: var(--carp-green-dark);
    color: var(--carp-white);
    font-family: var(--font-sf-pro-display);
    font-size: 0.875rem; /* 14px */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    padding: 1.25rem 1rem; /* 20px 16px */
    text-align: left;
    border: none;
}
.woocommerce-cart table.cart thead th:first-child {
    width: 4rem; /* 64px - remove column */
}
.woocommerce-cart table.cart thead th:nth-child(2) {
    width: 6rem; /* 96px - thumbnail column */
}

.woocommerce-cart table.cart thead th:nth-child(3) {
    width: auto; /* Product name takes remaining space */
}

.woocommerce-cart table.cart thead th:nth-child(4) {
    width: 7rem; /* 112px - price column */
}

.woocommerce-cart table.cart thead th:nth-child(5) {
    width: 8rem; /* 128px - quantity column */
    text-align: center;
}

.woocommerce-cart table.cart thead th:last-child {
    width: 8rem; /* 128px - subtotal column */
    text-align: right;
}
/* Table Body Rows */
.woocommerce-cart table.cart tbody tr {
    border-bottom: 1px solid #f5f5f5;
    transition: background-color 0.2s ease;
}

.woocommerce-cart table.cart tbody tr:hover {
    background-color: #fafafa;
}

.woocommerce-cart table.cart tbody tr:last-child {
    border-bottom: none;
}

.woocommerce-cart table.cart tbody td {
    padding: 1.5rem 1rem; /* 24px 16px */
    vertical-align: middle;
    font-family: var(--font-sf-pro-display);
    border: none;
}

/* Remove Button */
.woocommerce-cart .cart_item .product-remove {
    text-align: center;
    width: 4rem; /* 64px - match header width */
    padding: 0;
}
.woocommerce-cart .cart_item .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem; /* 32px */
    height: 2rem; /* 32px */
    background: #ef4444;
    color: var(--carp-white);
    border-radius: 50%;
    text-decoration: none;
    font-size: 0.875rem; /* 14px */
    font-weight: 600;
    line-height: 1;
    transition: all 0.2s ease;
    margin: 0 auto; /* Center the button */
}

.woocommerce-cart .cart_item .product-remove a:hover {
    background: #dc2626;
    transform: scale(1.05);
}

/* Product Thumbnail */
.woocommerce-cart .cart_item .product-thumbnail {
    width: 6rem; /* 96px - match header width */
    text-align: center;
    padding: 0;
}

.woocommerce-cart .cart_item .product-thumbnail img {
    width: 3.5rem; /* 56px */
    height: 3.5rem; /* 56px */
    object-fit: cover;
    border-radius: 0.25rem; /* 4px */
    display: block;
    margin: 0 auto; /* Center the image */
}

/* Product Name */
.woocommerce-cart .cart_item .product-name {
    padding-right: 1.5rem; /* 24px */
}

.woocommerce-cart .cart_item .product-name a {
    color: var(--carp-black);
    text-decoration: none;
    font-size: 1rem; /* 16px */
    font-weight: 600;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.woocommerce-cart .cart_item .product-name a:hover {
    color: var(--carp-green-dark);
}

/* Product Meta */
.woocommerce-cart .cart_item .product-name .wc-item-meta {
    margin-top: 0.5rem;
    font-size: 0.875rem; /* 14px */
    color: #666;
}

/* Price Styling */
.woocommerce-cart .cart_item .product-price,
.woocommerce-cart .cart_item .product-subtotal {
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    color: var(--carp-green-dark);
    width: 7rem; /* Match header widths */
}

.woocommerce-cart .cart_item .product-price {
    text-align: left;
}

.woocommerce-cart .cart_item .product-subtotal {
    text-align: right;
    width: 8rem; /* Match header width */
}

/* Quantity Controls */
.woocommerce-cart .cart_item .product-quantity {
    text-align: center;
    width: 8rem; /* 128px - match header width */
    padding: 0;
}
.woocommerce-cart .quantity {
    display: inline-flex;
    align-items: center;
    background: var(--carp-white);
    border: 2px solid #e5e7eb;
    border-radius: 0.25rem; /* 4px */
    overflow: hidden;
    transition: border-color 0.2s ease;
    margin: 0 auto; /* Center the quantity control */
    max-width: 5rem; /* 80px */
}

.woocommerce-cart .quantity:focus-within {
    border-color: var(--carp-green-mid);
}
.woocommerce-cart .quantity input.qty {
    width: 100%;
    height: 2.5rem; /* 40px */
    text-align: center;
    border: none;
    background: transparent;
    font-family: var(--font-sf-pro-display);
    font-size: 0.875rem; /* 14px */
    font-weight: 600;
    color: var(--carp-black);
    outline: none;
    padding: 0;
}

/* Cart Actions Footer */
.woocommerce-cart table.cart .actions {
    padding: 1.5rem; /* 24px */
}

.woocommerce-cart .actions {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 1.5rem; /* 24px */
}

/* Coupon Section */
.woocommerce-cart .coupon input[type="text"] {
    grid-area: couponInput;
}
.woocommerce-cart button[name="apply_coupon"] {
    grid-area: couponButton;
    min-width: auto !important;
}
#coupon-error-notice,
.coupon-error-notice {
    grid-area: couponNotice;
}
.woocommerce-cart .coupon {
    display: grid;
    column-gap: 1.5rem;
    row-gap: .3125rem;
    width: auto;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "couponInput couponButton" "couponNotice couponNotice";
}
/* .woocommerce-cart .coupon {
    display: flex;
    gap: 0.75rem; 
    align-items: center;
    flex: 1; 
} */

.woocommerce-cart .coupon input[type="text"] {
    padding: 0.75rem 1rem; /* 12px 16px */
    border: 2px solid #e5e7eb;
    border-radius: 0.25rem; /* 4px */
    font-family: var(--font-sf-pro-display);
    font-size: 0.875rem; /* 14px */
    min-width: 12.5rem; /* 200px */
    height: 2.75rem; /* 44px - match button height */
    transition: border-color 0.2s ease;
    flex: 1; /* Take remaining space in coupon section */
}

.woocommerce-cart .coupon input[type="text"]:focus {
    outline: none;
    border-color: var(--carp-green-mid);
}

.woocommerce-cart .coupon input[type="text"]::placeholder {
    color: #9ca3af;
}

#coupon-error-notice,
.coupon-error-notice {
    font-size: .9375rem;
    color: #6b7280;
    margin: 0;
    padding: 0;
    text-align: left;
    line-height: 150%;
}
@media only screen and (max-width:767px) {

    .woocommerce-cart .coupon {
        grid-template-columns: 1fr;
        grid-template-areas: 
        "couponNotice" 
        "couponInput" 
        "couponButton";
        row-gap: 1rem;
    }
    .woocommerce-cart button[name="apply_coupon"] {
        width: 100%;
    }

}

/* Action Buttons */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart button[name="apply_coupon"] {
    font-family: var(--font-sf-pro-display);
    font-size: 0.875rem; /* 14px */
    font-weight: 600;
    padding: 0.75rem 1.5rem; /* 12px 24px */
    border: none;
    border-radius: 0.25rem; /* 4px */
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    min-width: 7.5rem; /* 120px */
    white-space: nowrap;
    height: 2.75rem; /* 44px - match input height */
}

.woocommerce-cart button[name="update_cart"] {
    background: var(--carp-green-mid);
    color: var(--carp-white);
    flex-shrink: 0; /* Don't shrink */
}

.woocommerce-cart button[name="update_cart"]:hover {
    background: var(--carp-green-dark);
}

.woocommerce-cart button[name="apply_coupon"] {
    background: var(--carp-black);
    color: var(--carp-white);
    flex-shrink: 0; /* Don't shrink */
}

.woocommerce-cart button[name="apply_coupon"]:hover {
    background: #374151;
}

/* Cart Sidebar (Right Panel) */
.cart-sidebar {
    position: sticky;
    top: 2rem; /* 32px */
}

/* Cart Totals */
.cart_totals {
    background: var(--carp-white);
    border-radius: 0.5rem; /* 8px */
    box-shadow: 0 0.25rem 2rem rgba(0, 0, 0, 0.08);
    padding: 2rem; /* 32px */
    border: 1px solid #f3f4f6;
}

.cart_totals h2 {
    font-size: 1.5rem; /* 24px */
    font-weight: 700;
    color: var(--carp-black);
    margin: 0 0 1.5rem 0; /* 24px bottom */
    padding-bottom: .625rem;
    border-bottom: 1px solid #e5e7eb;
}

/* Totals Table */
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem; /* 24px */
}

.cart_totals table th,
.cart_totals table td {
    padding: 0.75rem 0; /* 12px */
    font-family: var(--font-sf-pro-display);
    font-size: 1rem; /* 16px */
    border-bottom: 1px solid #f3f4f6;
}

.cart_totals table th {
    text-align: left;
    font-weight: 500;
    color: var(--carp-black);
}

.cart_totals table td {
    text-align: right;
    font-weight: 600;
    color: var(--carp-green-dark);
}

/* Order Total Row */
.cart_totals .order-total th,
.cart_totals .order-total td {
    font-size: 1.25rem; /* 20px */
    font-weight: 700;
    border-bottom: none;
    border-top: 2px solid var(--carp-green-dark);
    padding-top: 1rem; /* 16px */
}

.cart_totals .order-total td {
    color: var(--carp-black);
}

/* Proceed to Checkout Button */
.wc-proceed-to-checkout {
    margin-top: 1.5rem; /* 24px */
}

.wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    padding: 1rem 2rem; /* 16px 32px */
    background: var(--carp-green-dark);
    color: var(--carp-white);
    text-decoration: none;
    text-align: center;
    border: none;
    border-radius: 0.5rem; /* 8px */
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--carp-green-mid);
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1.5rem rgba(50, 142, 138, 0.25);
}

/* Empty Cart State - Removed redundant .cart-empty styles since we use .custom-empty-cart */

/* Mobile Responsiveness */
@media (max-width: 1024px) {
    .woocommerce .cart-wrapper {
        grid-template-columns: 1fr;
        gap: 2rem; /* 32px */
    }
    
    .cart-sidebar {
        position: static;
        order: -1; /* Move totals above table on mobile */
    }
    
    .cart_totals {
        max-width: 25rem; /* 400px */
        margin: 0 auto;
    }
}

@media (max-width: 991px) {
    .cart-main {
        box-shadow: none;
    }
    .cart_totals {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    /* Stack cart table for mobile */
    .woocommerce-cart table.cart,
    .woocommerce-cart table.cart thead,
    .woocommerce-cart table.cart tbody,
    .woocommerce-cart table.cart th,
    .woocommerce-cart table.cart td,
    .woocommerce-cart table.cart tr {
        display: block;
    }

    .woocommerce-cart table.cart thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    /* Mobile Cart Item Cards */
    .woocommerce-cart table.cart tbody tr {
        border: 1px solid #e5e7eb;
        border-radius: 0.75rem; /* 12px */
        margin-bottom: 1.5rem; /* 24px */
        padding: 0;
        background: var(--carp-white);
        box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
        overflow: hidden;
        position: relative;
    }

    /* Mobile Product Header - Fix remove button display */
    .woocommerce-cart table.cart .product-remove {
        display: block !important;
        position: absolute;
        top: 0.75rem; /* 12px */
        right: 0.75rem; /* 12px */
        padding: 0;
        width: auto;
        z-index: 2;
        text-align: center;
    }

    .woocommerce-cart table.cart .product-remove:before {
        display: none;
    }

    .woocommerce-cart table.cart .product-remove a {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 2rem; /* 32px */
        height: 2rem; /* 32px */
        background: #ef4444;
        color: var(--carp-white);
        border-radius: 50%;
        text-decoration: none;
        font-size: 0.875rem; /* 14px */
        font-weight: 600;
        line-height: 1;
    }

    .woocommerce-cart table.cart .product-thumbnail,
    .woocommerce-cart table.cart .product-name {
        display: flex !important;
        padding: 1rem 1.25rem 0 1.25rem; /* 16px 20px 0 20px */
        border-bottom: none;
        position: relative;
        text-align: left;
        align-items: center;
        gap: 1rem; /* 16px */
    }

    .woocommerce-cart table.cart .product-thumbnail {
        padding: 1.25rem 0 0 1.25rem; /* 20px 0 0 20px */
        width: auto;
        margin: 0;
    }

    .woocommerce-cart table.cart .product-thumbnail:before {
        display: none;
    }

    .woocommerce-cart table.cart .product-thumbnail img {
        width: 4rem; /* 64px */
        height: 4rem; /* 64px */
        border-radius: 0.5rem; /* 8px */
        object-fit: cover;
    }

    .woocommerce-cart table.cart .product-name {
        flex: 1;
        font-size: 1.125rem; /* 18px */
        font-weight: 600;
    }

    .woocommerce-cart table.cart .product-name:before {
        display: none;
    }

    .woocommerce-cart table.cart .product-name a {
        color: var(--carp-black);
        text-decoration: none;
        font-size: 1.125rem; /* 18px */
        font-weight: 600;
        line-height: 1.4;
    }

    /* Mobile Product Details */
    .woocommerce-cart table.cart .product-price,
    .woocommerce-cart table.cart .product-quantity,
    .woocommerce-cart table.cart .product-subtotal {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 1.25rem; /* 12px 20px */
        border-bottom: 1px solid #f3f4f6;
        text-align: left;
        background: #fafbfc;
        margin: 0;
        position: relative;
        width: 100%;
    }

    .woocommerce-cart table.cart .product-subtotal {
        border-bottom: none;
        background: #f0f9ff;
        font-weight: 700;
    }

    /* Override the general td:before for specific mobile styling */
    .woocommerce-cart table.cart .product-price:before,
    .woocommerce-cart table.cart .product-quantity:before,
    .woocommerce-cart table.cart .product-subtotal:before {
        position: static;
        width: auto;
        font-weight: 600;
        color: var(--carp-black);
        font-size: 0.875rem; /* 14px */
        text-transform: uppercase;
        letter-spacing: 0.025em;
        margin-right: 1rem;
    }

    .woocommerce-cart table.cart .product-price:before {
        content: "Price";
    }

    .woocommerce-cart table.cart .product-quantity:before {
        content: "Quantity";
    }

    .woocommerce-cart table.cart .product-subtotal:before {
        content: "Subtotal";
    }

    /* Mobile Quantity Control */
    .woocommerce-cart .cart_item .product-quantity .quantity {
        margin: 0;
        max-width: 5rem; /* 80px */
    }

    /* Mobile Actions */
    .woocommerce-cart .actions {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        gap: 1rem;
        margin-top: 1rem;
    }

    .woocommerce-cart .coupon {
        justify-content: center;
        flex-wrap: nowrap;
        width: 100%;
    }

    .woocommerce-cart .coupon input[type="text"] {
        flex: 1;
        min-width: 0;
    }
    
    .woocommerce-cart button[name="update_cart"] {
        width: 100%;
        margin-top: 0.75rem; /* 12px */
    }
}

@media (max-width: 480px) {

    .cart_totals {
        padding: 1.5rem; /* 24px */
    }
    .woocommerce-cart .quantity input.qty {
        width: 3rem; /* 48px */
    }

    .woocommerce-cart .coupon input[type="text"] {
        font-size: 0.875rem; /* 14px */
    }
}

/* Empty Cart Styling */

.custom-empty-cart {
    text-align: center;
    margin: 0 auto;
}
.empty-cart-image {
    margin-bottom: 2.5rem; /* 40px */
}
.empty-cart-sad-character {
    max-width: 15rem; /* 240px */
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Mobile Responsiveness for Empty Cart */
@media (max-width: 768px) {

    .empty-cart-sad-character {
        max-width: 12rem; /* 192px */
    }

}

@media (max-width: 480px) {
    .empty-cart-sad-character {
        max-width: 10rem; /* 160px */
    }
}

/*
====================================================
Cart Page Style End
====================================================
*/


/*
====================================================
Checkout Page Style Start
====================================================
*/

/* Checkout Section Headings */
.wc-block-components-checkout-step__heading .wc-block-components-title {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--carp-green-mid);
}

/* Order Summary Total */
.wc-block-components-totals-footer-item-tax-value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: var(--carp-green-mid);
    font-weight: 700;
}

/* Place Order Button - Match .site-btn.green-mid-black style */
.wc-block-components-checkout-place-order-button {
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.36px;
    position: relative;
    border-radius: 50rem; /* Full round */
    padding: 0.875rem 1.5625rem; /* 14px 25px */
    display: inline-block;
    text-align: center;
    cursor: pointer;
    transition: 0.3s all ease !important;
    background-color: var(--carp-green-mid);
    color: var(--carp-black);
    border: none;
    outline: none;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
    background-color: var(--carp-black);
    color: var(--carp-green-mid);
    outline: none;
}

.wc-block-components-checkout-place-order-button:focus-visible {
    outline: none;
}

/* Coupon Button - Match .site-btn.green-mid-black style */
.wc-block-components-totals-coupon__button {
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.36px;
    position: relative;
    padding: 0.875rem 1.5625rem; /* 14px 25px */
    display: inline-block;
    text-align: center;
    cursor: pointer;
    transition: 0.3s all ease !important;
    background-color: var(--carp-green-mid);
    color: var(--carp-black);
    border: none;
    outline: none;
}

.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon__button:focus {
    background-color: var(--carp-black);
    color: var(--carp-green-mid);
    outline: none;
}

.wc-block-components-totals-coupon__button:focus-visible {
    outline: none;
}

p.wc-block-components-checkout-step__description {
    margin-bottom: .625rem;
    margin-top: .625rem;
}

/*
====================================================
Checkout Page Style End
====================================================
*/

/*
====================================================
My Account Page Style Start
====================================================
*/


/* My Account Logged State */
.woocommerce-account header.entry-header:not(.logged-in header.entry-header) {
    text-align: center;
    color: var(--carp-green-mid);
}
.myaccount-login-wrapper h2 {
	font-size: 2.375rem;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 0.76px;
	text-align: center;
	color: var(--carp-white);
	text-transform: capitalize;
	margin-bottom: 1.5625rem;
}
.myaccount-login-wrapper {
    max-width: 37.125rem;
    background: var(--carp-green-mid);
    padding: 3.125rem;
    border-radius: 3.125rem;
    margin-left: auto;
    margin-right: auto;
}
.show-password-input {
    display: none;
}
/* My Account Logged State End */



/* My Account Page - Logged In User Layout */


.woocommerce-account.logged-in .myaccount-wrapper {
    display: flex;
    gap: 2rem;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    flex: 0 0 30%;
    min-width: 0;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    list-style: none;
    margin: 0 0 0.625rem 0;
    padding: 0;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: block;
    background-color: var(--carp-green-mid);
    color: var(--carp-white);
    padding: 0.9375rem 1.25rem;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
    background-color: var(--carp-green-dark);
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a {
    background-color: var(--carp-green-dark);
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}
@media only screen and (max-width: 767px) {

    .woocommerce-account.logged-in .myaccount-wrapper {
        flex-direction: column;
        gap: 2rem;
    }
    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        flex: 0 0 100%;
    }
    .woocommerce-account.logged-in .woocommerce-MyAccount-content {
        flex: 0 0 100%;
    }
}

/* My Account Addresses Section */

.myaccount-addresses-wrapper {
    width: 100%;
}
.myaccount-addresses-wrapper .woocommerce-Addresses,
.myaccount-addresses-wrapper .u-columns.col2-set {
    display: flex;
    gap: 2rem;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 1.5625rem;
}
.myaccount-addresses-wrapper .woocommerce-Address,
.myaccount-addresses-wrapper .u-column.col-1,
.myaccount-addresses-wrapper .u-column.col-2 {
    flex: 1;
    min-width: 0;
    background-color: #f9f9f9;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid #e0e0e0;
}
.myaccount-addresses-wrapper .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--carp-green-mid);
}
.myaccount-addresses-wrapper .woocommerce-Address-title h2 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--carp-green-mid);
}
.myaccount-addresses-wrapper .woocommerce-Address-title .edit {
    background-color: transparent;
    color: var(--carp-green-mid);
    padding: 0;
    border: none;
    text-decoration: underline;
    font-size: 0.875rem;
    font-weight: 600;
    transition: color 0.3s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.myaccount-addresses-wrapper .woocommerce-Address-title .edit::before {
    content: '';
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    background-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.3333 2.66667L13.3333 4.66667M1.66667 14.3333H3.66667L12.6667 5.33333L10.6667 3.33333L1.66667 12.3333V14.3333Z" stroke="%234AB2A9" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
}
.myaccount-addresses-wrapper address {
    font-style: normal;
}
.woocommerce-account.logged-in .woocommerce-notices-wrapper {
    margin-bottom: 0;
}
@media only screen and (max-width:1399px) {

    header.woocommerce-Address-title.title {
        flex-direction: column;
        justify-content: start;
        align-items: start;
        gap: 0.75rem;
    }


}
@media only screen and (max-width:991px) {

    .myaccount-addresses-wrapper .woocommerce-Addresses, .myaccount-addresses-wrapper .u-columns.col2-set {
        flex-direction: column;
        gap: 1.25rem;

    }
    header.woocommerce-Address-title.title {
        flex-direction: row;
        justify-content: space-between;
    }
}
@media only screen and (max-width: 767px) {

    .myaccount-addresses-wrapper .woocommerce-Addresses,
    .myaccount-addresses-wrapper .u-columns.col2-set {
        flex-direction: column;
        gap: 1.5rem;
    }
    .myaccount-addresses-wrapper .woocommerce-Address,
    .myaccount-addresses-wrapper .u-column.col-1,
    .myaccount-addresses-wrapper .u-column.col-2 {
        flex: 0 0 100%;
        width: 100%;
    }

    .myaccount-addresses-wrapper .woocommerce-Address-title.title {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    .myaccount-addresses-wrapper .woocommerce-Address-title .edit {
        width: 100%;
        text-align: center;
    }
}

/* My Account Forms - Apply Universal Form Styling */

.woocommerce-account.logged-in .woocommerce-MyAccount-content form {
    background-color: #f9f9f9;
    padding: 2rem;
    border-radius: 0.625rem;
    border: 1px solid #e0e0e0;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content form h2 {
    color: var(--carp-green-mid);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--carp-green-mid);
}
/* Form Row Layout */

.woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row.form-row-wide {
    width: 100%;
}
/* Form Labels */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form label {
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 150%;
    font-family: var(--font-avenir-next);
    color: var(--carp-black);
    display: block;
    margin-bottom: 0.5rem;
}

/* Form Inputs */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="text"],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="email"],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="password"],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form select,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form textarea {
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 150%;
    font-family: var(--font-avenir-next);
    border-radius: 0.625rem;
    background: var(--carp-white);
    border: none;
    color: var(--carp-black);
    width: 100%;
    padding: 0.8125rem 1.25rem;
    transition: 0.3s all ease;
    box-sizing: border-box;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="text"]:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="email"]:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="tel"]:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="password"]:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form select:focus,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(76, 175, 160, 0.1);
}

/* Textarea */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form textarea {
    height: 9.375rem;
    resize: vertical;
    min-height: 9.375rem;
    resize: none;
}

/* Select Dropdown */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.25rem center;
    background-size: 0.75rem;
    padding-right: 3rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Submit Button */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form button[type="submit"],
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="submit"] {
    font-family: var(--font-sf-pro-display);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.36px;
    position: relative;
    border-radius: 1.5625rem;
    padding: 0.875rem 1.5625rem;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    transition: 0.3s all ease;
    background: var(--carp-green-mid);
    color: var(--carp-black);
    border: none;
    margin-top: 1.5625rem;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content form button[type="submit"]:hover,
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="submit"]:hover {
    background: var(--carp-black);
    color: var(--carp-green-mid);
}

/* Checkbox Styles */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="checkbox"] {
    width: 1.5625rem;
    height: 1.5625rem;
    margin: 0;
    margin-right: 0.75rem;
    position: relative;
    border-radius: 0.3125rem;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    cursor: pointer;
    background: var(--carp-white);
    transition: 0.3s all ease;
    flex-shrink: 0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="checkbox"]:checked {
    background: var(--carp-green-dark);
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content form input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 9px;
    width: 5px;
    height: 10px;
    border: solid var(--carp-white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Checkbox Label */
.woocommerce-account.logged-in .woocommerce-MyAccount-content form label:has(input[type="checkbox"]) {
    display: flex;
    align-items: flex-start;
    column-gap: 0.75rem;
    margin: 0;
    cursor: pointer;
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 150%;
    font-family: var(--font-avenir-next);
}

/* Responsive - Stack form rows on mobile */
@media only screen and (max-width: 767px) {
    
    .woocommerce-account.logged-in .woocommerce-MyAccount-content form {
        padding: 1.5rem;
    }

    .woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row.form-row-first,
    .woocommerce-account.logged-in .woocommerce-MyAccount-content .form-row.form-row-last {
        width: 100%;
    }
}
.woocommerce-form-login__submit{
    border: none;
    position: relative;
    top: .625rem;
}
.woocommerce-form-login__submit:hover{
    background: var(--carp-white);
    color: var(--carp-black);
}

/* Login Form Remember & Submit Row */
.myaccount-login-wrapper .form-row:has(.woocommerce-form__label-for-checkbox, .woocommerce-form-login__submit) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: .625rem;
}

/* Fallback for browsers that don't support :has() selector */
.myaccount-login-wrapper .form-row:last-of-type {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.myaccount-login-wrapper input[type="checkbox"] {
    top: .375rem;
}
.woocommerce-LostPassword.lost_password {
    margin-top: 1.5625rem;
    display: block;
}
@media only screen and (max-width:767px) {

    .myaccount-login-wrapper .form-row:has(.woocommerce-form__label-for-checkbox, .woocommerce-form-login__submit) {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        margin-top: .3125rem;
    }
    .myaccount-login-wrapper .form-row:last-of-type {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}


/*
====================================================
My Account Page Style End
====================================================
*/



