/*
Theme Name: ExplorelyNY Walking Tours
Theme URI: https://explorelyny.com
Author: ExplorelyNY Team
Author URI: https://explorelyny.com
Description: Premium, boutique New York City Walking Tour theme featuring buttery-smooth canvas scroll animations, 300-frame sequences (Central Park, Seneca Village, Manhattan, Times Square), interactive booking modal, and responsive design.
Version: 1.0.0
Tested up to: 6.7
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: explorelyny
*/

/* --------------------------------------------------------------------------
   ExplorelyNY Global Performance & Smooth Scrolling Fixes
   Removes scroll stutter/jank caused by nested overscroll conflicts and
   enables butter-smooth native momentum scrolling.
-------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
}

body {
  overflow-x: hidden;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  background-color: #000000 !important;
  color: #FFFFFF;
}

/* Fix for footer full-bleed background preventing left/right white or gap space */
#site-footer,
footer#site-footer,
.site-footer {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-color: #000000 !important;
  position: relative !important;
  overflow-x: hidden !important;
}

#site-footer #footer-main-card {
  box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   ExplorelyNY Luxury Checkout & Order Confirmation Styling
   Transforms WooCommerce Checkout and Thank You page into the exact visual aesthetic
   of the ExplorelyNY Book a Walking Tour dark boutique modal.
-------------------------------------------------------------------------- */

body.woocommerce-checkout,
body.woocommerce-order-received,
body.woocommerce-page,
.woocommerce,
.woocommerce-page {
    background-color: #000000 !important;
    background: #000000 !important;
    background-image: none !important;
    color: #F7F3EA !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Outer container & card on checkout & confirmation page */
.explorely-checkout-container {
    max-width: 1040px !important;
    width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
}

.explorely-checkout-card {
    background-color: #141203 !important;
    background: rgba(20, 18, 3, 0.94) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(247, 243, 234, 0.16) !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.85), 0 0 40px rgba(0, 166, 81, 0.08) !important;
    max-width: 1040px !important;
    width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    overflow: hidden !important;
    color: #F7F3EA !important;
}

/* Modal / Card Header Bar */
.explorely-card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1.5rem 2rem !important;
    border-bottom: 1px solid rgba(247, 243, 234, 0.12) !important;
    background: rgba(0, 0, 0, 0.3) !important;
}

/* Headings matching brand guidelines */
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce h4,
.woocommerce-checkout h3, .woocommerce-billing-fields h3,
.woocommerce-order-details__title, .woocommerce-column__title,
.wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block h2,
.wp-block-woocommerce-checkout-contact-information-block h2,
.wp-block-woocommerce-checkout-shipping-address-block h2,
.wp-block-woocommerce-checkout-billing-address-block h2,
.wp-block-woocommerce-checkout-payment-methods-block h2,
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step__title {
    color: #FFFFFF !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 1rem !important;
}

/* Form Labels */
.woocommerce label,
.wc-block-components-checkout-step__title,
.wc-block-components-text-input label,
.wc-block-components-combobox label {
    color: rgba(247, 243, 234, 0.85) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.4rem !important;
    display: block !important;
}

/* ==========================================================================
   ORIGINAL BRANDED DARK INPUTS (Gutenberg Checkout & Classic WooCommerce)
   Clean, crisp, high-visibility dark inputs matching the brand guidelines
   ========================================================================== */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-combobox .wc-block-components-combobox-control,
.wc-block-components-combobox .components-combobox-control,
.wc-block-components-select-input,
.wc-block-components-select-input select,
.wc-block-components-state-input,
.wc-block-components-country-input,
.wc-block-gateway-input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input.is-active,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single,
.wc-block-gateway-container,
.wc-block-components-radio-control-accordion-content,
.wc-stripe-elements-field,
div[id^="stripe-"],
div[class*="StripeElement"],
.wc-blocks-components-select .wc-blocks-components-select__container {
    background-color: #242006 !important;
    background: #242006 !important;
    border: 1px solid rgba(247, 243, 234, 0.25) !important;
    border-radius: 0.85rem !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox input,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce textarea {
    padding: 0.75rem 1rem !important;
    font-size: 0.92rem !important;
    color: #FFFFFF !important;
    background-color: #242006 !important;
    background: #242006 !important;
}

.wc-block-components-text-input input::placeholder,
.woocommerce input::placeholder,
.woocommerce textarea::placeholder,
.wc-block-gateway-input::placeholder {
    color: rgba(247, 243, 234, 0.55) !important;
    opacity: 1 !important;
}

.wc-block-components-text-input.is-active,
.wc-block-components-text-input:focus-within,
.wc-block-components-combobox:focus-within,
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #00A651 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 166, 81, 0.35) !important;
    background-color: #332C07 !important;
    background: #332C07 !important;
    color: #FFFFFF !important;
}

