/* Shahin Portfolio WooCommerce application - v1.9.0 */

.shahin-client-nav-section {
    display:block;
    margin:12px 12px 2px;
    color:rgba(255,255,255,.38);
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.shahin-client-wallet-mini {
    margin-top:5px!important;
    color:var(--portal-accent)!important;
    font-size:10.5px!important;
    white-space:nowrap;
}

.shahin-woo-page-head { margin-bottom:28px; }
.shahin-woo-page-head p { max-width:840px; }
.shahin-woo-empty {
    display:grid;
    justify-items:center;
    gap:12px;
    min-height:310px;
    padding:48px 28px;
    border:1px dashed rgba(255,255,255,.16);
    border-radius:28px;
    background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
    text-align:center;
}
.shahin-woo-empty>.dashicons {
    display:grid;
    place-items:center;
    width:64px;
    height:64px;
    border-radius:20px;
    color:var(--portal-accent);
    background:rgba(0,212,255,.08);
    font-size:30px;
}
.shahin-woo-empty h2 { margin:4px 0 0;font-size:24px; }
.shahin-woo-empty p { max-width:620px;margin:0;color:var(--muted); }
.shahin-woo-empty .btn { margin-top:8px; }

.shahin-woo-product-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.shahin-woo-product-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:27px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)),var(--card);
    box-shadow:0 24px 70px rgba(0,0,0,.2);
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.shahin-woo-product-card:hover {
    transform:translateY(-5px);
    border-color:rgba(0,212,255,.24);
    box-shadow:0 32px 85px rgba(0,0,0,.28);
}
.shahin-woo-product-image {
    position:relative;
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:rgba(255,255,255,.035);
}
.shahin-woo-product-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease,filter .45s ease;
}
.shahin-woo-product-card:hover .shahin-woo-product-image img { transform:scale(1.055);filter:brightness(.86); }
.shahin-woo-sale-badge {
    position:absolute;
    top:14px;
    right:14px;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#ff3b66,#ff7a59);
    font-size:11px;
    font-weight:950;
    box-shadow:0 10px 24px rgba(255,59,102,.28);
}
.shahin-woo-product-copy { display:flex;min-height:290px;padding:22px;flex-direction:column; }
.shahin-woo-product-meta { display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px; }
.shahin-woo-product-meta span {
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 9px;
    border-radius:999px;
    color:var(--portal-accent);
    background:rgba(0,212,255,.08);
    font-size:10px;
    font-weight:900;
}
.shahin-woo-product-copy h2 { margin:0;font-size:20px;line-height:1.55; }
.shahin-woo-product-copy h2 a { color:#fff; }
.shahin-woo-product-copy p { margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.85; }
.shahin-woo-product-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px; }
.shahin-woo-price,.shahin-woo-detail-price { color:#fff;font-size:17px;font-weight:950; }
.shahin-woo-price del,.shahin-woo-detail-price del { margin-left:7px;color:var(--muted);font-size:.78em;font-weight:700;opacity:.75; }
.shahin-woo-price ins,.shahin-woo-detail-price ins { color:#65e6ae;text-decoration:none; }
.shahin-woo-detail-link { color:var(--portal-accent);font-size:12px;font-weight:900; }

.shahin-woo-product-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:24px; }
.shahin-woo-product-actions form { flex:1 1 180px; }
.shahin-woo-product-actions .btn { width:100%;gap:8px; }
.shahin-woo-product-actions .dashicons { width:18px;height:18px;font-size:18px; }
.shahin-woo-product-actions.is-compact { margin-top:18px; }
.shahin-woo-product-actions.is-compact form { flex:1 1 120px; }
.shahin-woo-product-actions.is-compact .btn { min-height:43px;padding:0 12px;font-size:11.5px; }
.shahin-woo-stock-note { display:inline-flex;margin-top:20px;color:#ffad7a;font-size:12px;font-weight:900; }

.shahin-woo-product-detail {
    display:grid;
    grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);
    gap:32px;
    padding:28px;
    border:1px solid var(--line);
    border-radius:32px;
    background:radial-gradient(circle at top left,rgba(108,99,255,.16),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),var(--card);
}
.shahin-woo-product-detail-image {
    overflow:hidden;
    min-height:420px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:25px;
    background:rgba(255,255,255,.035);
}
.shahin-woo-product-detail-image img { width:100%;height:100%;object-fit:cover; }
.shahin-woo-product-detail-copy { padding:12px 8px; }
.shahin-woo-product-detail-copy h1 { margin:12px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.4; }
.shahin-woo-detail-price { margin-top:18px;font-size:24px; }
.shahin-woo-short-description { margin-top:22px;color:var(--muted);font-size:14px;line-height:2; }
.shahin-woo-short-description p { margin:0; }
.shahin-woo-product-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 0;padding:0;list-style:none; }
.shahin-woo-product-facts li { display:flex;align-items:center;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025); }
.shahin-woo-product-facts .dashicons { color:var(--portal-accent); }
.shahin-woo-product-facts strong { font-size:11.5px; }
.shahin-woo-description { margin-top:28px; }
.shahin-woo-prose { color:var(--muted);line-height:2.1; }
.shahin-woo-prose h2,.shahin-woo-prose h3 { color:#fff; }
.shahin-woo-prose img { max-width:100%;height:auto;border-radius:18px; }

.shahin-woo-cart-layout { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start; }
.shahin-woo-cart-main { display:grid;gap:18px; }
.shahin-woo-cart-form,.shahin-woo-coupon-box,.shahin-woo-cart-summary {
    border:1px solid var(--line);
    border-radius:26px;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),var(--card);
}
.shahin-woo-cart-form { padding:18px; }
.shahin-woo-cart-list { display:grid;gap:10px; }
.shahin-woo-cart-item {
    display:grid;
    grid-template-columns:78px minmax(0,1fr) 86px 42px;
    gap:14px;
    align-items:center;
    padding:12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:19px;
    background:rgba(255,255,255,.025);
}
.shahin-woo-cart-thumb { width:78px;height:68px;overflow:hidden;border-radius:14px;background:rgba(255,255,255,.04); }
.shahin-woo-cart-thumb img { width:100%;height:100%;object-fit:cover; }
.shahin-woo-cart-copy { min-width:0; }
.shahin-woo-cart-copy>strong { display:block;overflow:hidden;color:#fff;font-size:14px;text-overflow:ellipsis;white-space:nowrap; }
.shahin-woo-cart-copy>span { display:block;margin-top:5px;color:var(--muted);font-size:10.5px; }
.shahin-woo-cart-price { margin-top:8px;color:var(--portal-accent);font-size:12px;font-weight:900; }
.shahin-woo-qty { display:grid;gap:5px; }
.shahin-woo-qty span { color:var(--muted);font-size:9.5px; }
.shahin-woo-qty input { width:100%;height:40px;border:1px solid var(--line);border-radius:12px;color:#fff;background:rgba(8,11,18,.72);text-align:center;outline:none; }
.shahin-woo-remove { display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,93,109,.18);border-radius:12px;color:#ff6b7d;background:rgba(255,93,109,.06);cursor:pointer; }
.shahin-woo-remove:hover { border-color:rgba(255,93,109,.42);background:rgba(255,93,109,.12); }
.shahin-woo-update-cart { margin-top:16px; }
.shahin-woo-coupon-box { padding:18px; }
.shahin-woo-coupon-box>form { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px; }
.shahin-woo-coupon-box input { min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:14px;color:#fff;background:rgba(8,11,18,.72);outline:none; }
.shahin-woo-applied-coupons { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.shahin-woo-applied-coupons button { min-height:31px;padding:0 10px;border:1px solid rgba(101,230,174,.18);border-radius:999px;color:#bdf4d9;background:rgba(101,230,174,.06);cursor:pointer; }

.shahin-woo-cart-summary { position:sticky;top:110px;padding:22px; }
.shahin-woo-cart-summary h2 { margin:0 0 18px;font-size:21px; }
.shahin-woo-cart-summary dl { display:grid;gap:0;margin:0; }
.shahin-woo-cart-summary dl>div { display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07); }
.shahin-woo-cart-summary dt { color:var(--muted);font-size:12px; }
.shahin-woo-cart-summary dd { margin:0;color:#fff;font-size:12px;font-weight:900; }
.shahin-woo-cart-summary .is-total { margin-top:5px;border:0; }
.shahin-woo-cart-summary .is-total dt,.shahin-woo-cart-summary .is-total dd { color:#fff;font-size:15px; }
.shahin-woo-wallet-toggle { margin-top:15px;padding:14px;border:1px solid rgba(108,99,255,.2);border-radius:17px;background:rgba(108,99,255,.07); }
.shahin-woo-wallet-toggle>div { display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:8px; }
.shahin-woo-wallet-toggle>div>.dashicons { grid-row:1/3;color:var(--portal-secondary); }
.shahin-woo-wallet-toggle strong { font-size:12px; }
.shahin-woo-wallet-toggle small { color:var(--muted);font-size:10px; }
.shahin-woo-wallet-toggle form { margin-top:12px; }
.shahin-woo-wallet-toggle p { margin:10px 0 0;color:#ffba8b;font-size:10px;line-height:1.7; }
.shahin-woo-wallet-toggle>a { display:inline-flex;margin-top:10px;color:var(--portal-accent);font-size:11px;font-weight:900; }
.shahin-woo-switch { display:flex;align-items:center;gap:8px;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.025);font-size:10px;font-weight:900;cursor:pointer; }
.shahin-woo-switch span { position:relative;width:32px;height:18px;border-radius:999px;background:rgba(255,255,255,.12); }
.shahin-woo-switch span::after { content:"";position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s ease; }
.shahin-woo-switch.is-on { color:#bff6db;border-color:rgba(101,230,174,.24); }
.shahin-woo-switch.is-on span { background:#35c985; }
.shahin-woo-switch.is-on span::after { transform:translateX(-14px); }
.shahin-woo-checkout-button { width:100%;margin-top:18px; }
.shahin-woo-continue-shopping { display:block;margin-top:13px;color:var(--muted);font-size:11px;font-weight:900;text-align:center; }

.shahin-woo-order-list { display:grid;gap:11px; }
.shahin-woo-order-card {
    display:grid;
    grid-template-columns:110px repeat(3,minmax(0,1fr)) 30px;
    gap:14px;
    align-items:center;
    min-height:92px;
    padding:17px 20px;
    border:1px solid var(--line);
    border-radius:21px;
    color:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.018)),var(--card);
    transition:transform .22s ease,border-color .22s ease;
}
.shahin-woo-order-card:hover { transform:translateY(-3px);border-color:rgba(0,212,255,.24); }
.shahin-woo-order-number { color:var(--portal-accent);font-size:15px;font-weight:950; }
.shahin-woo-order-card small { display:block;color:var(--muted);font-size:9.5px; }
.shahin-woo-order-card strong { display:block;margin-top:5px;color:#fff;font-size:12px; }
.shahin-woo-order-card .dashicons { color:var(--muted); }
.shahin-woo-order-card .status-completed,.shahin-woo-order-card .status-processing { color:#65e6ae; }
.shahin-woo-order-card .status-failed,.shahin-woo-order-card .status-cancelled { color:#ff7788; }
.shahin-woo-order-card .status-pending,.shahin-woo-order-card .status-on-hold { color:#ffc66d; }
.shahin-woo-order-detail-grid { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start; }
.shahin-woo-order-items,.shahin-woo-order-totals { display:grid;gap:0; }
.shahin-woo-order-items>div,.shahin-woo-order-totals>div { display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07); }
.shahin-woo-order-items span,.shahin-woo-order-totals span { color:var(--muted);font-size:12px; }
.shahin-woo-order-items strong,.shahin-woo-order-totals strong { color:#fff;font-size:12px; }
.shahin-woo-order-totals { margin-top:16px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1); }
.shahin-woo-order-side { position:sticky;top:110px;display:grid;gap:12px;padding:20px;border:1px solid var(--line);border-radius:23px;background:var(--card); }
.shahin-woo-order-side>div { padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.07); }
.shahin-woo-order-side span { display:block;color:var(--muted);font-size:10px; }
.shahin-woo-order-side strong { display:block;margin-top:5px;color:#fff;font-size:12px;overflow-wrap:anywhere; }

.shahin-woo-download-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.shahin-woo-download-card { display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),var(--card); }
.shahin-woo-download-card>.dashicons { display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:var(--portal-accent);background:rgba(0,212,255,.08);font-size:24px; }
.shahin-woo-download-card small { color:var(--muted);font-size:10px; }
.shahin-woo-download-card h2 { margin:5px 0 0;font-size:17px; }
.shahin-woo-download-card ul { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none; }
.shahin-woo-download-card li { padding:7px 10px;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.035);font-size:10px; }
.shahin-woo-download-card li strong { color:#fff; }
.shahin-woo-download-card .btn { grid-column:1/-1;width:100%;gap:8px;margin-top:5px; }

.shahin-wallet-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:22px;padding:26px;border:1px solid var(--line);border-radius:29px;background:radial-gradient(circle at top right,rgba(108,99,255,.22),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)),var(--card); }
.shahin-wallet-hero>div:first-child { display:flex;justify-content:center;flex-direction:column; }
.shahin-wallet-hero>div:first-child>span { color:var(--muted);font-size:12px;font-weight:900; }
.shahin-wallet-hero>div:first-child>strong { display:block;margin-top:10px;color:#fff;font-size:clamp(34px,5vw,58px);line-height:1.2; }
.shahin-wallet-hero>div:first-child>small { display:block;max-width:520px;margin-top:13px;color:var(--muted);font-size:10.5px;line-height:1.8; }
.shahin-wallet-topup-form { padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:21px;background:rgba(7,10,16,.44); }
.shahin-wallet-topup-form label { display:grid;gap:8px; }
.shahin-wallet-topup-form label span { color:#fff;font-size:12px;font-weight:900; }
.shahin-wallet-topup-form input { width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:14px;color:#fff;background:rgba(8,11,18,.8);outline:none; }
.shahin-wallet-topup-form .btn { width:100%;margin-top:12px; }
.shahin-wallet-topup-form>small { display:block;margin-top:10px;color:var(--muted);font-size:9.5px;text-align:center; }
.shahin-wallet-history { margin-top:24px; }
.shahin-wallet-transactions { display:grid;gap:9px; }
.shahin-wallet-transactions article { display:grid;grid-template-columns:42px minmax(0,1fr) 130px auto;gap:12px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(255,255,255,.02); }
.shahin-wallet-transactions article>.dashicons { display:grid;place-items:center;width:40px;height:40px;border-radius:13px;font-size:18px; }
.shahin-wallet-transactions .is-credit>.dashicons { color:#65e6ae;background:rgba(101,230,174,.08); }
.shahin-wallet-transactions .is-debit>.dashicons { color:#ff8d99;background:rgba(255,93,109,.08); }
.shahin-wallet-transactions strong { display:block;color:#fff;font-size:12px; }
.shahin-wallet-transactions small { display:block;margin-top:4px;color:var(--muted);font-size:9.5px; }
.shahin-wallet-transactions time { color:var(--muted);font-size:10px; }
.shahin-wallet-transactions em { color:#fff;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap; }
.shahin-wallet-transactions .is-credit em { color:#65e6ae; }
.shahin-wallet-transactions .is-debit em { color:#ff8d99; }

/* Classic WooCommerce cart and checkout pages use the same visual system. */
.woocommerce-page .site-main,.woocommerce-page main { color:var(--text); }
.woocommerce-page .woocommerce { width:min(1180px,calc(100% - 32px));margin:60px auto 100px; }
.woocommerce-page .woocommerce-info,.woocommerce-page .woocommerce-message,.woocommerce-page .woocommerce-error {
    margin:0 0 20px!important;
    padding:16px 20px 16px 48px!important;
    border:1px solid var(--line)!important;
    border-top:1px solid var(--line)!important;
    border-radius:16px;
    color:var(--text);
    background:var(--card);
}
.woocommerce-page .woocommerce-message { border-color:rgba(101,230,174,.22)!important; }
.woocommerce-page .woocommerce-error { border-color:rgba(255,93,109,.22)!important; }
.woocommerce-page form.checkout,.woocommerce-page form.woocommerce-cart-form,.woocommerce-page .cart_totals,.woocommerce-page .woocommerce-checkout-review-order {
    padding:24px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--card);
}
.woocommerce-page table.shop_table { border-color:var(--line)!important;border-radius:18px!important;overflow:hidden; }
.woocommerce-page table.shop_table th,.woocommerce-page table.shop_table td { border-color:rgba(255,255,255,.07)!important; }
.woocommerce-page input.input-text,.woocommerce-page select,.woocommerce-page textarea {
    min-height:48px;
    padding:0 13px;
    border:1px solid var(--line);
    border-radius:13px;
    color:#fff;
    background:rgba(8,11,18,.78);
}
.woocommerce-page textarea { min-height:110px;padding-top:12px; }
.woocommerce-page .button,.woocommerce-page button.button,.woocommerce-page a.button,.woocommerce-page #place_order {
    min-height:46px;
    padding:0 18px!important;
    border-radius:13px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;
    font-weight:900!important;
}
.woocommerce-page #payment { border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025); }
.woocommerce-page #payment div.payment_box { color:var(--muted);background:rgba(255,255,255,.04); }
.woocommerce-page #payment div.payment_box::before { border-bottom-color:rgba(255,255,255,.04); }
.shahin-checkout-wallet { margin:0 0 16px;padding:15px;border:1px solid rgba(108,99,255,.24);border-radius:16px;background:rgba(108,99,255,.08); }
.shahin-checkout-wallet label { display:flex;align-items:center;gap:9px;color:#fff;font-weight:900; }
.shahin-checkout-wallet small { display:block;margin-top:7px;color:var(--muted); }

@media (max-width:1180px) {
    .shahin-woo-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .shahin-woo-cart-layout { grid-template-columns:minmax(0,1fr) 310px; }
}
@media (max-width:980px) {
    .shahin-client-nav-section { display:none; }
    .shahin-woo-product-detail { grid-template-columns:1fr; }
    .shahin-woo-product-detail-image { min-height:360px; }
    .shahin-woo-cart-layout,.shahin-woo-order-detail-grid { grid-template-columns:1fr; }
    .shahin-woo-cart-summary,.shahin-woo-order-side { position:relative;top:auto; }
    .shahin-wallet-hero { grid-template-columns:1fr; }
}
@media (max-width:820px) {
    .shahin-client-nav { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    .shahin-client-nav a { min-width:0; }
    .shahin-woo-order-card { grid-template-columns:90px repeat(2,minmax(0,1fr)) 26px; }
    .shahin-woo-order-card>span:nth-child(4) { display:none; }
    .shahin-woo-download-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
    .shahin-woo-product-grid { grid-template-columns:1fr; }
    .shahin-woo-product-copy { min-height:0; }
    .shahin-woo-product-detail { padding:16px;border-radius:24px; }
    .shahin-woo-product-detail-image { min-height:260px; }
    .shahin-woo-product-facts { grid-template-columns:1fr; }
    .shahin-woo-cart-item { grid-template-columns:62px minmax(0,1fr) 58px 38px;gap:9px;padding:9px; }
    .shahin-woo-cart-thumb { width:62px;height:58px; }
    .shahin-woo-cart-copy>strong { font-size:12px; }
    .shahin-woo-coupon-box>form { grid-template-columns:1fr; }
    .shahin-woo-order-card { grid-template-columns:72px minmax(0,1fr) 24px;min-height:80px;padding:13px; }
    .shahin-woo-order-card>span:nth-child(3),.shahin-woo-order-card>span:nth-child(4) { display:none; }
    .shahin-wallet-hero { padding:18px;border-radius:23px; }
    .shahin-wallet-transactions article { grid-template-columns:38px minmax(0,1fr) auto; }
    .shahin-wallet-transactions time { display:none; }
    .shahin-wallet-transactions em { grid-column:3;grid-row:1; }
    .woocommerce-page .woocommerce { width:min(100% - 20px,1180px);margin-top:30px; }
}
@media (max-width:480px) {
    .shahin-client-nav { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    .shahin-woo-cart-item { grid-template-columns:54px minmax(0,1fr) 36px; }
    .shahin-woo-cart-thumb { width:54px;height:54px; }
    .shahin-woo-qty { grid-column:2;grid-row:2;width:70px; }
    .shahin-woo-remove { grid-column:3;grid-row:1/3;width:36px;height:36px; }
    .shahin-woo-product-actions { flex-direction:column; }
    .shahin-woo-product-actions form { flex-basis:auto; }
}

@media (min-width:821px) {
    .shahin-client-sidebar {
        max-height:calc(100vh - 130px);
        overflow-y:auto;
        scrollbar-width:thin;
        scrollbar-color:rgba(0,212,255,.28) transparent;
    }
    .shahin-client-sidebar::-webkit-scrollbar { width:5px; }
    .shahin-client-sidebar::-webkit-scrollbar-thumb { border-radius:999px;background:rgba(0,212,255,.28); }
}

.shahin-woo-coupon-note {
    flex: 1 0 100%;
    margin: 0 0 8px;
    color: var(--text-muted, #a8adb7);
    font-size: 12px;
    line-height: 1.8;
}

.shahin-woo-qty.is-fixed strong {
    display: grid;
    min-width: 48px;
    min-height: 42px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.04);
}

/* =========================================================
   Minimal public product pages - v1.9.2
   ========================================================= */
body.woocommerce,
body.woocommerce-page {
    background:
        radial-gradient(circle at 90% 8%, rgba(108,99,255,.10), transparent 26%),
        radial-gradient(circle at 10% 30%, rgba(0,212,255,.07), transparent 24%),
        var(--bg);
}

.shahin-commerce-shell {
    position: relative;
    min-height: 70vh;
    padding: 34px 0 96px;
    overflow: hidden;
    isolation: isolate;
}

.shahin-commerce-glow {
    position: absolute;
    z-index: -1;
    top: -180px;
    right: 7%;
    width: 480px;
    height: 480px;
    border-radius: 999px;
    background: rgba(108,99,255,.10);
    filter: blur(90px);
    pointer-events: none;
}

.shahin-commerce-container {
    position: relative;
}

.shahin-commerce-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 52px;
    margin-bottom: 24px;
}

.shahin-commerce-breadcrumb,
.shahin-commerce-breadcrumb .woocommerce-breadcrumb {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7;
}

.shahin-commerce-breadcrumb .woocommerce-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.shahin-commerce-breadcrumb a {
    color: rgba(255,255,255,.74);
    transition: color .2s ease;
}

.shahin-commerce-breadcrumb a:hover {
    color: var(--accent-2);
}

.shahin-commerce-breadcrumb span {
    color: rgba(255,255,255,.22);
}

.shahin-commerce-cart-shortcut {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 9px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: #fff;
    background: rgba(255,255,255,.035);
    font-size: 12px;
    font-weight: 900;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.shahin-commerce-cart-shortcut:hover {
    transform: translateY(-2px);
    border-color: rgba(0,212,255,.32);
    background: rgba(0,212,255,.06);
}

.shahin-commerce-cart-icon,
.shahin-commerce-cart-icon svg {
    width: 20px;
    height: 20px;
}

.shahin-commerce-cart-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shahin-commerce-cart-shortcut em {
    display: grid;
    min-width: 20px;
    height: 20px;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    color: #071018;
    background: var(--accent-2);
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
}

.shahin-commerce-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 292px;
    gap: 28px;
    align-items: start;
}

.shahin-commerce-content {
    min-width: 0;
}

.shahin-commerce-content > .woocommerce-notices-wrapper:empty {
    display: none;
}

/* Single product main block */
body.single-product .shahin-commerce-content div.product {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(350px,.82fr);
    gap: 32px;
    margin: 0;
}

body.single-product .shahin-commerce-content div.product::before,
body.single-product .shahin-commerce-content div.product::after {
    display: none;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery {
    position: relative;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: rgba(255,255,255,.025);
    box-shadow: 0 24px 80px rgba(0,0,0,.20);
}

body.single-product div.product .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    border-radius: 19px;
    background: rgba(255,255,255,.025);
}

body.single-product div.product .woocommerce-product-gallery__image a {
    display: grid;
    min-height: 430px;
    place-items: center;
}

body.single-product div.product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    max-height: 680px;
    object-fit: contain;
    border-radius: 18px;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 9px;
    margin: 12px 0 0 !important;
    padding: 0;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border: 1px solid transparent;
    border-radius: 11px;
    opacity: .48;
    transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}

body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    transform: translateY(-2px);
    border-color: var(--accent-2);
    opacity: 1;
}

body.single-product div.product .woocommerce-product-gallery__trigger {
    top: 28px !important;
    right: auto !important;
    left: 28px !important;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 13px;
    background: rgba(8,11,18,.78);
    backdrop-filter: blur(10px);
}

body.single-product div.product .onsale {
    top: 28px !important;
    right: 28px !important;
    left: auto !important;
    min-width: auto;
    min-height: 30px;
    padding: 4px 11px;
    border-radius: 999px;
    line-height: 22px;
    background: linear-gradient(135deg,var(--accent),var(--accent-2));
    box-shadow: none;
    font-size: 11px;
    font-weight: 900;
}

body.single-product div.product .summary {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),var(--card);
    box-shadow: 0 24px 80px rgba(0,0,0,.18);
}

.shahin-product-kicker {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    margin-bottom: 14px;
    padding: 0 11px;
    border: 1px solid rgba(0,212,255,.20);
    border-radius: 999px;
    color: var(--accent-2);
    background: rgba(0,212,255,.055);
    font-size: 10px;
    font-weight: 900;
}

body.single-product div.product .product_title {
    margin: 0;
    color: #fff;
    font-size: clamp(25px,3vw,39px);
    line-height: 1.45;
    letter-spacing: -.025em;
}

body.single-product div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0 0;
}

body.single-product div.product .woocommerce-review-link {
    color: var(--muted);
    font-size: 11px;
}

body.single-product div.product .star-rating {
    color: #f9c85a;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    margin: 20px 0 0;
    color: var(--accent-2);
    font-size: clamp(24px,3vw,34px);
    font-weight: 950;
    line-height: 1.35;
}

body.single-product div.product p.price del,
body.single-product div.product span.price del {
    color: rgba(255,255,255,.34);
    font-size: 15px;
    font-weight: 700;
    opacity: 1;
}

body.single-product div.product p.price ins,
body.single-product div.product span.price ins {
    text-decoration: none;
}

body.single-product div.product .woocommerce-product-details__short-description {
    margin-top: 20px;
    color: var(--muted);
    font-size: 13px;
    line-height: 2;
}

body.single-product div.product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

body.single-product div.product p.stock {
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    margin: 18px 0 0;
    padding: 0 11px;
    border-radius: 999px;
    color: #7beab5;
    background: rgba(101,230,174,.08);
    font-size: 10px;
    font-weight: 900;
}

body.single-product div.product p.stock.out-of-stock {
    color: #ff8794;
    background: rgba(255,93,109,.08);
}

body.single-product div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    margin: 24px 0 0;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 19px;
    background: rgba(7,10,16,.34);
}

body.single-product div.product form.cart::before,
body.single-product div.product form.cart::after {
    display: none;
}

body.single-product div.product form.cart .quantity {
    float: none;
    margin: 0;
}

body.single-product div.product form.cart .qty {
    width: 76px;
    height: 50px;
    padding: 0 9px;
    border: 1px solid var(--line);
    border-radius: 13px;
    color: #fff;
    background: rgba(255,255,255,.035);
    text-align: center;
    outline: none;
}

body.single-product div.product form.cart .qty:focus {
    border-color: rgba(0,212,255,.42);
}

body.single-product div.product form.cart .button {
    min-height: 50px;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    line-height: 1.3 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    transition: transform .2s ease, filter .2s ease, border-color .2s ease, background .2s ease !important;
}

body.single-product div.product form.cart .single_add_to_cart_button {
    flex: 1 1 180px;
    color: #fff !important;
    background: linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
    box-shadow: 0 14px 32px rgba(108,99,255,.18);
}

body.single-product div.product form.cart .shahin-buy-now-button {
    flex: 1 1 130px;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: #fff !important;
    background: rgba(255,255,255,.045) !important;
}

body.single-product div.product form.cart .button:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
}

body.single-product div.product form.variations_form {
    display: block;
}

body.single-product div.product form.variations_form table.variations {
    width: 100%;
    margin: 0 0 14px;
}

body.single-product div.product form.variations_form table.variations tr {
    display: grid;
    grid-template-columns: 90px minmax(0,1fr);
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

body.single-product div.product form.variations_form table.variations th,
body.single-product div.product form.variations_form table.variations td {
    display: block;
    padding: 0;
    border: 0;
}

body.single-product div.product form.variations_form select {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: #fff;
    background: #0d1320;
}

body.single-product div.product form.variations_form .reset_variations {
    display: inline-flex;
    margin-top: 7px;
    color: var(--accent-2);
    font-size: 10px;
}

body.single-product div.product .product_meta {
    display: grid;
    gap: 9px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.075);
    color: var(--muted);
    font-size: 11px;
}

body.single-product div.product .product_meta > span {
    display: block;
}

body.single-product div.product .product_meta a {
    color: rgba(255,255,255,.88);
}

body.single-product div.product .product_meta a:hover {
    color: var(--accent-2);
}

.shahin-product-assurances {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin-top: 16px;
}

.shahin-product-assurances > span {
    display: grid;
    min-height: 72px;
    place-items: center;
    gap: 6px;
    padding: 10px 8px;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 14px;
    color: var(--muted);
    background: rgba(255,255,255,.022);
    text-align: center;
}

.shahin-product-assurances svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: var(--accent-2);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shahin-product-assurances strong {
    color: rgba(255,255,255,.86);
    font-size: 9px;
    font-weight: 900;
}

/* Tabs, reviews and related products */
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related,
body.single-product div.product .upsells {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 8px;
}

body.single-product div.product .woocommerce-tabs {
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: rgba(255,255,255,.022);
    overflow: hidden;
}

body.single-product div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 4px;
    margin: 0 !important;
    padding: 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.018);
    overflow-x: auto;
}

body.single-product div.product .woocommerce-tabs ul.tabs::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.single-product div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
}

body.single-product div.product .woocommerce-tabs ul.tabs li a {
    display: inline-flex !important;
    min-height: 42px;
    align-items: center;
    padding: 0 15px !important;
    border-radius: 11px;
    color: var(--muted) !important;
    font-size: 11px;
    font-weight: 900 !important;
    white-space: nowrap;
}

body.single-product div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.055);
}

body.single-product div.product .woocommerce-tabs .panel {
    margin: 0 !important;
    padding: 28px;
    color: var(--muted);
    font-size: 13px;
    line-height: 2.05;
}

body.single-product div.product .woocommerce-tabs .panel h2:first-child {
    margin-top: 0;
    color: #fff;
    font-size: 21px;
}

body.single-product div.product .woocommerce-tabs table.shop_attributes {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
}

body.single-product div.product .woocommerce-tabs table.shop_attributes th,
body.single-product div.product .woocommerce-tabs table.shop_attributes td {
    padding: 13px 15px;
    border-color: rgba(255,255,255,.06);
    background: transparent;
}

body.single-product #reviews #comments ol.commentlist {
    margin: 0;
    padding: 0;
}

body.single-product #reviews #comments ol.commentlist li .comment-text {
    margin: 0 62px 16px 0;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    background: rgba(255,255,255,.02);
}

body.single-product #review_form_wrapper {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 18px;
    background: rgba(255,255,255,.018);
}

body.single-product #review_form input,
body.single-product #review_form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 13px;
    color: #fff;
    background: rgba(7,10,16,.58);
}

