/* A calmer, full-width request flow for the WooCommerce cart. */
.woocommerce-cart .woocommerce {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100vw;
    max-width: none !important;
    margin-inline: calc(50% - 50vw);
    padding-inline: clamp(16px, 3.5vw, 64px);
}

/* Elementor's cart widget keeps its items and request panel in a two-column grid. */
.woocommerce-cart .elementor-widget-woocommerce-cart .e-cart__container,
.woocommerce-cart .e-cart__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px;
    width: 100% !important;
}

.woocommerce-cart .elementor-widget-woocommerce-cart .e-cart__column-start,
.woocommerce-cart .elementor-widget-woocommerce-cart .e-cart__column-end,
.woocommerce-cart .e-cart__column-start,
.woocommerce-cart .e-cart__column-end {
    box-sizing: border-box;
    float: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
    float: none !important;
    clear: both;
    width: 100% !important;
    max-width: none !important;
    margin: 0;
}

.woocommerce-cart.ps-request-cart .cart-collaterals {
    display: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    width: 100%;
    max-width: 680px;
    margin-inline-start: auto;
}

.woocommerce-cart .ps-cart-submit-box {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: clamp(20px, 3vw, 36px);
    border: 1px solid #eadcf4;
    border-radius: 24px;
    background: #fff;
    color: #342544;
    box-shadow: 0 12px 36px rgba(78, 42, 103, .045);
    direction: rtl;
    text-align: right;
    grid-column: 1 / -1 !important;
    justify-self: stretch;
}

.woocommerce-cart .ps-cart-submit-box > div:first-child {
    display: block !important;
    margin-bottom: 22px;
}

.woocommerce-cart .ps-cart-submit-box > div:first-child strong,
.woocommerce-cart .ps-cart-customer-title strong {
    color: #342544;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 700;
    line-height: 1.5;
}

.woocommerce-cart .ps-cart-submit-box > div:first-child small,
.woocommerce-cart .ps-cart-customer-title small {
    display: block;
    color: #786b83;
    font-size: 14px;
    line-height: 1.8;
}

.woocommerce-cart .ps-cart-customer-title {
    margin: 22px 0 12px;
}

.woocommerce-cart .ps-cart-login-note {
    box-sizing: border-box;
    margin: 14px 0 22px;
    padding: 16px 20px;
    border-radius: 14px;
    background: #f7f1fc;
    color: #51435f;
    font-size: 15px;
    line-height: 1.9;
}

.woocommerce-cart .ps-cart-login-note a {
    color: #7137c8;
    font-weight: 700;
}

.woocommerce-cart .ps-cart-customer-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px 20px;
    width: 100%;
    margin: 0;
}

.woocommerce-cart .ps-cart-customer-form label {
    display: block;
    min-width: 0;
    margin: 0;
    color: #554761;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.7;
}

.woocommerce-cart .ps-cart-customer-form input,
.woocommerce-cart .ps-cart-customer-form textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 50px;
    margin-top: 7px;
    padding: 12px 15px;
    border: 1px solid #e4dbea;
    border-radius: 12px;
    background: #fff;
    color: #342544;
    font: inherit;
    font-weight: 400;
}

.woocommerce-cart .ps-cart-customer-form textarea {
    min-height: 92px;
    resize: vertical;
}

.woocommerce-cart .ps-cart-customer-form .ps-cart-address-field {
    grid-column: 1;
}

.woocommerce-cart .ps-cart-customer-form input:focus,
.woocommerce-cart .ps-cart-customer-form textarea:focus {
    border-color: #8650c5;
    outline: 2px solid rgba(134, 80, 197, .16);
    outline-offset: 1px;
}

.woocommerce-cart .ps-cart-customer-form button[type="submit"] {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 52px;
    margin-top: 4px;
    padding: 13px 26px;
    border: 0;
    border-radius: 13px;
    background: #7845ad;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.woocommerce-cart .ps-cart-customer-form button[type="submit"]:hover {
    background: #62358f;
}

.woocommerce-cart .ps-cart-requests-note {
    color: #6d5c7b;
    line-height: 1.8;
}

