/*
Theme Name: Espresso BD
Theme URI: https://espresso.bd
Author: espresso.bd
Description: A warm, minimal block theme for espresso.bd — a Bangladesh coffee gear shop. Built for WooCommerce.
Version: 1.5.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: espresso-bd
Tags: e-commerce, block-theme, full-site-editing, one-column
*/

/* Small polish on top of theme.json */
a { text-underline-offset: .18em; }
.wp-block-button__link { transition: background-color .2s ease, transform .2s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }

.eb-card { border: 1px solid var(--wp--preset--color--line); border-radius: 14px; background: var(--wp--preset--color--base); transition: box-shadow .2s ease, transform .2s ease; height: 100%; }
.eb-card:hover { box-shadow: 0 10px 28px rgba(59, 36, 24, .10); transform: translateY(-2px); }
.eb-card a { text-decoration: none; color: inherit; }

.eb-badge { display: inline-block; padding: .25rem .7rem; border-radius: 999px; background: var(--wp--preset--color--crema-light); color: var(--wp--preset--color--espresso); font-size: .8rem; font-weight: 600; letter-spacing: .02em; }

.eb-announce a { color: inherit; }

/* WooCommerce product grid (shortcode) */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { text-align: left; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; font-weight: 600; color: var(--wp--preset--color--ink); }
.woocommerce ul.products li.product .price { color: var(--wp--preset--color--espresso); font-weight: 700; font-size: 1.05rem; }
.woocommerce ul.products li.product a img { border-radius: 12px; background: var(--wp--preset--color--cream); }
.woocommerce ul.products li.product .button { border-radius: 999px; background: var(--wp--preset--color--espresso); color: #fff; }
.woocommerce ul.products li.product .button:hover { background: var(--wp--preset--color--ink); color: #fff; }

@media (max-width: 781px) {
  .eb-hide-mobile { display: none !important; }
}

/* Equal-height product cards with buttons aligned at the bottom */
.woocommerce ul.products li.product { display: flex; flex-direction: column; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--body); }

/* Logo */
.wp-block-site-logo img { height: auto; }
@media (max-width: 600px) { .wp-block-site-logo img { width: 135px !important; } }

/* Buy Now + Add to cart */
.single-product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.single-product form.cart.variations_form { display: block; }
.single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.single-product form.cart .button { margin: 0 !important; border-radius: 999px; padding: .85rem 1.8rem; font-weight: 700; }
.single-product form.cart .single_add_to_cart_button:not(.eb-buy-now) { background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--espresso) !important; border: 2px solid var(--wp--preset--color--espresso) !important; }
.single-product form.cart .eb-buy-now { background: var(--wp--preset--color--espresso) !important; color: #fff !important; border: 2px solid var(--wp--preset--color--espresso) !important; }
.single-product form.cart .eb-buy-now:hover { background: var(--wp--preset--color--ink) !important; }
@media (max-width: 600px) { .single-product form.cart .button { flex: 1 1 100%; text-align: center; } }

/* ---------- Simple checkout (v2) ---------- */
.eb-hidden-field { display: none !important; }
body.woocommerce-checkout .wp-block-post-content > .woocommerce,
body.woocommerce-checkout .is-layout-constrained > .woocommerce { max-width: 1120px !important; margin-left: auto !important; margin-right: auto !important; }
body.woocommerce-checkout .wp-block-post-title { display: none; }

/* coupon bar */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: #fff; border: 1px dashed #d9cdbf; border-radius: 12px; color: var(--wp--preset--color--muted); font-size: .92rem; padding: .8rem 1rem .8rem 2.8rem; margin-bottom: 1.25rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { color: var(--wp--preset--color--crema); top: .8rem; }
.woocommerce-checkout form.checkout_coupon { background: #fff; border: 1px solid var(--wp--preset--color--line) !important; border-radius: 12px; }

/* two-column layout */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.woocommerce-checkout form.checkout::before, .woocommerce-checkout form.checkout::after,
.woocommerce-checkout #customer_details::before, .woocommerce-checkout #customer_details::after { display: none !important; content: none !important; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
.woocommerce-checkout #order_review_heading { display: none; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 1; position: sticky; top: 1.5rem; }

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1.5rem; box-shadow: 0 6px 24px rgba(59, 36, 24, .05); box-sizing: border-box; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none !important; width: 100% !important; max-width: none; padding: 0; }
.woocommerce-checkout h3, .eb-box-title { font-family: var(--wp--preset--font-family--body); font-size: 1.1rem !important; font-weight: 700; color: var(--wp--preset--color--espresso); margin: 0 0 1.1rem !important; padding-bottom: .8rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.woocommerce-checkout .woocommerce-additional-fields > h3 { display: none; }

/* fields */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 4%; }
.woocommerce-checkout .form-row { margin: 0 0 1rem !important; padding: 0 !important; width: 100%; float: none !important; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 48% !important; }
.woocommerce-checkout .form-row label { font-weight: 600; font-size: .88rem; color: var(--wp--preset--color--ink); margin-bottom: .35rem; display: block; line-height: 1.3; }
.woocommerce-checkout .form-row .optional { font-weight: 400; color: var(--wp--preset--color--muted); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single { border: 1px solid #ddd2c4 !important; border-radius: 10px !important; padding: 0 .9rem !important; font-size: .98rem; background: #FCFAF7 !important; width: 100%; height: 48px !important; min-height: 48px; box-sizing: border-box; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
.woocommerce-checkout .form-row textarea { height: 84px !important; padding: .7rem .9rem !important; }
.woocommerce-checkout .form-row input.input-text:focus, .woocommerce-checkout .form-row textarea:focus, .woocommerce-checkout .select2-container--focus .select2-selection--single, .woocommerce-checkout .select2-container--open .select2-selection--single { border-color: var(--wp--preset--color--crema) !important; box-shadow: 0 0 0 3px rgba(200, 162, 122, .25) !important; outline: none; background: #fff !important; }
.woocommerce-checkout .select2-container { width: 100% !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px !important; padding: 0 !important; color: var(--wp--preset--color--ink); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 46px !important; top: 0 !important; right: 10px !important; }
.woocommerce-checkout ::placeholder { color: #a99c90; }

/* order review */
.eb-box-title { display: block; }
.woocommerce-checkout #order_review table.shop_table { border: 0 !important; margin: 0 0 1rem !important; border-collapse: collapse; width: 100%; font-size: .95rem; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { border: 0 !important; border-top: 1px solid var(--wp--preset--color--line) !important; padding: .7rem 0 !important; background: none !important; vertical-align: middle; }
.woocommerce-checkout #order_review table.shop_table tbody tr:first-child td { border-top: 0 !important; }
.woocommerce-checkout #order_review td.product-name { font-weight: 500; line-height: 1.35; padding-right: .75rem !important; }
.woocommerce-checkout #order_review td.product-total, .woocommerce-checkout #order_review tfoot td { text-align: right; white-space: nowrap; font-weight: 600; }
.woocommerce-checkout #order_review tfoot th { font-weight: 500; color: var(--wp--preset--color--muted); text-align: left; }
.woocommerce-checkout #order_review .eb-thumb { display: flex; align-items: center; gap: .75rem; }
.woocommerce-checkout #order_review .eb-thumb img { width: 52px; height: 52px; object-fit: cover; border-radius: 10px; border: 1px solid var(--wp--preset--color--line); flex: 0 0 52px; }
.woocommerce-checkout #order_review .product-quantity { color: var(--wp--preset--color--muted); font-weight: 600; white-space: nowrap; }
.woocommerce-checkout #order_review ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.woocommerce-checkout #order_review ul#shipping_method li { margin: 0; text-align: right; font-weight: 600; }
.woocommerce-checkout #order_review ul#shipping_method label { font-weight: 600; }
.woocommerce-checkout #order_review .woocommerce-shipping-totals td { white-space: normal; }
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td { font-size: 1.2rem; color: var(--wp--preset--color--espresso) !important; font-weight: 800 !important; border-top: 2px solid var(--wp--preset--color--espresso) !important; }

/* payment */
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; border: 0 !important; margin: 0 0 1rem !important; }
.woocommerce-checkout #payment ul.payment_methods li { list-style: none; background: var(--wp--preset--color--cream); border: 2px solid var(--wp--preset--color--crema); border-radius: 12px; padding: .8rem 1rem !important; margin: 0 !important; font-weight: 700; line-height: 1.4; }
.woocommerce-checkout #payment ul.payment_methods li input { margin-right: .5rem; accent-color: var(--wp--preset--color--espresso); }
.woocommerce-checkout #payment div.payment_box { background: transparent !important; padding: .25rem 0 0 !important; margin: 0 !important; font-weight: 400; font-size: .88rem; color: var(--wp--preset--color--muted); }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p { margin: 0; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: .78rem !important; line-height: 1.5; color: var(--wp--preset--color--muted); margin: 0 0 1rem; }
.woocommerce-checkout #place_order { width: 100%; float: none; background: var(--wp--preset--color--espresso) !important; color: #fff !important; border: 0; border-radius: 12px; padding: 1rem; font-size: 1.08rem; font-weight: 700; line-height: 1.3; }
.woocommerce-checkout #place_order:hover { background: var(--wp--preset--color--ink) !important; }
.eb-trust { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; font-size: .8rem; color: var(--wp--preset--color--muted); margin-top: .85rem; }

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 600px) {
  .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100% !important; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { padding: 1.1rem; }
}

.woocommerce-checkout .eb-qty { color: var(--wp--preset--color--muted); font-size: .8rem; font-weight: 500; }
.eb-trust { display: flex !important; flex-direction: row; justify-content: center; gap: .5rem 1.1rem; flex-wrap: wrap; width: 100%; clear: both; }
.eb-trust span { white-space: nowrap; }
.woocommerce-checkout .wc-block-components-notice-banner.is-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner { background: #fff !important; border: 1px dashed #d9cdbf !important; border-radius: 12px !important; color: var(--wp--preset--color--muted) !important; font-size: .92rem; }
.woocommerce-checkout .wc-block-components-notice-banner.is-info > svg { background: var(--wp--preset--color--crema) !important; fill: #fff; }
.woocommerce-checkout .wc-block-components-notice-banner a { color: var(--wp--preset--color--espresso) !important; font-weight: 600; }
.woocommerce-checkout #order_review .woocommerce-shipping-totals th { white-space: nowrap; }

/* ---------- Track order ---------- */
.eb-track { max-width: 640px; margin: 0 auto; }
.eb-track-form, .eb-track-result { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1.5rem; box-shadow: 0 6px 24px rgba(59,36,24,.05); }
.eb-track-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.eb-track-form label { display: block; font-weight: 600; font-size: .88rem; }
.eb-track-form input { display: block; width: 100%; box-sizing: border-box; margin-top: .35rem; height: 48px; border: 1px solid #ddd2c4; border-radius: 10px; padding: 0 .9rem; font-size: 1rem; background: #FCFAF7; }
.eb-track-form input:focus { outline: none; border-color: var(--wp--preset--color--crema); box-shadow: 0 0 0 3px rgba(200,162,122,.25); background: #fff; }
.eb-track-btn { width: 100%; margin-top: 1rem; background: var(--wp--preset--color--espresso); color: #fff; border: 0; border-radius: 12px; padding: .95rem; font-size: 1.02rem; font-weight: 700; cursor: pointer; }
.eb-track-btn:hover { background: var(--wp--preset--color--ink); }
.eb-track-help { font-size: .8rem; color: var(--wp--preset--color--muted); margin: .75rem 0 0; text-align: center; }
.eb-track-error { margin-top: 1rem; background: #FDF1EE; border: 1px solid #F0C9BE; color: #8A2E1A; border-radius: 12px; padding: .85rem 1rem; font-size: .92rem; }
.eb-track-result { margin-top: 1.25rem; }
.eb-track-head { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.eb-track-head span { display: block; font-size: .78rem; }
.eb-muted { color: var(--wp--preset--color--muted); }
.eb-status { color: var(--wp--preset--color--espresso); }
.eb-status-cancelled, .eb-status-failed, .eb-status-refunded { color: #8A2E1A; }
.eb-steps { list-style: none; margin: 1.5rem 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.eb-steps::before { content: ""; position: absolute; top: 15px; left: 12.5%; right: 12.5%; height: 3px; background: var(--wp--preset--color--line); }
.eb-steps li { position: relative; text-align: center; font-size: .78rem; color: var(--wp--preset--color--muted); }
.eb-steps .dot { position: relative; z-index: 1; display: inline-flex; width: 32px; height: 32px; border-radius: 50%; align-items: center; justify-content: center; background: #fff; border: 2px solid var(--wp--preset--color--line); font-weight: 700; margin-bottom: .4rem; }
.eb-steps li.done .dot { background: var(--wp--preset--color--espresso); border-color: var(--wp--preset--color--espresso); color: #fff; }
.eb-steps li.current .lbl { color: var(--wp--preset--color--espresso); font-weight: 700; }
.eb-steps .lbl { display: block; line-height: 1.3; }
.eb-track-item { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-top: 1px solid var(--wp--preset--color--line); font-size: .93rem; }
.eb-track-item:first-child { border-top: 0; }
.eb-track-item.eb-total { font-weight: 800; color: var(--wp--preset--color--espresso); border-top: 2px solid var(--wp--preset--color--espresso); }
.eb-thanks-track { background: var(--wp--preset--color--crema-light); border-radius: 12px; padding: .9rem 1rem; }
@media (max-width: 600px) { .eb-track-fields, .eb-track-head { grid-template-columns: 1fr; } .eb-steps { font-size: .7rem; } }
