/*
Theme Name: alanatr
Author: Alana
Description: Alana custom theme based on new design.
Version: 1.0
Text Domain: alanatr
*/

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Open Sans', sans-serif; }

.fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s, transform .7s;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.nav-scrolled {
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 1px 12px rgba(0, 0, 0, .06);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease, padding .3s ease;
    padding: 0 0;
}

.faq-item.open .faq-answer {
    max-height: 400px;
    padding: 16px 0 0;
}

.faq-item.open .faq-icon {
    transform: rotate(45deg);
}

.faq-icon {
    transition: transform .3s;
}

/* ==============================
   GLOBAL HEADING TYPOGRAPHY
   Consistent across all templates
   ============================== */

/* Entry Content (Blog Posts / Pages) */
.entry-content > *:first-child {
    margin-top: 0 !important;
}
.entry-content h1, .entry-content h1.wp-block-heading {
    font-size: 2rem !important;         /* 32px */
    font-weight: 800 !important;
    color: #111827 !important;
    line-height: 1.25 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1rem !important;
}
.entry-content h2, .entry-content h2.wp-block-heading {
    font-size: 1.5rem !important;       /* 24px */
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
}
.entry-content h3, .entry-content h3.wp-block-heading {
    font-size: 1.25rem !important;      /* 20px */
    font-weight: 600 !important;
    color: #1f2937 !important;
    line-height: 1.4 !important;
    margin-top: 2rem !important;
    margin-bottom: 0.5rem !important;
}
.entry-content h4, .entry-content h4.wp-block-heading {
    font-size: 1.125rem !important;     /* 18px */
    font-weight: 600 !important;
    color: #1f2937 !important;
    line-height: 1.4 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}
