/*
Theme Name: Aik Kopi
Theme URI: http://localhost/tokokopi
Author: Haiweb.id (Peri Aldi)
Author URI: https://haiweb.id
Description: A premium coffee e-commerce theme based on the Aik Kopi design.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aik-kopi
Tags: e-commerce, custom-colors, custom-menu, featured-images, translation-ready

This theme is designed to match the specific Tailwind CSS designs provided for Aik Kopi.
*/

/* Custom Pagination Styles */
.pagination {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 4rem;
}

.pagination ul {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
}

.pagination .page-numbers {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 1px solid #827472;
    /* outline color */
    color: #271310;
    /* primary color */
    font-weight: 600;
    transition: all 0.3s;
}

.pagination .page-numbers.current {
    background-color: #271310;
    color: white;
    border-color: #271310;
}

.pagination .page-numbers:hover:not(.current) {
    background-color: #efe8d2;
    /* surface-container-high */
}

.pagination .prev,
.pagination .next {
    padding: 0.5rem;
}

/* Material Symbols in Pagination */
.pagination .material-symbols-outlined {
    font-size: 24px;
}

/* Woocommerce overrides */
.woocommerce-product-gallery {
    opacity: 1 !important;
}

/* ==========================================
   Premium WooCommerce Checkout Styling
   ========================================== */

/* Input Fields & Textareas */
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100% !important;
    background-color: #fff9ea !important; /* surface color */
    border: 1px solid rgba(130, 116, 114, 0.4) !important; /* outline-variant */
    border-radius: 12px !important;
    padding: 12px 16px !important;
    color: #1e1c0e !important; /* on-surface */
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    transition: all 0.2s ease-in-out !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #b22c01 !important; /* secondary accent */
    box-shadow: 0 0 0 2px rgba(178, 44, 1, 0.15) !important;
    background-color: #ffffff !important;
}

/* Form labels */
.woocommerce-checkout label {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #271310 !important; /* primary */
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Checkbox Labels */
.woocommerce-checkout label.checkbox {
    display: inline-block !important;
    text-transform: none !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
    margin-left: 8px !important;
    cursor: pointer !important;
}

.woocommerce-checkout input[type="checkbox"] {
    border-radius: 4px !important;
    border-color: rgba(130, 116, 114, 0.5) !important;
    color: #b22c01 !important;
}

/* Form row spacing */
.woocommerce-checkout .form-row {
    margin-bottom: 18px !important;
}

/* Coupon info banner */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background-color: #f5eed7 !important; /* surface-container */
    border: 1px solid rgba(130, 116, 114, 0.2) !important;
    border-left: 4px solid #b22c01 !important; /* secondary accent */
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #271310 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    margin-bottom: 24px !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #b22c01 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: opacity 0.2s;
}

.woocommerce-form-coupon-toggle .woocommerce-info a:hover {
    opacity: 0.8;
}

/* Select2 Dropdowns (for destinations/regions) */
.select2-container--default .select2-selection--single {
    background-color: #fff9ea !important;
    border: 1px solid rgba(130, 116, 114, 0.4) !important;
    border-radius: 12px !important;
    height: 48px !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    outline: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1e1c0e !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    padding-left: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}

.select2-dropdown {
    background-color: #fff9ea !important;
    border: 1px solid rgba(130, 116, 114, 0.4) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(39, 19, 16, 0.08) !important;
    overflow: hidden !important;
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid rgba(130, 116, 114, 0.3) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    outline: none !important;
}

.select2-results__option {
    padding: 10px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1e1c0e !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #271310 !important;
    color: #ffffff !important;
}

/* Payment gateway boxes & choices */
.woocommerce-checkout-review-order .payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout-review-order .payment_methods li {
    background-color: #fff9ea !important; /* surface */
    border: 1px solid rgba(130, 116, 114, 0.15) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
    list-style: none !important;
    transition: border-color 0.2s;
}

.woocommerce-checkout-review-order .payment_methods li:hover {
    border-color: rgba(178, 44, 1, 0.3) !important;
}

.woocommerce-checkout-review-order .payment_methods li input[type="radio"] {
    margin-right: 12px !important;
    color: #b22c01 !important;
    border-color: rgba(130, 116, 114, 0.5) !important;
}

.woocommerce-checkout-review-order .payment_methods li label {
    display: inline-block !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #271310 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
}

.woocommerce-checkout-review-order .payment_box {
    background-color: #f5eed7 !important; /* surface-container */
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    color: #504442 !important;
    line-height: 1.6 !important;
    border: 1px solid rgba(130, 116, 114, 0.1) !important;
}

