/* Elefair Site Kit — WooCommerce pages (Shop, product, Cart, Checkout, My Account).
   Colours come from the Elefair theme (--ef-*) when it is active, so the theme's
   light/dark switch applies; without the theme the Elefair colours are used. */
:root{
  --sh-card:var(--ef-surface,#ffffff);
  --sh-text:var(--ef-text,#26364d);
  --sh-head:var(--ef-text,#0a1630);
  --sh-muted:var(--ef-muted,#5a6a72);
  --sh-line:var(--ef-border,#e2e9f1);
  --sh-primary:var(--ef-primary,#12a9e1);
  --sh-accent:var(--ef-accent,#2b5fab);
  --sh-radius:var(--ef-radius,14px);
  --sh-brand:linear-gradient(135deg,var(--sh-accent) 0%,var(--sh-primary) 100%);
  --sh-soft:color-mix(in srgb,var(--sh-primary) 9%,var(--sh-card));
  --sh-ok:#0e9f6e;
  --sh-link:var(--sh-primary);
}
html[data-theme="light"]{--sh-link:color-mix(in srgb,var(--sh-primary) 75%,#0b1222);--sh-ok:#047857}

/* ---------- shared ---------- */
.woocommerce{color:var(--sh-text)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .checkout-button,.woocommerce #place_order,.efsk-btn{
  background:var(--sh-brand)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  padding:12px 22px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.01em;
  box-shadow:0 8px 22px -12px var(--sh-primary);transition:transform .15s ease,filter .15s ease;text-decoration:none!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #place_order:hover,.efsk-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.woocommerce button.button:disabled,.woocommerce button.button[disabled]{opacity:.55!important;transform:none;cursor:not-allowed}
.woocommerce .efsk-btn-ghost,.woocommerce a.efsk-btn-ghost{background:transparent!important;color:var(--sh-head)!important;border:1.5px solid var(--sh-line)!important;border-radius:999px!important;padding:11px 20px!important;font-weight:700!important;text-decoration:none!important}
.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce input[type=number],
.woocommerce select,.woocommerce textarea,.woocommerce .input-text{
  background:var(--sh-card);color:var(--sh-head);border:1px solid var(--sh-line);border-radius:10px;padding:11px 13px;font:inherit;min-height:44px;box-sizing:border-box}
.woocommerce input:focus,.woocommerce select:focus,.woocommerce textarea:focus,.woocommerce .input-text:focus{outline:2px solid var(--sh-primary);outline-offset:1px;border-color:transparent}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--sh-line)!important;border-left:4px solid var(--sh-primary)!important;border-radius:var(--sh-radius)!important;background:var(--sh-card)!important;color:var(--sh-text)!important;box-shadow:none!important}
.woocommerce-error{border-left-color:#e11d48!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--sh-primary)!important}

/* ---------- order steps + trust row ---------- */
.efsk-steps{display:flex;gap:10px;list-style:none;margin:0 0 26px;padding:0;flex-wrap:wrap}
.efsk-steps li{display:flex;align-items:center;gap:10px;flex:1 1 180px;padding:12px 14px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-card);color:var(--sh-muted);font-weight:600;font-size:14px}
.efsk-steps b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--sh-line);font-size:13px;color:var(--sh-muted);flex:0 0 28px}
.efsk-steps li.now{border-color:var(--sh-primary);color:var(--sh-head);box-shadow:0 0 0 3px color-mix(in srgb,var(--sh-primary) 18%,transparent)}
.efsk-steps li.now b{background:var(--sh-brand);border-color:transparent;color:#fff}
.efsk-steps li.done{color:var(--sh-head)}.efsk-steps li.done b{background:var(--sh-ok);border-color:transparent;color:#fff}
.efsk-trust{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px;font-size:13px;color:var(--sh-muted)}
.efsk-trust li::before{content:"✓";color:var(--sh-ok);font-weight:800;margin-right:8px}
.efsk-note{margin:0 0 22px;padding:14px 16px;border-radius:var(--sh-radius);background:var(--sh-soft);border:1px solid var(--sh-line);color:var(--sh-text)}

/* ---------- cart ---------- */
.woocommerce table.shop_table{width:100%;border:1px solid var(--sh-line)!important;border-radius:var(--sh-radius)!important;border-collapse:separate!important;border-spacing:0;overflow:hidden;background:var(--sh-card);margin-bottom:24px}
.woocommerce table.shop_table th{background:var(--sh-soft);color:var(--sh-head);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding:14px 16px!important;border:0!important}
.woocommerce table.shop_table td{padding:16px!important;border-top:1px solid var(--sh-line)!important;border-left:0!important;border-right:0!important;vertical-align:middle;color:var(--sh-text)}
.woocommerce table.shop_table td.product-name a{color:var(--sh-head);font-weight:700;text-decoration:none;font-size:16px;line-height:1.35}
.woocommerce table.shop_table td.product-name a:hover{color:var(--sh-primary)}
.woocommerce table.shop_table td.product-thumbnail img{width:72px!important;height:72px;object-fit:cover;border-radius:12px;border:1px solid var(--sh-line)}
.woocommerce table.shop_table td.product-price,.woocommerce table.shop_table td.product-subtotal{font-weight:700;color:var(--sh-head);white-space:nowrap}
.woocommerce a.remove{display:inline-grid!important;place-items:center;width:30px!important;height:30px!important;border-radius:50%!important;color:var(--sh-muted)!important;border:1px solid var(--sh-line);font-size:18px!important;line-height:1!important;background:transparent}
.woocommerce a.remove:hover{background:#e11d48!important;border-color:#e11d48;color:#fff!important}
.woocommerce table.cart td.actions{background:var(--sh-card)}
.woocommerce table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.woocommerce table.cart td.actions .coupon .input-text{width:220px!important;margin:0!important}
.woocommerce table.cart td.actions button[name=update_cart]{background:transparent!important;color:var(--sh-head)!important;border:1.5px solid var(--sh-line)!important;box-shadow:none}
.woocommerce .cart-collaterals .cart_totals{background:var(--sh-card);border:1px solid var(--sh-line);border-radius:var(--sh-radius);padding:22px;box-shadow:0 18px 40px -30px color-mix(in srgb,var(--sh-primary) 60%,transparent)}
.woocommerce .cart-collaterals .cart_totals h2{margin:0 0 12px;font-size:20px;color:var(--sh-head)}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border:0!important;margin:0 0 6px;box-shadow:none}
.woocommerce .cart-collaterals .cart_totals table.shop_table th{background:transparent;text-transform:none;letter-spacing:0;font-size:15px;padding:10px 0!important}
.woocommerce .cart-collaterals .cart_totals table.shop_table td{padding:10px 0!important;text-align:right}
.woocommerce .cart-collaterals .cart_totals .order-total td,.woocommerce .cart-collaterals .cart_totals .order-total th{font-size:19px;color:var(--sh-head)}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;box-sizing:border-box;text-align:center;font-size:17px!important;padding:15px 22px!important}
.efsk-empty{text-align:center;padding:42px 20px;border:1px dashed var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-card);margin:10px 0 24px}
.efsk-empty-ico{font-size:42px;line-height:1;margin-bottom:10px}
.efsk-empty h2{margin:0 0 6px;color:var(--sh-head)}.efsk-empty p{color:var(--sh-muted);margin:0 0 16px}
.efsk-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.woocommerce .cart-empty.woocommerce-info,.woocommerce .return-to-shop{display:none}

/* ---------- checkout ---------- */
.woocommerce-checkout .col2-set,.woocommerce-checkout #order_review{background:var(--sh-card);border:1px solid var(--sh-line);border-radius:var(--sh-radius);padding:22px}
.woocommerce-checkout #order_review_heading{margin:24px 0 12px;color:var(--sh-head)}
.woocommerce-checkout h3{color:var(--sh-head)}
.woocommerce form .form-row label{font-weight:600;color:var(--sh-head);margin-bottom:5px}
.woocommerce-checkout #payment{background:var(--sh-soft)!important;border-radius:var(--sh-radius)!important}
.woocommerce-checkout #payment div.payment_box{background:var(--sh-card)!important;color:var(--sh-text)!important;border-radius:10px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--sh-card)!important}
.woocommerce-checkout #place_order{width:100%;box-sizing:border-box;font-size:17px!important;padding:15px 22px!important}

/* ---------- my account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-MyAccount-navigation{background:var(--sh-card);border:1px solid var(--sh-line);border-radius:var(--sh-radius);padding:10px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:var(--sh-text);text-decoration:none;font-weight:600}
.woocommerce-MyAccount-navigation a::before{content:"•";width:22px;text-align:center;font-size:16px}
.woocommerce-MyAccount-navigation-link--dashboard a::before{content:"🏠"}
.woocommerce-MyAccount-navigation-link--orders a::before{content:"🧾"}
.woocommerce-MyAccount-navigation-link--elefair-licenses a::before{content:"🔑"}
.woocommerce-MyAccount-navigation-link--downloads a::before{content:"⬇️"}
.woocommerce-MyAccount-navigation-link--edit-address a::before{content:"📍"}
.woocommerce-MyAccount-navigation-link--payment-methods a::before{content:"💳"}
.woocommerce-MyAccount-navigation-link--edit-account a::before{content:"👤"}
.woocommerce-MyAccount-navigation-link--customer-logout a::before{content:"↩"}
.woocommerce-MyAccount-navigation a:hover{background:var(--sh-soft);color:var(--sh-head)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--sh-brand);color:#fff}
.woocommerce-MyAccount-content{background:var(--sh-card);border:1px solid var(--sh-line);border-radius:var(--sh-radius);padding:24px;min-width:0}
.woocommerce-MyAccount-content>p:first-child{font-size:17px;color:var(--sh-head)}
.woocommerce-MyAccount-content a:not(.button):not(.efsk-acard),.woocommerce-cart .woocommerce a:not(.button):not(.remove),.woocommerce-checkout .woocommerce a:not(.button),.efsk-guest a:not(.button),.efsk-sec-head a{color:var(--sh-link)}
.woocommerce table.shop_table td.product-name a{color:var(--sh-head)!important}.woocommerce table.shop_table td.product-name a:hover{color:var(--sh-primary)!important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{text-decoration:none!important;color:inherit;display:block}
.woocommerce img{max-width:100%;height:auto}
.efsk-acards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:18px}
.efsk-acard{display:grid;gap:4px;padding:18px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-soft);color:var(--sh-text);text-decoration:none;transition:transform .15s ease,border-color .15s ease}
.efsk-acard:hover{transform:translateY(-2px);border-color:var(--sh-primary)}
.efsk-acard .i{font-size:24px}.efsk-acard b{color:var(--sh-head);font-size:16px}.efsk-acard small{color:var(--sh-muted);font-size:13px}
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.register{border:1px solid var(--sh-line)!important;border-radius:var(--sh-radius)!important;background:var(--sh-card);padding:24px!important}
.woocommerce-account .u-columns.col2-set{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.woocommerce-account .u-columns .u-column1,.woocommerce-account .u-columns .u-column2{float:none!important;width:auto!important}

/* ---------- shop + product cards ---------- */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin:0 0 30px!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;background:var(--sh-card);border:1px solid var(--sh-line);border-radius:calc(var(--sh-radius) + 4px);padding:14px!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:var(--sh-primary);box-shadow:0 22px 44px -28px var(--sh-primary)}
.woocommerce ul.products li.product a img{width:100%!important;max-width:100%;height:auto;display:block;border-radius:var(--sh-radius);margin:0 0 12px!important;aspect-ratio:1/1;object-fit:cover;background:#050b1a}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--sh-head);font-size:16px!important;font-weight:700;line-height:1.35;padding:0!important;margin:0 0 8px}
.woocommerce ul.products li.product .price{color:var(--sh-head)!important;font-size:18px!important;font-weight:800;margin:0 0 14px!important}
.woocommerce ul.products li.product .price del{color:var(--sh-muted);font-weight:500;font-size:14px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin-top:auto!important;text-align:center}
.woocommerce span.onsale{background:var(--sh-brand)!important;color:#fff!important;border-radius:999px!important;min-height:0!important;min-width:0!important;padding:4px 10px!important;line-height:1.3!important;font-weight:700;top:10px!important;left:10px!important;right:auto!important}
.woocommerce .woocommerce-result-count{color:var(--sh-muted)}
.woocommerce .woocommerce-ordering select{min-height:40px}
.woocommerce nav.woocommerce-pagination ul{border:0!important;display:flex;gap:6px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0!important}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--sh-line);border-radius:10px;min-width:38px;padding:9px!important;color:var(--sh-text)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--sh-brand);color:#fff;border-color:transparent}
.woocommerce div.product .product_title{color:var(--sh-head)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--sh-head)!important;font-weight:800}
.woocommerce div.product div.images img{border-radius:var(--sh-radius)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:10px 10px 0 0!important;background:var(--sh-soft)!important;border-color:var(--sh-line)!important}

/* ---------- My Account dashboard + guest order page ---------- */
.efsk-dash{display:grid;gap:22px;margin-top:6px}
.efsk-dash section,.efsk-guest section.efsk-sec,.efsk-dash .efsk-profile{padding-block:0;margin-block:0;min-height:0}
.efsk-dash .efsk-profile{padding:18px}
.efsk-muted{color:var(--sh-muted)}
.efsk-profile{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-soft)}
.efsk-profile>div{display:grid;gap:2px;flex:1 1 220px;min-width:0}
.efsk-profile b{font-size:18px;color:var(--sh-head)}.efsk-profile span{color:var(--sh-text);overflow-wrap:anywhere}.efsk-profile small{color:var(--sh-muted)}
.efsk-avatar{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sh-brand);color:#fff;font-weight:800;font-size:22px;flex:0 0 52px}
.efsk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.efsk-stats>div{padding:14px 16px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-card);display:grid;gap:2px;min-width:0}
.efsk-stats b{font-size:20px;color:var(--sh-head);line-height:1.25;overflow-wrap:anywhere}.efsk-stats span{font-size:13px;color:var(--sh-muted)}
.efsk-sec{display:grid;gap:12px}
.efsk-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.efsk-sec-head h3{margin:0;font-size:19px;color:var(--sh-head)}
.efsk-sec-head a{font-weight:600}
.efsk-lics{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.efsk-lic{padding:16px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-card);display:grid;gap:8px;min-width:0}
.efsk-lic-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.efsk-lic-head b{color:var(--sh-head);font-size:16px}
.efsk-lic-meta{margin:0;color:var(--sh-muted);font-size:14px}.efsk-lic-meta b{color:var(--sh-head)}
.efsk-lic code,.efsk-key code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;background:var(--sh-soft);color:var(--sh-head);padding:2px 6px;border-radius:6px;overflow-wrap:anywhere}
.efsk-key{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.efsk-key code{flex:1 1 200px;display:block;padding:10px;max-height:76px;overflow:auto;line-height:1.45}
.efsk-key .button{padding:9px 14px!important}
.efsk-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}
.efsk-badge--ok{background:color-mix(in srgb,var(--sh-ok) 16%,transparent);color:var(--sh-ok)}
.efsk-badge--warn{background:color-mix(in srgb,#d97706 18%,transparent);color:#b45309}
.efsk-badge--bad{background:color-mix(in srgb,#e11d48 15%,transparent);color:#be123c}
.efsk-badge--info{background:color-mix(in srgb,var(--sh-primary) 16%,transparent);color:var(--sh-head)}
html[data-theme="dark"] .efsk-badge--warn{color:#fbbf24}html[data-theme="dark"] .efsk-badge--bad{color:#fb7185}html[data-theme="dark"] .efsk-badge--ok{color:#34d399}
.efsk-table-wrap{overflow-x:auto;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-card)}
.efsk-orders{width:100%;border-collapse:collapse;font-size:14px}
.efsk-orders th{background:var(--sh-soft);color:var(--sh-head);text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px}
.efsk-orders td{padding:12px 14px;border-top:1px solid var(--sh-line);color:var(--sh-text);vertical-align:middle}
.efsk-orders td:first-child{font-weight:700;color:var(--sh-head);white-space:nowrap}
.efsk-guest{max-width:860px}
.efsk-guest-title{margin:.2em 0 .3em;color:var(--sh-head)}
.efsk-guest-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--sh-line);border-radius:var(--sh-radius);background:var(--sh-card);margin:18px 0 26px}
.efsk-guest-form p{margin:0}.efsk-guest-form label{display:block;font-weight:600;color:var(--sh-head);margin-bottom:5px}
.efsk-guest-form input{width:100%}
.efsk-guest .efsk-sec{margin-bottom:24px}
.efsk-machine{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.efsk-machine label{flex:1 1 220px;font-weight:600;color:var(--sh-head);display:grid;gap:5px}
.efsk-dl{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}

/* ---------- small screens ---------- */
@media (max-width:820px){
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
  .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .efsk-steps li{flex-basis:100%}
  .woocommerce table.cart td.actions .coupon .input-text{width:100%!important}
  .efsk-guest-form{grid-template-columns:1fr}
  .efsk-orders thead{display:none}.efsk-orders tr{display:block;border-top:1px solid var(--sh-line)}.efsk-orders tr:first-child{border-top:0}
  .efsk-orders td{display:flex;justify-content:space-between;gap:12px;border-top:0;padding:8px 14px;text-align:right}
  .efsk-orders td::before{content:attr(data-title);font-weight:700;color:var(--sh-head);text-align:left}
  .efsk-orders td:last-child::before{content:none}
  /* phones: one product per block, label on the left (same as WooCommerce's own phone layout) */
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tbody tr{display:block;border-top:1px solid var(--sh-line)}
  .woocommerce table.shop_table_responsive tbody tr:first-child{border-top:0}
  .woocommerce table.shop_table_responsive tr td{display:flex!important;justify-content:space-between;align-items:center;gap:12px;text-align:right!important;border-top:0!important;padding:10px 16px!important}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);font-weight:700;color:var(--sh-head);text-align:left}
  .woocommerce table.shop_table_responsive tr td.product-remove,.woocommerce table.shop_table_responsive tr td.actions{display:block!important;text-align:left!important}
  .woocommerce table.shop_table_responsive tr td.product-remove::before,.woocommerce table.shop_table_responsive tr td.actions::before,.woocommerce table.shop_table_responsive tr td.product-thumbnail::before{content:none}
  .woocommerce table.cart td.product-thumbnail{display:none!important}
  .woocommerce table.shop_table_responsive tr td.product-quantity:empty{display:none!important}
}
@media (prefers-reduced-motion:reduce){.woocommerce ul.products li.product,.efsk-acard,.woocommerce a.button{transition:none}}