.entry-content h5, .entry-content h5.wp-block-heading,
.entry-content h6, .entry-content h6.wp-block-heading {
    font-size: 1rem !important;         /* 16px */
    font-weight: 600 !important;
    color: #374151 !important;
    line-height: 1.4 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Entry Content — body text, lists, etc. */
.entry-content p {
    margin-bottom: 1.25rem;
    line-height: 1.8;
}
.entry-content ul,
.entry-content ol {
    margin-bottom: 1.25rem;
    padding-left: 1.5rem;
}
.entry-content ul { list-style-type: disc; }
.entry-content ol { list-style-type: decimal; }
.entry-content li { margin-bottom: 0.5rem; line-height: 1.7; }
.entry-content a { color: #429dc1; text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s; }
.entry-content a:hover { color: #2d7390; }
.entry-content blockquote {
    border-left: 4px solid #429dc1;
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: #f8fafc;
    border-radius: 0 12px 12px 0;
    color: #4b5563;
    font-style: italic;
}
.entry-content img {
    border-radius: 16px;
    margin: 1.5rem 0;
    max-width: 100%;
    height: auto;
}
.entry-content pre {
    background: #1e293b;
    color: #e2e8f0;
    padding: 1.5rem;
    border-radius: 12px;
    overflow-x: auto;
    margin: 1.5rem 0;
    font-size: 0.875rem;
}
.entry-content code {
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.875em;
    color: #e94e1b;
}
.entry-content pre code {
    background: none;
    padding: 0;
    color: inherit;
}
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    border-radius: 12px;
    overflow: hidden;
}
.entry-content th,
.entry-content td {
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    text-align: left;
}
.entry-content th {
    background: #f8fafc;
    font-weight: 600;
    color: #111827;
}
.entry-content figure {
    margin: 1.5rem 0;
}
.entry-content figcaption {
    text-align: center;
    color: #9ca3af;
    font-size: 0.875rem;
    margin-top: 0.5rem;
}

/* WP Form & General Fixes */
.alana-form-message {
    display: none; padding: 20px; border-radius: 12px; margin-bottom: 24px; text-align: center; font-weight: 500;
}
.alana-loader {
    display: none;
}

/* Mobile Menu Animations */
.alana-mobile-menu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(16px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.alana-mobile-menu.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Footer Logo Fix for WooCommerce */
footer img[alt="Alana Logo"] {
    height: 1.5rem !important;
    width: auto !important;
    max-width: none !important;
}

/* Header Logo Fix for WooCommerce Core CSS Override */
nav#navbar img {
    height: 1.75rem !important; /* h-7 equivalent */
    width: auto !important;
    max-width: none !important;
}

/* ═══════════════════════════════════════════════════════
   WOOCOMMERCE – THEME OVERRIDES
   Adapted from alana-theme with new color palette
   ═══════════════════════════════════════════════════════ */

/* ── ALL BUTTONS (master override) ── */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.checkout,
.woocommerce button.button.checkout,
.wc-block-components-button,
.wp-element-button {
    background-color: #439dc1 !important;
    color: #fff !important;
    border-radius: 9999px !important;
    padding: 14px 28px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    font-family: 'Open Sans', sans-serif !important;
    transition: all 0.28s cubic-bezier(.4, 0, .2, 1) !important;
    border: none !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.4;
    text-decoration: none;
    box-shadow: none;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-block-components-button:hover,
.wp-element-button:hover {
    background-color: #2d7390 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(67, 157, 193, 0.25);
}

/* Disabled state */
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

/* ── Notices ── */
.woocommerce-message,
.woocommerce-info {
    border-top-color: #439dc1 !important;
    background-color: #f8fafc !important;
    color: #374151 !important;
    font-size: 15px;
    border-radius: 0 0 12px 12px;
    padding: 16px 24px 16px 56px !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
    color: #439dc1 !important;
}
.woocommerce-error {
    border-top-color: #e94e1b !important;
    background-color: #fef2f2 !important;
    border-radius: 0 0 12px 12px;
}

/* ── Form Inputs ── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    background: #fff !important;
    color: #374151;
    box-shadow: none !important;
    height: auto !important;
    font-size: 15px;
    font-family: 'Open Sans', sans-serif;
    transition: all 0.28s ease;
}
.woocommerce form .form-row label {
    font-weight: 500;
    color: #111827;
    font-size: 15px;
    margin-bottom: 6px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.select2-container--open .select2-selection--single {
    border-color: #439dc1 !important;
    background: #fff !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(67, 157, 193, 0.1) !important;
}

/* ── Quantity Input ── */
.woocommerce .quantity .qty {
    height: 50px !important;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0 16px;
    background: #fff;
    width: 80px;
    text-align: center;
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
    color: #111827;
}

/* ── Hide product meta (categories etc.) ── */
.woocommerce div.product .product_meta {
    display: none !important;
}

/* ══ SHOP TABLE (Cart, etc) ══ */
.woocommerce table.shop_table {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    width: 100%;
    font-size: 15px;
}
.woocommerce table.shop_table th {
    background: #f8fafc;
    color: #111827;
    font-weight: 600;
    padding: 18px 20px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
}
.woocommerce table.shop_table td {
    border-top: 1px solid #e5e7eb;
    padding: 20px;
    vertical-align: middle;
    color: #374151;
}
.woocommerce table.shop_table td.product-name a {
    color: #111827;
    font-weight: 500;
    text-decoration: none;
    font-size: 16px;
}
.woocommerce table.shop_table td.product-name a:hover {
    color: #439dc1;
}
.woocommerce table.shop_table img {
    border-radius: 12px;
    width: 70px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.woocommerce a.remove {
    color: #6b7280 !important;
    font-size: 22px;
    transition: all 0.28s ease;
}
.woocommerce a.remove:hover {
    color: #e94e1b !important;
    background: transparent !important;
}

/* ── Cart Totals ── */
.cart-collaterals { margin-top: 40px; }
.cart-collaterals .cart_totals {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    float: right;
    width: 480px;
    max-width: 100%;
}
.cart-collaterals .cart_totals h2 {
    font-size: 22px !important;
    color: #111827;
    margin-bottom: 20px;
    text-align: left !important;
    font-weight: 700;
}
.cart-collaterals .cart_totals .shop_table {
    border: none !important;
    box-shadow: none;
}
.cart-collaterals .cart_totals .shop_table th,
.cart-collaterals .cart_totals .shop_table td {
    padding: 14px 0;
    border-top: 1px solid #e5e7eb;
    background: transparent;
}
.cart-collaterals .wc-proceed-to-checkout { padding: 16px 0 0; }
.cart-collaterals .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    text-align: center;
    padding: 18px 28px !important;
    font-size: 17px !important;
}

/* ── Checkout ── */
.woocommerce-checkout #customer_details {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    margin-bottom: 40px;
}
.woocommerce-checkout #order_review {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}
.woocommerce-checkout h3 {
    color: #111827;
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: 700;
}
.woocommerce-checkout #place_order {
    width: 100%;
    padding: 18px 28px !important;
    font-size: 17px !important;
    margin-top: 16px;
}

/* ── My Account ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #f8fafc;
    border-radius: 16px;
    padding: 8px;
    margin-bottom: 32px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 20px;
    color: #374151;
    font-weight: 500;
    border-radius: 12px;
    transition: all 0.28s ease;
    text-decoration: none;
    font-size: 15px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #fff;
    color: #439dc1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 48px 40px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.03);
    margin: 0 auto;
    max-width: 480px;
}
.woocommerce-account h2 {
    text-align: center;
    color: #111827;
    margin-bottom: 32px;
    font-size: 28px;
    font-weight: 700;
}
.woocommerce-account .woocommerce-form-login .button {
    width: 100%;
    margin-top: 8px;
}
.woocommerce-account .woocommerce-LostPassword {
    text-align: center;
    margin-top: 16px;
}
.woocommerce-account .woocommerce-LostPassword a {
    color: #439dc1;
    text-decoration: none;
    font-size: 14px;
}

/* ── Shop / Product Archive Grid ── */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 32px;
}
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0;
    float: none !important;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.28s ease;
}
.woocommerce ul.products li.product:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    transform: translateY(-4px);
}
.woocommerce ul.products li.product a img {
    margin-bottom: 0 !important;
    border-radius: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 16px 20px 8px;
    font-size: 18px;
    margin: 0;
    font-weight: 700;
    color: #111827;
}
.woocommerce ul.products li.product .price {
    padding: 0 20px 16px;
    font-size: 17px;
    color: #8ba84a !important;
    font-weight: 600;
}
.woocommerce ul.products li.product .button {
    margin: 0 20px 20px;
    width: calc(100% - 40px);
    text-align: center;
}

