/**
 * Strip Door Configurator Styles - Matches Original
 */

/* Base */
#sdc-configurator {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 140%;
    color: #333;
    max-width: 930px;
    margin: 0 auto;
    background: #fff;
}

#sdc-configurator * {
    box-sizing: border-box;
}

/* Banner */
#sdc-configurator .sdc-banner {
    background: #00007b;
    padding: 7px 0 0;
    text-align: center;
}

#sdc-configurator .sdc-banner img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

/* Main Layout */
#sdc-configurator .sdc-main-wrapper {
    overflow: hidden;
    padding: 0;
}

#sdc-configurator .sdc-leftside {
    float: left;
    width: 670px;
    padding: 10px 0 0 10px;
}

#sdc-configurator .sdc-rightside {
    float: right;
    width: 244px;
    padding: 10px 0 0 5px;
}

/* Steps */
#sdc-configurator .sdc-step {
    margin-bottom: 10px;
    float: left;
    width: 100%;
}

#sdc-configurator .sdc-step-header {
    height: 49px;
    width: 669px;
    background-size: 669px 49px;
    background-repeat: no-repeat;
    float: left;
}

#sdc-configurator .sdc-step-num {
    width: 150px;
    padding: 13px 0 0 20px;
    font-family: verdana;
    font-size: 20px;
    font-style: italic;
    font-weight: bolder;
    color: #1b1b1b;
    float: left;
}

#sdc-configurator .sdc-step-text {
    color: #fff;
    font-size: 18px;
    padding: 12px 0 0 30px;
    float: left;
    font-family: Arial, sans-serif;
}

#sdc-configurator .sdc-step-body {
    background: #f5f5f5;
    padding: 15px;
    float: left;
    width: 669px;
}

/* Step 1 - Measurements - Horizontal Layout */
#sdc-configurator .sdc-step-body.sdc-step1-body {
    display: flex;
    align-items: flex-start;
    padding: 15px 10px;
}

#sdc-configurator .sdc-measure-col {
    width: 140px;
    padding: 10px 5px;
}

#sdc-configurator .sdc-input-row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

#sdc-configurator .sdc-input-row label {
    font-size: 16px;
    font-weight: bolder;
    width: 61px;
    margin-right: 5px;
    padding: 3px 0 0;
    height: 20px;
    font-family: verdana;
}

#sdc-configurator .sdc-dim-input {
    background: #fff;
    border: 1px solid #969696;
    color: #464646;
    font-size: 15px;
    padding: 6px;
    width: 100px !important;
    text-align: left;
    margin-left: 5px;
}

#sdc-configurator .sdc-inch {
    font-size: 18px;
    font-weight: bold;
    margin-left: 3px;
}

#sdc-configurator .sdc-diagram-col {
    width: 150px;
    padding: 5px 15px;
    text-align: center;
}

#sdc-configurator .sdc-diagram-col img {
    max-width: 130px;
    height: auto;
}

#sdc-configurator .sdc-width-col {
    flex: 1;
    padding: 5px 15px;
}

#sdc-configurator .sdc-width-col strong {
    display: block;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: bold;
    font-family: Arial;
}

#sdc-configurator .sdc-width-options {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

#sdc-configurator .sdc-width-btn {
    background: #e0e0e0;
    cursor: pointer;
    font-size: 15px;
    min-height: 36px;
    padding: 12px 12px;
    text-align: center;
    border: 1px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-weight: bold;
    font-family: Arial;
}

#sdc-configurator .sdc-width-btn:hover {
    border-color: #999;
}

#sdc-configurator .sdc-width-btn.active {
    border: 2px solid #2e7d32;
}

#sdc-configurator .sdc-width-btn input[type="radio"] {
    margin: 0;
}

#sdc-configurator .sdc-width-note {
    color: #ff0000;
    font-size: 12px;
    margin: 0;
}

/* Step 2 - Strip Type */
#sdc-configurator .sdc-step2-body {
    background: #f5f5f5;
    padding: 5px;
}

#sdc-configurator .sdc-strips-selector {
    float: left;
    width: 100%;
}

#sdc-configurator .sdc-strips-select {
    width: 660px;
    min-height: 180px;
    font-size: 13px;
    border: 1px solid #969696;
    background: #fff;
    margin: 5px;
    float: left;
    overflow-y: auto;
}

#sdc-configurator .sdc-strips-select option {
    padding: 8px 10px;
    border-bottom: 1px solid #ddd;
    cursor: pointer;
    line-height: 1.4;
    background: #fff;
}

#sdc-configurator .sdc-strips-select option:last-child {
    border-bottom: none;
}

/* Alternating row background - matches original optionbg1 class */
#sdc-configurator .sdc-strips-select option.optionbg1 {
    background-color: #f0f0f0;
}

/* Selected state */
#sdc-configurator .sdc-strips-select option:checked,
#sdc-configurator .sdc-strips-select option:focus {
    background: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);
    color: #fff;
}