body.single-product #review_form textarea {
    min-height: 130px;
    padding: 13px;
}

body.single-product #review_form .submit {
    min-height: 44px;
    padding: 0 18px !important;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg,var(--accent),var(--accent-2));
    font-weight: 900;
}

body.single-product div.product .related > h2,
body.single-product div.product .upsells > h2 {
    margin: 24px 0 18px;
    color: #fff;
    font-size: 23px;
}

/* Product loop cards */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    margin: 0;
}

body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
    display: none;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 11px 11px 15px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255,255,255,.025);
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: rgba(0,212,255,.24);
    background: rgba(255,255,255,.037);
}

body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1.35;
    margin: 0 0 14px !important;
    object-fit: cover;
    border-radius: 14px;
    background: rgba(255,255,255,.03);
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 52px;
    padding: 0 4px !important;
    color: #fff;
    font-size: 14px !important;
    line-height: 1.8;
}

body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
    min-height: 36px;
    margin: 7px 4px 12px !important;
    color: var(--accent-2) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

body.woocommerce ul.products li.product .price del,
body.woocommerce-page ul.products li.product .price del {
    color: rgba(255,255,255,.34);
    font-size: 10px;
    opacity: 1;
}

body.woocommerce ul.products li.product .price ins,
body.woocommerce-page ul.products li.product .price ins {
    text-decoration: none;
}