/* ── WC Layout Width for Cart/Checkout ── */
.woocommerce-cart .woocommerce-layout,
.woocommerce-checkout .woocommerce-layout,
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ═══════════════════════════════════════════════════════
   WOOCOMMERCE BLOCKS – THEME OVERRIDES
   For modern Cart/Checkout blocks
   ═══════════════════════════════════════════════════════ */

/* Block Text & Typography */
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-product-name,
.wc-block-components-product-details,
.wc-block-components-product-price,
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__price {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 17px !important;
    color: #374151 !important;
}

/* Block Product Titles */
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
.wc-block-components-product-name {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    text-decoration: none !important;
}

/* Block Product Details (Description) */
.wc-block-components-product-details {
    font-size: 14px !important;
    color: #6b7280 !important;
    margin-top: 8px !important;
    line-height: 1.5 !important;
}

/* Block Table Padding */
.wc-block-cart-items th {
    padding: 16px 24px !important;
    color: #111827 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 14px !important;
    font-weight: 600 !important;
}
.wc-block-cart-items td {
    padding: 24px !important;
}

/* Block Prices & Totals */
.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-components-totals-item__value .wc-block-formatted-money-amount,
.wc-block-components-order-summary-item__price .wc-block-formatted-money-amount {
    color: #8ba84a !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

/* Block Form Inputs */
.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 input[type=url],
.wc-block-components-text-input input[type=password],
.wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea textarea {
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    background: #fff !important;
    color: #374151 !important;
    font-size: 15px !important;
    font-family: 'Inter', sans-serif !important;
    transition: all 0.28s ease !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus {
    border-color: #439dc1 !important;
    box-shadow: 0 0 0 3px rgba(67, 157, 193, 0.1) !important;
    outline: none !important;
}
.wc-block-components-text-input label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #6b7280 !important;
}

/* Block Layout Containers */
.wc-block-cart-items,
.wc-block-checkout-step,
.wc-block-components-order-summary {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 32px !important;
}

/* Block Headings */
.wc-block-checkout-step__title,
.wc-block-components-order-summary .wc-block-components-panel__button {
    font-size: 24px !important;
    color: #111827 !important;
    font-weight: 600 !important;
}

/* Block Quantity Selector */
.wc-block-components-quantity-selector {
    border-radius: 12px !important;
    border-color: #e5e7eb !important;
    background: #fff !important;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    color: #111827 !important;
}

/* Block Notices */
.wc-block-components-notice-banner {
    border-top: 4px solid #439dc1 !important;
    background-color: #f8fafc !important;
    border-radius: 0 0 12px 12px !important;
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #374151 !important;
}

/* Checkout Order Summary – Fix text breaking */
.wc-block-components-order-summary-item__name {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    white-space: normal !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    min-width: 120px !important;
}
.wc-block-components-order-summary-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
}
.wc-block-components-order-summary-item__description {
    min-width: 0 !important;
    flex: 1 !important;
    overflow: hidden !important;
}
.wc-block-components-order-summary-item__image {
    flex-shrink: 0 !important;
}
/* Make checkout summary column wider */
.wp-block-woocommerce-checkout-order-summary-block {
    min-width: 340px !important;
}
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__total-price {
    white-space: nowrap !important;
}

