/**
 * CB One Page Checkout
 * @author CodeBreaker <office@codebreaker.ro>
 */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.5;color:#333;background:var(--opc-bg,#f5f3ef);-webkit-font-smoothing:antialiased}
.opc-wrapper{display:flex;min-height:100vh;max-width:1100px;margin:0 auto}
.opc-main{flex:1;max-width:660px;padding:40px 50px;background:#fff}
.opc-sidebar{width:380px;padding:40px 35px;background:var(--opc-bg,#f5f3ef);border-left:1px solid #e1ddd5}
.opc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#333;border-radius:10px;padding:10px 20px}
.opc-logo img{max-height:50px}
.opc-logo span{font-size:22px;font-weight:600;color:var(--opc-primary)}
.opc-cart-icon{color:#666;text-decoration:none}
.opc-cart-icon:hover{color:var(--opc-primary)}
.opc-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #e5e5e5}
.opc-section:last-of-type{border-bottom:none}
.opc-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.opc-section h2{font-size:18px;font-weight:600;color:#333;margin-bottom:15px}
.opc-section-header h2{margin-bottom:0}
.opc-section-subtitle{font-size:13px;color:#666;margin-bottom:15px}
.opc-link{font-size:13px;color:var(--opc-primary);text-decoration:none}
.opc-link:hover{text-decoration:underline}
.opc-link-small{display:block;margin-top:10px;font-size:12px}
.opc-logged-info{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f7f7f7;border-radius:6px}
.opc-form-row{margin-bottom:12px}
.opc-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opc-form-row-3{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:12px}
.opc-field{position:relative}
.opc-field input,.opc-field select{width:100%;height:50px;padding:18px 14px 6px;border:1px solid #d1d1d1;border-radius:5px;font-size:14px;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.opc-field select{padding-right:35px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%23666' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.opc-field input:focus,.opc-field select:focus{outline:none;border-color:var(--opc-primary);box-shadow:0 0 0 1px var(--opc-primary)}
.opc-field label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#666;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px}
.opc-field input:focus+label,.opc-field input:not(:placeholder-shown)+label,.opc-field select+label.select-label,.opc-field input.has-value+label{top:8px;transform:translateY(0);font-size:11px}
.opc-field-icon-right{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#999}
.opc-carriers,.opc-payments{border:1px solid #d1d1d1;border-radius:5px;overflow:hidden}
.opc-option{display:flex;align-items:center;padding:14px;border-bottom:1px solid #e5e5e5;cursor:pointer;transition:background .15s;background:#fff}
.opc-option:last-child{border-bottom:none}
.opc-option:hover{background:#fafafa}
.opc-option.selected{background:rgba(74,95,78,.04)}
.opc-option input[type="radio"]{display:none}
.opc-option-radio{width:18px;height:18px;border:2px solid #d1d1d1;border-radius:50%;margin-right:12px;flex-shrink:0;position:relative;transition:border-color .15s}
.opc-option.selected .opc-option-radio{border-color:var(--opc-primary)}
.opc-option.selected .opc-option-radio::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--opc-primary);border-radius:50%}
.opc-option-content{flex:1;min-width:0}
.opc-option-name{display:block;font-weight:500;font-size:14px}
.opc-option-desc{display:block;font-size:12px;color:#666;margin-top:2px}
.opc-option-price{font-weight:600;font-size:14px;margin-left:15px}
.opc-option-logos{margin-left:auto;display:flex;gap:6px}
.opc-option-logos img{height:24px;width:auto}
.opc-no-options{padding:20px;text-align:center;color:#666;background:#f9f9f9;border-radius:5px}
.opc-billing-toggle{margin-top:15px}
.opc-checkbox{display:flex;align-items:center;cursor:pointer;font-size:14px}
.opc-checkbox input{display:none}
.opc-checkbox-box{width:18px;height:18px;border:2px solid #d1d1d1;border-radius:4px;margin-right:10px;position:relative;transition:all .15s;flex-shrink:0}
.opc-checkbox input:checked+.opc-checkbox-box{background:var(--opc-primary);border-color:var(--opc-primary)}
.opc-checkbox input:checked+.opc-checkbox-box::after{content:'';position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.opc-btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 24px;border:none;border-radius:5px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}
.opc-btn-primary{width:100%;height:54px;font-size:16px;background:var(--opc-button);color:#fff}
.opc-btn-primary:hover{opacity:.9}
.opc-btn-secondary{width:100%;background:var(--opc-primary);color:#fff}
.opc-btn-outline{background:#fff;border:1px solid #d1d1d1;color:#333}
.opc-btn-outline:hover{background:#f5f5f5}
.opc-btn:disabled{opacity:.6;cursor:not-allowed}
.opc-submit{margin-top:25px}
.opc-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:12px;color:#666}
.opc-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e5e5e5}
.opc-footer nav{display:flex;flex-wrap:wrap;gap:8px 15px}
.opc-footer a{font-size:12px;color:var(--opc-primary);text-decoration:none}
.opc-footer a:hover{text-decoration:underline}
.opc-sidebar-content{position:sticky;top:40px}
.opc-products{margin-bottom:20px}
.opc-product{display:flex;align-items:center;gap:12px;padding:10px 0}
.opc-product-image{position:relative;width:64px;height:64px;flex-shrink:0}
.opc-product-image img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid #e5e5e5;background:#fff}
.opc-product-noimg{width:100%;height:100%;background:#eee;border-radius:8px}
.opc-product-info{flex:1;min-width:0}
.opc-product-name{display:block;font-weight:500;font-size:14px;line-height:1.3;color:#333}
.opc-product-variant{display:block;font-size:12px;color:#666;margin-top:2px}
.opc-product-price{font-weight:500;font-size:14px;white-space:nowrap}
.opc-product-remove{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:#e74c3c;border:2px solid #fff;border-radius:50%;color:#fff;font-size:0;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:2}
.opc-product-remove::before{content:'✕';font-size:9px;font-weight:600}
.opc-product-remove:hover{background:#c0392b}
.opc-product-qty-control{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0;background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.15);z-index:2;padding:1px 2px}
.opc-qty-btn{background:none;border:none;color:#888;width:18px;height:18px;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .15s}
.opc-qty-btn:hover{color:var(--opc-primary)}
.opc-qty-hidden{visibility:hidden;width:0;padding:0;overflow:hidden}
.opc-qty-value{font-size:11px;font-weight:700;min-width:14px;text-align:center;color:var(--opc-primary)}
.opc-discount{padding:20px 0;border-top:1px solid #e1ddd5;border-bottom:1px solid #e1ddd5}
.opc-discount-form{display:flex;gap:10px}
.opc-discount-form input{flex:1;height:44px;padding:0 14px;border:1px solid #d1d1d1;border-radius:5px;font-size:14px;font-family:inherit;background:#fff}
.opc-discount-form input:focus{outline:none;border-color:var(--opc-primary)}
.opc-discount-form button{height:44px;padding:0 18px}
.opc-discount-error{margin-top:8px;font-size:13px;color:#c00}
.opc-applied-discounts{margin-top:10px}
.opc-applied-discount{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:rgba(74,95,78,.1);border-radius:5px;margin-top:8px;font-size:13px}
.opc-remove-discount{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:0 5px}
.opc-remove-discount:hover{color:#c00}
.opc-totals{padding-top:20px}
.opc-total-line{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}
.opc-total-line span:first-child{display:flex;align-items:center;gap:5px;color:#666}
.opc-total-line span:first-child svg{opacity:.5}
.opc-discount-line span:last-child{color:var(--opc-primary)}
.opc-total-final{padding-top:15px;margin-top:10px;border-top:1px solid #e1ddd5}
.opc-total-final span:first-child{font-weight:500;font-size:14px;color:#333}
.opc-total-amount{display:flex;align-items:baseline;gap:6px}
.opc-total-amount small{font-size:12px;color:#666;font-weight:400}
.opc-total-amount strong{font-size:22px;font-weight:600}
.opc-login-form{padding:20px;background:#f9f9f9;border-radius:5px;margin-bottom:15px}
.opc-login-error{padding:10px 12px;background:#fee;color:#c00;border-radius:5px;margin-bottom:12px;font-size:13px}
.opc-saved-addresses{margin-bottom:15px}
.opc-company-fields{margin-bottom:12px}
.opc-billing-form{margin-top:20px;padding-top:20px;border-top:1px solid #e5e5e5}
.opc-billing-form h3{font-size:16px;font-weight:600;margin-bottom:15px;color:#333}
.opc-locker-section{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e5e5}
.opc-locker-section h3{font-size:15px;font-weight:600;margin:0 0 15px 0;color:#333}
.opc-locker-selected{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:6px;border:1px solid #4a5f4e}
.opc-locker-selected-info{display:flex;flex-direction:column;gap:2px}
.opc-locker-selected-info strong{font-size:14px;color:#333}
.opc-locker-selected-info span{font-size:12px;color:#666}
.opc-btn-link{background:none;border:none;color:#4a5f4e;cursor:pointer;font-size:13px;text-decoration:underline}
.opc-btn-link:hover{color:#3a4f3e}
.opc-btn-locker{display:flex;align-items:center;gap:10px;width:100%;justify-content:center;padding:15px;background:#fff;border:2px dashed #4a5f4e;color:#4a5f4e;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.3s}
.opc-btn-locker:hover{background:#4a5f4e;color:#fff;border-style:solid}
.opc-btn-locker svg{flex-shrink:0}
.opc-locker-filters{display:flex;gap:10px;margin-bottom:15px}
.opc-locker-filters select{flex:1;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}
.opc-lockers-list{max-height:250px;overflow-y:auto;border:1px solid #e5e5e5;border-radius:6px;background:#fff}
.opc-locker-item{padding:12px;border-bottom:1px solid #eee;cursor:pointer;transition:background 0.2s}
.opc-locker-item:last-child{border-bottom:none}
.opc-locker-item:hover{background:#f5f5f5}
.opc-locker-item.selected{background:#e8f5e9;border-left:3px solid #4a5f4e}
.opc-locker-item-name{font-weight:600;font-size:14px;color:#333;margin-bottom:3px}
.opc-locker-item-address{font-size:12px;color:#666}
.opc-carrier-extra{display:none !important}
.opc-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:9999}
.opc-spinner{width:40px;height:40px;border:3px solid #e5e5e5;border-top-color:var(--opc-primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.opc-debug{padding:10px;background:#ffe;border:1px solid #cc0;margin:10px 0;font-size:12px;font-family:monospace}

/* Mobile Mini Summary - Hidden on desktop */
.opc-mobile-mini-summary{display:none}

@media(max-width:1024px){
    .opc-wrapper{flex-direction:column;max-width:600px;box-shadow:none}
    .opc-main{max-width:100%;padding:25px}
    .opc-sidebar{display:none}
    
    /* Mobile Mini Summary before Pay button */
    .opc-mobile-mini-summary{display:block;margin-top:25px;padding-top:20px;border-top:1px solid #e5e5e5}
    .opc-mobile-add-discount{display:flex;align-items:center;gap:8px;font-size:14px;color:#4a5f4e;text-decoration:none;padding:12px 15px;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:15px}
    .opc-mobile-add-discount:hover{background:#f9f9f9;text-decoration:none}
    .opc-mobile-add-discount svg{color:#4a5f4e}
    .opc-mobile-discount-form{display:flex;gap:10px;margin-bottom:15px}
    .opc-mobile-discount-form input{flex:1;height:44px;padding:0 14px;border:1px solid #d1d1d1;border-radius:5px;font-size:16px;font-family:inherit}
    .opc-mobile-discount-form button{height:44px;padding:0 18px}
    
    /* Expandable section */
    .opc-mobile-summary-expandable{display:block;background:#f9f9f9;border:1px solid #e5e5e5;border-radius:8px 8px 0 0;border-bottom:none;padding:15px;margin-bottom:0}
    .opc-mobile-products-list{margin-bottom:15px}
    .opc-mobile-products-list .opc-product{padding:8px 0;gap:10px}
    .opc-mobile-products-list .opc-product-image{width:50px;height:50px}
    .opc-mobile-products-list .opc-product-name{font-size:13px}
    .opc-mobile-products-list .opc-product-price{font-size:13px}
    .opc-mobile-totals-list{border-top:1px solid #e5e5e5;padding-top:12px}
    .opc-mobile-totals-list .opc-total-line{padding:4px 0;font-size:13px}
    
    /* Total Row */
    .opc-mobile-total-row{display:flex;align-items:center;gap:12px;padding:15px;background:#f9f9f9;border-radius:0 0 8px 8px;border:1px solid #e5e5e5;border-top:1px solid #e0e0e0;margin-bottom:15px}
    .opc-mobile-total-img{width:40px;height:40px;flex-shrink:0}
    .opc-mobile-total-img img{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid #e5e5e5}
    .opc-mobile-total-info{flex:1}
    .opc-mobile-total-label{display:block;font-size:14px;font-weight:600;color:#333}
    .opc-mobile-total-count{display:block;font-size:12px;color:#666}
    .opc-mobile-total-value{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:600;color:#333}
    .opc-mobile-total-value small{font-size:12px;color:#666;font-weight:400}
    .opc-mini-toggle-arrow{display:none}
}

@media(max-width:600px){
    .opc-main{padding:20px 15px}
    .opc-form-row-2,.opc-form-row-3{grid-template-columns:1fr}
    .opc-section h2{font-size:16px}
    .opc-btn-primary{height:50px;font-size:15px}
    .opc-product-image{width:56px;height:56px}
    .opc-total-amount strong{font-size:20px}
    .opc-footer nav{justify-content:center}
    .opc-field input,.opc-field select,.opc-field textarea{font-size:16px}
}