body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button {
    display: inline-flex;
    width: 100%;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

body.woocommerce ul.products li.product .onsale,
body.woocommerce-page ul.products li.product .onsale {
    top: 20px;
    right: 20px;
    left: auto;
    min-width: auto;
    min-height: 27px;
    padding: 3px 9px;
    border-radius: 999px;
    line-height: 21px;
    background: linear-gradient(135deg,var(--accent),var(--accent-2));
    font-size: 9px;
}

/* Catalog header, ordering and pagination */
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
    margin-bottom: 24px;
    padding: 25px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(255,255,255,.025);
}

body.woocommerce .woocommerce-products-header__title,
body.woocommerce-page .woocommerce-products-header__title {
    margin: 0;
    color: #fff;
    font-size: clamp(27px,3vw,39px);
}

body.woocommerce .term-description,
body.woocommerce-page .term-description {
    margin-top: 12px;
    color: var(--muted);
    font-size: 12px;
}

body.woocommerce .woocommerce-result-count,
body.woocommerce-page .woocommerce-result-count {
    margin: 8px 0 18px;
    color: var(--muted);
    font-size: 11px;
}

body.woocommerce .woocommerce-ordering,
body.woocommerce-page .woocommerce-ordering {
    margin: 0 0 18px;
}

body.woocommerce .woocommerce-ordering select,
body.woocommerce-page .woocommerce-ordering select {
    min-height: 43px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: #fff;
    background: #0d1320;
    font-size: 11px;
}