#sdc-configurator .sdc-type-info {
    background: #f5f5f5;
    padding: 10px;
    float: left;
    width: 100%;
    margin-top: 5px;
    animation: fadeEffect 0.76s;
}

#sdc-configurator .sdc-type-desc {
    float: left;
    width: 100%;
}

#sdc-configurator .sdc-type-desc img {
    width: 133px;
    float: left;
}

#sdc-configurator .sdc-type-text {
    float: left;
    margin: 0 0 0 10px;
    padding: 0;
    font-size: 15px;
    width: 60%;
}

/* Step 3 - Overlap */
#sdc-configurator .sdc-overlap-wrap {
    float: left;
    width: 100%;
}

#sdc-configurator .sdc-overlap-group {
    float: left;
    width: 100%;
    animation: fadeEffect 0.76s;
}

#sdc-configurator .sdc-overlap-opt {
    display: block;
    background: #e0e0e0 none repeat scroll 0 0;
    border: 2px solid #e0e0e0;
    padding: 10px;
    margin-bottom: 8px;
    cursor: pointer;
    float: left;
    width: 100%;
}

#sdc-configurator .sdc-overlap-opt:hover {
    background: #d5d5d5;
}

#sdc-configurator .sdc-overlap-opt.active {
    border: 2px solid #599532;
}

#sdc-configurator .sdc-overlap-opt input {
    float: left;
    margin: 12px 8px 0 0;
}

#sdc-configurator .sdc-ov-pct {
    float: left;
    font-size: 20px;
    font-weight: bold;
    width: 50px;
    margin-top: 8px;
}

#sdc-configurator .sdc-overlap-opt img {
    border: none;
    float: left;
    margin: 0 10px 0 20px;
    max-height: 44px;
    max-width: 216px;
}

#sdc-configurator .sdc-ov-desc {
    float: right;
    font-size: 15px;
    margin: 10px 20px 0 0;
    padding: 0;
    width: 260px;
}

/* Step 4 - Hardware */
#sdc-configurator .sdc-hardware-wrap {
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
}

#sdc-configurator .sdc-hw-opt {
    background: #e0e0e0 none repeat scroll 0 0;
    cursor: pointer;
    float: left;
    height: 220px;
    margin: 0 10px 10px 0;
    padding: 10px;
    width: 142px;
    border: 2px solid #e0e0e0;
    text-align: center;
}

#sdc-configurator .sdc-hw-opt:hover {
    background: #d5d5d5;
}

#sdc-configurator .sdc-hw-opt.active {
    border: 2px solid #2e7d32;
}

#sdc-configurator .sdc-hw-opt img {
    width: 130px;
    height: 150px;
    object-fit: contain;
    display: block;
    margin: 0 auto 8px;
}

#sdc-configurator .sdc-hw-opt .sdc-hw-label {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
    text-align: left;
}

#sdc-configurator .sdc-hw-opt input[type="radio"] {
    margin: 3px 0 0 0;
    flex-shrink: 0;
}

#sdc-configurator .sdc-hw-opt span {
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
}

/* Additional Options */
#sdc-configurator .sdc-addl-wrap {
    padding: 20px 10px;
    clear: both;
}

#sdc-configurator .sdc-addl-wrap > strong {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 25px;
}

#sdc-configurator .sdc-addl-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
}

#sdc-configurator .sdc-addl-box {
    flex: 1;
    max-width: 320px;
    background: #f0f0f0;
    padding: 15px;
    border: 1px solid #ccc;
}

#sdc-configurator .sdc-addl-box > label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 14px;
    cursor: pointer;
}

#sdc-configurator .sdc-addl-box > label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
}

#sdc-configurator .sdc-addl-price {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 14px;
}

#sdc-configurator .sdc-addl-price > span:first-child {
    color: #333;
}

#sdc-configurator .sdc-addl-amt {
    color: #ff0000;
    font-weight: bold;
    margin-left: 3px;
}

#sdc-configurator .sdc-addl-qty-label {
    margin-left: 20px;
    margin-right: 5px;
}

#sdc-configurator .sdc-addl-qty {
    width: 42px;
    height: 26px;
    border: 1px solid #666;
    text-align: center;
    font-size: 14px;
    background: #fff;
    color: #ff2828;
    font-weight: bold;
    padding: 3px !important;
}

#sdc-configurator .sdc-addl-box > img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    margin-bottom: 15px;
}

#sdc-configurator .sdc-addl-desc {
    font-size: 13px;
    line-height: 1.5;
    color: #333;
    margin: 0;
}

/* Right Side - Summary */
#sdc-configurator .sdc-summary-box {
    background: #ececec;
    border-radius: 10px 10px 0 0;
    color: #313030;
    font-family: Arial, sans-serif;
    font-size: 13px;
    margin: 0;
    padding: 0;
    width: 235px;
}

