/* WooCommerce-specific overrides */
.ge-shop-head{padding:18px 0}
.woocommerce-products-header__title{font-size:clamp(24px,3vw,34px)}
.ge-shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px;flex-wrap:wrap}
.woocommerce-result-count{margin:0;color:var(--ge-muted);font-size:13.5px}
.woocommerce-ordering select{height:42px;border-radius:10px;border:1px solid var(--ge-border);padding:0 12px;background:#fff}

/* Pagination */
.woocommerce-pagination{margin:32px 0;text-align:center}
.woocommerce-pagination ul{display:inline-flex;gap:6px;list-style:none;padding:0;border:none}
.woocommerce-pagination ul li{border:none;margin:0!important}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ge-border)!important;border-radius:10px;font-weight:600;background:#fff;color:var(--ge-navy);padding:0 12px}
.woocommerce-pagination ul li span.current{background:var(--ge-primary);color:#fff;border-color:var(--ge-primary)!important}

/* ===== Single product ===== */
.woocommerce div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;margin:18px 0}
@media(max-width:767px){.woocommerce div.product{grid-template-columns:1fr;gap:24px}}
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;float:none;margin:0}
.woocommerce div.product .images img{border-radius:var(--ge-radius)}
.woocommerce div.product .summary{width:100%!important;float:none;margin:0;display:flex;flex-direction:column;gap:12px}
.woocommerce div.product .product_title{font-size:clamp(22px,3vw,32px);margin:0}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ge-navy);font-size:24px;font-weight:700;font-family:var(--ge-font-head);margin:0}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{color:var(--ge-primary)}
.woocommerce-product-rating{display:flex;align-items:center;gap:10px}

.woocommerce div.product form.cart{margin:8px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.woocommerce .quantity .qty{width:80px;height:46px;border:1px solid var(--ge-border);border-radius:10px;text-align:center;background:#fff}
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--ge-primary);color:#fff;border-radius:12px;padding:12px 22px;font-weight:600;font-family:var(--ge-font-head);border:none;font-size:15px;line-height:1;transition:background .15s}
.woocommerce button.button:hover,.woocommerce a.button:hover,.woocommerce input.button:hover{background:var(--ge-primary-600);color:#fff}
.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--ge-primary)}
.woocommerce button.button.alt:hover{background:var(--ge-primary-600)}

.ge-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;background:var(--ge-gray);border-radius:12px;padding:12px}
.ge-trust-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ge-text);font-weight:500}
.ge-trust-item svg{color:var(--ge-primary);flex-shrink:0}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 18px;border:none;border-bottom:1px solid var(--ge-border);display:flex;gap:6px;overflow-x:auto}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;border-radius:0!important;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 18px!important;color:var(--ge-muted);font-weight:600;border-bottom:2px solid transparent;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ge-primary);border-bottom-color:var(--ge-primary)}
.woocommerce div.product .woocommerce-tabs .panel{padding:8px 0;font-size:15px;line-height:1.7}

/* Related products */
.related.products,.up-sells.products{grid-column:1/-1;margin-top:32px}
.related.products>h2,.up-sells>h2{font-size:22px;margin-bottom:16px}

/* ===== Cart ===== */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{max-width:1280px;margin:24px auto;padding:0 16px}
@media(min-width:768px){.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{padding:0 24px}}

.woocommerce-cart table.shop_table{border:1px solid var(--ge-border);border-radius:var(--ge-radius);overflow:hidden;border-collapse:separate;border-spacing:0;width:100%}
.woocommerce table.shop_table th{background:var(--ge-gray);font-family:var(--ge-font-head);text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding:14px}
.woocommerce table.shop_table td{padding:14px;border-top:1px solid var(--ge-border)}
.woocommerce-cart table.cart img{width:64px;height:64px;border-radius:8px;object-fit:cover}

.cart_totals h2{font-size:20px}
.cart_totals table.shop_table{margin-top:8px}
.cart_totals .wc-proceed-to-checkout{padding:0;margin-top:14px}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{height:46px;border:1px solid var(--ge-border);border-radius:10px;padding:0 12px;background:#fff;width:100%;font-size:15px}
.woocommerce form .form-row textarea{height:auto;min-height:90px;padding:10px 12px}
.woocommerce form .form-row label{font-weight:500;margin-bottom:6px;display:block;font-size:14px}

/* ===== Checkout ===== */
.woocommerce-checkout #payment{background:var(--ge-gray);border-radius:var(--ge-radius);padding:18px}
.woocommerce-checkout #payment ul.payment_methods{padding:0;border-bottom:1px solid var(--ge-border)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:10px}
.woocommerce-checkout-review-order-table{margin-bottom:18px}

@media(min-width:1024px){
    .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
    .woocommerce-checkout form.checkout .col2-set{grid-column:1}
    .woocommerce-checkout form.checkout #order_review_heading,
    .woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:span 2;position:sticky;top:120px}
}