@media (max-width: 760px) {
    .woocommerce-cart .woocommerce { gap: 16px; }
    .woocommerce-cart .ps-cart-submit-box { padding: 18px; border-radius: 18px; }
    .woocommerce-cart .ps-cart-customer-form { gap: 13px; }
    .woocommerce-cart .ps-cart-customer-form .ps-cart-address-field,
    .woocommerce-cart .ps-cart-customer-form button[type="submit"] { grid-column: 1; }
    .woocommerce-cart .ps-cart-customer-form button[type="submit"] { width: 100%; }
    .woocommerce-cart .cart-collaterals .cart_totals table { max-width: none; }
}
/* Desktop cart form: force the request fields and address to share the full panel width. */body.woocommerce-cart .ps-cart-submit-box { display: block !important; width: 100% !important; max-width: none !important; }body.woocommerce-cart .ps-cart-submit-box > * { box-sizing: border-box !important; display: block !important; width: 100% !important; max-width: none !important; float: none !important; }body.woocommerce-cart .ps-cart-submit-box .ps-cart-customer-form { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; align-items: stretch !important; width: 100% !important; max-width: none !important; }body.woocommerce-cart .ps-cart-submit-box .ps-cart-customer-form label { display: block !important; box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; max-width: none !important; }body.woocommerce-cart .ps-cart-submit-box .ps-cart-customer-form input,body.woocommerce-cart .ps-cart-submit-box .ps-cart-customer-form textarea { display: block !important; box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; max-width: none !important; min-height: 58px !important; }body.woocommerce-cart .ps-cart-submit-box .ps-cart-customer-form textarea { min-height: 120px !important; }body.woocommerce-cart .ps-cart-submit-box .ps-cart-customer-form .ps-cart-address-field { grid-column: 1 / -1 !important; }