body.woocommerce nav.woocommerce-pagination,
body.woocommerce-page nav.woocommerce-pagination {
    margin-top: 26px;
}

body.woocommerce nav.woocommerce-pagination ul,
body.woocommerce-page nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 6px;
    padding: 0;
    border: 0;
}

body.woocommerce nav.woocommerce-pagination ul li,
body.woocommerce-page nav.woocommerce-pagination ul li {
    border: 0;
}

body.woocommerce nav.woocommerce-pagination ul li a,
body.woocommerce nav.woocommerce-pagination ul li span,
body.woocommerce-page nav.woocommerce-pagination ul li a,
body.woocommerce-page nav.woocommerce-pagination ul li span {
    display: grid;
    min-width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: var(--muted);
    background: rgba(255,255,255,.025);
}

body.woocommerce nav.woocommerce-pagination ul li span.current,
body.woocommerce nav.woocommerce-pagination ul li a:hover,
body.woocommerce-page nav.woocommerce-pagination ul li span.current,
body.woocommerce-page nav.woocommerce-pagination ul li a:hover {
    color: #fff;
    border-color: rgba(0,212,255,.30);
    background: rgba(0,212,255,.08);
}

/* Sidebar */
.shahin-commerce-sidebar {
    position: sticky;
    top: 112px;
    display: grid;
    gap: 14px;
    min-width: 0;
}

body.admin-bar .shahin-commerce-sidebar {
    top: 144px;
}

.shahin-commerce-widget {
    min-width: 0;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(180deg,rgba(255,255,255,.037),rgba(255,255,255,.018)),var(--card);
}

.shahin-commerce-widget-head {
    display: flex;
    align-items: center;
    gap: 11px;
}

.shahin-commerce-widget-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 13px;
    color: var(--accent-2);
    background: rgba(0,212,255,.07);
}

.shahin-commerce-widget-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shahin-commerce-widget-head span,
.shahin-commerce-widget-title {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.shahin-commerce-widget-head strong {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 13px;
}

.shahin-commerce-widget-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 13px;
    color: #fff;
    font-size: 13px;
    font-weight: 950;
}

.shahin-commerce-widget-title::before {
    content: "";
    width: 5px;
    height: 17px;
    border-radius: 999px;
    background: linear-gradient(180deg,var(--accent),var(--accent-2));
}

.shahin-commerce-mini-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 16px;
    padding: 13px 0;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.shahin-commerce-mini-total span {
    color: var(--muted);
    font-size: 10px;
}

.shahin-commerce-mini-total strong {
    color: var(--accent-2);
    font-size: 13px;
}

.shahin-commerce-widget-actions,
.shahin-commerce-widget .woocommerce-mini-cart__buttons {
    display: grid;
    grid-template-columns: minmax(0,.96fr) minmax(0,1.12fr);
    gap: 10px;
    margin: 15px 0 0;
}

.shahin-commerce-widget-actions .button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button {
    position: relative;
    display: inline-flex !important;
    min-width: 0;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 13px !important;
    border-radius: 13px !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em;
    box-shadow: none;
    isolation: isolate;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
}


.shahin-commerce-action-icon,
.shahin-commerce-action-icon svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.shahin-commerce-action-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shahin-commerce-widget-actions .shahin-outline-button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout) {
    border: 1px solid rgba(255,255,255,.13) !important;
    color: rgba(255,255,255,.92) !important;
    background: rgba(255,255,255,.035) !important;
}

.shahin-commerce-widget-actions .shahin-outline-button:hover,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
    transform: translateY(-2px);
    border-color: rgba(0,212,255,.38) !important;
    color: var(--accent-2) !important;
    background: rgba(0,212,255,.075) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.shahin-commerce-widget-actions .shahin-solid-button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button.checkout {
    border: 1px solid transparent !important;
    color: #fff !important;
    background: linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
    box-shadow: 0 12px 28px rgba(0,212,255,.14), inset 0 1px 0 rgba(255,255,255,.22);
}

.shahin-commerce-widget-actions .shahin-solid-button:hover,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button.checkout:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 16px 34px rgba(0,212,255,.22), inset 0 1px 0 rgba(255,255,255,.28);
}

.shahin-commerce-widget-actions .button:focus-visible,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:focus-visible {
    outline: 2px solid var(--accent-2);
    outline-offset: 3px;
}

.shahin-commerce-widget-actions .button:only-child,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:only-child {
    grid-column: 1 / -1;
}

/* WooCommerce's dynamic "View cart" links on catalog cards. */
body.woocommerce ul.products li.product a.added_to_cart.wc-forward,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward {
    display: inline-flex;
    width: 100%;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 8px;
    padding: 0 12px;
    border: 1px solid rgba(0,212,255,.25);
    border-radius: 12px;
    color: var(--accent-2);
    background: rgba(0,212,255,.055);
    font-size: 10.5px;
    font-weight: 950;
    line-height: 1;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

body.woocommerce ul.products li.product a.added_to_cart.wc-forward::before,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward::before {
    content: "✓";
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 6px;
    color: #071018;
    background: var(--accent-2);
    font-size: 10px;
    font-weight: 950;
}

body.woocommerce ul.products li.product a.added_to_cart.wc-forward:hover,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward:hover {
    transform: translateY(-2px);
    border-color: rgba(0,212,255,.48);
    background: rgba(0,212,255,.10);
}

.shahin-product-search {
    position: relative;
}

.shahin-product-search input {
    width: 100%;
    min-height: 46px;
    padding: 0 13px 0 46px;
    border: 1px solid var(--line);
    border-radius: 13px;
    color: #fff;
    background: rgba(7,10,16,.52);
    outline: none;
}

.shahin-product-search input:focus {
    border-color: rgba(0,212,255,.35);
}

.shahin-product-search button {
    position: absolute;
    top: 5px;
    left: 5px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: rgba(255,255,255,.055);
    cursor: pointer;
}

.shahin-product-search button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shahin-commerce-categories-widget ul,
.shahin-commerce-assurance ul,
.shahin-commerce-widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.shahin-commerce-categories-widget li + li {
    margin-top: 4px;
}

.shahin-commerce-categories-widget a {
    display: flex;
    min-height: 39px;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 0 9px;
    border-radius: 10px;
    color: var(--muted);
    font-size: 11px;
    transition: color .2s ease, background .2s ease;
}

.shahin-commerce-categories-widget a:hover {
    color: #fff;
    background: rgba(255,255,255,.04);
}

.shahin-commerce-categories-widget em {
    display: grid;
    min-width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 8px;
    color: var(--accent-2);
    background: rgba(0,212,255,.07);
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}

.shahin-commerce-assurance li {
    display: grid;
    grid-template-columns: 27px minmax(0,1fr);
    gap: 9px;
    align-items: center;
}

.shahin-commerce-assurance li + li {
    margin-top: 12px;
}

.shahin-commerce-assurance li > span {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 9px;
    color: #7beab5;
    background: rgba(101,230,174,.075);
    font-size: 11px;
    font-weight: 950;
}

.shahin-commerce-assurance strong,
.shahin-commerce-assurance small {
    display: block;
}

.shahin-commerce-assurance strong {
    color: #fff;
    font-size: 10px;
}

.shahin-commerce-assurance small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 8.5px;
    line-height: 1.7;
}

/* Native Woo widgets inside the registered sidebar */
.shahin-commerce-widget .widget-title {
    margin: 0 0 13px;
    color: #fff;
    font-size: 13px;
}

.shahin-commerce-widget .product_list_widget li {
    min-height: 58px;
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.shahin-commerce-widget .product_list_widget img {
    float: right !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 0 0 9px !important;
    object-fit: cover;
    border-radius: 10px;
}

.shahin-commerce-widget .product_list_widget a {
    color: #fff;
    font-size: 10px;
}

.shahin-commerce-widget .product_list_widget .amount {
    color: var(--accent-2);
    font-size: 9px;
}

/* Notices on product and catalog pages */
.shahin-commerce-content .woocommerce-message,
.shahin-commerce-content .woocommerce-info,
.shahin-commerce-content .woocommerce-error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin: 0 0 18px !important;
    padding: 13px 15px !important;
    border: 1px solid var(--line) !important;
    border-top: 1px solid var(--line) !important;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),var(--card);
    font-size: 11px;
    box-shadow: 0 12px 34px rgba(0,0,0,.14);
}