#sdc-configurator .sdc-sum-title {
    height: 46px;
    width: 100%;
    background-color: #e1d60d;
    border-radius: 10px 10px 0 0;
    font-family: verdana;
    font-size: 20px;
    font-style: italic;
    font-weight: bold;
    color: #1b1b1b;
    text-align: center;
    line-height: 45px;
    margin: 0;
    padding: 0;
}

#sdc-configurator .sdc-sum-body {
    padding: 10px 12px;
}

#sdc-configurator .sdc-sum-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 15px;
}

#sdc-configurator .sdc-sum-row span {
    font-weight: bold;
}

#sdc-configurator .sdc-sum-row input {
    background: transparent;
    border: none;
    color: #313030;
    font-size: 15px;
    font-weight: bold;
    width: 40px;
    text-align: right;
    padding: 0;
    margin: 0;
}

#sdc-configurator .sdc-sum-sku {
    color: #ff0000;
    font-size: 13px;
    font-weight: bold;
    margin: 10px 0;
    word-break: break-all;
    line-height: 1.3;
}

#sdc-configurator .sdc-sum-features {
    margin: 10px 0 0;
    font-size: 12px;
}

#sdc-configurator .sdc-sum-features > strong {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
}

#sdc-configurator .sdc-sum-features ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#sdc-configurator .sdc-sum-features li {
    position: relative;
    padding: 6px 0 6px 22px;
    border-bottom: 1px dotted #666;
    font-size: 12px;
    line-height: 1.4;
}

#sdc-configurator .sdc-sum-features li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 6px;
    color: #2e7d32;
    font-weight: bold;
    font-size: 14px;
}

/* Price Section */
#sdc-configurator .sdc-price-title {
    height: 46px;
    width: 100%;
    background-color: #e1d60d;
    font-family: verdana;
    font-size: 20px;
    font-style: italic;
    font-weight: bold;
    color: #1b1b1b;
    text-align: center;
    line-height: 46px;
    margin: 0;
    padding: 0;
}

#sdc-configurator .sdc-price-body {
    background-color: #00007b;
    width: 100%;
    padding: 12px;
    color: #fff;
}

#sdc-configurator .sdc-price-opt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #d4d4d4;
    border: 2px solid #d4d4d4;
    border-radius: 8px;
    color: #000;
    cursor: pointer;
    font-size: 14px;
    padding: 10px 12px;
    margin-bottom: 10px;
    width: 100%;
}

#sdc-configurator .sdc-price-opt:hover {
    background: #c5c5c5;
}

#sdc-configurator .sdc-price-opt.active {
    border-color: #e1d60d;
    background: #c5c5c5;
}

#sdc-configurator .sdc-price-opt input {
    margin-right: 8px;
}

#sdc-configurator .sdc-price-opt .sdc-price-label {
    display: flex;
    align-items: center;
}

#sdc-configurator .sdc-price-opt strong {
    color: #000000;
    font-size: 16px;
    font-weight: bold;
}

#sdc-configurator .sdc-ship-info {
    font-size: 12px;
    margin: 10px 0;
    line-height: 1.6;
}

#sdc-configurator .sdc-ship-info b,
#sdc-configurator .sdc-ship-info span {
    color: #fff;
}

#sdc-configurator #sum-weight {
    font-weight: bold;
}

#sdc-configurator #sum-ship {
    color: #ffff00;
    font-weight: bold;
}

#sdc-configurator .sdc-qty-row {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
}

#sdc-configurator .sdc-qty-row label {
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    margin-right: 10px;
}

#sdc-configurator .sdc-qty-row input {
    background: #fff;
    border: 1px solid #999;
    color: #333;
    font-size: 14px;
    padding: 5px;
    text-align: center;
    width: 50px;
}

#sdc-configurator .sdc-cart-btn {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: center;
}

#sdc-configurator .sdc-cart-btn img {
    max-width: 180px;
    height: auto;
}

#sdc-configurator .sdc-msg {
    margin-top: 10px;
    text-align: center;
    font-size: 12px;
    color: #fff;
}

#sdc-configurator .sdc-msg.success {
    color: #00ff00;
}

#sdc-configurator .sdc-msg.error {
    color: #ff6666;
}

#sdc-configurator .sdc-kit-img {
    display: block;
    width: 235px;
    margin-top: 15px;
}

/* Animations */
@keyframes fadeEffect {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Responsive */
@media (max-width: 950px) {
    #sdc-configurator .sdc-leftside {
        float: none;
        width: 100%;
        padding: 10px;
    }
    
    #sdc-configurator .sdc-rightside {
        float: none;
        width: 100%;
        padding: 10px;
    }
    
    #sdc-configurator .sdc-step-header,
    #sdc-configurator .sdc-step-body {
        width: 100%;
    }
    
    #sdc-configurator .sdc-strips-select {
        width: 100%;
    }
}
