/* ── SEARCH PAGE ─────────────────────────── */
.es-search-hero{padding:56px 0 48px;background:var(--cream)}
.es-search-heading{font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:400;color:var(--green-dk);margin-bottom:28px}
.es-search-form{max-width:560px;margin:0 auto 24px}
.es-search-form__field{display:flex;align-items:center;border:1.5px solid rgba(0,0,0,.1);border-radius:var(--radius-pill);overflow:hidden;background:var(--white);padding:0 8px 0 20px;transition:border-color .2s;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.es-search-form__field:focus-within{border-color:rgba(61,107,79,.35);box-shadow:0 0 0 3px rgba(61,107,79,.08)}
.es-search-form__icon{color:var(--text-mut);font-size:15px;flex-shrink:0;margin-right:12px}
.es-search-form__input{flex:1;border:none;background:transparent;font-size:15px;font-family:var(--sans);color:var(--text);outline:none;padding:16px 0;min-width:0}
.es-search-form__input::placeholder{color:var(--text-mut)}
.es-search-popular-label{font-size:12px;color:var(--text-mut);letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
.es-search-suggestions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.es-search-count{font-size:14px;color:var(--text-lt);margin:20px 0 24px}
.es-search-pill{padding:9px 20px;border-radius:var(--radius-pill);background:var(--cream-mid);border:1px solid rgba(0,0,0,.08);font-size:13px;color:var(--text-lt);display:inline-block;transition:all .2s;font-family:var(--sans)}.es-search-pill:hover{background:var(--green);color:var(--white);border-color:transparent}

/* ── SHOP PAGE (archive-product.php) ────── */
.es-shop-hero{background:linear-gradient(135deg,var(--green-lt),var(--cream-mid));padding:56px 0;text-align:center}
.es-shop-hero__desc{font-size:15px;color:var(--text-lt);max-width:480px;margin:12px auto 0;line-height:1.75}
.es-shop-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid rgba(0,0,0,.04);margin-bottom:28px;flex-wrap:wrap;gap:12px}
.es-shop-cats{display:flex;gap:8px;flex-wrap:wrap}.es-shop-cat{padding:8px 20px;border-radius:var(--radius-pill);font-size:12px;font-weight:400;background:rgba(0,0,0,.03);color:var(--text-lt);border:1px solid rgba(0,0,0,.06);transition:all .3s;text-decoration:none;font-family:var(--sans)}.es-shop-cat:hover,.es-shop-cat.is-active{background:var(--green);color:var(--white);border-color:transparent;font-weight:600}
.es-shop-sort{display:flex;align-items:center;gap:16px}
.woocommerce-result-count{font-size:12px;color:var(--text-mut);margin:0}
.woocommerce-ordering select{border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-pill);padding:8px 16px;font-size:12px;font-family:var(--sans);color:var(--text-lt);background:var(--white);outline:none;cursor:pointer}
.es-shop-pagination{text-align:center;padding:40px 0}.woocommerce-pagination ul{list-style:none;display:flex;gap:8px;justify-content:center;padding:0}.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:13px;font-weight:500;border:1px solid rgba(0,0,0,.08);color:var(--text-lt);transition:all .2s;background:var(--white)}.woocommerce-pagination ul li a:hover,.woocommerce-pagination ul li span.current{background:var(--green);color:var(--white);border-color:transparent}

/* ── PRODUCT LOOP CARD (content-product.php) */
/* Override WooCommerce's default float+width layout with CSS Grid */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:var(--gap)!important;list-style:none!important;padding:0!important;margin:0!important;float:none!important;clear:both}
.woocommerce ul.products li.product{float:none!important;width:auto!important;clear:none!important;margin:0!important;padding:0!important;position:relative}
.woocommerce ul.products li.product .es-product-card{display:block;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid rgba(0,0,0,.04);box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .5s var(--ease);color:inherit;text-decoration:none;width:100%}
.woocommerce ul.products li.product .es-product-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.08)}
.woocommerce ul.products li.product .es-product-card:hover .es-product-card__img img{transform:scale(1.06)}
@media(max-width:767px){.woocommerce ul.products{grid-template-columns:1fr 1fr!important;gap:12px!important}}