.shahin-commerce-content .woocommerce-message::before,
.shahin-commerce-content .woocommerce-info::before,
.shahin-commerce-content .woocommerce-error::before {
    display: none;
}

.shahin-commerce-content .woocommerce-message .button,
.shahin-commerce-content .woocommerce-info .button {
    display: inline-flex !important;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid rgba(0,212,255,.24) !important;
    border-radius: 11px !important;
    color: var(--accent-2) !important;
    background: rgba(0,212,255,.065) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.shahin-commerce-content .woocommerce-message .button:hover,
.shahin-commerce-content .woocommerce-info .button:hover {
    transform: translateY(-2px);
    border-color: rgba(0,212,255,.48) !important;
    background: rgba(0,212,255,.11) !important;
}

/* Responsive */
@media (max-width: 1120px) {
    .shahin-commerce-layout {
        grid-template-columns: minmax(0,1fr) 270px;
        gap: 20px;
    }

    body.single-product .shahin-commerce-content div.product {
        grid-template-columns: minmax(0,1fr) minmax(330px,.82fr);
        gap: 22px;
    }

    body.woocommerce ul.products,
    body.woocommerce-page ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 920px) {
    .shahin-commerce-layout,
    body.single-product .shahin-commerce-content div.product {
        grid-template-columns: 1fr;
    }

    .shahin-commerce-sidebar {
        position: static;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    body.single-product div.product .woocommerce-tabs,
    body.single-product div.product .related,
    body.single-product div.product .upsells {
        grid-column: auto;
    }

    body.single-product div.product .woocommerce-product-gallery__image a {
        min-height: 360px;
    }
}

@media (max-width: 680px) {
    .shahin-commerce-shell {
        padding: 20px 0 72px;
    }

    .shahin-commerce-topbar {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 16px;
    }

    .shahin-commerce-cart-shortcut {
        align-self: stretch;
        justify-content: center;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        padding: 13px;
        border-radius: 20px;
    }

    body.single-product div.product .woocommerce-product-gallery__image a {
        min-height: 260px;
    }

    body.single-product div.product .product_title {
        font-size: 25px;
    }

    body.single-product div.product form.cart {
        display: grid;
        grid-template-columns: 74px minmax(0,1fr);
        padding: 13px;
    }

    body.single-product div.product form.cart .shahin-buy-now-button {
        grid-column: 1 / -1;
    }

    body.single-product div.product .woocommerce-tabs .panel {
        padding: 20px 16px;
    }

    body.single-product div.product .woocommerce-tabs ul.tabs {
        padding: 7px !important;
    }

    body.single-product div.product .woocommerce-tabs ul.tabs li a {
        min-height: 38px;
        padding: 0 11px !important;
        font-size: 10px;
    }

    .shahin-commerce-sidebar,
    body.woocommerce ul.products,
    body.woocommerce-page ul.products {
        grid-template-columns: 1fr;
    }

    .shahin-commerce-widget-actions,
    .shahin-commerce-widget .woocommerce-mini-cart__buttons {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .shahin-product-assurances {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 420px) {
    .shahin-commerce-widget-actions,
    .shahin-commerce-widget .woocommerce-mini-cart__buttons {
        grid-template-columns: 1fr;
    }

    body.single-product div.product form.cart {
        grid-template-columns: 1fr;
    }

    body.single-product div.product form.cart .quantity,
    body.single-product div.product form.cart .qty {
        width: 100%;
    }

    body.single-product div.product form.cart .shahin-buy-now-button {
        grid-column: auto;
    }

    .shahin-product-assurances {
        grid-template-columns: 1fr;
    }

    .shahin-product-assurances > span {
        min-height: 52px;
        grid-template-columns: 24px 1fr;
        justify-items: start;
        text-align: right;
    }
}

/* ---------------------------------------------------------
 * Cart CTA + calm "View cart" interactions — v1.9.5
 * --------------------------------------------------------- */

/* The main cart-page checkout CTA must stay clean and predictable. */
body.woocommerce-cart .wc-proceed-to-checkout {
    display: block;
    margin: 18px 0 0;
    padding: 0;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt {
    position: relative;
    display: inline-flex !important;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 22px !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 15px !important;
    color: #fff !important;
    background: linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.20) !important;
    text-align: center;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1.4 !important;
    white-space: normal;
    isolation: isolate;
    transition: filter .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    transform: none !important;
    border-color: rgba(255,255,255,.18) !important;
    filter: brightness(1.045);
    box-shadow: 0 16px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
    transform: none !important;
    filter: brightness(.98);
    box-shadow: 0 10px 22px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
    outline: 2px solid var(--accent-2);
    outline-offset: 3px;
}

/* No sweeping light effect on any storefront action button. */
.shahin-commerce-widget-actions .button::after,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button::after,
body.woocommerce ul.products li.product a.added_to_cart.wc-forward::after,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward::after,
.shahin-commerce-content .woocommerce-message .button::after,
.shahin-commerce-content .woocommerce-info .button::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.shahin-commerce-widget-actions .shahin-outline-button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout),
body.woocommerce ul.products li.product a.added_to_cart.wc-forward,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward,
.shahin-commerce-content .woocommerce-message .button,
.shahin-commerce-content .woocommerce-info .button {
    transition: border-color .16s ease, background-color .16s ease, color .16s ease !important;
}

.shahin-commerce-widget-actions .shahin-outline-button:hover,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
body.woocommerce ul.products li.product a.added_to_cart.wc-forward:hover,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward:hover,
.shahin-commerce-content .woocommerce-message .button:hover,
.shahin-commerce-content .woocommerce-info .button:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Keep the shop card's view-cart state visually stable on hover. */
body.woocommerce-shop ul.products li.product a.added_to_cart.wc-forward:hover,
body.post-type-archive-product ul.products li.product a.added_to_cart.wc-forward:hover {
    border-color: rgba(0,212,255,.25) !important;
    color: var(--accent-2) !important;
    background: rgba(0,212,255,.055) !important;
    filter: none !important;
}

@media (max-width: 640px) {
    body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
    body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button,
    body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt {
        min-height: 52px;
        padding: 0 16px !important;
        border-radius: 13px !important;
        font-size: 11px !important;
    }
}


/* v1.9.6: permanently disable the moving shine on product/store checkout controls. */
body.single-product .shahin-commerce-widget-actions .button::after,
body.single-product .shahin-commerce-widget .woocommerce-mini-cart__buttons .button::after,
body.woocommerce-shop .shahin-commerce-widget-actions .button::after,
body.post-type-archive-product .shahin-commerce-widget-actions .button::after {
    content: none !important;
    display: none !important;
    background: none !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* ---------------------------------------------------------
 * WooCommerce buttons: same interaction as homepage — v1.9.8
 * --------------------------------------------------------- */

/*
 * The homepage .btn interaction is the single source of truth:
 * hover = lift 3px, active = lift 1px + subtle press.
 * No brightness filter, extra hover shadow, sweeping light, or
 * page-specific motion is allowed on commerce buttons.
 */
.shahin-commerce-shell .btn,
.shahin-commerce-shell a.button,
.shahin-commerce-shell button.button,
.shahin-commerce-shell input.button,
.shahin-commerce-shell .shahin-commerce-cart-shortcut,
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce #respond input#submit,
body.woocommerce .wp-element-button,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button,
body.woocommerce-page #respond input#submit,
body.woocommerce-page .wp-element-button,
body.woocommerce-page #place_order,
body.woocommerce-page .checkout-button,
body.woocommerce-page a.added_to_cart.wc-forward {
    --shahin-shop-button-shadow: none;
    position: relative;
    transform: translateY(0) !important;
    filter: none !important;
    box-shadow: var(--shahin-shop-button-shadow) !important;
    transition: transform .25s ease,
                border-color .25s ease,
                background .25s ease !important;
}

/* Primary commerce actions inherit the same resting shadow as .btn-primary. */
.shahin-commerce-shell .btn-primary,
body.single-product div.product form.cart .single_add_to_cart_button,
body.single-product div.product form.cart .button.alt,
body.woocommerce-page #place_order,
body.woocommerce-page .checkout-button,
body.woocommerce-page .button.alt,
.shahin-commerce-widget-actions .shahin-solid-button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button.checkout,
.shahin-woo-checkout-button {
    --shahin-shop-button-shadow: 0 16px 40px rgba(108,99,255,.26);
}

/* Remove every decorative pseudo-element that can create a shine sweep. */
.shahin-commerce-shell .btn:not(.loading)::after,
.shahin-commerce-shell a.button:not(.loading)::after,
.shahin-commerce-shell button.button:not(.loading)::after,
.shahin-commerce-shell input.button:not(.loading)::after,
.shahin-commerce-shell .shahin-commerce-cart-shortcut::after,
body.woocommerce a.button:not(.loading)::after,
body.woocommerce button.button:not(.loading)::after,
body.woocommerce input.button:not(.loading)::after,
body.woocommerce-page a.button:not(.loading)::after,
body.woocommerce-page button.button:not(.loading)::after,
body.woocommerce-page input.button:not(.loading)::after,
body.woocommerce-page #place_order:not(.loading)::after,
body.woocommerce-page .checkout-button:not(.loading)::after,
body.woocommerce-page a.added_to_cart.wc-forward::after {
    content: none !important;
    display: none !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.shahin-commerce-shell .btn:not(:disabled):not(.disabled):not(.loading):hover,
.shahin-commerce-shell a.button:not(.disabled):not(.loading):hover,
.shahin-commerce-shell button.button:not(:disabled):not(.disabled):not(.loading):hover,
.shahin-commerce-shell input.button:not(:disabled):not(.disabled):not(.loading):hover,
.shahin-commerce-shell .shahin-commerce-cart-shortcut:hover,
body.woocommerce a.button:not(.disabled):not(.loading):hover,
body.woocommerce button.button:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce input.button:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce #respond input#submit:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce .wp-element-button:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce-page a.button:not(.disabled):not(.loading):hover,
body.woocommerce-page button.button:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce-page input.button:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce-page #respond input#submit:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce-page .wp-element-button:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce-page #place_order:not(:disabled):not(.disabled):not(.loading):hover,
body.woocommerce-page .checkout-button:not(.disabled):not(.loading):hover,
body.woocommerce-page a.added_to_cart.wc-forward:hover {
    transform: translateY(-3px) !important;
    filter: none !important;
    box-shadow: var(--shahin-shop-button-shadow) !important;
}

.shahin-commerce-shell .btn:not(:disabled):not(.disabled):not(.loading):active,
.shahin-commerce-shell a.button:not(.disabled):not(.loading):active,
.shahin-commerce-shell button.button:not(:disabled):not(.disabled):not(.loading):active,
.shahin-commerce-shell input.button:not(:disabled):not(.disabled):not(.loading):active,
.shahin-commerce-shell .shahin-commerce-cart-shortcut:active,
body.woocommerce a.button:not(.disabled):not(.loading):active,
body.woocommerce button.button:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce input.button:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce #respond input#submit:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce .wp-element-button:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce-page a.button:not(.disabled):not(.loading):active,
body.woocommerce-page button.button:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce-page input.button:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce-page #respond input#submit:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce-page .wp-element-button:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce-page #place_order:not(:disabled):not(.disabled):not(.loading):active,
body.woocommerce-page .checkout-button:not(.disabled):not(.loading):active,
body.woocommerce-page a.added_to_cart.wc-forward:active {
    transform: translateY(-1px) scale(.98) !important;
    filter: none !important;
    box-shadow: var(--shahin-shop-button-shadow) !important;
}

/* Same border response as the homepage secondary button. */
.shahin-commerce-shell .btn-secondary:hover,
.shahin-commerce-widget-actions .shahin-outline-button:hover,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
body.woocommerce ul.products li.product a.added_to_cart.wc-forward:hover,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward:hover,
.shahin-commerce-content .woocommerce-message .button:hover,
.shahin-commerce-content .woocommerce-info .button:hover {
    border-color: rgba(255,255,255,.24) !important;
    color: inherit !important;
    filter: none !important;
    box-shadow: var(--shahin-shop-button-shadow) !important;
}

.shahin-commerce-shell .btn:focus-visible,
.shahin-commerce-shell a.button:focus-visible,
.shahin-commerce-shell button.button:focus-visible,
.shahin-commerce-shell input.button:focus-visible,
.shahin-commerce-shell .shahin-commerce-cart-shortcut:focus-visible,
body.woocommerce a.button:focus-visible,
body.woocommerce button.button:focus-visible,
body.woocommerce input.button:focus-visible,
body.woocommerce-page a.button:focus-visible,
body.woocommerce-page button.button:focus-visible,
body.woocommerce-page input.button:focus-visible,
body.woocommerce-page #place_order:focus-visible,
body.woocommerce-page .checkout-button:focus-visible,
body.woocommerce-page a.added_to_cart.wc-forward:focus-visible {
    outline: 2px solid var(--accent-2) !important;
    outline-offset: 3px !important;
}

/* Match the homepage touch-device rule: hover must not move buttons. */
@media (hover: none) {
    .shahin-commerce-shell .btn:hover,
    .shahin-commerce-shell a.button:hover,
    .shahin-commerce-shell button.button:hover,
    .shahin-commerce-shell input.button:hover,
    .shahin-commerce-shell .shahin-commerce-cart-shortcut:hover,
    body.woocommerce a.button:hover,
    body.woocommerce button.button:hover,
    body.woocommerce input.button:hover,
    body.woocommerce-page a.button:hover,
    body.woocommerce-page button.button:hover,
    body.woocommerce-page input.button:hover,
    body.woocommerce-page #place_order:hover,
    body.woocommerce-page .checkout-button:hover,
    body.woocommerce-page a.added_to_cart.wc-forward:hover {
        transform: none !important;
        filter: none !important;
        box-shadow: var(--shahin-shop-button-shadow) !important;
    }
}

/*
 * Gateway-return and WooCommerce notices.
 * The icon receives its own fixed area and the text can never overlap it.
 */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-notice,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received .woocommerce-error,
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    min-height: 64px;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 18px !important;
    padding: 16px 60px 16px 18px !important;
    overflow: visible !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 16px !important;
    color: #fff !important;
    background: linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022)),var(--card) !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.16) !important;
    font-size: 12px !important;
    line-height: 1.9 !important;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-notice::before,
body.woocommerce-order-received .woocommerce-message::before,
body.woocommerce-order-received .woocommerce-info::before,
body.woocommerce-order-received .woocommerce-error::before,
body.woocommerce-order-received .woocommerce-notice::before,
body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    left: auto !important;
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center;
    margin: 0 !important;
    border: 1px solid rgba(101,230,174,.25);
    border-radius: 10px;
    color: #75efba !important;
    background: rgba(101,230,174,.10);
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-notice--success::before,
body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: "✓" !important;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-notice--notice::before {
    content: "i" !important;
    border-color: rgba(0,212,255,.25);
    color: var(--accent-2) !important;
    background: rgba(0,212,255,.09);
}

.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-notice--error::before {
    content: "!" !important;
    border-color: rgba(255,93,109,.28);
    color: #ff9aa7 !important;
    background: rgba(255,93,109,.10);
}

.woocommerce ul.woocommerce-error {
    display: block !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.woocommerce ul.woocommerce-error li {
    margin: 0;
    padding: 0;
    color: inherit;
    line-height: 1.9;
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-notice .button,
body.woocommerce-order-received .woocommerce-notice .button {
    order: 2;
    float: none !important;
    margin: 0 0 0 auto !important;
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .woocommerce .woocommerce-message,
    .woocommerce .woocommerce-info,
    .woocommerce .woocommerce-error,
    .woocommerce .woocommerce-notice,
    body.woocommerce-order-received .woocommerce-message,
    body.woocommerce-order-received .woocommerce-info,
    body.woocommerce-order-received .woocommerce-error,
    body.woocommerce-order-received .woocommerce-notice,
    body.woocommerce-order-received .woocommerce-thankyou-order-received {
        min-height: 58px;
        padding: 14px 54px 14px 14px !important;
        border-radius: 14px !important;
        font-size: 11px !important;
    }

    .woocommerce .woocommerce-message::before,
    .woocommerce .woocommerce-info::before,
    .woocommerce .woocommerce-error::before,
    .woocommerce .woocommerce-notice::before,
    body.woocommerce-order-received .woocommerce-message::before,
    body.woocommerce-order-received .woocommerce-info::before,
    body.woocommerce-order-received .woocommerce-error::before,
    body.woocommerce-order-received .woocommerce-notice::before,
    body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
        right: 13px !important;
        width: 28px !important;
        height: 28px !important;
        border-radius: 9px;
        font-size: 14px !important;
    }

    .woocommerce .woocommerce-message .button,
    .woocommerce .woocommerce-info .button,
    .woocommerce .woocommerce-error .button,
    .woocommerce .woocommerce-notice .button,
    body.woocommerce-order-received .woocommerce-notice .button {
        width: 100%;
        margin: 8px 0 0 !important;
    }
}



/* ---------------------------------------------------------
 * View-cart and purchased-download buttons — v1.9.9
 * --------------------------------------------------------- */

/*
 * Every WooCommerce "View cart" action now uses the exact
 * visual and interaction model of the homepage secondary button.
 * This also overrides links injected dynamically inside notices.
 */
body.woocommerce a.added_to_cart.wc-forward,
body.woocommerce-page a.added_to_cart.wc-forward,
.woocommerce .woocommerce-message a.button.wc-forward,
.woocommerce .woocommerce-info a.button.wc-forward,
.woocommerce .woocommerce-error a.button.wc-forward,
.woocommerce .woocommerce-notice a.button.wc-forward,
.woocommerce-notices-wrapper a.button.wc-forward,
.wc-block-components-notice-banner a.wc-forward,
.wc-block-components-notice-banner a.button.wc-forward,
.shahin-commerce-widget-actions .shahin-outline-button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout) {
    position: relative !important;
    display: inline-flex !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    overflow: hidden !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap;
    transform: translateY(0) !important;
    filter: none !important;
    transition: transform .25s ease,
                border-color .25s ease,
                background .25s ease !important;
}

/* Product-card view-cart links remain full width like the add-to-cart button. */
body.woocommerce ul.products li.product a.added_to_cart.wc-forward,
body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward {
    width: 100% !important;
    margin-top: 8px !important;
}

/* Notice and sidebar view-cart actions size to their own label on desktop. */
.woocommerce .woocommerce-message a.button.wc-forward,
.woocommerce .woocommerce-info a.button.wc-forward,
.woocommerce .woocommerce-error a.button.wc-forward,
.woocommerce .woocommerce-notice a.button.wc-forward,
.woocommerce-notices-wrapper a.button.wc-forward,
.shahin-commerce-widget-actions .shahin-outline-button,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout) {
    width: auto !important;
    flex: 0 0 auto !important;
}

/* Remove legacy checkmarks, arrows and shine layers so all instances match. */
body.woocommerce a.added_to_cart.wc-forward::before,
body.woocommerce-page a.added_to_cart.wc-forward::before,
body.woocommerce a.added_to_cart.wc-forward::after,
body.woocommerce-page a.added_to_cart.wc-forward::after,
.woocommerce .woocommerce-message a.button.wc-forward::before,
.woocommerce .woocommerce-message a.button.wc-forward::after,
.woocommerce-notices-wrapper a.button.wc-forward::before,
.woocommerce-notices-wrapper a.button.wc-forward::after,
.wc-block-components-notice-banner a.wc-forward::before,
.wc-block-components-notice-banner a.wc-forward::after {
    content: none !important;
    display: none !important;
    animation: none !important;
}

body.woocommerce a.added_to_cart.wc-forward:hover,
body.woocommerce-page a.added_to_cart.wc-forward:hover,
.woocommerce .woocommerce-message a.button.wc-forward:hover,
.woocommerce .woocommerce-info a.button.wc-forward:hover,
.woocommerce .woocommerce-error a.button.wc-forward:hover,
.woocommerce .woocommerce-notice a.button.wc-forward:hover,
.woocommerce-notices-wrapper a.button.wc-forward:hover,
.wc-block-components-notice-banner a.wc-forward:hover,
.wc-block-components-notice-banner a.button.wc-forward:hover,
.shahin-commerce-widget-actions .shahin-outline-button:hover,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
    border-color: rgba(255,255,255,.24) !important;
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    transform: translateY(-3px) !important;
    filter: none !important;
}

