/*
Theme Name: DigitalCurator
Theme URI: https://example.com/digitalcurator
Author: Antigravity
Description: A premium, dynamic WordPress WooCommerce theme for digital marketplaces.
Version: 1.0.0
*/

/* Performance Optimization for GSAP */
.gsap-reveal, h1, h2, h3, .product, .card-item {
    will-change: transform, opacity;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media (max-width: 768px) {
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ================================================================
   WooCommerce Form Styling — Matches HTML Mockup Design
   ================================================================ */

/* Form rows: label + input stacked */
.woocommerce-checkout .form-row { @apply mb-6 flex flex-col gap-2 w-full !important; }
.woocommerce-checkout .form-row label,
.woocommerce-checkout .form-row label.checkbox { @apply font-label text-xs font-bold uppercase tracking-wider text-on-surface-variant mb-0 !important; }
.woocommerce-checkout .form-row span.required { @apply text-error !important; }

/* Inputs: surface-container-low bg, no border, rounded-sm */
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.select2-container--default .select2-selection--single {
    background-color: #eff4ff !important;
    border: none !important;
    border-radius: 0.125rem !important;
    padding: 1rem !important;
    color: #0b1c30 !important;
    font-size: 0.875rem !important;
    width: 100% !important;
    height: auto !important;
    transition: box-shadow 0.2s !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px #0051c3 !important;
}

/* Select2 */
.select2-container--default .select2-selection--single .select2-selection__rendered { @apply p-0 leading-normal !important; color: #0b1c30 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; right: 1rem !important; }
.select2-dropdown { @apply border-none shadow-xl overflow-hidden mt-2 !important; border-radius: 0.5rem !important; }
.select2-results__option { @apply p-3 text-sm transition-colors !important; }
.select2-results__option--highlighted[aria-selected] { background-color: #003b93 !important; color: #fff !important; }

/* Inline address rows (half width) */
.woocommerce-checkout .form-row-first { width: calc(50% - 1rem) !important; float: left !important; clear: left !important; }
.woocommerce-checkout .form-row-last { width: calc(50% - 1rem) !important; float: right !important; }
.woocommerce-checkout .form-row-wide { width: 100% !important; float: none !important; clear: both !important; }

/* Order Review table — hidden (we render it custom) */
.woocommerce-checkout-review-order-table { @apply w-full border-none !important; }
.woocommerce-checkout-review-order-table thead { @apply hidden !important; }
.woocommerce-checkout-review-order-table tr { @apply border-none !important; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { @apply py-2 border-none !important; }

/* Payment Methods — styled via PHP template, hide WC defaults */
#payment ul.payment_methods { @apply p-0 list-none !important; margin: 0 !important; }
#payment ul.payment_methods li { @apply p-0 border-none bg-transparent shadow-none !important; list-style: none !important; }
#payment ul.payment_methods li label { @apply block cursor-pointer !important; }
#payment ul.payment_methods li .payment_box { @apply bg-surface-container-lowest p-6 rounded-xl mt-2 text-sm text-on-surface-variant !important; }

/* Place Order Button */
#place_order.button,
.woocommerce-checkout #place_order {
    background: linear-gradient(to right, #003b93, #0051c3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0.375rem !important;
    padding: 1.25rem 1.5rem !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Buttons (Color Full Upgrade) */
.single_add_to_cart_button.button,
.add_to_cart_button.button,
.woocommerce-button.button,
.woocommerce-checkout #place_order {
    @apply w-full py-6 md:py-8 bg-gradient-to-r from-fuchsia-600 via-purple-600 to-indigo-700 text-white font-black text-[11px] md:text-[13px] rounded-2xl shadow-[0_20px_60px_rgba(192,38,211,0.25)] hover:shadow-[0_25px_70px_rgba(192,38,211,0.4)] hover:-translate-y-1 active:scale-95 transition-all duration-500 flex items-center justify-center gap-4 border-none !important opacity-100 !important cursor-pointer uppercase tracking-[0.25em] outline-none;
}

/* Loop Add to Cart Icon */
.products .product a.add_to_cart_button { @apply w-12 h-12 flex items-center justify-center p-0 rounded-xl bg-slate-900 !important text-white !important hover:bg-primary transition-colors !important shadow-lg shadow-slate-900/10 !important; }
.products .product a.add_to_cart_button::before { content: "shopping_cart"; font-family: 'Material Symbols Outlined'; font-size: 1.25rem; }
.products .product a.add_to_cart_button.loading { @apply opacity-50 cursor-not-allowed !important; }
.products .product a.add_to_cart_button.added::after { @apply hidden !important; }

/* Quantity */
.quantity .qty { @apply w-16 md:w-20 bg-slate-50 border-slate-100 rounded-xl py-4 md:py-5 px-4 text-sm font-black focus:ring-0 transition-all border mr-4; }

/* Cart Page */
.woocommerce-cart-form { @apply bg-white p-8 md:p-12 rounded-[2rem] shadow-2xl shadow-primary/5 border border-slate-100 mb-20; }
.shop_table.cart { @apply w-full border-none !important; }
.shop_table.cart thead th { @apply text-[10px] font-black uppercase tracking-[0.3em] text-slate-300 py-6 border-none !important; }
.shop_table.cart .cart_item td { @apply py-8 border-b border-slate-50 !important; }
.shop_table.cart .product-thumbnail img { @apply w-20 h-20 rounded-xl object-cover shadow-sm border border-slate-100; }
.shop_table.cart .product-name a { @apply text-lg font-black text-slate-900 hover:text-primary transition-colors; }
.shop_table.cart .product-price, .shop_table.cart .product-subtotal { @apply font-black text-slate-800 text-lg; }
.shop_table.cart .actions { @apply pt-10 flex flex-col md:flex-row gap-4 justify-between !important; }
.shop_table.cart .actions .coupon { @apply flex gap-3; }
.shop_table.cart .actions .coupon input { @apply bg-slate-50 border-slate-100 rounded-xl px-6 min-w-[200px] text-xs font-bold font-manrope; }

.cart-collaterals { @apply mt-20 md:max-w-md ml-auto; }
.cart-collaterals .cart_totals { @apply bg-slate-50 p-10 rounded-3xl border border-slate-100; }
.cart-collaterals h2 { @apply text-2xl font-black mb-8 tracking-tight; }
.cart-collaterals .shop_table tr th, .cart-collaterals .shop_table tr td { @apply py-6 border-b border-white/50 !important text-left; }
.cart-collaterals .order-total th, .cart-collaterals .order-total td { @apply pt-8 border-none !important font-black text-2xl text-slate-900; }
.cart-collaterals .wc-proceed-to-checkout { @apply mt-10; }

/* Misc Overrides */
/* Misc Overrides & Sorting */
.woocommerce-ordering { margin: 0 !important; }
.woocommerce-ordering select { 
    @apply border-none bg-transparent p-0 pl-2 font-black text-xs md:text-sm uppercase tracking-widest text-primary cursor-pointer focus:ring-0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Sidebar Widgets */
.widget { @apply mb-12; }
.widget h2, .widget h3, .widget-title { 
    @apply text-xs font-black uppercase tracking-[0.2em] text-slate-400 mb-6 flex items-center gap-3 !important; 
}
.widget h2::before, .widget h3::before, .widget-title::before { 
    content: "filter_list";
    font-family: 'Material Symbols Outlined';
    font-size: 1rem;
    color: var(--primary);
}

.widget ul { @apply space-y-3 p-0 list-none !important; }
.widget ul li { @apply flex items-center gap-3 transition-all !important; }
.widget ul li a { 
    @apply text-sm font-bold text-slate-600 hover:text-primary transition-colors !important; 
}
.widget ul li .count { 
    @apply ml-auto text-[10px] font-black font-mono text-slate-300;
}

/* Layered Nav Checkboxes Style */
.woocommerce-widget-layered-nav-list__item a::before {
    content: "";
    @apply w-4 h-4 rounded-sm border-2 border-slate-200 inline-block align-middle mr-3 transition-all;
}
.woocommerce-widget-layered-nav-list__item--chosen a::before {
    @apply bg-primary border-primary;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-size: 10px;
    background-position: center;
    background-repeat: no-repeat;
}

/* WooCommerce Mini-Cart Overhaul */
.widget_shopping_cart_content {
    @apply flex flex-col h-full;
}

.woocommerce-mini-cart__total.total {
    @apply pt-10 border-t border-slate-100 flex justify-between items-center px-4 font-black text-slate-900 text-lg md:text-xl tracking-tight !important;
}

.woocommerce-mini-cart__total.total .amount {
    @apply text-primary font-black scale-110 !important;
}

.woocommerce-mini-cart__buttons.buttons {
    @apply mt-8 flex flex-col gap-4 !important;
}

/* Fix Checkout/Cart Button Separation */
.woocommerce-mini-cart__buttons.buttons a {
    @apply w-full py-5 px-6 rounded-2xl font-black text-[11px] uppercase tracking-widest text-center shadow-2xl transition-all duration-300 hover:scale-[0.98] active:scale-95 italic !important;
}

.woocommerce-mini-cart__buttons.buttons a.checkout {
    @apply bg-primary text-white shadow-primary/20 !important;
}

.woocommerce-mini-cart__buttons.buttons a:not(.checkout) {
    @apply bg-slate-50 text-slate-400 hover:text-slate-900 border border-transparent hover:border-slate-100 !important;
}

/* Ensure no overlap */
.woocommerce-mini-cart__total, .woocommerce-mini-cart__buttons {
    display: flex !important;
    clear: both !important;
}

input:focus, textarea:focus, select:focus { outline: none !important; box-shadow: none !important; }

/* Single Product Specifics */
.summary form.cart { @apply flex items-center mb-0 !important; }
.summary form.cart .button { @apply w-full !important; }
.single-product .product_title { @apply hidden; } /* Hidden because we show it in hero */
.single-product .woocommerce-product-details__short-description { @apply hidden; }
.single-product .price { @apply hidden; }
.single-product span.price { @apply inline-block !important; } /* Only show in grids */
/* ================================================================
   Boutique Animations & Effects
   ================================================================ */

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

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

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

.animate-shimmer { animation: shimmer 3s infinite linear; }
.animate-float { animation: float 4s ease-in-out infinite; }
.slide-up { animation: slideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

/* Custom Scrollbar Utility */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Global Responsive Adjustments */
@media (max-width: 640px) {
    .site-main { padding-top: 4rem !important; padding-bottom: 4rem !important; }
    h1 { font-size: 2.5rem !important; line-height: 1 !important; }
    h2 { font-size: 2rem !important; line-height: 1.1 !important; }
    .hero-search-bar { flex-direction: column !important; padding: 1rem !important; }
    .hero-search-bar button { width: 100% !important; }
    .p-10, .p-12, .p-24, .p-32 { padding: 1.5rem !important; }
    .py-24, .py-32 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
}

@media (max-width: 1024px) {
    .sticky { position: relative !important; top: 0 !important; }
}

/* Woocommerce Checkout Responsiveness */
.woocommerce-checkout .col2-set {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2rem !important;
    margin-bottom: 3rem !important;
}

.woocommerce-checkout .col2-set .col-1, 
.woocommerce-checkout .col2-set .col-2 {
    flex: 1 1 400px !important;
    max-width: 100% !important;
}

@media (max-width: 1024px) {
    .woocommerce-checkout .col2-set {
        flex-direction: column !important;
    }
    .woocommerce-checkout #order_review, 
    .woocommerce-checkout #order_review_heading {
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }
}

/* Premium Checkout Form Styling */
.woocommerce-checkout input.input-text, 
.woocommerce-checkout select, 
.woocommerce-checkout textarea {
    @apply w-full px-5 py-4 bg-slate-100 border-none rounded-2xl text-sm font-bold text-slate-900 focus:ring-2 focus:ring-primary/20 transition-all !important;
}

.woocommerce-checkout .form-row {
    @apply mb-4 !important;
}

.woocommerce-checkout-payment {
    @apply bg-white rounded-3xl p-6 md:p-8 shadow-2xl shadow-primary/5 border border-slate-100 mt-8 !important;
}

.woocommerce-checkout #place_order {
    @apply w-full py-5 bg-primary text-white rounded-2xl font-black text-xs md:text-sm uppercase tracking-widest shadow-2xl shadow-primary/20 hover:scale-[0.98] transition-all !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

@media (min-width: 768px) {
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 48% !important;
        float: left !important;
    }
    .woocommerce-checkout .form-row-last {
        float: right !important;
    }
    .woocommerce-checkout .form-row-wide {
        clear: both !important;
        width: 100% !important;
    }
}