/* Two-stage preorder cart: items first, delivery details second. */
.woocommerce-cart .ps-cart-steps { box-sizing: border-box; width: 100%; margin: 0 0 8px; padding: 18px 24px; border: 1px solid #eadcf4; border-radius: 18px; background: #fff; direction: rtl; }
.woocommerce-cart .ps-cart-steps ol { position: relative; display: flex; justify-content: space-between; gap: 20px; width: 100%; margin: 0; padding: 0; list-style: none; }
.woocommerce-cart .ps-cart-steps ol::before { position: absolute; top: 20px; inset-inline: 10%; height: 2px; background: #eadcf4; content: ""; }
.woocommerce-cart .ps-cart-steps li { position: relative; z-index: 1; display: flex; flex: 1 1 0; align-items: center; gap: 12px; color: #786b83; font-size: 15px; line-height: 1.5; }
.woocommerce-cart .ps-cart-steps li:last-child { justify-content: flex-end; }
.woocommerce-cart .ps-cart-steps li span { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border: 1px solid #e5d7ef; border-radius: 50%; background: #fff; color: #7042a6; font-weight: 700; }
.woocommerce-cart .ps-cart-steps li[aria-current="step"] { color: #342544; font-weight: 700; }
.woocommerce-cart .ps-cart-steps li[aria-current="step"] span { border-color: #7845ad; background: #7845ad; color: #fff; }
.woocommerce-cart[data-ps-cart-step="2"] .ps-cart-steps li:first-child span { border-color: #2c9b72; background: #2c9b72; color: #fff; }
.woocommerce-cart .ps-cart-step-next-actions { display: flex; justify-content: flex-start; width: 100%; margin: 20px 0 0; direction: rtl; }
.woocommerce-cart .ps-cart-step-next-actions .ps-cart-continue { min-height: 52px; padding: 12px 24px; border: 0; border-radius: 13px; background: #7845ad; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.woocommerce-cart .ps-cart-submit-box .ps-cart-step-back { margin: -12px 0 20px; }
.woocommerce-cart .ps-cart-submit-box .ps-cart-step-back-btn { padding: 5px 0; border: 0; background: transparent; color: #7042a6; font: inherit; font-weight: 700; cursor: pointer; }
body.woocommerce-cart.ps-request-cart.ps-cart-flow-ready[data-ps-cart-step="1"] .ps-cart-submit-box,
body.woocommerce-cart.ps-request-cart.ps-cart-flow-ready[data-ps-cart-step="2"] .woocommerce-cart-form { display: none !important; }
@media (max-width: 760px) { .woocommerce-cart .ps-cart-steps { padding: 14px; } .woocommerce-cart .ps-cart-steps ol { gap: 8px; } .woocommerce-cart .ps-cart-steps li { gap: 7px; font-size: 12px; line-height: 1.5; } .woocommerce-cart .ps-cart-steps li span { flex-basis: 34px; width: 34px; height: 34px; } .woocommerce-cart .ps-cart-steps ol::before { top: 17px; } .woocommerce-cart .ps-cart-step-next-actions .ps-cart-continue { width: 100%; } }


/* Shirou account center */
body.ps-account-page{--ps-ink:#352343;--ps-muted:#786c82;--ps-purple:#7845ad;--ps-line:#eee5f4;--ps-soft:#f8f3fc;background:#fffafd;color:var(--ps-ink)}
body.ps-account-page .ps-account-hero,body.ps-account-page .woocommerce{box-sizing:border-box;width:min(100% - 48px,1180px);max-width:1180px;margin-inline:auto;direction:rtl}
body.ps-account-page .ps-account-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:24px;min-height:205px;margin:32px auto 24px;padding:28px 34px;border:1px solid var(--ps-line);border-radius:26px;background:linear-gradient(115deg,#fff,#faf5fd);box-shadow:0 14px 42px rgba(60,34,78,.05)}
body.ps-account-page .ps-account-hero-copy{min-width:0}body.ps-account-page .ps-account-eyebrow{display:block;margin-bottom:7px;color:var(--ps-purple);font-size:12px;font-weight:700;letter-spacing:.02em}
body.ps-account-page .ps-account-hero h1{margin:0 0 8px;color:var(--ps-ink);font-size:clamp(26px,3vw,38px);line-height:1.45}body.ps-account-page .ps-account-hero p{margin:0;color:var(--ps-muted);font-size:15px;line-height:1.9}
body.ps-account-page .ps-account-welcome{margin-top:14px;color:var(--ps-muted);font-size:14px}body.ps-account-page .ps-account-welcome span{color:var(--ps-purple)}
body.ps-account-page .ps-account-mascot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:140px}body.ps-account-page .ps-account-mascot img{display:block;width:auto;max-width:100%;max-height:190px;object-fit:contain}
body.ps-account-page .woocommerce{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:0 0 48px}
body.ps-account-page .woocommerce-MyAccount-navigation,body.ps-account-page .woocommerce-MyAccount-content{float:none;width:100%;margin:0}
body.ps-account-page .woocommerce-MyAccount-navigation{padding:9px;border:1px solid var(--ps-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(60,34,78,.035)}
body.ps-account-page .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0;padding:0;list-style:none}
body.ps-account-page .woocommerce-MyAccount-navigation li{margin:0;padding:0}body.ps-account-page .woocommerce-MyAccount-navigation li a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid transparent;border-radius:12px;color:var(--ps-muted);font-size:14px;font-weight:600;text-decoration:none;transition:.18s ease}
body.ps-account-page .woocommerce-MyAccount-navigation li a:hover{background:var(--ps-soft);color:var(--ps-purple)}body.ps-account-page .woocommerce-MyAccount-navigation li.is-active a{border-color:#e9daf4;background:#f6effb;color:var(--ps-purple)}body.ps-account-page .woocommerce-MyAccount-navigation-link--customer-logout{margin-inline-start:auto!important}
body.ps-account-page .woocommerce-MyAccount-content{box-sizing:border-box;min-width:0;padding:26px;border:1px solid var(--ps-line);border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(60,34,78,.04);direction:rtl;text-align:right}
body.ps-account-page .woocommerce-MyAccount-content>p:first-child{margin-top:0}body.ps-account-page .woocommerce-MyAccount-content a{color:var(--ps-purple)}
body.ps-account-page .ps-account-dashboard{display:grid;gap:20px}.ps-account-page .ps-account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.ps-account-page .ps-account-stat{display:flex;align-items:center;gap:14px;min-height:84px;padding:16px;border:1px solid var(--ps-line);border-radius:16px;background:linear-gradient(135deg,#fff,#fbf7fd);color:var(--ps-ink);text-decoration:none}
body.ps-account-page .ps-account-stat-icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:13px;background:#f2e9f9;color:var(--ps-purple);font-size:21px}
body.ps-account-page .ps-account-stat strong,body.ps-account-page .ps-account-stat small{display:block}body.ps-account-page .ps-account-stat strong{font-size:18px}body.ps-account-page .ps-account-stat small{margin-top:3px;color:var(--ps-muted);font-size:12px}
body.ps-account-page .ps-account-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:16px}body.ps-account-page .ps-account-panel{min-width:0;padding:21px;border:1px solid var(--ps-line);border-radius:18px;background:#fff}
body.ps-account-page .ps-account-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}body.ps-account-page .ps-account-panel-heading h2,body.ps-account-page .ps-account-shortcuts h2{margin:0;color:var(--ps-ink);font-size:20px}
body.ps-account-page .ps-account-order-list{display:grid}body.ps-account-page .ps-account-order-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--ps-line);color:var(--ps-ink);text-decoration:none}
body.ps-account-page .ps-account-order-row:last-child{border-bottom:0}body.ps-account-page .ps-account-order-number{font-weight:700}body.ps-account-page .ps-account-order-meta strong,body.ps-account-page .ps-account-order-meta small{display:block}body.ps-account-page .ps-account-order-meta small{margin-top:4px;color:var(--ps-muted);font-size:12px}body.ps-account-page .ps-account-order-arrow{color:var(--ps-purple)}
body.ps-account-page .ps-account-shortcuts{display:grid;align-content:start;gap:10px}body.ps-account-page .ps-account-shortcuts h2{margin-bottom:3px}body.ps-account-page .ps-account-shortcut{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--ps-line);border-radius:13px;text-decoration:none}body.ps-account-page .ps-account-shortcut>span:first-child{display:grid;flex:0 0 36px;height:36px;place-items:center;border-radius:10px;background:var(--ps-soft);font-size:18px}body.ps-account-page .ps-account-shortcut strong,body.ps-account-page .ps-account-shortcut small{display:block}body.ps-account-page .ps-account-shortcut strong{color:var(--ps-ink)}body.ps-account-page .ps-account-shortcut small{margin-top:3px;color:var(--ps-muted);font-size:12px}
body.ps-account-page .woocommerce-MyAccount-content table.shop_table{width:100%;border:1px solid var(--ps-line);border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden}body.ps-account-page .woocommerce-MyAccount-content table.shop_table th{background:var(--ps-soft);color:var(--ps-muted);font-size:13px}body.ps-account-page .woocommerce-MyAccount-content table.shop_table th,body.ps-account-page .woocommerce-MyAccount-content table.shop_table td{padding:14px 12px;border-color:var(--ps-line);text-align:right;vertical-align:middle}
body.ps-account-page .woocommerce-MyAccount-content .button,body.ps-account-page .ps-account-primary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:0;border-radius:11px;background:var(--ps-purple);color:#fff!important;font-weight:700;text-decoration:none}
body.ps-account-page .woocommerce-MyAccount-content .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}body.ps-account-page .woocommerce-MyAccount-content .woocommerce-Address{float:none;width:auto;padding:18px;border:1px solid var(--ps-line);border-radius:16px}
body.ps-account-page .woocommerce-MyAccount-content form .form-row{float:none;width:100%;margin:0;padding:0}body.ps-account-page .woocommerce-MyAccount-content form .form-row-first,body.ps-account-page .woocommerce-MyAccount-content form .form-row-last{width:calc(50% - 9px)}body.ps-account-page .woocommerce-MyAccount-content form .form-row-first{float:right}body.ps-account-page .woocommerce-MyAccount-content form .form-row-last{float:left}
body.ps-account-page .woocommerce-MyAccount-content form input.input-text,body.ps-account-page .woocommerce-MyAccount-content form textarea,body.ps-account-page .woocommerce-MyAccount-content form select{box-sizing:border-box;width:100%;min-height:50px;padding:11px 13px;border:1px solid #e5ddeb;border-radius:11px;background:#fff;color:var(--ps-ink);font:inherit}body.ps-account-page .woocommerce-MyAccount-content form textarea{min-height:110px}
body.ps-account-page .ps-preorders-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}body.ps-account-page .ps-preorders-heading h2{margin:0;font-size:22px}
body.ps-account-page .ps-preorder-item{margin:12px 0;padding:18px;border:1px solid var(--ps-line);border-radius:17px;background:#fff}body.ps-account-page .ps-preorder-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
body.ps-account-page .ps-preorder-product{display:flex;align-items:center;gap:12px;min-width:0}body.ps-account-page .ps-preorder-thumb-img,body.ps-account-page .ps-preorder-thumb-fallback{display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center;overflow:hidden;border:1px solid var(--ps-line);border-radius:12px;background:var(--ps-soft);color:var(--ps-purple);object-fit:cover}
body.ps-account-page .ps-preorder-item h3{margin:0 0 4px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}body.ps-account-page .ps-preorder-item small{color:var(--ps-muted);font-size:12px}body.ps-account-page .ps-status{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border:1px solid #e7d9f1;border-radius:999px;background:var(--ps-soft);color:var(--ps-purple);font-size:12px;font-weight:700}
body.ps-account-page .ps-timeline{display:flex;gap:7px;margin:14px 0;padding:0 0 5px;overflow-x:auto}body.ps-account-page .ps-timeline span{display:flex;flex:0 0 auto;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--ps-line);border-radius:999px;color:var(--ps-muted);font-size:11px;white-space:nowrap}body.ps-account-page .ps-timeline span.is-done{background:#f4ecfa;color:var(--ps-purple)}body.ps-account-page .ps-admin-note,body.ps-account-page .ps-notice{padding:12px 14px;border:1px solid var(--ps-line);border-radius:12px;background:var(--ps-soft);color:#5f526b}
@media(max-width:800px){body.ps-account-page .ps-account-hero,body.ps-account-page .woocommerce{width:calc(100% - 28px)}body.ps-account-page .ps-account-hero{grid-template-columns:minmax(0,1fr) 125px;min-height:160px;padding:18px}body.ps-account-page .ps-account-mascot img{max-height:150px}body.ps-account-page .ps-account-dashboard-grid{grid-template-columns:minmax(0,1fr)}body.ps-account-page .ps-account-stats{grid-template-columns:repeat(3,minmax(0,1fr))}body.ps-account-page .woocommerce-MyAccount-content{padding:18px}}
@media(max-width:560px){body.ps-account-page .ps-account-hero,body.ps-account-page .woocommerce{width:calc(100% - 20px)}body.ps-account-page .ps-account-hero{grid-template-columns:minmax(0,1fr) 82px;gap:8px;margin-top:18px;padding:15px}body.ps-account-page .ps-account-hero h1{font-size:23px}body.ps-account-page .ps-account-hero p{font-size:12px}body.ps-account-page .ps-account-mascot{min-height:90px}body.ps-account-page .ps-account-mascot img{max-height:115px}body.ps-account-page .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body.ps-account-page .woocommerce-MyAccount-navigation-link--customer-logout{grid-column:1/-1;margin:0!important}body.ps-account-page .woocommerce-MyAccount-navigation li a{justify-content:flex-start;min-height:40px;padding:7px 10px;font-size:12px}body.ps-account-page .woocommerce-MyAccount-content{padding:14px}body.ps-account-page .ps-account-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.ps-account-page .ps-account-stat{min-height:65px;gap:8px;padding:9px}body.ps-account-page .ps-account-stat-icon{flex-basis:32px;width:32px;height:32px}body.ps-account-page .ps-account-order-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}body.ps-account-page .ps-account-order-total{grid-column:2;grid-row:2}body.ps-account-page .ps-account-order-arrow{grid-column:3;grid-row:1/3}body.ps-account-page .woocommerce-MyAccount-content .woocommerce-Addresses{grid-template-columns:1fr}body.ps-account-page .woocommerce-MyAccount-content form .form-row-first,body.ps-account-page .woocommerce-MyAccount-content form .form-row-last{float:none;width:100%}body.ps-account-page .ps-preorder-top{align-items:flex-start;flex-direction:column}body.ps-account-page .ps-timeline{padding-bottom:8px}}