body.woocommerce a.added_to_cart.wc-forward:active,
body.woocommerce-page a.added_to_cart.wc-forward:active,
.woocommerce .woocommerce-message a.button.wc-forward:active,
.woocommerce-notices-wrapper a.button.wc-forward:active,
.wc-block-components-notice-banner a.wc-forward:active,
.shahin-commerce-widget-actions .shahin-outline-button:active,
.shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout):active {
    transform: translateY(-1px) scale(.98) !important;
}

/* Purchased-file download actions use the homepage primary button exactly. */
.shahin-woo-download-card .shahin-download-button,
.woocommerce a.woocommerce-MyAccount-downloads-file,
.woocommerce-page a.woocommerce-MyAccount-downloads-file,
.woocommerce .woocommerce-Downloads a.button,
.woocommerce-page .woocommerce-Downloads a.button,
.woocommerce .woocommerce-order-downloads a.button,
.woocommerce-page .woocommerce-order-downloads a.button,
.woocommerce .woocommerce-table--order-downloads a.button,
.woocommerce-page .woocommerce-table--order-downloads a.button,
.woocommerce td.download-file a.button,
.woocommerce-page td.download-file a.button {
    position: relative !important;
    display: inline-flex !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
    box-shadow: 0 16px 40px rgba(108,99,255,.26) !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap;
    transform: translateY(0) !important;
    filter: none !important;
    transition: transform .25s ease,
                border-color .25s ease,
                background .25s ease !important;
}

