.billing-address-fields {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.billing-address-fields-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 18px;
}
.billing-address-fields .address-fields {
    margin-top: 10px;
}
.claro-card-section {
    background: #f8f9fa;
    padding: 24px 20px;
    border-radius: 12px;
    border-left: 5px solid #ef7d0b;
    margin-bottom: 24px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.claro-card-section h2, .claro-card-section h3, .claro-card-section label {
    color: #ef7d0b;
    font-weight: 700;
    font-size: 1.15em;
    margin-bottom: 18px;
}
.billing-address-section {
    background: #f8f9fa;
    padding: 24px 20px;
    border-radius: 12px;
    border-left: 5px solid #ef7d0b;
    margin-bottom: 24px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.billing-address-section h3 {
    font-size: 1.15em;
    font-weight: 700;
    color: #ef7d0b;
    margin-bottom: 18px;
}
.billing-address-fields > div {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.billing-address-fields .address-fields {
    margin-top: 10px;
}
.billing-address-fields > .claro-customer-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.claro-delivery-options {
    margin-bottom: 30px;
}
.claro-radio-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 10px;
}
.claro-radio-option {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #fff;
}
.claro-radio-option:hover {
    border-color: #ef7d0b;
    box-shadow: 0 2px 8px rgba(239, 125, 11, 0.1);
}
.claro-radio-option input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2);
}
.claro-radio-option input[type="radio"]:checked {
    accent-color: #ef7d0b;
}
.claro-radio-option:has(input[type="radio"]:checked) {
    border-color: #ef7d0b;
    background: #fff8f0;
}
.claro-radio-labels {
    display: flex;
    flex-direction: column;
}
.claro-radio-text {
    font-weight: bold;
    font-size: 1.1em;
    color: #2c3e50;
    margin-bottom: 5px;
}
.claro-radio-description {
    color: #666;
    font-size: 0.9em;
}
.claro-order-summary {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    border-left: 5px solid #ef7d0b;
    margin-bottom: 20px;
}
.claro-summary-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 5px 0;
}
.claro-summary-total {
    border-top: 2px solid #ef7d0b;
    padding-top: 10px;
    font-weight: bold;
    font-size: 1.2em;
    color: #2c3e50;
}
.claro-customer-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}
.claro-form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}
.claro-form-group label {
    margin-bottom: 5px;
    font-weight: bold;
    color: #2c3e50;
}
.claro-form-group input,
.claro-form-group textarea {
    padding: 12px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 1em;
    transition: border-color 0.3s ease;
    background: #fff;
}
.claro-form-group input:focus,
.claro-form-group textarea:focus {
    outline: none;
    border-color: #ef7d0b;
}
@media (max-width: 768px) {
    .claro-customer-info {
        grid-template-columns: 1fr;
    }
}
/* Product description button and box */
.show-desc-btn {
    margin: 10px 0 0 0;
    background: #ef7d0b;
    color: #fff;
    border: none;
    padding: 7px 16px;
    border-radius: 8px;
    font-size: .9em;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
    width: 100%;
}
.show-desc-btn:hover {
    background: #d36807;
}
.product-desc-box {
    margin-top: 8px;
    background: #f8f9fa;
    border-radius: 8px;
    padding: 12px;
    color: #333;
    font-size: .95em;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    border: 1px solid #ece7e1;
}
#claro-shop.claro-shop-wrapper{border:1px solid #e8e5df;padding:25px;background:#fff;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.06);font-family:Segoe UI,Arial,sans-serif;margin:0 auto;}
#claro-shop .claro-shop-header{border-bottom:1px solid #f0ede9;padding-bottom:12px;margin-bottom:18px}
#claro-shop .claro-shop-title{color:#ef7d0b;margin:0;font-size:1.9rem;font-weight:700;letter-spacing:.5px}
#claro-shop .claro-shop-sub{margin:4px 0 0;color:#6b625a;font-size:.9rem;font-weight:500}
#claro-shop section{margin-bottom:28px}
.claro-products{display:flex;flex-wrap:wrap;gap:14px}
.claro-product{border:1px solid #ece7e1;background:#fffbf7;padding:12px 14px;border-radius:14px;flex:1 1 180px;max-width:210px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:.25s box-shadow,.25s transform}
.claro-product:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-3px)}
.claro-product.out-of-stock{opacity:.55}
.claro-product .p-name{display:block;font-size:.95rem;line-height:1.3;color:#2e281f}
.claro-product .p-price{color:#2e281f;font-weight:600;font-size:.85rem;background:#fff;padding:2px 6px;border-radius:6px;margin-left:4px}
.claro-product .p-stock{font-size:.7rem;letter-spacing:.5px;text-transform:uppercase;color:#776d63;margin:6px 0 10px}
.claro-product .p-actions{display:flex;gap:6px;align-items:center}
.claro-product .p-qty{width:58px;padding:6px 8px;border:1px solid #d0c7be;border-radius:8px;font-size:.8rem}
.claro-product button.add-to-cart{flex:1;background:#ef7d0b;color:#fff;border:none;padding:8px 10px;font-size:.8rem;font-weight:600;letter-spacing:.5px;border-radius:10px;cursor:pointer;transition:.25s background,.25s box-shadow}
.claro-product button.add-to-cart:hover{background:#d36807;box-shadow:0 4px 12px rgba(239,125,11,.4)}
.claro-cart-table{width:100%;border-collapse:collapse;font-size:.85rem}
.claro-cart-table th,.claro-cart-table td{padding:8px 10px;border-bottom:1px solid #efe9e2;text-align:left}
.claro-cart-table th{background:#fdf7f1;color:#5c5248;font-weight:600}
.claro-cart-table tfoot td{background:#f8f2ec;font-weight:700}
.claro-cart .remove-item{background:transparent;border:none;color:#a33;font-size:.9rem;cursor:pointer}
.claro-actions{text-align:right;margin-top:16px}
.checkout-btn{background:#2d5016;color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:.25s background,.25s transform}
.checkout-btn:hover{background:#244012;transform:translateY(-2px)}
@media (max-width:680px){
	.claro-products{justify-content:center}
	.claro-product{flex:1 1 45%;max-width:48%}

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 10px;
    width: 100%;
}
.radio-option {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
    border: 2px solid #ddd;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: white;
}
.radio-option:hover {
    border-color: #ef7d0b;
    box-shadow: 0 2px 8px rgba(239, 125, 11, 0.1);
}
.radio-option input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2);
}
.radio-option input[type="radio"]:checked {
    accent-color: #ef7d0b;
}
.radio-option:has(input[type="radio"]:checked) {
    border-color: #ef7d0b;
    background: #fff8f0;
}
.radio-text {
    font-weight: bold;
    font-size: 1.1em;
    color: #2c3e50;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
.radio-description {
    color: #666;
    font-size: 0.9em;
    margin-left: 25px;
}
.submit-order:disabled{opacity:.5;cursor:not-allowed;transform:none}
.submit-order:not(:disabled):hover{background:#d36807;transform:translateY(-2px)}
.delivery-validation-message{margin-top:8px;font-size:.75rem;font-weight:500}
.delivery-validation-message.ok{color:#2d5016}
.delivery-validation-message.warn{color:#b66c00}
.delivery-validation-message.error{color:#a30000}
}
.agb-checkbox{display:flex;align-items:center;gap:8px;font-size:.8rem}
.agb-checkbox button{background:none;border:none;color:#2d5016;text-decoration:underline;cursor:pointer;font-size:.8rem}
.agb-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:60px 20px;z-index:999;opacity:0;pointer-events:none;transition:.25s opacity}
.agb-modal.open{opacity:1;pointer-events:auto}
.agb-modal-content {
            background-color: white;
            margin: 5% auto;
            padding: 30px;
            border-radius: 10px;
            width: 90%;
            max-width: 800px;
            max-height: 80vh;
            overflow-y: auto;
            position: relative;
}
.agb-close{position:absolute;top:10px;right:10px;background:#ef7d0b;color:#fff;border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.claro-order-feedback{margin-top:18px;font-size:.85rem;font-weight:600}
.claro-order-feedback.ok{color:#2d5016}
.claro-order-feedback.warn{color:#b66c00}
.claro-order-feedback.error{color:#a30000}
.original-price{text-decoration:line-through;opacity:.55;margin-right:4px;font-weight:400}
.discounted-price{color:#2d5016;font-weight:700}
.billing-toggle{margin-top:14px;font-size:.75rem}
.billing-address-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}
.claro-image-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:.25s opacity,.25s visibility}
.claro-image-modal.open{visibility:visible;opacity:1}
.claro-image-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.claro-image-modal-content{position:relative;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.35);padding:14px;max-width:680px;width:90%;animation:modalPop .3s ease}
@keyframes modalPop{from{transform:translateY(15px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.claro-image-modal-content img{max-width:100%;height:auto;border-radius:10px;display:block}
.claro-image-modal-content .img-close{position:absolute;top:6px;right:6px;background:#ef7d0b;color:#fff;border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.product-image-wrapper{width:100%;display:flex;justify-content:center;margin-bottom:6px}
.product-thumb{max-width:220px;max-height:300px;object-fit:cover;border-radius:10px;cursor:pointer;transition:.25s transform,.25s box-shadow}
.product-thumb:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(0,0,0,.18)}
/* --- Enhanced product card styles for parity with original test.html --- */
.product-card{border:1px solid #ddd;border-radius:10px;padding:15px;background:#fff;box-shadow:0 4px 8px rgba(0,0,0,0.1);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1 250px;max-width:260px}
.product-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,0.18)}
.product-card.out-of-stock{opacity:.6}
.product-image-wrapper{width:100%;height:300px;display:flex;justify-content:center;align-items:center;margin-bottom:10px}
.product-image-wrapper img.product-thumb{width:100%;height:100%;object-fit:cover;border-radius:8px}
.product-header{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;width:100%}
.product-name{font-size:1.1em;font-weight:700;color:#333;display:block}
.product-price{font-size:1.05em;color:#ef7d0b;font-weight:700}
.original-price{color:#999;font-size:.85em}
.discounted-price{color:#ef7d0b;font-weight:700}
.discount-badge{background:#dc3545;color:#fff;font-size:.75em;padding:2px 6px;border-radius:10px;margin-left:6px;vertical-align:middle}
.stock-info{font-size:.75em;font-weight:700;margin:8px 0;padding:4px 8px;border-radius:4px;text-align:center}
.stock-info:not(.low-stock):not(.out-of-stock){color:#1d6b2d;background:#d4edda}
.stock-info.low-stock{color:#856404;background:#fff3cd}
.stock-info.out-of-stock{color:#721c24;background:#f8d7da}
.product-actions{display:flex;gap:8px;align-items:center;margin-top:auto}
.product-actions .quantity-input{width:70px;padding:6px;border:1px solid #ccc;border-radius:6px;text-align:center;font-size:.85em}
.product-actions .remove-selection{background:#f5f5f5;border:1px solid #ddd;color:#a33;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.75em;transition:.25s background}
.product-actions .remove-selection:hover{background:#f0e4e4}
.products-grid,.claro-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:10px}
@media (max-width:768px){.products-grid,.claro-products{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
/* --- Modern form and summary enhancements --- */
.claro-form-section {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    padding: 28px 24px;
    margin-bottom: 28px;
    border: 1px solid #ece7e1;
}
.claro-form-section h2 {
    font-size: 1.3em;
    font-weight: 700;
    color: #ef7d0b;
    margin-bottom: 18px;
}
.claro-form-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
}
.claro-form-group label {
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}
.claro-form-group input,
.claro-form-group textarea {
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #d0c7be;
    font-size: 1em;
    background: #f8f9fa;
    transition: border .2s;
}
.claro-form-group input:focus,
.claro-form-group textarea:focus {
    border-color: #ef7d0b;
    outline: none;
}
.order-summary-list {
    background: #fff8f0;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(239,125,11,0.07);
    padding: 18px 16px;
    margin-bottom: 12px;
}
.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0ede9;
    font-size: 1em;
}
.summary-item:last-child {
    border-bottom: none;
}
.summary-total {
    font-size: 1.2em;
    font-weight: 700;
    color: #2d5016;
    margin-top: 10px;
    text-align: right;
}
.summary-discount {
    color: #dc3545;
    font-weight: 600;
    margin-bottom: 8px;
    text-align: right;
}
.submit-order {
    background: linear-gradient(90deg,#ef7d0b 60%,#ef7d0b 60%);
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 1.1em;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(239,125,11,0.08);
    transition: background .2s, transform .2s;
    margin-top: 18px;
}
.submit-order:disabled {
    opacity: .5;
    cursor: not-allowed;
    background: #ece7e1;
    color: #aaa;
}
.submit-order:not(:disabled):hover {
    background: linear-gradient(90deg,#ef7d0b 60%,#ef7d0b 60%);
    transform: translateY(-2px);
}
.agb-checkbox {
    margin-top: 18px;
    font-size: .95em;
}
.agb-checkbox label {
    color: #333;
    font-weight: 500;
}
.agb-checkbox a {
    color: #ef7d0b;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 600;
}
.delivery-validation-message {
    margin-top: 10px;
    font-size: .9em;
    font-weight: 600;
    color: #b66c00;
}
.delivery-validation-message.ok {
    color: #2d5016;
}
.delivery-validation-message.warn {
    color: #b66c00;
}
.delivery-validation-message.error {
    color: #dc3545;
}