/* 4. Ensure payment badge is clearly visible */
.explorely-checkout-card [class*="payment-method-icons"] span,
.explorely-checkout-card [class*="wc-block-components-payment-method-icons"] span,
.explorely-checkout-card .wc-block-components-payment-method-icons__count,
.explorely-checkout-card span[class*="count"] {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    padding: 0.15rem 0.45rem !important;
    border-radius: 4px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}





/* Place Order & Button styling: Branded ExplorelyNY Green Pill (#00A651) */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button button,
.wc-block-components-button:not(.is-link) {
    background-color: #00A651 !important;
    background: linear-gradient(135deg, #00A651 0%, #087A42 100%) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    padding: 0.9rem 2.25rem !important;
    border-radius: 9999px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 8px 28px rgba(0, 166, 81, 0.45) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    letter-spacing: -0.01em !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:hover {
    background-color: #087A42 !important;
    background: linear-gradient(135deg, #00B95B 0%, #00A651 100%) !important;
    color: #FFFFFF !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 12px 32px rgba(0, 166, 81, 0.6) !important;
}

/* Error / Notice Banners */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border-radius: 1rem !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1.75rem !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(20, 18, 3, 0.8) !important;
    color: #FFFFFF !important;
    list-style: none !important;
    font-size: 0.85rem !important;
}

.woocommerce-message {
    border-left: 4px solid #00A651 !important;
}

.woocommerce-error {
    border-left: 4px solid #E53E3E !important;
}

.woocommerce-info {
    border-left: 4px solid #3182CE !important;
}

/* --------------------------------------------------------------------------
   Order Confirmation (Thank You) Page: Pixel-Perfect Match with Screenshot #1
-------------------------------------------------------------------------- */
.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    margin: 1.5rem 0 0.5rem 0 !important;
    letter-spacing: -0.02em !important;
}

/* Green Checkmark Circle at the top of Thank You page */
.explorely-success-icon {
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    background: #00A651;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0.5rem auto 1.25rem auto;
    box-shadow: 0 0 35px rgba(0, 166, 81, 0.55);
}

/* Confirmation # subtitle */
.explorely-confirmation-subtitle {
    text-align: center;
    font-size: 0.85rem;
    color: rgba(247, 243, 234, 0.6);
    margin-bottom: 2rem;
}

/* Details card matching screenshot #1 */
.woocommerce-order-received ul.woocommerce-order-overview {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    background: rgba(59, 52, 9, 0.3) !important;
    border: 1px solid rgba(247, 243, 234, 0.15) !important;
    border-radius: 1rem !important;
    list-style: none !important;
    margin: 0 0 1.5rem 0 !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 0.85rem !important;
    color: rgba(247, 243, 234, 0.7) !important;
    border-right: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-transform: none !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li strong {
    font-size: 0.9rem !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total strong {
    color: #00A651 !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
}

/* Order Details Table on Thank You Page matching reference confirmation box */
.woocommerce-order-received .woocommerce-order-details {
    margin-top: 1.5rem !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table {
    background: rgba(59, 52, 9, 0.3) !important;
    border: 1px solid rgba(247, 243, 234, 0.15) !important;
    border-radius: 1rem !important;
    border-collapse: collapse !important;
    overflow: hidden !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table th,
.woocommerce-order-received .woocommerce-order-details table.shop_table td {
    border-color: rgba(247, 243, 234, 0.08) !important;
    padding: 0.85rem 1.15rem !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table th {
    background: rgba(255, 255, 255, 0.04) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.06em !important;
    color: rgba(247, 243, 234, 0.8) !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table .order-total th,
.woocommerce-order-received .woocommerce-order-details table.shop_table .order-total td {
    color: #00A651 !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
}

/* Next Steps green alert box matching screenshot #1 */
.explorely-next-steps {
    padding: 1rem 1.25rem !important;
    border-radius: 1rem !important;
    background: rgba(0, 166, 81, 0.12) !important;
    border: 1px solid rgba(0, 166, 81, 0.25) !important;
    color: #F7F3EA !important;
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
    margin: 1.5rem 0 !important;
}

.explorely-next-steps strong {
    color: #00A651 !important;
    display: block !important;
    margin-bottom: 0.35rem !important;
    font-size: 0.85rem !important;
}

.woocommerce-customer-details address {
    background: rgba(59, 52, 9, 0.3) !important;
    border: 1px solid rgba(247, 243, 234, 0.15) !important;
    border-radius: 1rem !important;
    padding: 1.25rem !important;
    color: rgba(247, 243, 234, 0.85) !important;
    font-style: normal !important;
    line-height: 1.6 !important;
}