.shahin-woo-download-card .shahin-download-button {
    width: 100% !important;
    margin-top: 5px !important;
    grid-column: 1 / -1;
}

.shahin-woo-download-card .shahin-download-button .dashicons {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    font-size: 18px;
    line-height: 18px;
}

.shahin-woo-download-card .shahin-download-button::before,
.shahin-woo-download-card .shahin-download-button::after,
.woocommerce a.woocommerce-MyAccount-downloads-file::before,
.woocommerce a.woocommerce-MyAccount-downloads-file::after,
.woocommerce .woocommerce-order-downloads a.button::before,
.woocommerce .woocommerce-order-downloads a.button::after,
.woocommerce .woocommerce-table--order-downloads a.button::before,
.woocommerce .woocommerce-table--order-downloads a.button::after {
    content: none !important;
    display: none !important;
    animation: none !important;
}

.shahin-woo-download-card .shahin-download-button:hover,
.woocommerce a.woocommerce-MyAccount-downloads-file:hover,
.woocommerce-page a.woocommerce-MyAccount-downloads-file:hover,
.woocommerce .woocommerce-Downloads a.button:hover,
.woocommerce-page .woocommerce-Downloads a.button:hover,
.woocommerce .woocommerce-order-downloads a.button:hover,
.woocommerce-page .woocommerce-order-downloads a.button:hover,
.woocommerce .woocommerce-table--order-downloads a.button:hover,
.woocommerce-page .woocommerce-table--order-downloads a.button:hover,
.woocommerce td.download-file a.button:hover,
.woocommerce-page td.download-file a.button:hover {
    color: #fff !important;
    background: linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
    box-shadow: 0 16px 40px rgba(108,99,255,.26) !important;
    transform: translateY(-3px) !important;
    filter: none !important;
}

.shahin-woo-download-card .shahin-download-button:active,
.woocommerce a.woocommerce-MyAccount-downloads-file:active,
.woocommerce-page a.woocommerce-MyAccount-downloads-file:active,
.woocommerce .woocommerce-order-downloads a.button:active,
.woocommerce-page .woocommerce-order-downloads a.button:active,
.woocommerce .woocommerce-table--order-downloads a.button:active,
.woocommerce-page .woocommerce-table--order-downloads a.button:active {
    transform: translateY(-1px) scale(.98) !important;
}

@media (max-width: 640px) {
    .woocommerce .woocommerce-message a.button.wc-forward,
    .woocommerce .woocommerce-info a.button.wc-forward,
    .woocommerce .woocommerce-error a.button.wc-forward,
    .woocommerce .woocommerce-notice a.button.wc-forward,
    .woocommerce-notices-wrapper a.button.wc-forward,
    .wc-block-components-notice-banner a.wc-forward,
    .wc-block-components-notice-banner a.button.wc-forward,
    .shahin-commerce-widget-actions .shahin-outline-button,
    .shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout),
    .woocommerce a.woocommerce-MyAccount-downloads-file,
    .woocommerce-page a.woocommerce-MyAccount-downloads-file,
    .woocommerce .woocommerce-order-downloads a.button,
    .woocommerce-page .woocommerce-order-downloads a.button,
    .woocommerce .woocommerce-table--order-downloads a.button,
    .woocommerce-page .woocommerce-table--order-downloads a.button {
        width: 100% !important;
    }
}

@media (hover: none) {
    body.woocommerce a.added_to_cart.wc-forward:hover,
    body.woocommerce-page a.added_to_cart.wc-forward:hover,
    .woocommerce .woocommerce-message a.button.wc-forward:hover,
    .woocommerce-notices-wrapper a.button.wc-forward:hover,
    .wc-block-components-notice-banner a.wc-forward:hover,
    .shahin-commerce-widget-actions .shahin-outline-button:hover,
    .shahin-commerce-widget .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
    .shahin-woo-download-card .shahin-download-button:hover,
    .woocommerce a.woocommerce-MyAccount-downloads-file:hover,
    .woocommerce-page a.woocommerce-MyAccount-downloads-file:hover,
    .woocommerce .woocommerce-order-downloads a.button:hover,
    .woocommerce-page .woocommerce-order-downloads a.button:hover,
    .woocommerce .woocommerce-table--order-downloads a.button:hover,
    .woocommerce-page .woocommerce-table--order-downloads a.button:hover {
        transform: none !important;
    }
}

/* ---------------------------------------------------------
 * Coupon and cart-form controls — v1.9.10
 * Final authority over WooCommerce classic/block defaults.
 * --------------------------------------------------------- */

/* Keep coupon rows predictable instead of inheriting WooCommerce floats. */
body.woocommerce-cart .woocommerce-cart-form .coupon,
body.woocommerce-page .woocommerce-cart-form .coupon,
.shahin-woo-coupon-box > form,
.wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon::before,
body.woocommerce-cart .woocommerce-cart-form .coupon::after,
body.woocommerce-page .woocommerce-cart-form .coupon::before,
body.woocommerce-page .woocommerce-cart-form .coupon::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code,
body.woocommerce-cart .woocommerce-cart-form .coupon input[name="coupon_code"],
body.woocommerce-page .woocommerce-cart-form .coupon #coupon_code,
body.woocommerce-page .woocommerce-cart-form .coupon input[name="coupon_code"],
body.woocommerce-checkout .woocommerce-form-coupon input[name="coupon_code"],
body.woocommerce-page .woocommerce-form-coupon input[name="coupon_code"],
.shahin-woo-coupon-box input[name="coupon_code"],
.wc-block-components-totals-coupon__input input {
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--line) !important;
    border-radius: 14px !important;
    color: var(--text) !important;
    background: rgba(8,11,18,.72) !important;
    box-shadow: none !important;
    outline: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code:focus,
body.woocommerce-cart .woocommerce-cart-form .coupon input[name="coupon_code"]:focus,
body.woocommerce-page .woocommerce-cart-form .coupon #coupon_code:focus,
body.woocommerce-page .woocommerce-cart-form .coupon input[name="coupon_code"]:focus,
body.woocommerce-checkout .woocommerce-form-coupon input[name="coupon_code"]:focus,
body.woocommerce-page .woocommerce-form-coupon input[name="coupon_code"]:focus,
.shahin-woo-coupon-box input[name="coupon_code"]:focus,
.wc-block-components-totals-coupon__input input:focus {
    border-color: rgba(255,255,255,.24) !important;
    box-shadow: 0 0 0 3px rgba(108,99,255,.12) !important;
}

/* Apply-coupon is a secondary homepage button everywhere. */
body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"],
body.woocommerce-cart .woocommerce-cart-form .coupon input[name="apply_coupon"],
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"],
body.woocommerce-page .woocommerce-cart-form .coupon input[name="apply_coupon"],
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"],
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"],
.shahin-woo-coupon-box button[type="submit"],
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon button.wc-block-components-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 132px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    overflow: hidden !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transform: translateY(0) !important;
    filter: none !important;
    transition: transform .25s ease,
                border-color .25s ease,
                background .25s ease !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]::before,
body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]::after,
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]::before,
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]::after,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]::before,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]::after,
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]::before,
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]::after,
.shahin-woo-coupon-box button[type="submit"]::before,
.shahin-woo-coupon-box button[type="submit"]::after,
.wc-block-components-totals-coupon__button::before,
.wc-block-components-totals-coupon__button::after {
    content: none !important;
    display: none !important;
    animation: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:not(:disabled):hover,
body.woocommerce-cart .woocommerce-cart-form .coupon input[name="apply_coupon"]:not(:disabled):hover,
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]:not(:disabled):hover,
body.woocommerce-page .woocommerce-cart-form .coupon input[name="apply_coupon"]:not(:disabled):hover,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:not(:disabled):hover,
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]:not(:disabled):hover,
.shahin-woo-coupon-box button[type="submit"]:not(:disabled):hover,
.wc-block-components-totals-coupon__button:not(:disabled):hover,
.wc-block-components-totals-coupon button.wc-block-components-button:not(:disabled):hover {
    border-color: rgba(255,255,255,.24) !important;
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    transform: translateY(-3px) !important;
    filter: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:not(:disabled):active,
body.woocommerce-cart .woocommerce-cart-form .coupon input[name="apply_coupon"]:not(:disabled):active,
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]:not(:disabled):active,
body.woocommerce-page .woocommerce-cart-form .coupon input[name="apply_coupon"]:not(:disabled):active,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:not(:disabled):active,
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]:not(:disabled):active,
.shahin-woo-coupon-box button[type="submit"]:not(:disabled):active,
.wc-block-components-totals-coupon__button:not(:disabled):active,
.wc-block-components-totals-coupon button.wc-block-components-button:not(:disabled):active {
    transform: translateY(-1px) scale(.98) !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:focus-visible,
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]:focus-visible,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:focus-visible,
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]:focus-visible,
.shahin-woo-coupon-box button[type="submit"]:focus-visible,
.wc-block-components-totals-coupon__button:focus-visible {
    outline: 3px solid rgba(108,99,255,.28) !important;
    outline-offset: 3px !important;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:disabled,
body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]:disabled,
body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:disabled,
body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]:disabled,
.shahin-woo-coupon-box button[type="submit"]:disabled,
.wc-block-components-totals-coupon__button:disabled {
    opacity: .5 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Other cart form controls receive the same homepage interaction model. */
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-page button[name="update_cart"],
body.woocommerce-cart button[name="calc_shipping"],
body.woocommerce-page button[name="calc_shipping"],
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    transition: transform .25s ease,
                border-color .25s ease,
                background .25s ease !important;
}