/* ===== Sticky buy ===== */
.ge-sticky-buy{display:none}
@media(max-width:767px){
    .ge-sticky-buy{display:flex;position:fixed;bottom:64px;left:0;right:0;background:#fff;border-top:1px solid var(--ge-border);padding:10px 14px;align-items:center;justify-content:space-between;gap:12px;z-index:55;box-shadow:0 -4px 14px rgba(15,23,42,.06);padding-bottom:calc(10px + env(safe-area-inset-bottom))}
    .ge-sticky-buy__price{font-weight:700;color:var(--ge-navy);font-family:var(--ge-font-head);font-size:16px}
    .ge-sticky-buy__btn{padding:12px 22px}
}

/* WC notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:12px;border-top-color:var(--ge-primary)!important;background:var(--ge-gray);padding:14px 18px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ge-primary)}

/* ===== My Account - GoEcom Tech modern ===== */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
@media(max-width:900px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}
.ge-account-nav{background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:18px;position:sticky;top:90px;box-shadow:0 4px 24px rgba(15,23,42,.04)}
.ge-account-card{display:flex;align-items:center;gap:12px;padding:6px 4px 16px;border-bottom:1px dashed var(--ge-border);margin-bottom:12px}
.ge-account-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--ge-primary)}
.ge-account-meta{display:flex;flex-direction:column;line-height:1.2}
.ge-account-hi{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ge-muted)}
.ge-account-name{color:var(--ge-navy);font-size:15px}
.ge-account-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.ge-account-nav li{margin:0!important;border:none}
.ge-account-nav li a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--ge-navy);font-weight:600;font-size:14px;transition:all .15s;text-decoration:none}
.ge-account-nav li a:hover{background:var(--ge-gray);color:var(--ge-primary)}
.ge-account-nav li.is-active a,.ge-account-nav li.woocommerce-MyAccount-navigation-link--is-active a{background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy));color:#fff;box-shadow:0 6px 16px -6px rgba(8,47,99,.45)}
.ge-nav-ic{width:32px;height:32px;border-radius:9px;background:var(--ge-gray);display:inline-flex;align-items:center;justify-content:center;color:var(--ge-primary);flex-shrink:0}
.ge-account-nav li.is-active .ge-nav-ic{background:rgba(255,255,255,.2);color:#fff}

.woocommerce-MyAccount-content{background:transparent;padding:0}
.ge-dash-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;background:linear-gradient(135deg,var(--ge-primary) 0%,var(--ge-navy) 100%);color:#fff;padding:28px 30px;border-radius:20px;box-shadow:0 16px 40px -16px rgba(8,47,99,.5);position:relative;overflow:hidden}
.ge-dash-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);border-radius:50%}
.ge-dash-eyebrow{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.8;margin-bottom:6px}
.ge-dash-title{font-size:26px;margin:0 0 6px;color:#fff}
.ge-dash-title span{color:#a5d8ff}
.ge-dash-sub{margin:0;opacity:.85;font-size:14px}
.ge-dash-cta{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ge-navy);padding:11px 18px;border-radius:12px;font-weight:700;text-decoration:none;white-space:nowrap;transition:transform .15s}
.ge-dash-cta:hover{transform:translateY(-2px);color:var(--ge-primary)}
@media(max-width:640px){.ge-dash-hero{flex-direction:column;align-items:flex-start;padding:22px}.ge-dash-title{font-size:22px}}

.ge-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
@media(max-width:760px){.ge-dash-stats{grid-template-columns:repeat(2,1fr)}}
.ge-stat{background:#fff;border:1px solid var(--ge-border);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;transition:all .2s}
.ge-stat:hover{transform:translateY(-3px);box-shadow:0 12px 28px -14px rgba(15,23,42,.18)}
.ge-stat-ic{width:46px;height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.ge-c1{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}
.ge-c2{background:linear-gradient(135deg,#f59e0b,#d97706)}
.ge-c3{background:linear-gradient(135deg,#10b981,#047857)}
.ge-c4{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.ge-stat-num{display:block;font-size:20px;font-weight:800;color:var(--ge-navy);font-family:var(--ge-font-head)}
.ge-stat-lb{display:block;font-size:12px;color:var(--ge-muted);margin-top:2px}

.ge-dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:8px}
@media(max-width:900px){.ge-dash-grid{grid-template-columns:1fr}}
.ge-panel{background:#fff;border:1px solid var(--ge-border);border-radius:16px;padding:20px}
.ge-panel h3{margin:0 0 14px;font-size:16px;color:var(--ge-navy)}
.ge-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ge-panel-head h3{margin:0}
.ge-panel-head a{color:var(--ge-primary);font-weight:600;font-size:13px;text-decoration:none}

.ge-order-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ge-order-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--ge-border);border-radius:12px;transition:all .15s}
.ge-order-row:hover{border-color:var(--ge-primary);background:var(--ge-gray)}
.ge-order-id{display:flex;flex-direction:column}
.ge-order-num{font-weight:700;color:var(--ge-navy);font-size:14px}
.ge-order-date{font-size:11px;color:var(--ge-muted)}
.ge-order-items,.ge-order-total{font-size:13px;color:var(--ge-navy);font-weight:600}
.ge-order-view{background:var(--ge-primary);color:#fff;padding:7px 14px;border-radius:9px;font-size:12px;font-weight:600;text-decoration:none}
@media(max-width:640px){.ge-order-row{grid-template-columns:1fr 1fr;gap:8px}}

.ge-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ge-quick{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--ge-border);border-radius:12px;text-decoration:none;color:var(--ge-navy);transition:all .15s}
.ge-quick:hover{border-color:var(--ge-primary);transform:translateY(-2px);box-shadow:0 8px 20px -12px rgba(8,47,99,.3)}
.ge-quick-ic{font-size:22px;width:40px;height:40px;background:var(--ge-gray);border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.ge-quick strong{display:block;font-size:13px}
.ge-quick small{display:block;color:var(--ge-muted);font-size:11px;margin-top:2px}

/* Status badges */
.ge-badge{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--ge-gray);color:var(--ge-navy)}
.ge-badge-lg{padding:8px 16px;font-size:13px}
.ge-st-pending{background:#fff7ed;color:#c2410c}
.ge-st-processing{background:#eff6ff;color:#1d4ed8}
.ge-st-on-hold{background:#fef3c7;color:#a16207}
.ge-st-completed{background:#dcfce7;color:#15803d}
.ge-st-cancelled,.ge-st-failed{background:#fee2e2;color:#b91c1c}
.ge-st-refunded{background:#f3e8ff;color:#7e22ce}

/* Orders list cards */
.ge-orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.ge-order-card{background:#fff;border:1px solid var(--ge-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .15s}
.ge-order-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px -16px rgba(15,23,42,.2);border-color:var(--ge-primary)}
.ge-order-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.ge-order-card-num{display:block;font-weight:800;color:var(--ge-navy);font-size:15px}
.ge-order-card-date{font-size:11px;color:var(--ge-muted)}
.ge-order-card-body{display:flex;align-items:center;gap:12px}
.ge-order-card-img{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid var(--ge-border)}
.ge-order-card-items{margin:0;font-size:12px;color:var(--ge-muted)}
.ge-order-card-total{margin:2px 0 0;font-weight:700;color:var(--ge-navy)}
.ge-order-card-foot{display:flex;gap:8px;margin-top:auto}
.ge-btn-primary{flex:1;background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy));color:#fff;text-align:center;padding:10px 14px;border-radius:10px;font-weight:600;font-size:13px;text-decoration:none;border:none;cursor:pointer;transition:opacity .15s}
.ge-btn-primary:hover{opacity:.9;color:#fff}
.ge-btn-ghost{background:#fff;color:var(--ge-navy);border:1px solid var(--ge-border);text-align:center;padding:10px 14px;border-radius:10px;font-weight:600;font-size:13px;text-decoration:none;transition:all .15s}
.ge-btn-ghost:hover{border-color:var(--ge-primary);color:var(--ge-primary)}

/* Empty state */
.ge-empty{text-align:center;padding:48px 20px;background:#fff;border:1px dashed var(--ge-border);border-radius:18px}
.ge-empty-ic{font-size:54px;margin-bottom:12px}
.ge-empty h3{margin:0 0 6px;color:var(--ge-navy)}
.ge-empty p{color:var(--ge-muted);margin:0 0 18px}

/* === Tracking page === */
.ge-track-wrap{display:flex;flex-direction:column;gap:18px}
.ge-track-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:22px}
.ge-track-hero h2{margin:0 0 4px;color:var(--ge-navy);font-size:22px}
.ge-track-alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:14px 18px;border-radius:12px;font-weight:600}

.ge-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:30px 24px}
.ge-timeline::before{content:"";position:absolute;top:54px;left:12%;right:12%;height:4px;background:var(--ge-border);border-radius:99px;z-index:0}
.ge-tl-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;z-index:1}
.ge-tl-dot{width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid var(--ge-border);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:var(--ge-muted);transition:all .3s}
.ge-tl-done .ge-tl-dot{background:linear-gradient(135deg,#10b981,#047857);border-color:#10b981;color:#fff;box-shadow:0 6px 16px -4px rgba(16,185,129,.4)}
.ge-tl-active .ge-tl-dot{background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy));border-color:var(--ge-primary);color:#fff;box-shadow:0 0 0 6px rgba(59,130,246,.18);animation:gePulse 2s infinite}
@keyframes gePulse{0%,100%{box-shadow:0 0 0 6px rgba(59,130,246,.18)}50%{box-shadow:0 0 0 10px rgba(59,130,246,.05)}}
.ge-tl-content{display:flex;flex-direction:column;align-items:center;gap:2px}
.ge-tl-icon{font-size:18px}
.ge-tl-content strong{font-size:13px;color:var(--ge-navy)}
.ge-tl-content small{font-size:11px;color:var(--ge-muted)}
.ge-tl-todo .ge-tl-content strong{color:var(--ge-muted)}
@media(max-width:720px){.ge-timeline{grid-template-columns:1fr;padding:20px}.ge-timeline::before{left:34px;right:auto;top:30px;bottom:30px;width:4px;height:auto}.ge-tl-step{flex-direction:row;text-align:left;align-items:center;padding:8px 0}.ge-tl-content{align-items:flex-start}}

.ge-track-courier{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:14px;padding:16px 20px}
.ge-track-courier code{display:inline-block;background:#fff;padding:4px 10px;border-radius:8px;font-family:monospace;color:var(--ge-primary);margin-left:8px;font-size:13px}

.ge-track-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
@media(max-width:760px){.ge-track-grid{grid-template-columns:1fr}}
.ge-track-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ge-track-items li{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--ge-border);border-radius:10px}
.ge-track-items img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}
.ge-ti-meta{flex:1}
.ge-ti-meta strong{display:block;color:var(--ge-navy);font-size:13px}
.ge-ti-meta small{color:var(--ge-muted);font-size:11px}
.ge-ti-price{font-weight:700;color:var(--ge-navy);font-size:14px}
.ge-track-totals{margin-top:14px;border-top:1px dashed var(--ge-border);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.ge-tt-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ge-muted)}
.ge-tt-row.is-total{font-size:16px;font-weight:800;color:var(--ge-navy);border-top:1px solid var(--ge-border);padding-top:10px;margin-top:6px}

.ge-notes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--ge-primary);padding-left:14px}
.ge-notes li{position:relative;background:var(--ge-gray);padding:10px 14px;border-radius:10px}
.ge-notes time{font-size:11px;color:var(--ge-muted);font-weight:600}
.ge-notes p{margin:4px 0 0;color:var(--ge-navy);font-size:13px}

.ge-track-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* Login page polish */
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:980px;margin:0 auto}
.woocommerce-account .u-columns{gap:20px}
.woocommerce form.login,.woocommerce form.register{background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:28px;box-shadow:0 8px 30px -16px rgba(15,23,42,.1)}

/* ===== GoEcom Tech v1.4 WooCommerce fixes ===== */
.woocommerce-page .ge-page,.page .ge-page{background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:24px;box-shadow:0 10px 34px -22px rgba(15,23,42,.18)}
.ge-page__title{font-size:clamp(24px,3vw,34px);margin:0 0 18px;color:var(--ge-navy)}
.ge-page__content{line-height:1.75;color:var(--ge-text)}

.woocommerce div.product div.images,.woocommerce-page div.product div.images{float:none!important;width:100%!important;margin:0!important;max-width:100%}
.woocommerce div.product div.summary,.woocommerce-page div.product div.summary{float:none!important;width:100%!important;max-width:100%}
.woocommerce div.product .woocommerce-product-gallery,.elementor-widget-woocommerce-product-images .woocommerce-product-gallery{position:relative!important;width:100%!important;max-width:100%!important;background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:12px;overflow:hidden;min-width:0}
.woocommerce-product-gallery__wrapper{margin:0!important}
.woocommerce-product-gallery__image,.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image{background:var(--ge-gray);border-radius:14px;overflow:hidden;aspect-ratio:1/1;display:flex!important;align-items:center;justify-content:center}
.woocommerce-product-gallery__image a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.woocommerce div.product .woocommerce-product-gallery__image img,.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img{width:100%!important;height:100%!important;max-height:620px!important;object-fit:contain!important;border-radius:14px!important;background:var(--ge-gray)}
.woocommerce div.product div.images .flex-control-thumbs,.elementor-widget-woocommerce-product-images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0 0!important;padding:0!important}
.woocommerce div.product div.images .flex-control-thumbs li,.elementor-widget-woocommerce-product-images .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs img,.elementor-widget-woocommerce-product-images .flex-control-thumbs img{width:100%!important;aspect-ratio:1/1;height:auto!important;object-fit:cover!important;border-radius:10px;border:1px solid var(--ge-border);opacity:.72;transition:opacity .15s,border-color .15s}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;border-color:var(--ge-primary)}
.woocommerce div.product.product-type-variable form.cart{align-items:flex-end}
.woocommerce div.product form.cart .variations{width:100%;margin:0 0 8px;border:0}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0 0 8px;background:transparent;border:0;text-align:left}
.woocommerce div.product form.cart .variations select{width:100%;height:46px;border:1px solid var(--ge-border);border-radius:10px;padding:0 12px;background:#fff}
.ge-single-order-now{background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy))!important;color:#fff!important;border:0!important;margin-left:0!important;min-height:46px;box-shadow:0 12px 24px -14px rgba(8,47,99,.45)}
.woocommerce div.product form.cart .single_add_to_cart_button,.ge-single-order-now{flex:1 1 170px}

.ge-cart-page,.ge-checkout-page{display:flex;flex-direction:column;gap:22px}
.ge-cart-hero,.ge-checkout-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy));color:#fff;border-radius:22px;padding:26px;box-shadow:0 18px 45px -24px rgba(8,47,99,.55);overflow:hidden;position:relative}
.ge-cart-hero::after,.ge-checkout-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12)}
.ge-cart-hero>* ,.ge-checkout-hero>*{position:relative;z-index:1}
.ge-cart-eyebrow{display:inline-flex;margin-bottom:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:.82}
.ge-cart-hero h1,.ge-checkout-hero h1{margin:0;color:#fff;font-size:clamp(24px,3vw,34px)}
.ge-checkout-hero p{margin:8px 0 0;max-width:560px;opacity:.86}
.ge-cart-hero .ge-btn-outline{background:#fff;color:var(--ge-navy);border-color:#fff;white-space:nowrap}
.ge-cart-form,.ge-cart-summary-wrap,.ge-checkout-card{background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:18px;box-shadow:0 10px 32px -22px rgba(15,23,42,.18)}
.woocommerce-cart table.shop_table.ge-cart-table{border:0;border-radius:14px;margin:0;overflow:hidden}
.ge-cart-table .product-name a,.ge-cart-product-title{color:var(--ge-navy);font-weight:700;text-decoration:none}
.ge-cart-remove{width:32px!important;height:32px!important;border-radius:50%!important;background:#fee2e2!important;color:#b91c1c!important;display:inline-flex!important;align-items:center;justify-content:center;font-size:22px!important;line-height:1!important;text-decoration:none!important}
.ge-cart-actions-row .actions{padding:16px!important;background:var(--ge-gray)}
.ge-cart-actions-row .actions::after{content:"";display:block;clear:both}
.ge-coupon{display:flex;gap:8px;float:left;max-width:520px;width:100%}
.ge-coupon .input-text{height:44px;border:1px solid var(--ge-border);border-radius:10px;padding:0 12px;flex:1;min-width:140px}
.ge-cart-summary-wrap{max-width:480px;margin-left:auto;width:100%}
.cart_totals{float:none!important;width:100%!important}
.cart_totals h2{font-size:22px;margin:0 0 12px;color:var(--ge-navy)}
.cart_totals .wc-proceed-to-checkout a.checkout-button,.cart_totals a.checkout-button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:inline-block!important;width:100%!important;text-align:center!important;font-size:16px!important;font-weight:700!important;padding:16px 20px!important;border-radius:12px!important;background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy))!important;color:#fff!important;border:none!important;text-decoration:none!important;box-shadow:0 8px 20px -8px rgba(37,99,235,.55)!important;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease!important;cursor:pointer!important;letter-spacing:.2px!important}.cart_totals .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{filter:brightness(1.05)!important;transform:translateY(-1px)!important;box-shadow:0 12px 28px -10px rgba(37,99,235,.65)!important;color:#fff!important}html[data-theme="dark"] .cart_totals .wc-proceed-to-checkout a.checkout-button{box-shadow:0 8px 20px -8px rgba(59,130,246,.5)!important;color:#fff!important}

.woocommerce-checkout form.checkout.ge-checkout-form{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:22px;align-items:start}
.ge-checkout-details{display:grid;grid-template-columns:1fr;gap:16px;grid-column:1}
.ge-checkout-review{grid-column:2;grid-row:1;position:sticky;top:104px;min-width:0}
.ge-checkout-card h2,#order_review_heading{margin:0 0 16px;color:var(--ge-navy);font-size:20px}
.woocommerce-checkout-review-order-table{border:0!important;margin:0 0 16px!important}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:12px 0!important;background:transparent!important;border-top:1px solid var(--ge-border)!important}
.woocommerce-checkout #payment{background:var(--ge-gray);border:1px solid var(--ge-border);border-radius:16px;padding:16px}
.woocommerce-checkout #payment ul.payment_methods li{padding:10px 0;line-height:1.5}
.woocommerce-checkout #payment #place_order{width:100%;padding:16px 20px!important;border-radius:12px!important;background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy))!important;font-size:16px!important}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid var(--ge-border)!important;border-radius:16px!important;background:#fff;box-shadow:0 10px 32px -24px rgba(15,23,42,.18)}