/* Privacy policy text */
.woocommerce-checkout-review-order .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: #504442 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    display: block !important;
}

/* Place Order button style */
.woocommerce-checkout-review-order button.button.alt {
    width: 100% !important;
    background-color: #271310 !important; /* primary */
    color: #ffffff !important;
    padding: 16px 24px !important;
    border-radius: 12px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    border: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(39, 19, 16, 0.15) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.woocommerce-checkout-review-order button.button.alt:hover {
    background-color: #b22c01 !important; /* secondary */
    box-shadow: 0 6px 16px rgba(178, 44, 1, 0.25) !important;
}

/* Billing & Shipping field layout optimizations */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-cols: repeat(12, minmax(0, 1fr)) !important;
    gap: 0 16px !important;
}

.woocommerce-checkout .form-row {
    grid-column: span 12 / span 12 !important;
}

@media (min-width: 768px) {
    .woocommerce-checkout .form-row-first {
        grid-column: span 6 / span 6 !important;
    }
    .woocommerce-checkout .form-row-last {
        grid-column: span 6 / span 6 !important;
    }
}

/* ==========================================
   Premium Single Product Detail Page Styling
   ========================================== */

/* Add to Cart Container spacing & flex */
.single-product div.product form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    flex-wrap: nowrap !important;
    max-width: 450px !important;
    width: 100% !important;
}

/* Quantity input container */
.single-product div.product form.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #fff9ea !important; /* surface color */
    border: 1px solid rgba(130, 116, 114, 0.4) !important; /* outline-variant */
    border-radius: 12px !important;
    padding: 0 4px !important;
    height: 48px !important;
    width: 70px !important;
    flex-shrink: 0 !important;
}

/* Quantity Input Field */
.single-product div.product form.cart .quantity input.qty {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #271310 !important; /* primary */
    padding: 0 !important;
    outline: none !important;
    -moz-appearance: textfield !important;
}

/* Hide Quantity Spinners */
.single-product div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Add to Cart Button override */
.single-product div.product form.cart button.single_add_to_cart_button.button {
    background-color: #271310 !important; /* primary color */
    color: #ffffff !important;
    height: 48px !important;
    padding: 0 24px !important;
    border-radius: 12px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(39, 19, 16, 0.15) !important;
    flex: 1 !important;
    flex-grow: 1 !important;
    min-width: 150px !important;
}

.single-product div.product form.cart button.single_add_to_cart_button.button:hover {
    background-color: #b22c01 !important; /* secondary */
    box-shadow: 0 6px 16px rgba(178, 44, 1, 0.25) !important;
}

/* Tasting Notes & Badges */
.single-product div.product .flex-wrap .bg-surface-variant {
    background-color: #efe8d2 !important; /* surface-container-high */
    border: 1px solid rgba(130, 116, 114, 0.15) !important;
    transition: all 0.2s ease !important;
}

.single-product div.product .flex-wrap .bg-surface-variant:hover {
    border-color: rgba(178, 44, 1, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* Taste Profile Visualizer Box */
.single-product div.product .bg-surface-container-lowest {
    background-color: #fff9ea !important; /* surface */
    border: 1px solid rgba(130, 116, 114, 0.15) !important;
    box-shadow: 0 4px 20px rgba(39, 19, 16, 0.04) !important;
}

/* Taste Bars and Tracks */
.single-product div.product .h-2.w-full.bg-surface-container {
    background-color: #efe8d2 !important; /* surface-container-high */
}

/* Specific WooCommerce Qty Input Overrides */
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty,
.single-product div.product form.cart .quantity input.qty {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: #271310 !important; /* primary */
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 600 !important;
}

/* Specific Sticky Overrides to prevent floating elements over footer */
.single-product .woocommerce-product-gallery,
.single-product div.product div.images {
    position: relative !important;
    top: 0 !important;
}

/* Breadcrumbs alignment and styles */
.single-product nav.font-label-sm.text-label-sm.text-on-surface-variant {
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.single-product nav.font-label-sm.text-label-sm.text-on-surface-variant a {
    color: #504442 !important; /* on-surface-variant */
    transition: color 0.2s;
}

/* Hide WooCommerce default breadcrumbs globally to prevent duplicates and layout misalignment */
.woocommerce-breadcrumb {
    display: none !important;
}

.single-product nav.font-label-sm.text-label-sm.text-on-surface-variant a:hover {
    color: #b22c01 !important; /* secondary */
}