/* Transactional WooCommerce pages only. */
.ilimera-commerce-body{
    margin:0;
    color:#172033;
    background:#f4f8f9;
    font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ilimera-commerce-shell{
    min-height:100vh;
    background:linear-gradient(180deg,#f7fbfc 0%,#eef5f6 100%);
}
.commerce-container{
    width:min(1180px,calc(100% - 40px));
    margin-inline:auto;
}
.commerce-header{
    position:relative;
    z-index:20;
    border-bottom:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.94);
    box-shadow:0 7px 24px rgba(15,23,42,.04);
}
.commerce-header-inner{
    display:flex;
    min-height:78px;
    align-items:center;
    gap:28px;
}
.commerce-logo{
    display:flex;
    align-items:center;
    gap:10px;
    color:#172033;
    text-decoration:none;
}
.commerce-logo>span{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border:1px solid #172033;
    border-radius:9px;
    font:700 20px Sora,sans-serif;
}
.commerce-logo b{
    display:grid;
    font:600 15px/1 Sora,sans-serif;
    letter-spacing:.18em;
}
.commerce-logo small{
    margin-top:4px;
    color:#647083;
    font:600 7px/1 Manrope,sans-serif;
    letter-spacing:.33em;
}
.commerce-site-logo{
    width:auto;
    max-width:220px;
    height:54px;
    object-fit:contain;
}
.commerce-header nav{
    display:flex;
    gap:22px;
    margin-left:auto;
}
.commerce-header nav a{
    color:#4f5c6d;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}
.commerce-header nav a:hover,
.commerce-header nav a:focus-visible{
    color:#087f96;
    outline:none;
}
.commerce-secure-badge{
    display:flex;
    align-items:center;
    gap:6px;
    padding:8px 11px;
    border:1px solid #d8e5e8;
    border-radius:999px;
    color:#2e5e4b;
    background:#f4fbf7;
    font-size:11px;
    font-weight:800;
}
.commerce-main{
    padding:56px 0 90px;
}
.commerce-page-heading{
    max-width:760px;
    margin:0 auto 30px;
    text-align:center;
}
.commerce-page-heading p{
    margin:0 0 8px;
    color:#087f96;
    font:700 11px/1.4 "IBM Plex Mono",monospace;
    letter-spacing:.12em;
}
.commerce-page-heading h1{
    margin:0;
    color:#172033;
    font:600 clamp(32px,4vw,50px)/1.1 Sora,sans-serif;
    letter-spacing:-.04em;
}
.commerce-page-heading span{
    display:block;
    margin-top:12px;
    color:#697687;
    line-height:1.6;
}
.commerce-content-card{
    padding:34px;
    border:1px solid #dbe5e8;
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.075);
}
.commerce-content-card .woocommerce{
    width:100%;
}
.commerce-content-card .woocommerce-notices-wrapper:empty{
    display:none;
}
.commerce-content-card .woocommerce-error,
.commerce-content-card .woocommerce-info,
.commerce-content-card .woocommerce-message{
    margin:0 0 22px;
    padding:14px 16px 14px 46px;
    border:0;
    border-radius:10px;
    background:#f3f8fa;
    color:#334155;
}
.commerce-content-card .woocommerce-error{
    background:#fff1f2;
    color:#9f1239;
}
.commerce-content-card form .form-row{
    margin:0 0 16px;
    padding:0;
}
.commerce-content-card form label{
    display:block;
    margin-bottom:7px;
    color:#334155;
    font-size:13px;
    font-weight:800;
}
.commerce-content-card .input-text,
.commerce-content-card input[type="text"],
.commerce-content-card input[type="email"],
.commerce-content-card input[type="tel"],
.commerce-content-card input[type="password"],
.commerce-content-card select,
.commerce-content-card textarea,
.commerce-content-card .select2-selection{
    min-height:48px;
    border:1px solid #d6e0e5!important;
    border-radius:9px!important;
    color:#172033;
    background:#fff;
    box-shadow:none!important;
    font:inherit;
}
.commerce-content-card .input-text,
.commerce-content-card input[type="text"],
.commerce-content-card input[type="email"],
.commerce-content-card input[type="tel"],
.commerce-content-card input[type="password"],
.commerce-content-card select,
.commerce-content-card textarea{
    width:100%;
    padding:11px 13px;
}
.commerce-content-card textarea{
    min-height:110px;
}
.commerce-content-card .input-text:focus,
.commerce-content-card input:focus,
.commerce-content-card select:focus,
.commerce-content-card textarea:focus{
    border-color:#08a9c2!important;
    outline:3px solid rgba(8,169,194,.12)!important;
}
.commerce-content-card #customer_details{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}
.commerce-content-card #customer_details .col-1,
.commerce-content-card #customer_details .col-2{
    float:none;
    width:auto;
}
.commerce-content-card h2,
.commerce-content-card h3{
    color:#172033;
    font-family:Sora,sans-serif;
}
.commerce-content-card #order_review_heading{
    margin-top:34px;
}
.commerce-content-card table.shop_table{
    overflow:hidden;
    border:1px solid #dde6e9;
    border-radius:12px;
    border-collapse:separate;
    border-spacing:0;
}
.commerce-content-card table.shop_table th,
.commerce-content-card table.shop_table td{
    padding:15px 16px;
    border-color:#e6edef;
}
.commerce-content-card table.shop_table th{
    color:#334155;
    background:#f7fafb;
    font-weight:800;
}
.commerce-content-card #payment{
    margin-top:22px;
    border:1px solid #dce6e9;
    border-radius:14px;
    background:#f8fbfc;
}
.commerce-content-card #payment ul.payment_methods{
    padding:20px;
    border-bottom:1px solid #dce6e9;
}
.commerce-content-card #payment div.payment_box{
    border-radius:8px;
    color:#516071;
    background:#eef5f7;
}
.commerce-content-card #payment div.form-row{
    padding:20px;
}
.commerce-content-card .button,
.commerce-content-card button.button,
.commerce-content-card input.button,
.commerce-content-card #place_order{
    min-height:48px;
    padding:11px 18px!important;
    border:0!important;
    border-radius:9px!important;
    color:#fff!important;
    background:linear-gradient(135deg,#08a9c2,#12b9ce)!important;
    box-shadow:0 10px 24px rgba(8,169,194,.18)!important;
    font-weight:800!important;
}
.commerce-content-card #place_order{
    width:100%;
    min-height:54px;
    font-size:15px!important;
}
.commerce-content-card .button:hover,
.commerce-content-card .button:focus-visible,
.commerce-content-card #place_order:hover,
.commerce-content-card #place_order:focus-visible{
    filter:brightness(.96);
    outline:3px solid rgba(8,169,194,.14)!important;
}
.commerce-content-card .woocommerce-order{
    max-width:900px;
    margin-inline:auto;
}
.commerce-content-card .woocommerce-order-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:24px 0!important;
    padding:0!important;
}
.commerce-content-card .woocommerce-order-overview li{
    float:none!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid #e0e8eb!important;
    border-radius:10px;
    background:#f8fbfc;
}
/* WooCommerce Blocks checkout/cart compatibility. */
.commerce-content-card .wc-block-checkout,
.commerce-content-card .wc-block-cart{
    max-width:none;
}
.commerce-content-card .wc-block-components-text-input input,
.commerce-content-card .wc-block-components-combobox .wc-block-components-combobox-control input{
    border-radius:9px!important;
}
.commerce-content-card .wc-block-components-button:not(.is-link){
    min-height:52px;
    border-radius:9px;
    color:#fff;
    background:linear-gradient(135deg,#08a9c2,#12b9ce);
    font-weight:800;
}
.commerce-content-card .wc-block-components-checkout-place-order-button{
    width:100%;
}
@media(max-width:820px){
    .commerce-header nav{display:none}
    .commerce-secure-badge{margin-left:auto}
    .commerce-content-card #customer_details{grid-template-columns:1fr}
    .commerce-content-card .woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    .commerce-container{width:min(100% - 26px,1180px)}
    .commerce-header-inner{min-height:68px;gap:12px}
    .commerce-site-logo{max-width:165px;height:46px}
    .commerce-secure-badge span{display:none}
    .commerce-main{padding:38px 0 62px}
    .commerce-content-card{padding:20px;border-radius:15px}
    .commerce-content-card table.shop_table th,
    .commerce-content-card table.shop_table td{padding:11px 10px}
    .commerce-content-card .woocommerce-order-overview{grid-template-columns:1fr}
}