@media(max-width:1023px){
    .woocommerce div.product{grid-template-columns:1fr;gap:26px}
    .woocommerce-checkout form.checkout.ge-checkout-form{grid-template-columns:1fr}
    .ge-checkout-review{grid-column:auto;grid-row:auto;position:static}
    .ge-cart-summary-wrap{max-width:none}
}
@media(max-width:767px){
    .woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{margin:14px auto;padding:0 12px}
    .ge-cart-hero,.ge-checkout-hero{align-items:flex-start;flex-direction:column;border-radius:18px;padding:22px 18px}
    .ge-cart-form,.ge-cart-summary-wrap,.ge-checkout-card{padding:14px;border-radius:16px}
    .woocommerce table.shop_table_responsive tr{display:block;border:1px solid var(--ge-border);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}
    .woocommerce table.shop_table_responsive thead{display:none}
    .woocommerce table.shop_table_responsive tr td{display:flex!important;justify-content:space-between;align-items:center;gap:16px;text-align:right!important;border-top:1px solid var(--ge-border)!important;padding:12px!important;min-height:48px}
    .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);font-weight:700;color:var(--ge-navy);text-align:left;flex:0 0 42%}
    .woocommerce table.shop_table_responsive tr td.product-thumbnail{justify-content:center;background:var(--ge-gray)}
    .woocommerce table.shop_table_responsive tr td.product-thumbnail::before,.woocommerce table.shop_table_responsive tr td.product-remove::before,.ge-cart-actions-row td::before{display:none!important}
    .woocommerce-cart table.cart img{width:92px;height:92px}
    .ge-cart-actions-row{border:0!important;background:transparent!important}
    .ge-cart-actions-row .actions{display:flex!important;flex-direction:column;gap:10px;background:transparent!important;padding:0!important}
    .ge-coupon{float:none;display:grid;grid-template-columns:1fr;max-width:none}
    .woocommerce div.product form.cart{display:grid;grid-template-columns:80px 1fr;gap:10px}
    .woocommerce div.product form.cart .variations,.woocommerce div.product form.cart .single_variation_wrap{grid-column:1/-1;width:100%}
    .woocommerce div.product form.cart .single_add_to_cart_button,.ge-single-order-now{grid-column:auto;min-height:46px;padding:12px 10px!important;font-size:14px!important}
    .woocommerce div.product div.images .flex-control-thumbs{grid-template-columns:repeat(4,1fr)}
    .ge-sticky-buy{bottom:76px;left:10px;right:10px;border:1px solid var(--ge-border);border-radius:18px;padding:10px;box-shadow:0 12px 36px -20px rgba(15,23,42,.45)}
    .ge-sticky-buy__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
    .ge-sticky-buy__price{display:none}
    .ge-sticky-buy__btn{padding:12px 10px!important;font-size:13px!important;min-height:42px}
}
@media(max-width:420px){
    .woocommerce div.product form.cart{grid-template-columns:1fr}
    .woocommerce .quantity .qty{width:100%}
    .woocommerce div.product form.cart .single_add_to_cart_button,.ge-single-order-now{width:100%}
    .ge-sticky-buy__actions{grid-template-columns:1fr}
}

.elementor-widget-woocommerce-product-images{width:100%;max-width:720px;margin-inline:auto}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper{margin:0!important}
@media(max-width:767px){.elementor-widget-woocommerce-product-images{max-width:100%}}
.woocommerce-checkout form.checkout.ge-checkout-form .ge-checkout-review #order_review_heading,
.woocommerce-checkout form.checkout.ge-checkout-form .ge-checkout-review #order_review{grid-column:auto!important;grid-row:auto!important;position:static!important;top:auto!important}

/* ===== My Account layout wrapper (forces grid regardless of parent) ===== */
.ge-account-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start;width:100%;max-width:1200px;margin:0 auto}
.ge-account-layout .ge-account-content{min-width:0}
@media(max-width:900px){.ge-account-layout{grid-template-columns:1fr;gap:18px}.ge-account-nav{position:static}}

