/* Emil Trading: scoped overrides. Native menus and checkout controls remain intact. */
.emil-storefront { --es-blue:#246aa1; --es-navy:#123751; --es-light:#edf5fa; --es-border:#dce5ec; --es-text:#253f51; --es-muted:#5c7180; color:var(--es-text); }
.emil-storefront .site-header { background:#fff; box-shadow:0 3px 18px #1237510a; }
.emil-storefront .site-header .search-form { border-radius:10px; overflow:hidden; border-color:#dce5ec; }
.emil-storefront .site-header .header-search-advanced,.emil-storefront .site-header .search-form input { min-width:0; max-width:100%; }
.emil-storefront .site-header .search-form input { min-height:46px; font-size:16px; }
.emil-storefront .site-header .header-button,.emil-storefront .site-header .search-form button { border-radius:8px; }
.emil-storefront .vertical-navigation .vertical-navigation-header { border-radius:9px 9px 0 0; }
.emil-storefront .vertical-navigation .vertical-menu-container { border:1px solid var(--es-border); border-radius:0 0 10px 10px; box-shadow:0 12px 28px #173f5510; }
.emil-storefront .vertical-navigation .menu-item>a { transition:background-color .15s,color .15s; }
.emil-storefront .vertical-navigation .menu-item>a:hover { background:#edf5fa; color:#1a5e91; }
.emil-storefront .woocommerce ul.products li.product:not(.product-category) { background:white; border:1px solid var(--es-border); border-radius:13px; overflow:hidden; box-shadow:0 3px 10px #12375105; transition:box-shadow .2s,border-color .2s; }
.emil-storefront .woocommerce ul.products li.product:not(.product-category):hover { border-color:#a9c6dc; box-shadow:0 12px 28px #12375112; }
.emil-storefront .woocommerce ul.products li.product .product-details { padding:16px; }
.emil-storefront .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px; line-height:1.5; font-weight:650; color:#193e59; }
.emil-storefront .woocommerce ul.products li.product .price { font-size:18px; color:#183f5a; font-weight:700; }
.emil-storefront .woocommerce ul.products li.product .price del { font-weight:400; font-size:14px; color:#657583; }
.emil-storefront .woocommerce ul.products li.product img { object-fit:contain; }
.emil-storefront .woocommerce ul.products li.product .product-thumbnail { padding:16px; background:#fff; }
.emil-storefront .woocommerce ul.products li.product .button,.emil-storefront .woocommerce button.button,.emil-storefront .woocommerce a.button { border-radius:8px; min-height:44px; line-height:1.4; white-space:normal; }
.emil-storefront .woocommerce .onsale { border-radius:6px; }
.emil-storefront .woocommerce div.product .summary .price { color:#174b72; font-size:28px; }
.emil-storefront .woocommerce div.product .summary { line-height:1.7; }
.emil-storefront .woocommerce div.product form.cart .single_add_to_cart_button { min-height:50px; border-radius:9px; }
.emil-storefront .woocommerce div.product .woocommerce-tabs { border:1px solid var(--es-border); border-radius:12px; padding:20px; background:#fff; }
.emil-storefront :where(a,button,input,select,textarea):focus-visible,.es-home :where(a,button):focus-visible { outline:3px solid #ed9b27; outline-offset:3px; }
.emil-storefront .site-footer { border-top:1px solid var(--es-border); }
.emil-storefront .woocommerce form :where(input.input-text,textarea,select),.es-registration :where(input,select) { font-size:16px; min-height:46px; border:1px solid #c9d8e3; border-radius:8px; padding:11px 12px; background:#fff; color:#183f5a; max-width:100%; }
.emil-storefront .woocommerce form label { font-size:14px; font-weight:600; color:#233f54; }
.emil-storefront .woocommerce form :where(input.input-text,textarea,select):focus { border-color:#246aa1; box-shadow:0 0 0 3px #246aa117; }
.es-registration { clear:both; }
.es-registration h3 { font-size:24px; margin:0 0 8px; }
.es-registration>p { color:#5a6d7c; line-height:1.6; }
.es-registration .form-row { float:none; width:100%; }
.es-vies-feedback { display:block; margin:8px 0 0; font-size:14px; padding:9px 11px; border-radius:7px; background:#edf5fa; color:#174b72; line-height:1.5; }
.es-vies-feedback[data-state="valid"] { background:#ebf6ee; color:#205c34; }
.es-vies-feedback[data-state="invalid"] { background:#fff0ef; color:#972e27; }
.es-vies-feedback[data-state="unavailable"] { background:#fff6df; color:#75520c; }
.es-vies-feedback:empty { display:none; }
.es-home { max-width:1320px; margin:0 auto; color:#183b54; font-family:inherit; }
.es-home * { box-sizing:border-box; }
.es-home a { text-decoration:none; }
.es-home p { line-height:1.65; }
.es-home h1,.es-home h2,.es-home h3 { color:#153951; letter-spacing:-.035em; }
.es-hero { display:grid; grid-template-columns:1.1fr 1fr; overflow:hidden; border:1px solid #dfebf2; border-radius:18px; background:#eef5fa; }
.es-hero-copy { padding:clamp(25px,4vw,60px); }
.es-eyebrow { font-size:11px; line-height:1.4; letter-spacing:.13em; font-weight:750; color:#386e94; margin:0 0 13px; }
.es-hero h1 { font-size:clamp(32px,3.6vw,53px); line-height:1.08; margin:0 0 20px; font-weight:750; }
.es-hero-copy>p:not(.es-eyebrow) { font-size:16px; max-width:390px; color:#526b7c; margin-bottom:25px; }
.es-hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.es-home .es-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; background:#246aa1; color:#fff; padding:14px 19px; font-size:14px; font-weight:700; border-radius:8px; min-height:48px; text-align:center; transition:background .2s; }
.es-home .es-button:hover { background:#174e79; color:#fff; }
.es-home .es-button-light { color:#1f5d8d; background:#fff; border:1px solid #c6d9e7; }
.es-home .es-button-light:hover { background:#e2edf6; color:#143b57; }
.es-hero-caption { display:block; margin-top:25px; font-size:12px; color:#526b7c; }
.es-hero-visual { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:35px; min-width:0; background:radial-gradient(ellipse at 65% 30%,#fff 0%,#e2eef6 70%); }
.es-hero-visual img { width:100%; max-height:330px; object-fit:contain; mix-blend-mode:multiply; }
.es-visual-label { text-transform:uppercase; font-size:11px; letter-spacing:.16em; color:#456f8b; }
.es-visual-fallback { font-size:clamp(28px,4vw,56px); font-weight:750; line-height:1.15; color:#246aa1; }
.es-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #dfe7ed; padding:25px 0; margin-bottom:42px; gap:18px; }
.es-services>div { padding:0 18px; border-right:1px solid #dfe7ed; }
.es-services>div:last-child { border:0; }
.es-services strong { display:block; font-size:13px; margin-bottom:4px; }
.es-services span { display:block; color:#667987; font-size:12px; }
.es-section { margin:0 0 48px; }
.es-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; margin-bottom:22px; }
.es-section-heading h2 { font-size:clamp(24px,2.5vw,32px); line-height:1.2; margin:0; }
.es-section-heading .es-eyebrow { margin-bottom:7px; }
.es-section-heading>a { font-size:13px; font-weight:700; color:#246aa1; padding:10px 0; }
.es-collections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.es-collection { border:1px solid #dce5ec; border-radius:12px; padding:20px; color:#183b54; background:white; transition:border-color .2s,box-shadow .2s; }
.es-collection:hover { border-color:#8eb4cf; box-shadow:0 10px 25px #183b540d; }
.es-collection-image { height:145px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.es-collection-image img { width:100%; height:100%; object-fit:contain; }
.es-collection h3 { font-size:17px; line-height:1.25; margin:0 0 8px; }
.es-collection p { font-size:13px; margin:0 0 18px; color:#607482; }
.es-collection>span { font-size:12px; font-weight:700; color:#246aa1; }
.es-home ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px!important; }
.es-home ul.products::before,.es-home ul.products::after { display:none!important; }
.es-home ul.products li.product { width:auto!important; margin:0!important; min-width:0; }
.es-brand-panel { display:grid; grid-template-columns:1fr 1fr; background:#123c59; border-radius:16px; padding:38px; margin:0 0 48px; gap:30px; }
.es-brand-panel h2 { color:#fff; font-size:34px; margin:0 0 15px; line-height:1.15; }
.es-brand-panel p { color:#d2e1ec; font-size:14px; max-width:350px; }
.es-brand-panel .es-eyebrow { color:#9ec8e6; }
.es-brand-names { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:18px; }
.es-brand-names>span { font-size:34px; line-height:1; letter-spacing:-.05em; font-weight:800; color:#fff; }
.es-brand-names>span>span { color:#90c4e7; }
.es-help { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:28px; background:#f0f6fa; border:1px solid #dae7ef; border-radius:12px; margin-bottom:30px; }
.es-help h2 { font-size:25px; margin:0 0 8px; }
.es-help p { font-size:14px; margin:0; max-width:650px; color:#526b7c; }
.emil-checkout form.checkout { max-width:1260px; margin:0 auto; }
.emil-checkout .woocommerce-billing-fields,.emil-checkout .woocommerce-shipping-fields,.emil-checkout .woocommerce-additional-fields { background:white; border:1px solid #dce5ec; border-radius:12px; padding:24px; margin-bottom:20px; }
.emil-checkout .woocommerce-billing-fields h3 { font-size:24px; margin-bottom:12px; }
.emil-checkout .es-checkout-intro { color:#5a6d7c; font-size:14px; margin-bottom:25px; }
.emil-checkout #order_review { background:#f6f9fb; border:1px solid #dce5ec; border-radius:12px; padding:22px; }
.emil-checkout #payment { background:transparent; }
.emil-checkout #payment .payment_box { background:#eaf2f8; border-radius:8px; font-size:14px; }
.emil-checkout #place_order { width:100%; min-height:52px; background:#246aa1; color:#fff; border-radius:9px; font-size:16px; white-space:normal; }
.emil-checkout .form-row { margin-bottom:15px; }
.emil-checkout .form-row label { display:block; }
.emil-checkout .form-row .description { font-size:12px; line-height:1.5; color:#607080; }
.emil-checkout .wc-block-checkout { --wc-form-border-color:#c9d8e3; }
.emil-checkout .wc-block-checkout input,.emil-checkout .wc-block-checkout select,.emil-checkout .wc-block-checkout textarea { font-size:16px; }
.emil-checkout .wc-block-components-checkout-place-order-button { min-height:52px; border-radius:9px; background:#246aa1; color:#fff; }
@media (min-width:1025px) {
    .emil-checkout form.checkout #customer_details { width:58%; float:left; }
    .emil-checkout form.checkout #customer_details .col-1,.emil-checkout form.checkout #customer_details .col-2 { width:100%; float:none; }
    .emil-checkout form.checkout #order_review_heading,.emil-checkout form.checkout #order_review { width:39%; float:right; clear:right; }
    .emil-checkout form.checkout::after { content:""; display:table; clear:both; }
}
@media (max-width:1024px) {
    .es-hero-copy { padding:30px; }
    .es-hero-visual { padding:25px; }
    .es-collections,.es-home ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .emil-checkout #customer_details,.emil-checkout #order_review_heading,.emil-checkout #order_review,.emil-checkout .col2-set .col-1,.emil-checkout .col2-set .col-2 { width:100%; float:none; }
    .emil-storefront #mobile-header { background:#fff; border-bottom:1px solid #dce5ec; }
    .emil-storefront .mobile-navigation a { min-height:46px; display:flex; align-items:center; }
}
@media (max-width:600px) {
    .es-hero { grid-template-columns:1fr; border-radius:12px; }
    .es-hero-copy { padding:25px 22px; }
    .es-hero h1 { font-size:36px; }
    .es-hero-copy>p:not(.es-eyebrow) { font-size:15px; }
    .es-hero-visual { min-height:190px; padding:20px 35px; }
    .es-hero-visual img { max-height:210px; }
    .es-hero-caption { margin-top:18px; }
    .es-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 5px; padding:22px 0; margin-bottom:30px; }
    .es-services>div { padding:0 10px; border:0; }
    .es-services strong { font-size:12px; }
    .es-services span { font-size:11px; }
    .es-section { margin-bottom:32px; }
    .es-section-heading { align-items:flex-start; flex-direction:column; gap:5px; margin-bottom:16px; }
    .es-section-heading h2 { font-size:26px; }
    .es-collections,.es-home ul.products { gap:10px!important; }
    .es-collection { padding:13px; border-radius:10px; }
    .es-collection-image { height:100px; margin-bottom:13px; }
    .es-collection h3 { font-size:16px; }
    .es-collection p { font-size:12px; }
    .es-collection>span { font-size:11px; }
    .es-brand-panel { grid-template-columns:1fr; padding:25px; gap:15px; margin-bottom:32px; }
    .es-brand-panel h2 { font-size:30px; }
    .es-brand-names { gap:16px; }
    .es-help { flex-direction:column; align-items:stretch; padding:22px; }
    .es-help h2 { font-size:24px; }
    .emil-storefront .woocommerce ul.products li.product .product-details { padding:11px; }
    .emil-storefront .woocommerce ul.products li.product .product-thumbnail { padding:10px; }
    .emil-storefront .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; overflow-wrap:anywhere; }
    .emil-storefront .woocommerce ul.products li.product .price { font-size:16px; }
    .emil-storefront .woocommerce ul.products li.product .product-action-wrap { position:static; opacity:1; visibility:visible; transform:none; }
    .emil-storefront .woocommerce ul.products li.product .button { font-size:12px; padding:10px; min-height:44px; }
    .emil-storefront .woocommerce div.product .woocommerce-tabs { padding:14px; }
    .emil-storefront .woocommerce form .form-row-first,.emil-storefront .woocommerce form .form-row-last { width:100%; float:none; }
    .emil-checkout .woocommerce-billing-fields,.emil-checkout .woocommerce-shipping-fields,.emil-checkout .woocommerce-additional-fields,.emil-checkout #order_review { padding:17px; }
    .emil-checkout .form-row-first,.emil-checkout .form-row-last { width:100%; float:none; }
    .emil-checkout table.shop_table { table-layout:auto; font-size:13px; }
    .emil-checkout table.shop_table td,.emil-checkout table.shop_table th { padding:10px 5px; overflow-wrap:anywhere; }
    .emil-checkout input.input-text,.emil-checkout textarea,.emil-checkout select { font-size:16px; max-width:100%; }
    .emil-storefront .woocommerce table.shop_table { max-width:100%; }
    .emil-storefront .site-footer .widget { margin-bottom:24px; }
}
@media (max-width:359px) { .es-collections,.es-home ul.products { grid-template-columns:1fr; } .es-hero h1 { font-size:30px; } }
@media (prefers-reduced-motion:reduce) { .emil-storefront *,.es-home * { transition:none!important; scroll-behavior:auto!important; } }