@media (max-width: 640px) {
    body.woocommerce-cart .woocommerce-cart-form .coupon,
    body.woocommerce-page .woocommerce-cart-form .coupon,
    .shahin-woo-coupon-box > form,
    .wc-block-components-totals-coupon__form {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"],
    body.woocommerce-cart .woocommerce-cart-form .coupon input[name="apply_coupon"],
    body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"],
    body.woocommerce-page .woocommerce-cart-form .coupon input[name="apply_coupon"],
    body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"],
    body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"],
    .shahin-woo-coupon-box button[type="submit"],
    .wc-block-components-totals-coupon__button,
    .wc-block-components-totals-coupon button.wc-block-components-button {
        width: 100% !important;
    }
}

@media (hover: none) {
    body.woocommerce-cart .woocommerce-cart-form .coupon button[name="apply_coupon"]:hover,
    body.woocommerce-page .woocommerce-cart-form .coupon button[name="apply_coupon"]:hover,
    body.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:hover,
    body.woocommerce-page .woocommerce-form-coupon button[name="apply_coupon"]:hover,
    .shahin-woo-coupon-box button[type="submit"]:hover,
    .wc-block-components-totals-coupon__button:hover {
        transform: none !important;
    }
}

/* ---------------------------------------------------------
 * View-cart final authority — v1.9.11
 * ---------------------------------------------------------
 * Product shortcodes and WooCommerce blocks can appear inside ordinary
 * pages without WooCommerce body classes. These selectors intentionally
 * target the actual action link itself, so its appearance cannot depend
 * on the page template or be changed by later coupon/button rules.
 */
html body a.added_to_cart.wc-forward,
html body .woocommerce a.added_to_cart.wc-forward,
html body .woocommerce-message a.button.wc-forward,
html body .woocommerce-info a.button.wc-forward,
html body .woocommerce-error a.button.wc-forward,
html body .woocommerce-notice a.button.wc-forward,
html body .woocommerce-notices-wrapper a.button.wc-forward,
html body .wc-block-components-notice-banner a.wc-forward,
html body .wc-block-components-notice-banner a.button.wc-forward,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout),
html body .shahin-commerce-widget-actions a.shahin-outline-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    float: none !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    overflow: hidden !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transform: translateY(0) !important;
    filter: none !important;
    isolation: isolate !important;
    transition: transform .25s ease,
                border-color .25s ease,
                background .25s ease !important;
}

/* Full-width only when the action belongs to an individual product card. */
html body .woocommerce ul.products li.product a.added_to_cart.wc-forward,
html body .wc-block-grid__product a.added_to_cart.wc-forward {
    width: 100% !important;
    margin-top: 8px !important;
}

/* Notice/sidebar/mini-cart actions keep their natural desktop width. */
html body .woocommerce-message a.button.wc-forward,
html body .woocommerce-info a.button.wc-forward,
html body .woocommerce-error a.button.wc-forward,
html body .woocommerce-notice a.button.wc-forward,
html body .woocommerce-notices-wrapper a.button.wc-forward,
html body .wc-block-components-notice-banner a.wc-forward,
html body .wc-block-components-notice-banner a.button.wc-forward,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout),
html body .shahin-commerce-widget-actions a.shahin-outline-button {
    flex: 0 0 auto !important;
}

/* Remove all WooCommerce icons, arrows, checkmarks and shine layers. */
html body a.added_to_cart.wc-forward::before,
html body a.added_to_cart.wc-forward::after,
html body .woocommerce-message a.button.wc-forward::before,
html body .woocommerce-message a.button.wc-forward::after,
html body .woocommerce-info a.button.wc-forward::before,
html body .woocommerce-info a.button.wc-forward::after,
html body .woocommerce-error a.button.wc-forward::before,
html body .woocommerce-error a.button.wc-forward::after,
html body .woocommerce-notice a.button.wc-forward::before,
html body .woocommerce-notice a.button.wc-forward::after,
html body .woocommerce-notices-wrapper a.button.wc-forward::before,
html body .woocommerce-notices-wrapper a.button.wc-forward::after,
html body .wc-block-components-notice-banner a.wc-forward::before,
html body .wc-block-components-notice-banner a.wc-forward::after,
html body .wc-block-components-notice-banner a.button.wc-forward::before,
html body .wc-block-components-notice-banner a.button.wc-forward::after,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout)::before,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout)::after,
html body .shahin-commerce-widget-actions a.shahin-outline-button::before,
html body .shahin-commerce-widget-actions a.shahin-outline-button::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

html body a.added_to_cart.wc-forward:not(.disabled):hover,
html body .woocommerce-message a.button.wc-forward:hover,
html body .woocommerce-info a.button.wc-forward:hover,
html body .woocommerce-error a.button.wc-forward:hover,
html body .woocommerce-notice a.button.wc-forward:hover,
html body .woocommerce-notices-wrapper a.button.wc-forward:hover,
html body .wc-block-components-notice-banner a.wc-forward:hover,
html body .wc-block-components-notice-banner a.button.wc-forward:hover,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout):hover,
html body .shahin-commerce-widget-actions a.shahin-outline-button:hover {
    border-color: rgba(255,255,255,.24) !important;
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow: none !important;
    transform: translateY(-3px) !important;
    filter: none !important;
}

html body a.added_to_cart.wc-forward:not(.disabled):active,
html body .woocommerce-message a.button.wc-forward:active,
html body .woocommerce-info a.button.wc-forward:active,
html body .woocommerce-error a.button.wc-forward:active,
html body .woocommerce-notice a.button.wc-forward:active,
html body .woocommerce-notices-wrapper a.button.wc-forward:active,
html body .wc-block-components-notice-banner a.wc-forward:active,
html body .wc-block-components-notice-banner a.button.wc-forward:active,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout):active,
html body .shahin-commerce-widget-actions a.shahin-outline-button:active {
    transform: translateY(-1px) scale(.98) !important;
}

html body a.added_to_cart.wc-forward:focus-visible,
html body .woocommerce-message a.button.wc-forward:focus-visible,
html body .woocommerce-info a.button.wc-forward:focus-visible,
html body .woocommerce-error a.button.wc-forward:focus-visible,
html body .woocommerce-notice a.button.wc-forward:focus-visible,
html body .woocommerce-notices-wrapper a.button.wc-forward:focus-visible,
html body .wc-block-components-notice-banner a.wc-forward:focus-visible,
html body .wc-block-components-notice-banner a.button.wc-forward:focus-visible,
html body .woocommerce-mini-cart__buttons a.button:not(.checkout):focus-visible,
html body .shahin-commerce-widget-actions a.shahin-outline-button:focus-visible {
    outline: 2px solid var(--accent-2) !important;
    outline-offset: 3px !important;
}

@media (max-width: 640px) {
    html body .woocommerce-message a.button.wc-forward,
    html body .woocommerce-info a.button.wc-forward,
    html body .woocommerce-error a.button.wc-forward,
    html body .woocommerce-notice a.button.wc-forward,
    html body .woocommerce-notices-wrapper a.button.wc-forward,
    html body .wc-block-components-notice-banner a.wc-forward,
    html body .wc-block-components-notice-banner a.button.wc-forward,
    html body .woocommerce-mini-cart__buttons a.button:not(.checkout),
    html body .shahin-commerce-widget-actions a.shahin-outline-button {
        width: 100% !important;
    }
}

@media (hover: none) {
    html body a.added_to_cart.wc-forward:hover,
    html body .woocommerce-message a.button.wc-forward:hover,
    html body .woocommerce-info a.button.wc-forward:hover,
    html body .woocommerce-error a.button.wc-forward:hover,
    html body .woocommerce-notice a.button.wc-forward:hover,
    html body .woocommerce-notices-wrapper a.button.wc-forward:hover,
    html body .wc-block-components-notice-banner a.wc-forward:hover,
    html body .wc-block-components-notice-banner a.button.wc-forward:hover,
    html body .woocommerce-mini-cart__buttons a.button:not(.checkout):hover,
    html body .shahin-commerce-widget-actions a.shahin-outline-button:hover {
        transform: none !important;
    }
}



/* Purchased downloadable file state — v1.9.15 */
.shahin-woo-owned-file {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 16px;
    padding: 14px;
    border: 1px solid rgba(68, 211, 158, .28);
    border-radius: 16px;
    background: rgba(68, 211, 158, .08);
}

.shahin-woo-owned-file > .dashicons {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #78e6bb;
    background: rgba(68, 211, 158, .14);
    font-size: 22px;
    line-height: 1;
}

.shahin-woo-owned-file > div {
    min-width: 0;
}

.shahin-woo-owned-file strong,
.shahin-woo-owned-file small {
    display: block;
}

.shahin-woo-owned-file strong {
    margin-bottom: 4px;
    color: var(--text);
    font-size: 14px;
    font-weight: 900;
}

.shahin-woo-owned-file small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.8;
}

.shahin-woo-owned-file .btn {
    min-width: 126px;
    white-space: nowrap;
}

.shahin-woo-owned-file.is-compact {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 11px;
    margin-top: 12px;
}

.shahin-woo-owned-file.is-compact > .dashicons {
    width: 36px;
    height: 36px;
    border-radius: 11px;
    font-size: 19px;
}

.shahin-woo-owned-file.is-compact .btn {
    grid-column: 1 / -1;
    width: 100%;
}

html body .woocommerce a.button.shahin-owned-download-button,
html body .woocommerce-page a.button.shahin-owned-download-button,
html body a.shahin-owned-download-button {
    border-color: rgba(68, 211, 158, .28) !important;
    color: #9ff0ce !important;
    background: rgba(68, 211, 158, .08) !important;
}

html body .woocommerce a.button.shahin-owned-download-button:hover,
html body .woocommerce-page a.button.shahin-owned-download-button:hover,
html body a.shahin-owned-download-button:hover {
    border-color: rgba(68, 211, 158, .42) !important;
    color: #baf7df !important;
    background: rgba(68, 211, 158, .12) !important;
}

@media (max-width: 560px) {
    .shahin-woo-owned-file {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .shahin-woo-owned-file .btn {
        grid-column: 1 / -1;
        width: 100%;
    }
}


/* ---------------------------------------------------------
 * Checkout coupon toggle compatibility — v1.9.22
 * ---------------------------------------------------------
 * WooCommerce controls the visibility of this form with an inline
 * display value and slideToggle(). Never force display here, otherwise
 * the panel stays permanently open and the “کد تخفیف دارید؟” link cannot
 * close it. We style only its children and leave the form display state
 * completely under WooCommerce control.
 */
body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon,
body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 14px !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon > p,
body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon > p {
    float: none !important;
    margin-top: 0 !important;
    vertical-align: top !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon > p:not(.form-row),
body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon > p:not(.form-row) {
    display: block !important;
    width: 100% !important;
    margin-bottom: 12px !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-first,
body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon .form-row-first {
    display: inline-block !important;
    width: calc(100% - 152px) !important;
    margin: 0 0 0 10px !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-last,
body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon .form-row-last {
    display: inline-block !important;
    width: 142px !important;
    margin: 0 !important;
}

body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .clear,
body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon .clear {
    display: none !important;
}

@media (max-width: 640px) {
    body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-first,
    body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon .form-row-first,
    body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-last,
    body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon .form-row-last {
        display: block !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    body.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon .form-row-last,
    body.woocommerce-page form.checkout_coupon.woocommerce-form-coupon .form-row-last {
        margin-bottom: 0 !important;
    }
}