/* ── SINGLE PRODUCT PAGE ─────────────────── */
.single-product .product{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:32px 0 56px;align-items:start}
.single-product .woocommerce-product-gallery{border-radius:var(--radius);overflow:hidden}
.single-product .woocommerce-product-gallery__wrapper{border-radius:var(--radius);overflow:hidden}
.single-product .woocommerce-product-gallery__image img{width:100%;border-radius:var(--radius)}
.single-product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;padding:10px 0 0;margin:0}
.single-product .flex-control-thumbs li img{border-radius:12px;cursor:pointer;border:2px solid transparent;transition:border-color .2s;aspect-ratio:1;object-fit:cover;width:100%}
.single-product .flex-control-thumbs li img.flex-active{border-color:var(--gold)}
.single-product .product_title{font-family:var(--serif);font-size:30px;color:var(--green-dk);font-weight:400;margin-bottom:10px;line-height:1.15}
.single-product .price{font-family:var(--serif);font-size:28px;color:var(--green-dk);margin-bottom:20px;display:block}
.woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.star-rating{color:var(--gold);font-size:14px}.star-rating span::before{color:var(--gold)}
.woocommerce-review-link{font-size:13px;color:var(--text-lt)}
.single-product .woocommerce-product-details__short-description{font-size:14px;color:var(--text-lt);line-height:1.85;margin-bottom:24px}
.single-product .variations_form .variations{border:none;width:100%}.single-product .variations_form .variations tr{display:flex;flex-direction:column;margin-bottom:16px}.single-product .variations_form .variations label{font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px}.single-product .variations_form .variations td{border:none;padding:0}.single-product .variations_form .variations select{border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-pill);padding:10px 16px;font-size:14px;font-family:var(--sans);outline:none;width:100%;background:var(--white)}
.single-product .quantity{display:inline-flex;align-items:center;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-pill);overflow:hidden;margin-right:12px}
.single-product .quantity .qty{border:none;padding:12px 16px;font-size:14px;width:64px;text-align:center;font-family:var(--sans);outline:none}
.single-product .cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.single-product .single_add_to_cart_button{background:var(--green)!important;color:var(--white)!important;border:none!important;border-radius:var(--radius-pill)!important;padding:15px 36px!important;font-family:var(--sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:2px!important;text-transform:uppercase!important;cursor:pointer;transition:all .3s var(--ease)!important;box-shadow:0 4px 16px rgba(61,107,79,.2);flex:1}
.single-product .single_add_to_cart_button:hover{background:var(--green-dk)!important;box-shadow:0 8px 28px rgba(61,107,79,.3)}
.es-product-trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.es-product-trust span{font-size:12px;color:var(--text-lt)}
.woocommerce-tabs{margin-top:40px;border-top:1px solid rgba(0,0,0,.06);padding-top:32px}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:4px;margin:0 0 24px;padding:0;border-bottom:2px solid rgba(0,0,0,.06)}
.woocommerce-tabs ul.tabs li{padding:12px 24px;border-radius:8px 8px 0 0;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-lt);margin-bottom:-2px;border:none;background:transparent}.woocommerce-tabs ul.tabs li.active{background:var(--green);color:var(--white)}
.woocommerce-tabs .panel{font-size:14px;color:var(--text-lt);line-height:1.85}
.es-related-wrap{background:var(--cream-mid);padding:56px 0}
@media(max-width:767px){.single-product .product{grid-template-columns:1fr;gap:28px}}

/* ── CART + CHECKOUT PAGE ────────────────── */
/* Moved to assets/css/cart-checkout.css to avoid rule conflicts. */

/* ── ACCOUNT PAGE ────────────────────────── */
/* Account styles moved to assets/css/account.css */

/* ── PRODUCT IMAGE FALLBACK ──────────────── */
.es-product-card__img img[src=""],
.es-product-card__img img:not([src]) {
    visibility: hidden;
}

/* ── GLOBAL WC ───────────────────────────── */
.woocommerce-notices-wrapper{
    display:grid;
    gap:12px;
    margin:0 0 18px;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
    position:relative;
    list-style:none;
    margin:0;
    padding:14px 18px 14px 52px !important;
    border:1px solid rgba(61,107,79,.14) !important;
    border-top:1px solid rgba(61,107,79,.14) !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,rgba(232,240,228,.92),rgba(248,243,234,.96)) !important;
    color:var(--text) !important;
    box-shadow:0 8px 24px rgba(61,107,79,.06);
    font-family:var(--sans);
    font-size:13px;
    line-height:1.5;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
    position:absolute;
    left:18px;
    top:15px;
    width:22px;
    height:22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--sans);
    font-size:12px;
    font-weight:700;
    line-height:1;
}

.woocommerce-message::before{
    content:"✓";
    color:var(--white);
    background:var(--green);
}

.woocommerce-info::before{
    content:"i";
    color:var(--green-dk);
    background:rgba(61,107,79,.12);
}

.woocommerce-error{
    border-color:rgba(194,79,79,.18) !important;
    background:linear-gradient(180deg,rgba(255,243,241,.98),rgba(255,251,249,.98)) !important;
}

.woocommerce-error::before{
    content:"!";
    color:var(--white);
    background:#c24f4f;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{
    float:right;
    margin:0 0 0 12px;
    min-height:36px;
    padding:0 16px;
    border:none !important;
    border-radius:var(--radius-pill) !important;
    background:var(--green) !important;
    color:var(--white) !important;
    font-family:var(--sans);
    font-size:10px;
    font-weight:700;
    letter-spacing:1.2px;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:none !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a{
    color:var(--green);
    font-weight:600;
}

.woocommerce-message .restore-item,
.woocommerce-info .restore-item,
.woocommerce-error .restore-item{
    margin-left:8px;
}
.woocommerce ul.products li.product .button{background:var(--green);color:var(--white);border-radius:var(--radius-pill);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:10px 22px;border:none;cursor:pointer;transition:all .2s}.woocommerce ul.products li.product .button:hover{background:var(--green-dk)}

/* ── SINGLE PRODUCT POLISH ───────────────── */
.single-product .product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;max-width:1240px;margin:0 auto;padding:24px 0 48px}
.single-product .summary.entry-summary{padding-top:6px}
.single-product .product_title{font-size:clamp(30px,3vw,42px);line-height:1.08;margin-bottom:10px}
.single-product .price{font-size:clamp(28px,2.6vw,38px);margin-bottom:14px}
.single-product .woocommerce-product-details__short-description{margin-bottom:20px}
.single-product .woocommerce-product-details__short-description p{margin:0 0 10px}
.single-product .variations_form .variations tr{margin-bottom:12px}
.single-product .quantity{margin-right:8px}
.single-product .quantity .qty{min-height:46px;width:58px;padding:10px 12px}
.single-product .single_add_to_cart_button{min-height:46px;padding:0 28px!important;flex:0 0 auto}
.single-product .product_meta{margin-top:16px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06);font-size:12px;color:var(--text-mut)}
.single-product .product_meta a{color:var(--text-lt)}
.single-product .product_meta a:hover{color:var(--green)}
.single-product .woocommerce-tabs{margin-top:32px;padding-top:24px}
@media(max-width:1024px){.single-product .product{grid-template-columns:1fr;gap:28px}}