/* === v1.6.2 — Card sizing fixes for narrow Elementor grid widgets === */
.goecom-product-grid ul.products,
.goecom-product-grid .woocommerce ul.products { display: grid !important; gap: 16px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.goecom-product-grid ul.products[class*="columns-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.goecom-product-grid ul.products[class*="columns-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.goecom-product-grid ul.products[class*="columns-4"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.goecom-product-grid ul.products[class*="columns-5"] { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
@media (max-width: 600px) {
  .goecom-product-grid ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.goecom-product-grid ul.products li.product { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; clear: none !important; }

/* Card content: enforce sensible heights regardless of column width */
ul.products li.product .ge-card-media { aspect-ratio: 1 / 1 !important; height: auto !important; max-height: none !important; }
ul.products li.product .ge-card-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
ul.products li.product .ge-card-body { padding: 12px !important; gap: 6px !important; }
ul.products li.product .ge-card-title { font-size: 14px !important; min-height: 38px !important; -webkit-line-clamp: 2 !important; word-break: break-word !important; }
ul.products li.product .price { font-size: 14px !important; line-height: 1.3 !important; margin: 0 !important; }
ul.products li.product .price del { font-size: 12px !important; opacity: .6; margin-right: 4px; }
ul.products li.product .price ins { text-decoration: none !important; font-weight: 700; color: var(--ge-primary, #3b82f6); }

/* Action buttons: side-by-side, never wrap to vertical inside narrow cards */
ul.products li.product .ge-card-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; margin-top: auto !important; }
ul.products li.product .ge-card-actions .ge-btn { width: 100% !important; min-height: 38px !important; padding: 8px 6px !important; font-size: 12.5px !important; line-height: 1.1 !important; white-space: normal !important; }
@media (max-width: 380px) {
  ul.products li.product .ge-card-actions { grid-template-columns: 1fr !important; }
}

/* Defensive: hide any default WC loop add-to-cart that slipped through */
ul.products li.product > .button.add_to_cart_button,
ul.products li.product > a.add_to_cart_button,
ul.products li.product > .added_to_cart { display: none !important; }

/* === v1.6.4 — My Account modern polish & Track Order endpoint === */
.woocommerce-account .ge-main,
.woocommerce-account.woocommerce-page main,
.woocommerce-account #primary{background:linear-gradient(180deg,#f5f8ff 0%,#fafbff 280px,transparent 600px);min-height:60vh}
.ge-account-layout{padding:30px 16px 60px}
.ge-account-nav{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 30px -12px rgba(15,23,42,.08),0 1px 0 rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.7)}
.ge-account-nav ul{gap:6px}
.ge-account-nav li a{padding:12px 14px;font-size:14.5px}
.ge-account-nav li a:hover{background:#eef4ff;color:var(--ge-primary);transform:translateX(2px)}
.ge-account-nav li.is-active a,.ge-account-nav li.woocommerce-MyAccount-navigation-link--is-active a{box-shadow:0 10px 24px -10px rgba(8,47,99,.55)}
.ge-account-content{background:#fff;border-radius:20px;padding:26px;box-shadow:0 8px 30px -12px rgba(15,23,42,.06);border:1px solid rgba(226,232,240,.7);min-height:520px}
@media(max-width:900px){.ge-account-content{padding:18px;border-radius:16px}.ge-account-layout{padding:16px 12px 40px}}

/* Order Tracking endpoint */
.ge-track-page{display:flex;flex-direction:column;gap:18px}
.ge-track-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,var(--ge-primary),var(--ge-navy));color:#fff;padding:24px 26px;border-radius:18px;box-shadow:0 16px 40px -16px rgba(8,47,99,.5)}
.ge-track-hero .ge-dash-title{color:#fff;margin:0 0 4px;font-size:22px}
.ge-track-hero .ge-dash-sub{margin:0;opacity:.9;font-size:13.5px}
.ge-track-hero-ic{opacity:.85;flex-shrink:0}
@media(max-width:560px){.ge-track-hero{padding:20px}.ge-track-hero-ic{display:none}}

.ge-track-lookup{background:#fff;border:1px solid var(--ge-border);border-radius:14px;padding:16px}
.ge-track-lookup label{display:block;font-weight:600;color:var(--ge-navy);font-size:13px;margin-bottom:8px}
.ge-track-lookup-row{display:flex;gap:8px}
.ge-track-lookup-row input{flex:1;padding:11px 14px;border:1px solid var(--ge-border);border-radius:10px;font-size:14px;outline:none}
.ge-track-lookup-row input:focus{border-color:var(--ge-primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.ge-track-alert{padding:12px 14px;border-radius:10px;font-size:13px;margin:0}
.ge-track-alert-warn{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}

.ge-track-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.ge-track-item{background:#fff;border:1px solid var(--ge-border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;transition:all .15s}
.ge-track-item:hover{border-color:var(--ge-primary);box-shadow:0 12px 28px -16px rgba(8,47,99,.25)}
.ge-track-item-head{display:flex;align-items:center;gap:14px}
.ge-track-thumb{width:56px;height:56px;border-radius:12px;object-fit:cover;border:1px solid var(--ge-border);flex-shrink:0}
.ge-track-thumb-ph{display:inline-flex;align-items:center;justify-content:center;background:var(--ge-gray);font-size:22px}
.ge-track-item-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ge-track-item-num{font-weight:800;color:var(--ge-navy);font-size:15px}
.ge-track-item-date{font-size:11.5px;color:var(--ge-muted)}
.ge-track-item-total{font-size:12.5px;color:var(--ge-navy);font-weight:600;margin-top:2px}

.ge-track-progress{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden}
.ge-track-progress-bar{height:100%;background:linear-gradient(90deg,var(--ge-primary),#22c55e);border-radius:99px;transition:width .4s ease}

.ge-track-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ge-track-step{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--ge-muted);text-align:center;font-weight:600}
.ge-track-dot{width:14px;height:14px;border-radius:50%;background:#e2e8f0;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;transition:all .2s}
.ge-track-step.is-done .ge-track-dot{background:#22c55e;box-shadow:0 0 0 1px #22c55e}
.ge-track-step.is-done{color:var(--ge-navy)}
.ge-track-step.is-active .ge-track-dot{background:var(--ge-primary);box-shadow:0 0 0 1px var(--ge-primary),0 0 0 5px rgba(37,99,235,.18);transform:scale(1.15)}
.ge-track-step.is-active{color:var(--ge-primary)}

.ge-track-courier-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;background:var(--ge-gray);border-radius:10px;font-size:13px;flex-wrap:wrap}
.ge-track-courier-row code{background:#fff;padding:2px 8px;border-radius:6px;border:1px solid var(--ge-border);font-size:12.5px}
.ge-track-actions-row{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:560px){.ge-track-steps{grid-template-columns:repeat(4,1fr);font-size:10.5px}.ge-track-item-head{flex-wrap:wrap}}

/* === v1.6.5 — Fix squeezed sidebar & content (WC default float/width override) === */
.woocommerce-account .woocommerce{display:block!important;width:100%!important;max-width:none!important}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{display:none!important;content:none!important}
.ge-account-layout > .woocommerce-MyAccount-navigation,
.ge-account-layout > .ge-account-nav,
.ge-account-layout > .woocommerce-MyAccount-content,
.ge-account-layout > .ge-account-content{
  width:100%!important;max-width:100%!important;float:none!important;
  flex:initial!important;margin:0!important;box-sizing:border-box;
}
.ge-account-layout{box-sizing:border-box}
.ge-account-nav,.ge-account-content{width:100%!important;box-sizing:border-box}

/* Dashboard: stack panels (Recent orders + Quick actions) so tracking/quick info is BELOW */
.ge-dash-grid{grid-template-columns:1fr!important}

/* Mobile responsive polish */
@media(max-width:900px){
  .ge-account-layout{grid-template-columns:1fr!important;padding:14px 10px 36px}
  .ge-account-nav{position:static!important;top:auto!important}
}
@media(max-width:640px){
  .ge-account-content{padding:14px!important;border-radius:14px}
  .ge-dash-hero{padding:20px 18px}
  .ge-dash-title{font-size:20px!important}
  .ge-dash-stats{grid-template-columns:repeat(2,1fr)!important;gap:10px}
  .ge-stat{padding:14px;gap:10px}
  .ge-stat-ic{width:40px;height:40px}
  .ge-stat-num{font-size:17px}
  .ge-quick-grid{grid-template-columns:1fr!important}
  .ge-order-row{grid-template-columns:1fr 1fr!important;gap:8px}
  .ge-order-row .ge-order-view{grid-column:1/-1;text-align:center}
  .ge-account-nav ul{flex-direction:column}
  .ge-track-hero{flex-direction:column;align-items:flex-start;padding:20px}
  .ge-track-hero .ge-dash-title{font-size:18px}
}

/* Avatar + meta should never overflow the card */
.ge-account-card{flex-wrap:nowrap;min-width:0}
.ge-account-meta{min-width:0;overflow:hidden}
.ge-account-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
.ge-nav-lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* === v1.6.6 — Track Order mobile polish === */
@media(max-width:640px){
  .ge-track-item{padding:14px;gap:12px}
  .ge-track-item-head{display:grid;grid-template-columns:48px 1fr;grid-template-areas:"thumb meta" "badge badge";gap:10px 12px;align-items:start}
  .ge-track-item-head .ge-track-thumb{grid-area:thumb;width:48px;height:48px}
  .ge-track-item-head .ge-track-item-meta{grid-area:meta;min-width:0}
  .ge-track-item-head .ge-badge{grid-area:badge;justify-self:start;width:auto}
  .ge-track-item-num{font-size:14px}
  .ge-track-item-total{white-space:normal;line-height:1.4}

  .ge-track-lookup-row{flex-direction:column}
  .ge-track-lookup-row .ge-btn-primary{width:100%}

  .ge-track-steps{grid-template-columns:repeat(4,1fr);gap:4px}
  .ge-track-step{font-size:10px;line-height:1.15;gap:4px}
  .ge-track-step span:last-child{word-break:break-word}
  .ge-track-dot{width:12px;height:12px}

  .ge-track-courier-row{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}
  .ge-track-courier-row > div{word-break:break-all;font-size:12.5px}
  .ge-track-courier-row code{display:inline-block;max-width:100%;overflow-wrap:anywhere}
  .ge-track-courier-row .ge-btn-primary{width:100%;text-align:center}

  .ge-track-actions-row{flex-direction:column}
  .ge-track-actions-row > a{width:100%;text-align:center}
}
@media(max-width:380px){
  .ge-track-steps span:last-child{display:none}
  .ge-track-step{gap:0}
}

/* === v1.6.7 — Track Order: skeleton loader + improved empty state === */
.ge-track-page{min-height:520px}
.ge-track-list,.ge-track-empty,.ge-track-skeleton{min-height:420px}

.ge-track-skeleton{display:flex;flex-direction:column;gap:14px}
.ge-track-skeleton[hidden]{display:none}
.ge-track-skel-item{background:#fff;border:1px solid var(--ge-border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px}
.ge-track-skel-head{display:flex;align-items:center;gap:14px}
.ge-skel-meta{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.ge-track-skel-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;justify-items:center}

.ge-skel{display:block;background:linear-gradient(90deg,#eef2f7 0%,#f8fafc 50%,#eef2f7 100%);background-size:200% 100%;border-radius:8px;animation:geSkel 1.2s ease-in-out infinite}
.ge-skel-thumb{width:56px;height:56px;border-radius:12px;flex-shrink:0}
.ge-skel-line{height:12px;border-radius:6px}
.ge-skel-line.w40{width:40%}
.ge-skel-line.w60{width:60%}
.ge-skel-line.w80{width:80%}
.ge-skel-badge{width:80px;height:24px;border-radius:99px;flex-shrink:0}
.ge-skel-bar{height:8px;border-radius:99px;width:100%}
.ge-skel-dot{width:14px;height:14px;border-radius:50%}

@keyframes geSkel{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.ge-skel{animation:none;opacity:.7}}

/* Loading state — replace list with skeleton, no jump */
.ge-track-page.is-loading .ge-track-list,
.ge-track-page.is-loading .ge-track-empty{display:none}
.ge-track-page.is-loading .ge-track-skeleton{display:flex!important}
.ge-track-page.is-loading .ge-track-lookup .ge-btn-primary{opacity:.7;pointer-events:none;position:relative}
.ge-track-page.is-loading .ge-track-lookup .ge-btn-primary::after{content:"";display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-left:8px;vertical-align:-2px;animation:geSpin .7s linear infinite}
@keyframes geSpin{to{transform:rotate(360deg)}}

/* Improved empty state */
.ge-track-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 22px;gap:6px;background:#fff;border:1px dashed var(--ge-border);border-radius:18px}
.ge-empty-illus{color:var(--ge-primary);opacity:.7;margin-bottom:10px}
.ge-track-empty h3{font-size:18px;color:var(--ge-navy)}
.ge-track-empty p{max-width:420px;margin:0 0 18px;color:var(--ge-muted);font-size:14px;line-height:1.5}
.ge-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
@media(max-width:480px){.ge-empty-actions{flex-direction:column;width:100%}.ge-empty-actions a{width:100%}}

/* ===== v1.6.8 — Force full-width modern My Account container ===== */
/* Force any parent wrapper (Elementor, page entry-content, WC default) to release the width */
body.woocommerce-account .ge-main,
body.woocommerce-account #primary,
body.woocommerce-account .ge-container,
body.woocommerce-account .entry-content,
body.woocommerce-account .page-content,
body.woocommerce-account .site-main,
body.woocommerce-account .elementor,
body.woocommerce-account .elementor-section .elementor-container,
body.woocommerce-account .elementor-widget-wrap,
body.woocommerce-account .elementor-widget-shortcode,
body.woocommerce-account .elementor-widget-shortcode .elementor-widget-container,
body.woocommerce-account .e-con-inner,
body.woocommerce-account .e-con{
  width:100%!important;max-width:1360px!important;margin-left:auto!important;margin-right:auto!important;float:none!important;
}

/* Layout: wider, breathable, prevent right column from collapsing via minmax(0,1fr) */
body.woocommerce-account .ge-account-layout{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:32px!important;
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:36px 24px 72px!important;
  box-sizing:border-box!important;
  align-items:start!important;
}

/* Sidebar nav: comfortable width, no squeeze */
body.woocommerce-account .ge-account-layout > .ge-account-nav,
body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-navigation{
  width:100%!important;max-width:300px!important;min-width:0!important;
  padding:22px!important;border-radius:22px!important;
  position:sticky!important;top:96px!important;align-self:start!important;
}
body.woocommerce-account .ge-account-nav li a{padding:13px 14px!important;font-size:14.5px!important;line-height:1.3!important;white-space:normal!important;word-break:normal!important}
body.woocommerce-account .ge-account-nav .ge-nav-lb{flex:1;min-width:0}

/* Content card: take all remaining width */
body.woocommerce-account .ge-account-layout > .ge-account-content,
body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-content{
  width:100%!important;max-width:none!important;min-width:0!important;
  padding:32px!important;border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 40px -16px rgba(15,23,42,.08), 0 1px 0 rgba(15,23,42,.04)!important;
  border:1px solid rgba(226,232,240,.7)!important;
  min-height:560px!important;
}

/* Hero inside dashboard: spread across full content width, never collapse */
body.woocommerce-account .ge-dash-hero{
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;
  gap:22px!important;width:100%!important;min-width:0!important;
  padding:30px 32px!important;border-radius:20px!important;
}
body.woocommerce-account .ge-dash-hero > div{min-width:0;flex:1}
body.woocommerce-account .ge-dash-hero .ge-dash-cta{flex-shrink:0;white-space:nowrap}

/* Stats grid stays 4 across on desktop */
body.woocommerce-account .ge-dash-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%!important}
body.woocommerce-account .ge-stat{min-width:0}

/* Tablet */
@media(max-width:1024px){
  body.woocommerce-account .ge-account-layout{grid-template-columns:260px minmax(0,1fr)!important;gap:22px!important;padding:24px 18px 56px!important}
  body.woocommerce-account .ge-account-layout > .ge-account-nav{max-width:260px!important}
  body.woocommerce-account .ge-account-layout > .ge-account-content{padding:24px!important}
  body.woocommerce-account .ge-dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile: stack everything */
@media(max-width:900px){
  body.woocommerce-account .ge-account-layout{grid-template-columns:1fr!important;gap:16px!important;padding:16px 12px 40px!important}
  body.woocommerce-account .ge-account-layout > .ge-account-nav{position:static!important;top:auto!important;max-width:100%!important;padding:18px!important}
  body.woocommerce-account .ge-account-layout > .ge-account-content{padding:18px!important;border-radius:18px!important;min-height:auto!important}
  body.woocommerce-account .ge-dash-hero{flex-direction:column!important;align-items:flex-start!important;padding:22px!important;gap:14px!important}
  body.woocommerce-account .ge-dash-hero .ge-dash-cta{align-self:stretch;justify-content:center}
}
@media(max-width:560px){
  body.woocommerce-account .ge-dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body.woocommerce-account .ge-account-layout > .ge-account-content{padding:14px!important}
}

/* Hard guard: never let any descendant overflow horizontally */
body.woocommerce-account .ge-account-layout *{max-width:100%}
body.woocommerce-account .ge-account-layout{overflow:visible}

/* ===== v1.7.0 — Keep My Account menu inside centered main box ===== */
/* Release Elementor/page wrappers, but keep the actual account grid contained instead of full-bleed. */
body.woocommerce-account .elementor,
body.woocommerce-account .elementor-section,
body.woocommerce-account .elementor-container,
body.woocommerce-account .elementor-row,
body.woocommerce-account .elementor-column,
body.woocommerce-account .elementor-column-wrap,
body.woocommerce-account .elementor-widget-wrap,
body.woocommerce-account .elementor-widget,
body.woocommerce-account .elementor-widget-shortcode,
body.woocommerce-account .elementor-widget-shortcode .elementor-widget-container,
body.woocommerce-account .elementor-element,
body.woocommerce-account .e-con,
body.woocommerce-account .e-con-inner,
body.woocommerce-account .e-parent,
body.woocommerce-account .e-child{
  --width:100%!important;
  --container-max-width:100%!important;
  width:100%!important;
  max-width:100%!important;
  flex:1 1 100%!important;
  flex-basis:100%!important;
}

/* Centered main account box: sidebar/menu and content both stay inside this box. */
body.woocommerce-account .ge-account-layout{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:min(100%,1320px)!important;
  max-width:1320px!important;
  margin:32px auto 72px!important;
  padding:28px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:32px!important;
  align-items:start!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.82)!important;
  border-radius:24px!important;
  box-shadow:0 18px 60px -30px rgba(15,23,42,.18)!important;
  overflow:hidden!important;
}

/* Keep sidebar flush inside the grid track, never outside the page edge. */
body.woocommerce-account .ge-account-layout > .ge-account-nav,
body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-navigation{
  position:sticky!important;
  top:96px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  justify-self:stretch!important;
}

body.woocommerce-account .ge-account-layout > .ge-account-content,
body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  justify-self:stretch!important;
}

/* Dashboard internals keep full width without pushing the account menu out. */
body.woocommerce-account .ge-dash{display:block!important;width:100%!important;min-width:0!important}
body.woocommerce-account .ge-dash-hero{
  display:flex!important;
  flex-direction:row!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
body.woocommerce-account .ge-dash-hero > div:first-child{flex:1 1 auto!important;min-width:0!important;width:auto!important}
body.woocommerce-account .ge-dash-hero .ge-dash-sub{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
body.woocommerce-account .ge-stat{min-width:0!important;overflow:hidden}
body.woocommerce-account .ge-stat > div{min-width:0!important;flex:1 1 auto!important}
body.woocommerce-account .ge-stat-lb{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important}

@media(max-width:1024px){
  body.woocommerce-account .ge-account-layout{
    grid-template-columns:260px minmax(0,1fr)!important;
    gap:22px!important;
    width:calc(100% - 32px)!important;
    margin:24px auto 56px!important;
    padding:22px!important;
  }
}
@media(max-width:900px){
  body.woocommerce-account .ge-account-layout{
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:calc(100% - 24px)!important;
    margin:16px auto 40px!important;
    padding:14px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }
  body.woocommerce-account .ge-account-layout > .ge-account-nav,
  body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-navigation{position:static!important;top:auto!important}
  body.woocommerce-account .ge-dash-hero{flex-direction:column!important;align-items:flex-start!important}
}

/* ===== v1.7.1 — Expand parent wrappers so the centered account box can breathe ===== */
body.woocommerce-account #page,
body.woocommerce-account #main,
body.woocommerce-account #content,
body.woocommerce-account main,
body.woocommerce-account .site,
body.woocommerce-account .site-main,
body.woocommerce-account .site-content,
body.woocommerce-account .ge-main,
body.woocommerce-account .ge-container,
body.woocommerce-account .entry-content,
body.woocommerce-account .page-content,
body.woocommerce-account .ge-page,
body.woocommerce-account .ge-page__content,
body.woocommerce-account article,
body.woocommerce-account article.page{
  width:100%!important;
  max-width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Elementor inner widths via CSS variables */
body.woocommerce-account .elementor,
body.woocommerce-account .elementor-section,
body.woocommerce-account .elementor-container,
body.woocommerce-account .elementor-row,
body.woocommerce-account .elementor-column,
body.woocommerce-account .elementor-column-wrap,
body.woocommerce-account .elementor-widget-wrap,
body.woocommerce-account .elementor-widget,
body.woocommerce-account .elementor-widget-shortcode,
body.woocommerce-account .elementor-widget-shortcode .elementor-widget-container,
body.woocommerce-account .elementor-element,
body.woocommerce-account .e-con,
body.woocommerce-account .e-con-inner,
body.woocommerce-account .e-con.e-con-boxed,
body.woocommerce-account .e-con.e-con-boxed > .e-con-inner,
body.woocommerce-account .e-parent,
body.woocommerce-account .e-child{
  --width:100%!important;
  --container-max-width:100%!important;
  --container-widget-width:100%!important;
  --content-width:100%!important;
  width:100%!important;
  max-width:100%!important;
  flex:1 1 100%!important;
  flex-basis:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* The actual centered main account box — desktop wider, responsive on tablet/mobile. */
body.woocommerce-account .ge-account-layout{
  width:min(100% - 32px, 1360px)!important;
  max-width:1360px!important;
  margin:32px auto 72px!important;
  padding:32px!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:32px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.82)!important;
  border-radius:24px!important;
  box-shadow:0 18px 60px -30px rgba(15,23,42,.18)!important;
  overflow:hidden!important;
}

/* Tablet */
@media(max-width:1199px){
  body.woocommerce-account .ge-account-layout{
    width:calc(100% - 32px)!important;
    grid-template-columns:260px minmax(0,1fr)!important;
    gap:24px!important;
    padding:24px!important;
    margin:24px auto 56px!important;
  }
}

/* Small tablet / large mobile */
@media(max-width:900px){
  body.woocommerce-account .ge-account-layout{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:18px!important;
    margin:16px auto 40px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }
  body.woocommerce-account .ge-account-layout > .ge-account-nav,
  body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-navigation{
    position:static!important;top:auto!important;width:100%!important;max-width:100%!important;
  }
  body.woocommerce-account .ge-dash-hero{
    flex-direction:column!important;align-items:flex-start!important;padding:22px!important;
  }
  body.woocommerce-account .ge-dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Pure mobile */
@media(max-width:560px){
  body.woocommerce-account .ge-account-layout{
    width:calc(100% - 16px)!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  body.woocommerce-account .ge-account-layout > .ge-account-content,
  body.woocommerce-account .ge-account-layout > .woocommerce-MyAccount-content{
    padding:16px!important;border-radius:14px!important;
  }
}

/* ===== v1.7.5: Force product grid globally — fix squished/broken loop ===== */
.woocommerce ul.products,
ul.products{display:grid!important;gap:18px!important;margin:0 0 24px!important;padding:0!important;list-style:none!important;float:none!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.woocommerce ul.products[class*="columns-1"],ul.products[class*="columns-1"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.woocommerce ul.products[class*="columns-2"],ul.products[class*="columns-2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.woocommerce ul.products[class*="columns-3"],ul.products[class*="columns-3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.woocommerce ul.products[class*="columns-5"],ul.products[class*="columns-5"]{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:1023px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:639px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
.woocommerce ul.products li.product,
ul.products li.product{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;display:flex!important;flex-direction:column!important}
.woocommerce ul.products li.product a img,
ul.products li.product a img,
ul.products li.product img{width:100%!important;height:auto!important;display:block;margin:0!important}
.ge-shop-wrap{width:100%}

/* ===== v1.7.6: Thank You page ===== */
.ge-thankyou{max-width:880px;margin:24px auto 48px;display:flex;flex-direction:column;gap:20px}
.ge-ty-hero{background:linear-gradient(135deg,#f0f9ff 0%,#fff 60%,#ecfdf5 100%);border:1px solid var(--ge-border);border-radius:24px;padding:36px 28px;text-align:center;position:relative;overflow:hidden;box-shadow:0 6px 30px rgba(15,23,42,.05)}
.ge-ty-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(59,130,246,.08),transparent 50%),radial-gradient(circle at 80% 100%,rgba(16,185,129,.08),transparent 50%);pointer-events:none}
.ge-ty-hero__check{display:inline-flex;margin-bottom:12px;animation:gePop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes gePop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.ge-ty-hero__title{font-size:clamp(24px,3.5vw,34px);margin:0 0 10px;color:var(--ge-navy);font-family:var(--ge-font-head);font-weight:700;position:relative}
.ge-ty-hero__sub{color:var(--ge-muted);font-size:15.5px;margin:0 auto 22px;max-width:560px;line-height:1.6;position:relative}
.ge-ty-hero__meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;position:relative}
@media(max-width:639px){.ge-ty-hero__meta{grid-template-columns:repeat(2,1fr)}}
.ge-ty-meta-item{background:#fff;border:1px solid var(--ge-border);border-radius:12px;padding:12px 10px;text-align:center}
.ge-ty-meta-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ge-muted);font-weight:600;margin-bottom:4px}
.ge-ty-meta-val{display:block;color:var(--ge-navy);font-weight:700;font-family:var(--ge-font-head);font-size:14.5px;word-break:break-word}
.ge-ty-meta-val .amount{color:var(--ge-primary)}

.ge-ty-callout{display:flex;align-items:center;gap:14px;background:linear-gradient(90deg,#fff7ed,#fffbeb);border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:14px;padding:16px 18px}
.ge-ty-callout__icon{font-size:28px;flex-shrink:0}
.ge-ty-callout__body{flex:1;font-size:14px;color:var(--ge-text);line-height:1.5}
.ge-ty-callout__body strong{display:block;color:var(--ge-navy);font-size:15px;margin-bottom:2px}
.ge-ty-callout__body p{margin:0}
.ge-ty-callout__btn{flex-shrink:0;padding:10px 16px;background:#f59e0b;color:#fff;border-radius:10px;font-weight:600;font-size:13.5px;text-decoration:none;white-space:nowrap;transition:background .15s}
.ge-ty-callout__btn:hover{background:#d97706;color:#fff}
@media(max-width:639px){.ge-ty-callout{flex-wrap:wrap}.ge-ty-callout__btn{width:100%;text-align:center}}

.ge-ty-card{background:#fff;border:1px solid var(--ge-border);border-radius:18px;padding:22px 24px;box-shadow:0 2px 12px rgba(15,23,42,.03)}
.ge-ty-card__title{font-size:17px;margin:0 0 6px;color:var(--ge-navy);font-family:var(--ge-font-head);font-weight:700}
.ge-ty-card__sub{margin:0 0 18px;color:var(--ge-muted);font-size:13.5px}
.ge-ty-status-pill{display:inline-block;padding:3px 10px;background:var(--ge-primary);color:#fff;border-radius:999px;font-size:12px;font-weight:600;margin-left:4px}

/* Timeline */
.ge-ty-timeline{list-style:none;padding:0;margin:0;position:relative;display:flex;flex-direction:column;gap:18px}
.ge-ty-timeline::before{content:"";position:absolute;left:21px;top:18px;bottom:18px;width:2px;background:var(--ge-border);z-index:0}
.ge-ty-step{display:flex;align-items:flex-start;gap:16px;position:relative;z-index:1}
.ge-ty-step__dot{width:44px;height:44px;border-radius:50%;background:#f1f5f9;border:2px solid var(--ge-border);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;transition:all .25s}
.ge-ty-step__body{padding-top:6px;flex:1}
.ge-ty-step__label{font-weight:700;color:var(--ge-navy);font-size:14.5px;font-family:var(--ge-font-head)}
.ge-ty-step__desc{color:var(--ge-muted);font-size:13px;margin-top:2px}
.ge-ty-step--done .ge-ty-step__dot{background:#dcfce7;border-color:#16a34a}
.ge-ty-step--done .ge-ty-step__label{color:#16a34a}
.ge-ty-step--active .ge-ty-step__dot{background:var(--ge-primary);border-color:var(--ge-primary);color:#fff;box-shadow:0 0 0 6px rgba(59,130,246,.18);animation:gePulse 1.8s ease-in-out infinite}
.ge-ty-step--active .ge-ty-step__label{color:var(--ge-primary)}
.ge-ty-step--pending{opacity:.55}
@keyframes gePulse{0%,100%{box-shadow:0 0 0 6px rgba(59,130,246,.18)}50%{box-shadow:0 0 0 10px rgba(59,130,246,.08)}}

/* Items list */
.ge-ty-items{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}
.ge-ty-item{display:flex;align-items:center;gap:14px;padding:12px;background:#f8fafc;border:1px solid var(--ge-border);border-radius:12px}
.ge-ty-item__media{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#fff;flex-shrink:0;border:1px solid var(--ge-border)}
.ge-ty-item__media img{width:100%!important;height:100%!important;object-fit:cover;display:block}
.ge-ty-item__body{flex:1;min-width:0}
.ge-ty-item__name{font-weight:600;color:var(--ge-navy);font-size:14.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ge-ty-item__meta{font-size:12.5px;color:var(--ge-muted);margin-top:2px}
.ge-ty-item__price{font-weight:700;color:var(--ge-navy);font-family:var(--ge-font-head);font-size:14.5px;white-space:nowrap}

.ge-ty-totals{margin:16px 0 0;padding:14px 0 0;border-top:1px dashed var(--ge-border);display:flex;flex-direction:column;gap:6px}
.ge-ty-totals__row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--ge-text)}
.ge-ty-totals__row dt{margin:0;font-weight:500}
.ge-ty-totals__row dd{margin:0;font-weight:600;color:var(--ge-navy)}
.ge-ty-totals__row.is-grand{padding-top:10px;margin-top:6px;border-top:1px solid var(--ge-border);font-size:17px}
.ge-ty-totals__row.is-grand dt{font-weight:700;color:var(--ge-navy);font-family:var(--ge-font-head)}
.ge-ty-totals__row.is-grand dd{color:var(--ge-primary);font-weight:800;font-family:var(--ge-font-head)}

/* Two-col grid */
.ge-ty-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:767px){.ge-ty-grid{grid-template-columns:1fr}}
.ge-ty-addr{font-style:normal;font-size:14px;line-height:1.7;color:var(--ge-text)}
.ge-ty-addr a{color:var(--ge-primary);font-weight:600;text-decoration:none}
.ge-ty-next{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ge-text);line-height:1.5}
.ge-ty-next li::marker{color:var(--ge-primary);font-weight:700}

/* Actions */
.ge-ty-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:12px 0 8px}
.ge-ty-actions .ge-btn{padding:13px 24px;border-radius:12px;font-weight:600;text-decoration:none;font-size:14.5px;transition:all .15s;display:inline-flex;align-items:center;gap:8px}
.ge-ty-actions .ge-btn-primary{background:var(--ge-primary);color:#fff;border:1px solid var(--ge-primary)}
.ge-ty-actions .ge-btn-primary:hover{background:var(--ge-primary-600);border-color:var(--ge-primary-600)}
.ge-ty-actions .ge-btn-ghost{background:#fff;color:var(--ge-navy);border:1px solid var(--ge-border)}
.ge-ty-actions .ge-btn-ghost:hover{border-color:var(--ge-primary);color:var(--ge-primary)}

.ge-ty-empty{text-align:center;padding:48px 24px}

/* Hide default WC thank-you blocks since we render custom UI */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details{display:none!important}

/* === v1.8.0 — GoEcom Product Grid widget: prevent cramped/narrow cards === */
/* Make the widget always use the full width of its Elementor container */
.elementor-widget-goecom-product-grid,
.elementor-widget-goecom-product-grid > .elementor-widget-container,
.goecom-product-grid { width: 100% !important; max-width: 100% !important; }

/* Override columns dropdown with responsive auto-fit so cards never become too narrow.
   Each card will be at least 230px wide; columns adapt automatically. */
.goecom-product-grid ul.products,
.goecom-product-grid .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
}
.goecom-product-grid ul.products[class*="columns-"] {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
}
@media (max-width: 640px) {
  .goecom-product-grid ul.products,
  .goecom-product-grid ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}
@media (max-width: 380px) {
  .goecom-product-grid ul.products,
  .goecom-product-grid ul.products[class*="columns-"] {
    grid-template-columns: 1fr !important;
  }
}

/* Card: stable proportions, no float collapse */
.goecom-product-grid ul.products li.product {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Hide WooCommerce's default loop title — we render our own .ge-card-title.
   This removes the duplicate stacked titles seen inside the widget. */
.goecom-product-grid ul.products li.product > a > .woocommerce-loop-product__title,
.goecom-product-grid ul.products li.product > .woocommerce-loop-product__title { display: none !important; }

/* Title sizing: keep two-line clamp, but allow wider cards to show full text */
.goecom-product-grid ul.products li.product .ge-card-title {
  font-size: 14.5px !important;
  line-height: 1.4 !important;
  min-height: 40px !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

/* Image stays 1:1, body padding comfortable */
.goecom-product-grid ul.products li.product .ge-card-media { aspect-ratio: 1 / 1 !important; }
.goecom-product-grid ul.products li.product .ge-card-body { padding: 14px !important; gap: 8px !important; }

/* Heading above grid */
.goecom-product-grid > h2 { margin: 0 0 18px !important; }

/* ===== v1.10.1 — Smart checkout polish ===== */
.ge-checkout-hero{flex-wrap:wrap;gap:24px}
.ge-checkout-hero__text{flex:1 1 320px;min-width:260px}
.ge-checkout-steps{list-style:none;display:flex;gap:10px;margin:0;padding:8px;background:rgba(255,255,255,.12);border-radius:14px;backdrop-filter:blur(6px);position:relative;z-index:1}
.ge-ck-step{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;color:rgba(255,255,255,.78);font-size:13px;font-weight:600;white-space:nowrap}
.ge-ck-step__num{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.ge-ck-step--done{color:#fff}
.ge-ck-step--done .ge-ck-step__num{background:#22c55e;color:#fff}
.ge-ck-step--active{background:rgba(255,255,255,.18);color:#fff}
.ge-ck-step--active .ge-ck-step__num{background:#fff;color:var(--ge-primary)}

.ge-checkout-card{position:relative;overflow:hidden}
.ge-checkout-card__head{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--ge-border)}
.ge-checkout-card__icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in oklab,var(--ge-primary) 14%,transparent),color-mix(in oklab,var(--ge-navy) 12%,transparent));color:var(--ge-primary);flex-shrink:0}
.ge-checkout-card__head h2{margin:0!important;font-size:18px!important;color:var(--ge-navy);line-height:1.2}
.ge-checkout-card__eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ge-muted);margin-bottom:2px}

/* Form fields refinement */
.woocommerce-checkout form.checkout .form-row{margin:0 0 14px;padding:0}
.woocommerce-checkout form.checkout .form-row label{font-size:13px!important;font-weight:600!important;color:var(--ge-navy);margin-bottom:6px!important;letter-spacing:.01em}
.woocommerce-checkout form.checkout .form-row .required{color:#ef4444;text-decoration:none;margin-left:2px}
.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout form.checkout .form-row select,
.woocommerce-checkout form.checkout .select2-selection--single{height:48px!important;border:1.5px solid var(--ge-border)!important;border-radius:12px!important;padding:0 14px!important;background:#fff;font-size:15px;transition:border-color .15s,box-shadow .15s}
.woocommerce-checkout form.checkout .form-row textarea{height:auto!important;min-height:96px;padding:12px 14px!important;line-height:1.5}
.woocommerce-checkout form.checkout .select2-selection--single .select2-selection__rendered{line-height:46px!important;padding-left:0!important}
.woocommerce-checkout form.checkout .select2-selection--single .select2-selection__arrow{height:46px!important}
.woocommerce-checkout form.checkout .form-row input.input-text:focus,
.woocommerce-checkout form.checkout .form-row textarea:focus,
.woocommerce-checkout form.checkout .form-row select:focus{outline:none!important;border-color:var(--ge-primary)!important;box-shadow:0 0 0 4px color-mix(in oklab,var(--ge-primary) 14%,transparent)!important}

/* Two-column field rows on desktop */
@media(min-width:720px){
    .woocommerce-checkout form.checkout .form-row-first{float:none;width:calc(50% - 7px);display:inline-block;margin-right:10px;vertical-align:top}
    .woocommerce-checkout form.checkout .form-row-last{float:none;width:calc(50% - 7px);display:inline-block;margin-right:0;vertical-align:top}
    .woocommerce-checkout form.checkout .form-row-wide{display:block;width:100%}
}

/* Order review table */
.ge-checkout-card--review .woocommerce-checkout-review-order-table{font-size:14px}
.ge-checkout-card--review .woocommerce-checkout-review-order-table th{font-weight:600;color:var(--ge-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.ge-checkout-card--review .woocommerce-checkout-review-order-table .product-name{color:var(--ge-navy);font-weight:600}
.ge-checkout-card--review .woocommerce-checkout-review-order-table .product-total,
.ge-checkout-card--review .woocommerce-checkout-review-order-table tfoot .order-total .amount{color:var(--ge-navy);font-weight:700}
.ge-checkout-card--review .woocommerce-checkout-review-order-table tfoot .order-total{font-size:17px}

/* Payment box */
.woocommerce-checkout #payment{background:linear-gradient(180deg,color-mix(in oklab,var(--ge-primary) 4%,transparent),transparent)!important;border:1.5px solid var(--ge-border)!important;border-radius:14px!important;padding:14px!important;margin-top:8px}
.woocommerce-checkout #payment ul.payment_methods{padding:0!important;border-bottom:1px dashed var(--ge-border)!important;margin:0 0 14px!important}
.woocommerce-checkout #payment ul.payment_methods li{background:#fff;border:1.5px solid var(--ge-border);border-radius:12px;padding:12px 14px!important;margin:0 0 8px!important;list-style:none;transition:border-color .15s,box-shadow .15s}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:color-mix(in oklab,var(--ge-primary) 50%,var(--ge-border))}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:var(--ge-primary);transform:scale(1.15);margin-right:8px}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600!important;color:var(--ge-navy)!important;cursor:pointer}
.woocommerce-checkout #payment div.payment_box{background:var(--ge-gray)!important;border-radius:10px!important;font-size:13.5px;color:var(--ge-muted);margin:10px 0 0!important;padding:12px 14px!important}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}

/* Place order */
.woocommerce-checkout #payment #place_order{font-weight:700!important;letter-spacing:.3px;color:#fff!important;border:none!important;box-shadow:0 12px 28px -12px color-mix(in oklab,var(--ge-primary) 70%,transparent)!important;transition:transform .15s,box-shadow .15s,filter .15s;cursor:pointer}
.woocommerce-checkout #payment #place_order:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 16px 34px -12px color-mix(in oklab,var(--ge-primary) 80%,transparent)!important}

/* Trust strip */
.ge-checkout-trust{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px dashed var(--ge-border);display:flex;flex-direction:column;gap:8px}
.ge-checkout-trust li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ge-muted);font-weight:500}
.ge-checkout-trust li svg{color:#16a34a;flex-shrink:0}

/* Login / coupon notice prompts */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info{background:color-mix(in oklab,var(--ge-primary) 8%,transparent)!important;border:1px dashed color-mix(in oklab,var(--ge-primary) 35%,var(--ge-border))!important;color:var(--ge-navy)!important;border-radius:12px!important;padding:12px 14px!important;font-size:14px}
.woocommerce-checkout .woocommerce-info::before{color:var(--ge-primary)!important}
.woocommerce-checkout .woocommerce-info a{color:var(--ge-primary)!important;font-weight:700;text-decoration:underline}

/* Dark mode */
html[data-theme="dark"] .ge-checkout-card{background:#111a2e!important;border-color:#1f2a44!important;color:#f1f5f9}
html[data-theme="dark"] .ge-checkout-card__head{border-bottom-color:#1f2a44}
html[data-theme="dark"] .ge-checkout-card__head h2{color:#f1f5f9}
html[data-theme="dark"] .ge-checkout-card__icon{background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(15,23,42,.4));color:#93c5fd}
html[data-theme="dark"] .woocommerce-checkout form.checkout .form-row label{color:#e2e8f0}
html[data-theme="dark"] .woocommerce-checkout form.checkout .form-row input.input-text,
html[data-theme="dark"] .woocommerce-checkout form.checkout .form-row textarea,
html[data-theme="dark"] .woocommerce-checkout form.checkout .form-row select,
html[data-theme="dark"] .woocommerce-checkout form.checkout .select2-selection--single{background:#0f1830!important;border-color:#1f2a44!important;color:#f1f5f9}
html[data-theme="dark"] .woocommerce-checkout #payment{background:#0f1830!important;border-color:#1f2a44!important}
html[data-theme="dark"] .woocommerce-checkout #payment ul.payment_methods li{background:#111a2e;border-color:#1f2a44;color:#f1f5f9}
html[data-theme="dark"] .woocommerce-checkout #payment ul.payment_methods li label{color:#f1f5f9!important}
html[data-theme="dark"] .woocommerce-checkout #payment div.payment_box{background:#0b1325!important;color:#cbd5e1}
html[data-theme="dark"] .ge-checkout-card--review .woocommerce-checkout-review-order-table .product-name,
html[data-theme="dark"] .ge-checkout-card--review .woocommerce-checkout-review-order-table .product-total,
html[data-theme="dark"] .ge-checkout-card--review .woocommerce-checkout-review-order-table tfoot .amount{color:#f1f5f9}
html[data-theme="dark"] .ge-checkout-trust li{color:#94a3b8}

/* Mobile */
@media(max-width:720px){
    .ge-checkout-steps{width:100%;justify-content:space-between;gap:4px}
    .ge-ck-step{padding:6px 8px;font-size:12px}
    .ge-ck-step__label{display:none}
    .ge-ck-step--active .ge-ck-step__label{display:inline}
    .ge-checkout-card__head h2{font-size:16px!important}
    .ge-checkout-card__icon{width:34px;height:34px}
}

/* ===== v1.10.2 — Mobile-friendly polish across pages ===== */

/* Thank-you: full-width on mobile, breathable spacing */
@media(max-width:767px){
    .ge-thankyou{margin:12px 0 32px;gap:14px;padding:0 12px;max-width:100%}
    .ge-ty-hero{padding:24px 16px;border-radius:18px}
    .ge-ty-hero__title{font-size:22px;margin-bottom:8px}
    .ge-ty-hero__sub{font-size:14px;margin-bottom:16px;line-height:1.55}
    .ge-ty-hero__check svg{width:56px;height:56px}
    .ge-ty-hero__meta{grid-template-columns:repeat(2,1fr)!important;gap:8px;margin-top:14px}
    .ge-ty-meta-item{padding:10px 8px;border-radius:10px}
    .ge-ty-meta-label{font-size:10px;margin-bottom:2px}
    .ge-ty-meta-val{font-size:13px}
    .ge-ty-callout{padding:14px;gap:10px;border-radius:12px}
    .ge-ty-callout__icon{font-size:22px}
    .ge-ty-callout__body{font-size:13px}
    .ge-ty-callout__body strong{font-size:14px}
    .ge-ty-card{padding:16px 14px;border-radius:14px}
    .ge-ty-card__title{font-size:15.5px}
    .ge-ty-card__sub{font-size:13px;margin-bottom:14px}
    .ge-ty-grid{gap:12px}
    .ge-ty-timeline{gap:14px}
    .ge-ty-timeline::before{left:18px}
    .ge-ty-step__dot{width:38px;height:38px;font-size:15px}
    .ge-ty-step__label{font-size:13.5px}
    .ge-ty-step__desc{font-size:12.5px}
    .ge-ty-item{padding:10px;gap:10px;border-radius:10px}
    .ge-ty-item__media{width:54px;height:54px}
    .ge-ty-item__name{font-size:13.5px}
    .ge-ty-item__meta{font-size:12px}
    .ge-ty-item__price{font-size:13.5px}
    .ge-ty-totals__row{font-size:13.5px}
    .ge-ty-totals__row.is-grand{font-size:15.5px}
    .ge-ty-actions{gap:8px;flex-direction:column}
    .ge-ty-actions .ge-btn{width:100%;justify-content:center;padding:13px 16px}
    .ge-ty-addr{font-size:13.5px}
    .ge-ty-next{font-size:13.5px;padding-left:18px}
}

/* Cart: full-width mobile, comfortable touch targets */
@media(max-width:767px){
    .woocommerce-cart .woocommerce{padding:0 12px!important;margin:12px auto 24px!important}
    .ge-cart-form,.ge-cart-summary-wrap{padding:14px!important;border-radius:14px}
    .ge-cart-hero{padding:20px 16px;border-radius:16px}
    .ge-cart-hero h1{font-size:22px}
    .woocommerce-cart table.shop_table{display:block;border:none!important;background:transparent!important}
    .woocommerce-cart table.shop_table thead{display:none}
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr{display:block;width:100%}
    .woocommerce-cart table.shop_table tr.cart_item{background:#fff;border:1px solid var(--ge-border);border-radius:12px;padding:12px;margin-bottom:10px;display:grid!important;grid-template-columns:72px 1fr;grid-gap:10px;position:relative}
    html[data-theme="dark"] .woocommerce-cart table.shop_table tr.cart_item{background:#111a2e;border-color:#1f2a44}
    .woocommerce-cart table.shop_table tr.cart_item td{border:none!important;padding:0!important;background:transparent!important}
    .woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail{grid-row:span 3;width:72px}
    .woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail img{width:72px!important;height:72px!important;border-radius:10px;object-fit:cover}
    .woocommerce-cart table.shop_table tr.cart_item td.product-name{font-size:13.5px;line-height:1.4;font-weight:600}
    .woocommerce-cart table.shop_table tr.cart_item td.product-price{display:none!important}
    .woocommerce-cart table.shop_table tr.cart_item td.product-quantity{display:flex;align-items:center}
    .woocommerce-cart table.shop_table tr.cart_item td.product-subtotal{text-align:right;font-weight:700;color:var(--ge-navy)}
    html[data-theme="dark"] .woocommerce-cart table.shop_table tr.cart_item td.product-subtotal{color:#f1f5f9}
    .woocommerce-cart table.shop_table tr.cart_item td.product-remove{position:absolute;top:8px;right:8px}
    .ge-cart-summary-wrap{max-width:100%}
    .ge-coupon{flex-direction:column}
    .ge-coupon .input-text{width:100%}
}

/* Checkout: full-width on mobile, single column already handled */
@media(max-width:767px){
    .woocommerce-checkout .woocommerce{padding:0 12px!important;margin:12px auto 24px!important}
    .ge-checkout-page{gap:14px}
    .ge-checkout-hero{padding:20px 16px;border-radius:16px;flex-direction:column;align-items:flex-start}
    .ge-checkout-hero h1{font-size:22px}
    .ge-checkout-hero p{font-size:13.5px}
    .ge-checkout-card{padding:16px 14px;border-radius:14px}
    .ge-checkout-card__head{margin-bottom:14px;padding-bottom:12px;gap:10px}
    .woocommerce-checkout form.checkout .form-row input.input-text,
    .woocommerce-checkout form.checkout .form-row textarea,
    .woocommerce-checkout form.checkout .form-row select,
    .woocommerce-checkout form.checkout .select2-selection--single{height:46px!important;font-size:14.5px}
    .woocommerce-checkout #payment{padding:12px!important;border-radius:12px!important}
    .woocommerce-checkout #payment ul.payment_methods li{padding:10px 12px!important;border-radius:10px}
    .woocommerce-checkout #payment #place_order{padding:14px 18px!important;font-size:15px!important}
    .ge-checkout-trust li{font-size:12px}
    .ge-checkout-details{gap:12px!important}
}

/* Shop / archive grid: touch-friendly */
@media(max-width:767px){
    .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:0!important;margin:0!important}
    .woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important}
    .woocommerce ul.products li.product .ge-card-title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;line-height:1.35!important}
    .woocommerce ul.products li.product .price,
    .woocommerce ul.products li.product .woocommerce-Price-amount{font-size:13.5px!important}
    .woocommerce-page .woocommerce>.woocommerce-result-count,
    .woocommerce-page .woocommerce>.woocommerce-ordering{width:100%!important;float:none!important;margin:0 0 10px!important}
    .woocommerce-page .woocommerce>.woocommerce-ordering select{width:100%}
}
@media(max-width:380px){
    .woocommerce ul.products{grid-template-columns:1fr!important}
}

/* Home page: ensure all sections breathe on mobile */
@media(max-width:767px){
    body.home .elementor-section,
    body.home .elementor-container{padding-left:12px!important;padding-right:12px!important}
    body.home .elementor-heading-title{font-size:clamp(20px,5vw,28px)!important;line-height:1.25!important}
}

/* Global mobile safety: no horizontal overflow */
@media(max-width:767px){
    html,body{overflow-x:hidden;max-width:100vw}
    img,video,iframe{max-width:100%;height:auto}
    .container,.elementor-container{max-width:100%!important}
    table{max-width:100%}
}

/* ============================================================
 * v1.10.4 — Global text readability on light containers.
 * Fix: text on white/light cards was rendering too light to read.
 * Strategy: force strong dark text on every known light-surface
 * container in WooCommerce + theme pages (cart, checkout, thank-you,
 * my-account, lost password, order, etc.). In dark mode, the same
 * container becomes dark, so text flips to light. Headings, labels,
 * paragraphs, list items, and table cells are all covered.
 * ============================================================ */

/* Light mode (default): force dark, high-contrast text on light cards */
.ge-cart-form,
.ge-cart-summary-wrap,
.ge-cart-hero,
.ge-checkout-card,
.ge-checkout-hero,
.ge-checkout-trust,
.ge-ty-card,
.ge-ty-hero,
.ge-ty-meta,
.ge-ty-timeline,
.ge-ty-totals,
.ge-coupon,
.woocommerce-cart .cart_totals,
.woocommerce-cart table.shop_table,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout form.checkout,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .woocommerce-table--order-details,
.woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce form.lost_reset_password,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
  color:#0f172a;
}
.ge-cart-form *:not(a):not(.button):not(.ge-btn):not(input):not(select):not(textarea),
.ge-cart-summary-wrap *:not(a):not(.button):not(.ge-btn):not(input):not(select):not(textarea),
.ge-checkout-card *:not(a):not(.button):not(.ge-btn):not(input):not(select):not(textarea):not(#place_order),
.ge-ty-card *:not(a):not(.button):not(.ge-btn),
.ge-ty-meta *:not(a),
.ge-ty-timeline *:not(a),
.ge-ty-totals *:not(a),
.woocommerce-cart .cart_totals *:not(a):not(.button):not(input),
.woocommerce-cart table.shop_table td:not(.product-remove),
.woocommerce-cart table.shop_table th,
.woocommerce-checkout #order_review *:not(a):not(.button):not(input):not(#place_order),
.woocommerce-order .woocommerce-order-details *:not(a):not(.button),
.woocommerce-order .woocommerce-customer-details *:not(a):not(.button),
.woocommerce-MyAccount-content *:not(a):not(.button):not(input):not(select):not(textarea){
  color:#0f172a;
}
.ge-cart-form h1,.ge-cart-form h2,.ge-cart-form h3,.ge-cart-form h4,
.ge-cart-summary-wrap h1,.ge-cart-summary-wrap h2,.ge-cart-summary-wrap h3,
.ge-checkout-card h1,.ge-checkout-card h2,.ge-checkout-card h3,.ge-checkout-card h4,
.ge-ty-card h1,.ge-ty-card h2,.ge-ty-card h3,.ge-ty-card h4,
.woocommerce-cart h1,.woocommerce-cart h2,.woocommerce-cart h3,
.woocommerce-checkout h1,.woocommerce-checkout h2,.woocommerce-checkout h3,
.woocommerce-order h1,.woocommerce-order h2,.woocommerce-order h3,
.woocommerce-MyAccount-content h1,.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{
  color:#0b1220;
}
.ge-cart-form label,.ge-cart-summary-wrap label,
.ge-checkout-card label,.woocommerce form .form-row label,
.woocommerce-MyAccount-content label{color:#0f172a;font-weight:600}
.woocommerce-cart table.shop_table td.product-name a,
.woocommerce-checkout #order_review .product-name,
.woocommerce-order .product-name{color:#0b1220 !important;font-weight:600}
.woocommerce .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-checkout #order_review .woocommerce-Price-amount,
.woocommerce-order .woocommerce-Price-amount{color:#0b1220}
.woocommerce-info,.woocommerce-message{color:#0b1220 !important}
.woocommerce-info a,.woocommerce-message a{color:var(--ge-primary,#0066ff)}

/* Dark mode: containers become dark, text flips back to light */
html[data-theme="dark"] .ge-cart-form,
html[data-theme="dark"] .ge-cart-summary-wrap,
html[data-theme="dark"] .ge-cart-hero,
html[data-theme="dark"] .ge-checkout-card,
html[data-theme="dark"] .ge-checkout-hero,
html[data-theme="dark"] .ge-checkout-trust,
html[data-theme="dark"] .ge-ty-card,
html[data-theme="dark"] .ge-ty-hero,
html[data-theme="dark"] .ge-ty-meta,
html[data-theme="dark"] .ge-ty-timeline,
html[data-theme="dark"] .ge-ty-totals,
html[data-theme="dark"] .ge-coupon,
html[data-theme="dark"] .woocommerce-cart .cart_totals,
html[data-theme="dark"] .woocommerce-cart table.shop_table,
html[data-theme="dark"] .woocommerce-checkout #order_review,
html[data-theme="dark"] .woocommerce-checkout .woocommerce-checkout-review-order-table,
html[data-theme="dark"] .woocommerce-checkout form.checkout,
html[data-theme="dark"] .woocommerce-order .woocommerce-order-details,
html[data-theme="dark"] .woocommerce-order .woocommerce-customer-details,
html[data-theme="dark"] .woocommerce-order .woocommerce-table--order-details,
html[data-theme="dark"] .woocommerce-MyAccount-content,
html[data-theme="dark"] .woocommerce-account .woocommerce-MyAccount-navigation,
html[data-theme="dark"] .woocommerce form.lost_reset_password,
html[data-theme="dark"] .woocommerce form.login,
html[data-theme="dark"] .woocommerce form.register,
html[data-theme="dark"] .woocommerce-info,
html[data-theme="dark"] .woocommerce-message,
html[data-theme="dark"] .woocommerce-error{
  background:#111a2e !important;
  border-color:#1f2a44 !important;
  color:#f1f5f9 !important;
}
html[data-theme="dark"] .ge-cart-form *:not(a):not(.button):not(.ge-btn):not(input):not(select):not(textarea),
html[data-theme="dark"] .ge-cart-summary-wrap *:not(a):not(.button):not(.ge-btn):not(input):not(select):not(textarea),
html[data-theme="dark"] .ge-checkout-card *:not(a):not(.button):not(.ge-btn):not(input):not(select):not(textarea):not(#place_order),
html[data-theme="dark"] .ge-ty-card *:not(a):not(.button),
html[data-theme="dark"] .ge-ty-meta *:not(a),
html[data-theme="dark"] .ge-ty-timeline *:not(a),
html[data-theme="dark"] .ge-ty-totals *:not(a),
html[data-theme="dark"] .woocommerce-cart .cart_totals *:not(a):not(.button):not(input),
html[data-theme="dark"] .woocommerce-cart table.shop_table td:not(.product-remove),
html[data-theme="dark"] .woocommerce-cart table.shop_table th,
html[data-theme="dark"] .woocommerce-checkout #order_review *:not(a):not(.button):not(input):not(#place_order),
html[data-theme="dark"] .woocommerce-order .woocommerce-order-details *:not(a):not(.button),
html[data-theme="dark"] .woocommerce-order .woocommerce-customer-details *:not(a):not(.button),
html[data-theme="dark"] .woocommerce-MyAccount-content *:not(a):not(.button):not(input):not(select):not(textarea){
  color:#f1f5f9 !important;
}
html[data-theme="dark"] .ge-cart-form h1,html[data-theme="dark"] .ge-cart-form h2,html[data-theme="dark"] .ge-cart-form h3,
html[data-theme="dark"] .ge-cart-summary-wrap h1,html[data-theme="dark"] .ge-cart-summary-wrap h2,html[data-theme="dark"] .ge-cart-summary-wrap h3,
html[data-theme="dark"] .ge-checkout-card h1,html[data-theme="dark"] .ge-checkout-card h2,html[data-theme="dark"] .ge-checkout-card h3,
html[data-theme="dark"] .ge-ty-card h1,html[data-theme="dark"] .ge-ty-card h2,html[data-theme="dark"] .ge-ty-card h3,
html[data-theme="dark"] .woocommerce-cart h1,html[data-theme="dark"] .woocommerce-cart h2,
html[data-theme="dark"] .woocommerce-checkout h1,html[data-theme="dark"] .woocommerce-checkout h2,
html[data-theme="dark"] .woocommerce-order h1,html[data-theme="dark"] .woocommerce-order h2,
html[data-theme="dark"] .woocommerce-MyAccount-content h1,html[data-theme="dark"] .woocommerce-MyAccount-content h2{
  color:#ffffff !important;
}
html[data-theme="dark"] .woocommerce-cart table.shop_table td.product-name a,
html[data-theme="dark"] .woocommerce-checkout #order_review .product-name,
html[data-theme="dark"] .woocommerce-order .product-name{color:#ffffff !important}
html[data-theme="dark"] .woocommerce .woocommerce-Price-amount,
html[data-theme="dark"] .woocommerce-cart .cart_totals .woocommerce-Price-amount,
html[data-theme="dark"] .woocommerce-checkout #order_review .woocommerce-Price-amount,
html[data-theme="dark"] .woocommerce-order .woocommerce-Price-amount{color:#ffffff !important}
html[data-theme="dark"] .ge-checkout-card label,
html[data-theme="dark"] .woocommerce form .form-row label{color:#e2e8f0 !important}
html[data-theme="dark"] .woocommerce-info,
html[data-theme="dark"] .woocommerce-message{background:#111a2e !important;color:#f1f5f9 !important;border-color:#1f2a44 !important}

/* ============================================================
 * v1.10.5 — Full-width cart/checkout + mobile padding reset.
 * Fix: shortcode/Elementor/page wrappers were keeping WC content in
 * a narrow column and mobile had multiple nested paddings.
 * ============================================================ */

/* Release theme page/card wrappers on WooCommerce system pages */
body.woocommerce-cart .ge-container,
body.woocommerce-checkout .ge-container,
body.woocommerce-order-received .ge-container,
body.woocommerce-page.woocommerce-cart .ge-container,
body.woocommerce-page.woocommerce-checkout .ge-container{
  width:100%!important;
  max-width:1440px!important;
  padding-left:clamp(14px,3vw,36px)!important;
  padding-right:clamp(14px,3vw,36px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.woocommerce-cart .ge-page,
body.woocommerce-checkout .ge-page,
body.woocommerce-order-received .ge-page{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.woocommerce-cart .ge-page__content,
body.woocommerce-checkout .ge-page__content,
body.woocommerce-order-received .ge-page__content{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
}
body.woocommerce-cart .ge-page__title,
body.woocommerce-checkout .ge-page__title,
body.woocommerce-order-received .ge-page__title{
  max-width:1440px!important;
  margin:20px auto 18px!important;
}

/* Make WooCommerce itself occupy the available page width */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
  width:100%!important;
  max-width:1440px!important;
  margin:20px auto 56px!important;
  padding:0!important;
  float:none!important;
  box-sizing:border-box!important;
}
body.woocommerce-cart .ge-cart-page,
body.woocommerce-checkout .ge-checkout-page,
body.woocommerce-order-received .ge-thankyou{
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.woocommerce-order-received .ge-thankyou{max-width:1120px!important}

/* Desktop: cart gets a real two-column layout, checkout fills both sides */
@media(min-width:1024px){
  body.woocommerce-cart .ge-cart-page{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(340px,.65fr)!important;
    gap:24px!important;
    align-items:start!important;
  }
  body.woocommerce-cart .ge-cart-hero{grid-column:1/-1!important}
  body.woocommerce-cart .ge-cart-form{grid-column:1!important;min-width:0!important}
  body.woocommerce-cart .ge-cart-summary-wrap{grid-column:2!important;max-width:none!important;margin:0!important;position:sticky!important;top:104px!important}

  body.woocommerce-checkout form.checkout.ge-checkout-form,
  body.woocommerce-checkout form.checkout{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important;
    gap:24px!important;
    align-items:start!important;
  }
  body.woocommerce-checkout form.checkout .ge-checkout-details,
  body.woocommerce-checkout form.checkout .col2-set{grid-column:1!important;width:100%!important;max-width:none!important;min-width:0!important}
  body.woocommerce-checkout form.checkout .ge-checkout-review,
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review{grid-column:2!important;min-width:0!important}
}

/* If checkout/cart is inside Elementor, remove the boxed/narrow column limits */
body.woocommerce-cart .elementor,
body.woocommerce-checkout .elementor,
body.woocommerce-cart .elementor-section,
body.woocommerce-checkout .elementor-section,
body.woocommerce-cart .elementor-container,
body.woocommerce-checkout .elementor-container,
body.woocommerce-cart .elementor-widget-wrap,
body.woocommerce-checkout .elementor-widget-wrap,
body.woocommerce-cart .elementor-widget-shortcode,
body.woocommerce-checkout .elementor-widget-shortcode,
body.woocommerce-cart .elementor-widget-shortcode .elementor-widget-container,
body.woocommerce-checkout .elementor-widget-shortcode .elementor-widget-container,
body.woocommerce-cart .e-con,
body.woocommerce-checkout .e-con,
body.woocommerce-cart .e-con-inner,
body.woocommerce-checkout .e-con-inner{
  --width:100%!important;
  --container-max-width:100%!important;
  --content-width:100%!important;
  width:100%!important;
  max-width:100%!important;
}

/* Mobile: remove layered side padding so the content does not get squeezed */
@media(max-width:767px){
  body.woocommerce-cart .ge-main,
  body.woocommerce-checkout .ge-main,
  body.woocommerce-order-received .ge-main{overflow-x:hidden!important}
  body.woocommerce-cart .ge-container,
  body.woocommerce-checkout .ge-container,
  body.woocommerce-order-received .ge-container{
    max-width:100%!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.woocommerce-cart .ge-page__title,
  body.woocommerce-checkout .ge-page__title,
  body.woocommerce-order-received .ge-page__title{margin:14px 4px 12px!important;font-size:26px!important}
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-order-received .woocommerce{margin:8px auto 28px!important;padding:0!important;max-width:100%!important}
  body.woocommerce-cart .ge-cart-page,
  body.woocommerce-checkout .ge-checkout-page,
  body.woocommerce-order-received .ge-thankyou{gap:12px!important;padding:0!important;margin:0!important;max-width:100%!important}
  body.woocommerce-cart .ge-cart-hero,
  body.woocommerce-checkout .ge-checkout-hero{margin:0!important;padding:18px 14px!important;border-radius:16px!important;min-height:auto!important}
  body.woocommerce-cart .ge-cart-form,
  body.woocommerce-cart .ge-cart-summary-wrap,
  body.woocommerce-checkout .ge-checkout-card,
  body.woocommerce-order-received .ge-ty-card,
  body.woocommerce-order-received .ge-ty-hero{
    margin-left:0!important;
    margin-right:0!important;
    padding:12px!important;
    border-radius:14px!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.woocommerce-checkout form.checkout.ge-checkout-form,
  body.woocommerce-checkout form.checkout{display:block!important;width:100%!important;max-width:100%!important}
  body.woocommerce-checkout .ge-checkout-details,
  body.woocommerce-checkout .ge-checkout-review{width:100%!important;max-width:100%!important;margin:0!important}
  body.woocommerce-checkout .ge-checkout-review{margin-top:12px!important}
  body.woocommerce-checkout .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout .woocommerce-form-login-toggle,
  body.woocommerce-checkout form.checkout_coupon{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
}

/* v1.10.5 safety: Elementor two-column checkout/cart pages must not leave a blank right side */
body.woocommerce-cart .elementor-column:has(.woocommerce),
body.woocommerce-checkout .elementor-column:has(.woocommerce),
body.woocommerce-order-received .elementor-column:has(.woocommerce),
body.woocommerce-cart .elementor-widget-wrap:has(.woocommerce),
body.woocommerce-checkout .elementor-widget-wrap:has(.woocommerce),
body.woocommerce-order-received .elementor-widget-wrap:has(.woocommerce),
body.woocommerce-cart .elementor-element:has(.woocommerce),
body.woocommerce-checkout .elementor-element:has(.woocommerce),
body.woocommerce-order-received .elementor-element:has(.woocommerce),
body.woocommerce-cart .e-con:has(.woocommerce),
body.woocommerce-checkout .e-con:has(.woocommerce),
body.woocommerce-order-received .e-con:has(.woocommerce),
body.woocommerce-cart .e-child:has(.woocommerce),
body.woocommerce-checkout .e-child:has(.woocommerce),
body.woocommerce-order-received .e-child:has(.woocommerce){
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  flex-basis:100%!important;
  --width:100%!important;
  --flex-basis:100%!important;
  --container-widget-width:100%!important;
}
body.woocommerce-cart .elementor-widget-woocommerce-cart,
body.woocommerce-checkout .elementor-widget-woocommerce-checkout,
body.woocommerce-cart .elementor-widget-shortcode,
body.woocommerce-checkout .elementor-widget-shortcode{
  width:100%!important;
  max-width:100%!important;
}
@media(max-width:767px){
  body.woocommerce-cart .elementor-section,
  body.woocommerce-checkout .elementor-section,
  body.woocommerce-order-received .elementor-section,
  body.woocommerce-cart .elementor-column,
  body.woocommerce-checkout .elementor-column,
  body.woocommerce-order-received .elementor-column,
  body.woocommerce-cart .elementor-widget-wrap,
  body.woocommerce-checkout .elementor-widget-wrap,
  body.woocommerce-order-received .elementor-widget-wrap,
  body.woocommerce-cart .elementor-element,
  body.woocommerce-checkout .elementor-element,
  body.woocommerce-order-received .elementor-element,
  body.woocommerce-cart .e-con,
  body.woocommerce-checkout .e-con,
  body.woocommerce-order-received .e-con,
  body.woocommerce-cart .e-con-inner,
  body.woocommerce-checkout .e-con-inner,
  body.woocommerce-order-received .e-con-inner{
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
