.cec-wrap{--cec-primary:#df252b;--cec-text:#252525;--cec-shipping_bg:#fff;--cec-order_bg:#fff;--cec-payment_bg:#fff;color:var(--cec-text);font-size:15px;line-height:1.55;max-width:1200px;margin:auto}
.cec-wrap *{box-sizing:border-box}.cec-wrap [hidden],.cec-wrap .cec-hidden{display:none!important}
.cec-wrap .cec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.cec-wrap .cec-right{display:grid;gap:24px;min-width:0}
.cec-wrap .cec-block{padding:24px;border:1px solid #e7e7e7;border-radius:12px;box-shadow:0 4px 20px #00000006;min-width:0}
.cec-wrap .cec-shipping{background:var(--cec-shipping_bg)}.cec-wrap .cec-order{background:var(--cec-order_bg)}.cec-wrap .cec-payment{background:var(--cec-payment_bg)}
.cec-wrap h2{font-size:19px;line-height:1.35;margin:0 0 20px;font-weight:750;display:flex;gap:10px;align-items:center}.cec-wrap h2 span{color:var(--cec-primary);font-size:26px}
.cec-wrap .woocommerce-billing-fields>h3,.cec-wrap .woocommerce-additional-fields>h3{display:none}
.cec-wrap .form-row{float:none;width:100%;padding:0;margin:0 0 16px}.cec-wrap .form-row label{display:block;font-weight:550;margin-bottom:6px}.cec-wrap .required{color:var(--cec-primary)}
.cec-wrap input[type=text],.cec-wrap input[type=email],.cec-wrap input[type=tel],.cec-wrap input[type=password],.cec-wrap select,.cec-wrap textarea{width:100%;border:1px solid #d9d9d9;border-radius:7px;background:#fff;color:var(--cec-text);padding:11px 12px;font:inherit;min-height:46px;box-shadow:none}
.cec-wrap select:disabled{background:#f5f5f5}.cec-wrap input:focus,.cec-wrap select:focus,.cec-wrap textarea:focus{outline:2px solid var(--cec-primary);outline-offset:2px}.cec-wrap textarea{min-height:90px;resize:vertical}
.cec-wrap .select2-container{width:100%!important}.cec-wrap .select2-container .select2-selection--single{height:46px;border:1px solid #d9d9d9;border-radius:7px}.cec-wrap .select2-container .select2-selection__rendered{line-height:44px;padding-left:12px}.cec-wrap .select2-selection__arrow{height:44px!important}
.cec-wrap .woocommerce-form-coupon-toggle{margin-bottom:20px}.cec-wrap .cec-coupon-bar .woocommerce-info{background:var(--cec-primary);color:white;border:0;padding:14px 18px;border-radius:8px;margin:0}.cec-wrap .cec-coupon-bar .woocommerce-info:before{display:none}.cec-wrap .cec-coupon-bar a{color:white;text-decoration:none;display:block;font-weight:600}
.cec-wrap .cec-coupon{border:1px solid #eee;padding:16px;margin-bottom:24px;border-radius:8px}.cec-wrap .cec-coupon-input{display:flex;gap:10px}.cec-wrap .cec-coupon label{display:block;margin-bottom:6px}.cec-wrap .cec-coupon-input input{flex:1;min-width:0}.cec-wrap .cec-coupon-input button{background:var(--cec-primary);color:#fff;border:0;border-radius:7px;padding:10px 18px;font:inherit;white-space:nowrap}
.cec-wrap .cec-message:not(:empty){padding:12px;background:#fff6e9;border:1px solid #ffe0b5;margin:0 0 16px;border-radius:7px}
.cec-wrap .cec-summary{width:100%;margin:0;border:0;border-collapse:collapse;font-size:14px}.cec-wrap .cec-summary thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cec-wrap .cec-summary td,.cec-wrap .cec-summary th{padding:14px 0;border:0;border-bottom:1px solid #eee;text-align:left;vertical-align:top;background:transparent}.cec-wrap .cec-summary td:last-child{text-align:right;width:30%}.cec-wrap .cec-price{white-space:nowrap}
.cec-wrap .cec-product{display:flex;gap:12px}.cec-wrap .cec-thumb{width:58px;flex:0 0 58px}.cec-wrap .cec-thumb img{display:block;width:58px;height:58px;object-fit:contain;border:1px solid #eee;border-radius:7px}.cec-wrap .cec-product-info{min-width:0}.cec-wrap .cec-product-name{font-weight:600;overflow-wrap:anywhere}.cec-wrap .variation{font-size:12px;color:#666;margin:5px 0}.cec-wrap .variation dt,.cec-wrap .variation dd{display:inline;margin:0 4px 0 0}.cec-wrap .variation p{display:inline;margin:0}
.cec-wrap .cec-quantity{display:flex;align-items:center;gap:0;margin-top:9px}.cec-wrap .cec-quantity button{width:30px;height:30px;border:1px solid #ddd;background:#fff;color:var(--cec-text);padding:0;font-size:19px;cursor:pointer;border-radius:4px}.cec-wrap .cec-qty{width:40px;height:30px;min-height:30px;padding:0;border:1px solid #ddd;border-radius:0;text-align:center;font:inherit;appearance:textfield}.cec-wrap .cec-qty::-webkit-inner-spin-button{appearance:none}.cec-wrap .cec-quantity .cec-remove{border:0;color:#777;margin-left:8px}.cec-wrap button:disabled,.cec-wrap input:disabled{opacity:.55;cursor:wait}
.cec-wrap .cec-summary .order-total th,.cec-wrap .cec-summary .order-total td{font-size:20px;font-weight:750;color:var(--cec-primary);border-bottom:0}.cec-wrap .cec-summary #shipping_method{margin:0;list-style:none;padding:0}.cec-wrap .cec-summary #shipping_method li{text-align:left;font-size:13px}.cec-wrap .cec-summary #shipping_method input{margin-right:5px}
.cec-wrap :is(#payment,.cec-preview-payment){background:transparent;border-radius:0}.cec-wrap :is(#payment,.cec-preview-payment) .wc_payment_methods{padding:0;border:0;list-style:none;margin:0}.cec-wrap :is(#payment,.cec-preview-payment) .wc_payment_method{padding:12px 0;border-bottom:1px solid #eee;list-style:none}.cec-wrap :is(#payment,.cec-preview-payment) .wc_payment_method>label{display:inline;font-size:13px;line-height:1.6;font-weight:650;cursor:pointer}.cec-wrap :is(#payment,.cec-preview-payment) input.input-radio{margin-right:8px;accent-color:var(--cec-primary)}.cec-wrap :is(#payment,.cec-preview-payment) .payment_box{background:#f5f5f5;color:var(--cec-text);border-radius:8px;font-size:14px;padding:14px;margin:12px 0 0;width:100%}.cec-wrap :is(#payment,.cec-preview-payment) .payment_box:before{display:none}.cec-wrap :is(#payment,.cec-preview-payment) .payment_box p:last-child{margin:0}.cec-wrap :is(#payment,.cec-preview-payment) .place-order{padding:16px 0 0;margin:0}.cec-wrap :is(#payment,.cec-preview-payment) .cec-vietqr{max-width:76px;max-height:26px;margin-left:6px;vertical-align:middle;float:none}
.cec-wrap :is(#place_order,.cec-preview-submit){width:100%;float:none;display:block;background:var(--cec-primary);color:white;border:0;border-radius:8px;font:inherit;font-size:18px;font-weight:750;padding:16px;cursor:pointer;text-align:center}.cec-wrap :is(#place_order,.cec-preview-submit):before{content:'\1F6D2';margin-right:9px}.cec-wrap :is(#place_order,.cec-preview-submit):hover{filter:brightness(.94)}.cec-wrap button:focus-visible,.cec-wrap a:focus-visible{outline:2px solid var(--cec-primary);outline-offset:3px}.cec-wrap .woocommerce-privacy-policy-text,.cec-wrap .woocommerce-terms-and-conditions-wrapper{font-size:12px;color:#666}.cec-wrap .cec-vat-toggle{display:flex;gap:8px;align-items:center;cursor:pointer;font-weight:550}.cec-wrap .cec-vat-fields{margin-top:18px;padding-top:18px;border-top:1px solid #eee}.cec-wrap input[type=checkbox]{accent-color:var(--cec-primary)}
@media(max-width:767px){.cec-wrap .cec-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cec-wrap .cec-right{gap:16px}.cec-wrap .cec-block{padding:18px 14px}.cec-wrap h2{font-size:17px}.cec-wrap .cec-coupon-input button{padding:10px 12px}.cec-wrap .cec-product{gap:8px}.cec-wrap .cec-thumb,.cec-wrap .cec-thumb img{width:44px}.cec-wrap .cec-thumb{flex-basis:44px}.cec-wrap .cec-thumb img{height:44px}.cec-wrap .cec-summary{font-size:13px}.cec-wrap .cec-summary .order-total td,.cec-wrap .cec-summary .order-total th{font-size:18px}}

.cec-wrap .cec-preview-note{font-size:12px;color:#666;margin:0 0 14px}.cec-wrap .cec-preview-field{margin-bottom:16px}.cec-wrap .cec-preview-field label{display:block;font-weight:550;margin-bottom:6px}.cec-wrap .cec-preview-field input:disabled,.cec-wrap .cec-preview-field select:disabled{opacity:1;cursor:default;background:#fff}.cec-wrap .cec-preview-coupon-toggle{background:none;border:0;color:#fff;text-align:left;width:100%;font:inherit;font-weight:600;cursor:pointer}.cec-wrap .cec-preview-empty{padding:20px 0;color:#666}.cec-wrap .cec-preview-order-button{width:100%}
/* 1.0.2: scoped icon/logo rendering and independent coupon controls. */
.cec-wrap .cec-icon{width:24px;height:24px;flex:0 0 24px;vertical-align:middle;display:inline-block}
.cec-wrap h2>.cec-icon{color:var(--cec-icon_color,var(--cec-primary))}
.cec-wrap .cec-coupon-bar{margin-bottom:20px}
.cec-wrap .cec-coupon-bar .woocommerce-info{background:var(--cec-coupon_bg,var(--cec-primary));padding:16px 20px}
.cec-wrap .cec-coupon-bar .showcoupon,.cec-wrap .cec-preview-coupon-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:transparent;border:0;padding:0;min-height:28px;line-height:1.6;text-transform:none;letter-spacing:normal;box-shadow:none;text-decoration:none;color:var(--cec-coupon_text_color,#fff);font:inherit;font-weight:600}
.cec-wrap .cec-coupon-bar .cec-icon{width:26px;height:26px;flex-basis:26px;margin-right:4px;color:var(--cec-coupon_text_color,#fff)}
.cec-wrap .cec-coupon-prefix{color:var(--cec-coupon_text_color,#fff)}
.cec-wrap .cec-coupon-bar .cec-coupon-link{color:var(--cec-coupon_link_color,#ffe15a)}
.cec-wrap .showcoupon:hover .cec-coupon-link,.cec-wrap .cec-preview-coupon-toggle:hover .cec-coupon-link{color:var(--cec-coupon_link_hover,#fff)}
.cec-wrap :is(#place_order,.cec-preview-submit):before{content:none}
.cec-wrap :is(#place_order,.cec-preview-submit)>.cec-icon{margin-right:8px}
.cec-wrap :is(#payment,.cec-preview-payment) .wc_payment_method>label img{display:inline-block;float:none;vertical-align:middle;object-fit:contain;width:auto;max-width:140px;max-height:32px;margin:0 0 0 8px}
.cec-wrap :is(#payment,.cec-preview-payment) .wc_payment_method>label svg{max-width:140px;max-height:32px;vertical-align:middle}
/* 1.0.3: reset theme classic-checkout columns inside our own grid only. */
.cec-wrap form.checkout{display:block!important;width:100%!important;max-width:none!important;float:none!important;margin:0!important}
.cec-wrap #customer_details,.cec-wrap #order_review{display:block!important;float:none!important;width:100%!important;max-width:none!important;clear:none!important;margin:0!important;padding:0!important}
.cec-wrap #order_review .cec-summary,.cec-wrap .cec-summary{display:table!important;float:none!important;width:100%!important;max-width:100%!important;margin:0!important;table-layout:auto;border-spacing:0}
.cec-wrap .cec-summary tbody,.cec-wrap .cec-summary tfoot{display:table-row-group}.cec-wrap .cec-summary tr{display:table-row}.cec-wrap .cec-summary td,.cec-wrap .cec-summary th{display:table-cell}
.cec-wrap .cec-summary td:first-child{width:70%;min-width:0}.cec-wrap .cec-summary td:last-child{width:30%}
.cec-wrap .cec-summary .cec-product-name{overflow-wrap:anywhere}.cec-wrap .cec-summary td.cec-price{white-space:normal}
.cec-wrap .cec-right,.cec-wrap .cec-order{min-width:0;max-width:100%}
.cec-wrap .cec-duplicate-field{display:none!important}
.cec-wrap .cec-shipping{color:var(--cec-shipping_text,var(--cec-text))}.cec-wrap .cec-order{color:var(--cec-order_text,var(--cec-text))}.cec-wrap .cec-payment{color:var(--cec-payment_text,var(--cec-text))}
.cec-wrap .cec-shipping h2{color:var(--cec-shipping_heading,currentColor)}.cec-wrap .cec-order h2{color:var(--cec-order_heading,currentColor)}.cec-wrap .cec-payment h2{color:var(--cec-payment_heading,currentColor)}
.cec-wrap .cec-shipping h2>.cec-icon{color:var(--cec-shipping_icon,var(--cec-icon_color,var(--cec-primary)))}.cec-wrap .cec-order h2>.cec-icon{color:var(--cec-order_icon,var(--cec-icon_color,var(--cec-primary)))}.cec-wrap .cec-payment h2>.cec-icon{color:var(--cec-payment_icon,var(--cec-icon_color,var(--cec-primary)))}
@media(max-width:480px){.cec-wrap .cec-summary td:first-child{width:65%}.cec-wrap .cec-summary td:last-child{width:35%}.cec-wrap .cec-summary .order-total td{white-space:normal;overflow-wrap:anywhere}}
@media(min-width:768px){.cec-wrap .cec-grid{grid-template-columns:minmax(0,calc((100% - var(--cec-column-gap,24px))*var(--cec-left-share,50)/100)) minmax(0,1fr)}}
/* Native address fields carry shipping values; only the widget's isolated selects are visible. */
.cec-wrap .cec-native-address{display:none!important}
.cec-wrap .cec-vn-select{width:100%}
/* Center coupon text and input group, per requested layout. */
.cec-wrap .cec-coupon-bar .showcoupon,.cec-wrap .cec-preview-coupon-toggle{justify-content:center;text-align:center;width:100%}
.cec-wrap .cec-coupon{width:100%!important;max-width:660px;float:none!important;margin:0 auto 24px!important;text-align:center}
.cec-wrap .cec-coupon-input{justify-content:center;align-items:center}

/* 1.0.5 — mobile-only checkout layout hardening. */
@media (max-width:767px) {
  .cec-wrap, .cec-wrap .cec-grid, .cec-wrap .cec-grid > *,
  .cec-wrap .cec-coupon-bar, .cec-wrap .cec-coupon,
  .cec-wrap .cec-shipping, .cec-wrap .cec-order, .cec-wrap .cec-payment {
    min-width:0; max-width:100%;
  }
  .cec-wrap {width:100%; padding-inline:0; overflow-wrap:break-word;}
  .cec-wrap .cec-coupon-bar .woocommerce-info {padding:14px 12px;}
  .cec-wrap .cec-coupon-bar .showcoupon,
  .cec-wrap .cec-preview-coupon-toggle {font-size:14px;gap:5px;line-height:1.5;}
  .cec-wrap .cec-coupon-bar .cec-icon {width:22px;height:22px;flex-basis:22px;}
  .cec-wrap form.cec-coupon,
  .cec-wrap form.checkout_coupon.cec-coupon {
    display:block; width:100%!important;max-width:100%!important;
    min-width:0;float:none!important;clear:both;
    margin:0 0 20px!important;padding:14px!important;
    position:static;transform:none;left:auto;right:auto;
  }
  .cec-wrap form.cec-coupon[style*="display:none"],
  .cec-wrap form.cec-coupon[style*="display: none"] {display:none!important;}
  .cec-wrap .cec-coupon-input {display:flex!important;flex-direction:column!important;gap:10px!important;width:100%;min-width:0;}
  .cec-wrap .cec-coupon-input input,
  .cec-wrap .cec-coupon-input input.input-text,
  .cec-wrap .cec-coupon-input button,
  .cec-wrap .cec-coupon-input button.button {
    display:block!important;position:static!important;float:none!important;
    flex:0 0 auto!important;width:100%!important;min-width:0!important;
    max-width:100%!important;margin:0!important;transform:none!important;
    box-sizing:border-box!important;
  }
  .cec-wrap .cec-coupon-input input {min-height:46px;text-align:left;}
  .cec-wrap .cec-coupon-input button {min-height:46px;text-align:center;white-space:normal;}
  .cec-wrap .cec-block {width:100%;max-width:100%;min-width:0;}
  .cec-wrap .form-row, .cec-wrap .woocommerce-input-wrapper,
  .cec-wrap .select2-container {min-width:0;max-width:100%;}
  .cec-wrap .form-row input, .cec-wrap .form-row select,
  .cec-wrap .form-row textarea {max-width:100%;}
}
